Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make template engine pluggable #5645

Closed
alanburke opened this issue Dec 8, 2016 · 6 comments
Closed

Make template engine pluggable #5645

alanburke opened this issue Dec 8, 2016 · 6 comments
Labels
feature frozen-due-to-age stale Nobody stepped up to work on this issue.

Comments

@alanburke
Copy link

alanburke commented Dec 8, 2016

How feasible is it use an alternative template engine, such as Twig
eg https://github.com/page-io/ruby-twig which is a Ruby implementation of
https://github.com/twigphp/Twig

I ask this, as our development workflow would like to standardise on Twig, as it is used with Patternlab and Drupal. Combining these means that the front-end can be developed independently of the CMS.
Extending this to Jekyll is a logical extension, as this is our preferred tool for static websites, and front-end applications.

I'm open to other approaches to the problem at hand - trying to have a common codebase between front-end development, back-end CMS and static generated websites/applications.

Thanks
Alan

@DirtyF DirtyF added the feature label Jan 8, 2017
@jesconstantine
Copy link

+1

@DirtyF
Copy link
Member

DirtyF commented Feb 5, 2017

Thanks for bringing up that topic, we can all agree it would be a great addition for power users.
A similar proposal has been discussed before in #4746 for instance.

To sum things up:

  • @jekyll/core believe Liquid is the perfect fit for 80% of users
  • This would then require to make the template engine pluggable
  • Like Middleman we could use Tilt to achieve that
  • The Liquid plugin template engine would stay the default in Jekyll and Github Pages
  • Developers could develop template engine plugins like ERB, Handlebars, etc.

No such work has been made so far, but if anyone wants to take a shot and open a PR, some feedback and guidance would be provided 👨‍💻

@DirtyF DirtyF changed the title Using an alternative template engine Make template engine pluggable Feb 5, 2017
@parkr
Copy link
Member

parkr commented Feb 6, 2017

Note that all of our Liquid::Drop subclasses which hold data {{ site }}, {{ page }}, etc might not fit all templating engines as-is.

@jekyllbot
Copy link
Contributor

This issue has been automatically marked as stale because it has not been commented on for at least two months.

The resources of the Jekyll team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the 3.3-stable or master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, please consider building it first as a plugin. Jekyll 3 introduced hooks which provide convenient access points throughout the Jekyll build pipeline whereby most needs can be fulfilled. If this is something that cannot be built as a plugin, then please provide more information about why in order to keep this issue open.

This issue will automatically be closed in two months if no further activity occurs. Thank you for all your contributions.

@jekyllbot jekyllbot added the stale Nobody stepped up to work on this issue. label Apr 6, 2017
@ellisonch
Copy link

I would very much like to chime in and say, I have only had bad experiences with trying to finagle Liquid. I would love to be able to use a more powerful templating language with Jekyll, which otherwise seems to be great.

I wind up doing stuff dynamically things that I should be doing statically. For example, I'm currently trying to build a chart's legend based off of some csv files containing the elements that go into the legend. This is absolutely something that should be generated statically, but I wound up just doing it in javascript on the client because Liquid was not powerful enough.

@jekyllbot jekyllbot removed the stale Nobody stepped up to work on this issue. label Jun 2, 2017
@jekyllbot
Copy link
Contributor

This issue has been automatically marked as stale because it has not been commented on for at least two months.

The resources of the Jekyll team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the 3.3-stable or master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, please consider building it first as a plugin. Jekyll 3 introduced hooks which provide convenient access points throughout the Jekyll build pipeline whereby most needs can be fulfilled. If this is something that cannot be built as a plugin, then please provide more information about why in order to keep this issue open.

This issue will automatically be closed in two months if no further activity occurs. Thank you for all your contributions.

@jekyllbot jekyllbot added the stale Nobody stepped up to work on this issue. label Aug 2, 2017
@jekyll jekyll locked and limited conversation to collaborators Jul 11, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature frozen-due-to-age stale Nobody stepped up to work on this issue.
Projects
None yet
Development

No branches or pull requests

6 participants