status: Approved
date: 2023-07-31
deciders: John Phamvan, Grace Xu, Jerry Sea, Bella Jariel
informed: John Phamvan, Grace Xu, Jerry Sea, Bella Jariel
Templating Language for Digital Services Coalition Eleventy Application
Context and Problem Statement
Our team is building a static site application for the Digital Services Coalition using Eleventy, and we need to decide on a templating language that will be used to render dynamic content and generate the final HTML output. The two main options under consideration are Liquid and WebC
Decision Drivers
Syntax Simplicity: Liquid has a straightforward and easy-to-understand syntax similar to Nunjucks. Therefore the learning curve and porting will be easier.
Integration with Eleventy: Liquid is one of the officially supported templating languages in Eleventy. This native integration means that the Eleventy ecosystem has extensive support and documentation for Liquid, making it a reliable and stable choice.
Consistency with Existing Projects: Our team has prior experience with Liquid or has used it in other projects, choosing Liquid for the Eleventy application will foster consistency and reduce the learning curve for team members already familiar with the language.
Liquid is widely adopted across various projects, including popular platforms like Shopify and Jekyll. This widespread usage implies a large community that can provide support, plugins, extensions if needed, and a wealth of resources and best practices.
Considered Options
WebC
Nunjucks
Decision Outcome
Chosen option: After carefully considering and evaluating both options, we have decided to use Liquid as the templating language for our Eleventy application.
Consequences
Good, because of stability and community support.
Good, because the application benefits from seamless integration with Eleventy's ecosystem.
Bad, because of lack of advanced functionality.
Bad, Liquid's configuration options might be less flexible than other templating languages.
Pros and Cons of the Options
Liquid
Good, because Liquid provides a well-rounded set of features that meet our needs for a templating language in the Eleventy application.
Neutral, Liquid may have some feature limitations compared to other templating languages like Nunjucks.
WebC
Good, because it is easier to create complex components.
Neutral, because it doesn't play well out of the box with TailwindCSS.
Bad, because only Eleventy uses WebC. Not widely adopted.
More Information
This choice aligns with our goal of simplicity, performance, security, and seamless integration with the Eleventy ecosystem. Liquid's ease of use and robustness will enable our team to develop and maintain the static site generator efficiently while ensuring a positive developer experience.
Templating Language for Digital Services Coalition Eleventy Application
Context and Problem Statement
Our team is building a static site application for the Digital Services Coalition using Eleventy, and we need to decide on a templating language that will be used to render dynamic content and generate the final HTML output. The two main options under consideration are Liquid and WebC
Decision Drivers
Considered Options
Decision Outcome
Chosen option: After carefully considering and evaluating both options, we have decided to use Liquid as the templating language for our Eleventy application.
Consequences
Pros and Cons of the Options
Liquid
WebC
More Information
This choice aligns with our goal of simplicity, performance, security, and seamless integration with the Eleventy ecosystem. Liquid's ease of use and robustness will enable our team to develop and maintain the static site generator efficiently while ensuring a positive developer experience.