Skip to content

[CT-3427] [CT-3415] [Feature] LaTeX rendering in DBT docs #473

Closed as not planned
@Oracen

Description

@Oracen

Is this your first time submitting a feature request?

  • I have read the expectations for open source contributors
  • I have searched the existing issues, and I could not find an existing issue for this feature
  • I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature

When writing doc blocks, sometimes it's useful to include formulas of the calculation so other users know precisely how a particular metric is defined. Currently, DBT supports Markdown rendering in its docs. LaTeX is the typical way to write formulae, and is supported by a large range of Markdown "flavours". It should be fairly simple to add a LaTeX preprocessor to the DocumentationParser.parse_block() method, which could be bundled as an optional dependency to ensure no performance hit for existing users.

Describe alternatives you've considered

  • Writing code blocks into the doc string helps sometimes, but choice of language and implementation details sometimes make the intent unclear.
  • "Verbal" descriptions work for simple formulae, but sometimes things like algebraic substitutions get messy if using words to describe formula substitutions
  • External documentation breaks one of the nice things about DBT, that it all lives in one codebase!

Who will this benefit?

  • Maintainers of the DBT model who are governing more complex metrics
  • Anyone who needs a little more flexibility in writing their docs
  • Teams that work closely with data scientists or other Jupyter-like markdown standards
    It also keeps DBT in line with how Markdown works on a lot of platforms (e.g. Github)

Are you interested in contributing this feature?

I'd be happy to implement, given some road rules esp. about bundling additional packages

Anything else?

Not a huge priority, obviously, but would be a nice QoL boost for better docs.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions