knowsuchagency / prettier-plugin-django-template

Formatter plugin for django template files.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

prettier-plugin-django-template

WARNING: This doesn't work yet

Formatter plugin for Django template files.

Install

npm install --save-dev prettier prettier-plugin-django-template

Add the plugin to your .prettierrc:

{
  "plugins": ["prettier-plugin-django-template"]
}

Use

To format basic .html files, you'll have to override the used parser inside your .prettierrc:

{
  "overrides": [
    {
      "files": ["*.html"],
      "options": {
        "parser": "django-template"
      }
    }
  ]
}

Run it on all html files in your project:

npx prettier --write **/*.html

If you don't have a prettier config you can run the plugin with this command:

npx prettier --write **/*.html --plugin=prettier-plugin-django-template

Ignoring Code

Using range ignores is the best way to tell prettier to ignore part of files. Most of the time this is necessary for Django tags inside script or style tags:

<!-- prettier-ignore-start -->
  <script>
    window.someData = {{ data | safe }}
  </script>
<!-- prettier-ignore-end -->

<!-- prettier-ignore-start -->
  <style>
    :root { --accent-color: {{ theme_accent_color }} }
  </style>
<!-- prettier-ignore-end -->

Options

This Plugin provides additional options:

Quote Attributes

Surrounds the value of html attributes with quotes. This option was introduced to support JinjaX syntax.

true - Example:

<Paginator items="{products}" />

false - Example:

<Paginator items={products} />
Default CLI Override API Override
true --no-quote-attributes quoteAttributes: <bool>

About

Formatter plugin for django template files.


Languages

Language:TypeScript 63.3%Language:HTML 36.1%Language:JavaScript 0.6%