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

Move Liquid filters into a separate gem #68

Closed
jaredcwhite opened this issue Jun 3, 2020 · 3 comments
Closed

Move Liquid filters into a separate gem #68

jaredcwhite opened this issue Jun 3, 2020 · 3 comments
Labels
process Improve the development process for the repo

Comments

@jaredcwhite
Copy link
Member

We have a monorepo with multiple gems now, but something we haven't done too much of yet is identify pieces of the core gem we can extract into a separate gem.

Filters seem to be a great place to start (and any utility methods they rely on). A few filters are very much tied to internal Bridgetown data structures, but many of them are pretty generic and can be used in any context. With a separate gem, other projects could simply require bridgetown-filters and use them without having to require any other gem in the project. For instance, Rails apps using view_component_liquid could easily make use of all these filters.

This would also be a good opportunity to identify new filters which might be useful to add. Jekyll 4.1 just added new find-* filters which seem quite helpful. (see jekyll/jekyll#8171) I'd love to see a bunch more related to ActiveSupport as well. AS is a treasure-trove of cool enhancements to core Ruby data types and the more we can bring that goodness to Liquid templates the better IMHO.

@jaredcwhite jaredcwhite added the process Improve the development process for the repo label Jun 3, 2020
@jaredcwhite
Copy link
Member Author

jaredcwhite commented Jun 3, 2020

Forgot to mention this should also include reviewing the latest state of built-in Liquid filters and any other major open-source filter libraries out there to see if we can actually remove some of our own code in the process. (Less code FTW! 😆)

@jaredcwhite jaredcwhite added this to the 0.16.0 "Crystal Springs" milestone Jun 19, 2020
@jaredcwhite jaredcwhite removed this from the 0.16.0 "Crystal Springs" milestone Jul 22, 2020
@jaredcwhite
Copy link
Member Author

This might morph in scope a bit now that we have Ruby-based templates and helpers…we should identify which filters are useful as helpers and keep them conceptually a bit separate from filters which are only useful in a Liquid template. That way we can include only the helper-appropriate methods.

@jaredcwhite jaredcwhite added this to the 0.18.0 "TBD" milestone Sep 21, 2020
@jaredcwhite jaredcwhite modified the milestones: 0.19.0 "TBD", 0.20 Jan 3, 2021
@jaredcwhite jaredcwhite removed this from the 0.20 milestone Feb 28, 2021
@jaredcwhite
Copy link
Member Author

I think this is now feeling like too much complexity for not enough real-world gain, so closing. Can always reopen in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
process Improve the development process for the repo
Projects
None yet
Development

No branches or pull requests

1 participant