Subtle enhancements for prettier-plugin-twig-melody
npm install prettier-plugin-twig-enhancementsSubtle enhancements for Prettier Twig plugin, prettier-plugin-twig-melody.
Note: This is a plugin for prettier-plugin-twig-melody, not a Prettier plugin.
I made this originally to format YAML frontmatter in Nunjucks templates (since Nunjucks is similar to Twig in syntax) and to address this issue. However it appears the Twig plugin isn't well compatible with Nunjucks, so I'm not using this currently.
- Enhancements
- Formatting HTML more like Prettier
- Printing empty {% block %} statements on one line
- Usage
- Credits
Input:
``njk
{{ title }} | {{ site.title }}
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Impedit sequi modi voluptate quidem enim! Earum voluptatem accusantium nulla cupiditate exercitationem qui? Facilis explicabo veritatis iusto dignissimos laboriosam quidem ipsa sed!
Output without this plugin:
`njk
{{ title }} | {{ site.title }}
Hello, world!
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Impedit sequi modi
voluptate quidem enim! Earum voluptatem accusantium nulla cupiditate
exercitationem qui? Facilis explicabo veritatis iusto dignissimos laboriosam
quidem ipsa sed!
name="email"
id="email"
class="form-control form-control--large form-control--email" />
id="exampleModal"
tabindex="-1"
role="dialog"
aria-labelledby="exampleModalLabel"
aria-hidden="true">
Success!
Output with this plugin:
`njk
{{ title }} | {{ site.title }} Hello, world!
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Impedit sequi modi
voluptate quidem enim! Earum voluptatem accusantium nulla cupiditate
exercitationem qui? Facilis explicabo veritatis iusto dignissimos laboriosam
quidem ipsa sed!
type="email"
name="email"
id="email"
class="form-control form-control--large form-control--email"
/>
class="modal fade"
id="exampleModal"
tabindex="-1"
role="dialog"
aria-labelledby="exampleModalLabel"
aria-hidden="true"
>
Success!
$3
Input:
`njk
{% block styles %} {% endblock %}
{% block scripts %}{%endblock%}
`Output without this plugin:
`njk
{% block styles %}{% endblock %}
{% block scripts %}
{% endblock %}
`Output with this plugin:
`njk
{% block styles %}{% endblock %}{% block scripts %}{% endblock %}
`Usage
Install with npm.
prettier-plugin-twig-melody is a peer dependency so it should also be installed.`sh
npm install --save-dev prettier-plugin-twig-enhancements
`Add it to your Prettier configuration file (e.g.
.prettierrc):`json
{
"twigMelodyPlugins": ["node_modules/prettier-plugin-twig-enhancements"]
}
`prettier-plugin-twig-melody` config options and Prettier's options.The test suites here are from fvictorio/prettier-plugin-toml.