-
-
Notifications
You must be signed in to change notification settings - Fork 112
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
End-to-end Ruby front matter, templates, and data files #285
Conversation
Also additional work to normalize Liquid & ERB template APIs
Your Render PR Server URL is https://bridgetown-api-pr-285.onrender.com. Follow its progress at https://dashboard.render.com/static/srv-c1suf4bs1ghd26ma212g. |
Your Render PR Server URL is https://bridgetown-main-pr-285.onrender.com. Follow its progress at https://dashboard.render.com/static/srv-c1suf4rs1ghd26ma2160. |
Oh, something I was experimenting with (Markdown "content parts") got into this PR, I need to strip that out and address separately. |
Your Render PR Server URL is https://bridgetown-beta-pr-285.onrender.com. Follow its progress at https://dashboard.render.com/static/srv-c21gip7cq1lidlj1aib0. |
* Welcome to 0.21 "Broughton Beach" * Highlight Render as a hosting provider * Relations for resources (belongs_to, has_many, etc.) (#261) * Relations for resources (belongs_to, has_many, etc) * improve resource type comments * Make relations available to Liquid templates * remove stray p methods * Add test for resource relationships * Support pluralized belongs_to keys * make cop happy * Use model origin id for resource id * Add documentation and Liquid test for resource relations * use newer feed gem * Use list for relation accessor examples * Fix nil bug in relations schema * New `Bridgetown::Component` class with a ViewComponent-ish API (#268) * New Component class with a ViewComponent-ish API * Isolate site in components and improve link helpers * Remove unnecessary special render case for ViewComponent * Fix missing variables * Relocate markdownify to Helpers class * Switch to new Rails-like OutputBuffer, more VC support * Support clean render interop between builtin Component and VCs * Add several common Liquid filters in as Ruby helpers Also add output_safety dependency * Additional html_safe usage * Match Rails' capture escaping logic * Change before_render behavior to match latest VC * Add tests and code comments for Bridgetown::Component * Couple of YARD updates * fix cop offense * Fix bug with url_for helper * Correct failing ERB feature test * Use new SEO and feed helpers for the website * Fix odd cop errors * Convert website navbar to ERB component * fix is-active class name * Use resource variable in default website layout * Update documentation (WIP) on components subsystem Also change all occurences of Javascript to JavaScript * Add lint-html addition * Add documentation regarding ViewComponent * Make linthtml happy * Fix typos * Add link to components docs from the ERB page * Add section on ERB output safety to the docs * End-to-end Ruby front matter, templates, and data files (#285) * Major feature addition for Ruby Front Matter and raw templates Also additional work to normalize Liquid & ERB template APIs * Improve docs * improve error messages, support Ruby data files * Add to_json support for Resources * Improve code quality and test rbfm * Refactor front matter importing and add rbfm to layouts * Revert and use regex capture * Remove logging around rbfm * Lots of Ruby files and rbfm documentation, couple of fixes * Better to_json compat * Fix Liquid error on website build * Fix erb render bug in docs * Update Changelog with 0.21 beta details * Fix dotfiles or multiple extension permalinks (resource engine) (#292) * Fix bug which was swallowing dotfiles and multiple extensions * Revert tag refactoring * Remove sassify/scssify filters, html_safe the obfuscate link * Refactor old TODOs and deprecations * Release 0.21 beta 2 * Bugfix for `previous_resource` method * Ensure resources with no output are still transformed * Remove a bunch of global config accessors on site * Switch `plugins new` command to MiniTest in repo * Release Bridgetown 0.21.0.beta3 * Webiste: use proper metadata title for Index page * Add I18n file reloader to the watcher process * Add prototype page warnings of bad configs * Add note to Resources docs about require prototype page collection key * Add CLI command to update webpack config (#270) * Install required packages in webpack enable postcss tool (#319) * Add config directory and move webpack defaults into it (#316) * Add confirmation for overwriting postcss config in tailwindcss and bt-postcss bundled configurations (#317) * Add Bridgetown version to webpack defaults (#322) * Resolve issue with zombie templates in Pagination/Prototype logic * Add layout method to resource and label method to layout (#324) * Add memoization to cache templates in `Bridgetown::Component` (#326) * Fix the Bridgetown logger and other test improvements (#328) * Release 0.21.0.beta4 * Release v0.21.0 Co-authored-by: Ayush Newatia <ayush@hey.com>
What would it mean if you could write pure Ruby for:
src/_data/lots_of_data.rb
That's what this PR does.
Resolves #263