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

Support for Rake, Rack and Roda (and Puma) #281

Closed
wants to merge 93 commits into from

Conversation

jaredcwhite
Copy link
Member

@jaredcwhite jaredcwhite commented Apr 8, 2021

June update: this is now top priority for me, next to getting all docs/features wrapped up for the official Resource engine switch.


I'll need to circle back to fully document this, because holy moly this was complicated. But in the end, worth it.

  • We get full Rakefile support with very slick Thor-based automations integration
  • We move away from Webrick and onto Rack + Puma — get ready for SPEED
  • Roda is used for handling basic static file serving of the output folder, but it can easily be augmented to handle all kinds of dynamic server abilities including mounting a Rails (or any other Rack-based) app
  • Ditch all the bundle exec nastiness and use a binstub — I also want to document doing alias bt="bin/bridgetown" because then it's a cinch
  • We can stop using yarn to bootstrap everything. bt start > yarn start. Moar Ruby =)

Probably will want to put together an automation to upgrade old Bridgetown sites (otherwise it's a bunch of manual editing of files like package.json and adding in new stuff). Should look into how it could intersect with #250

Resolves #280, #269
Closes #37

@render
Copy link

render bot commented Apr 8, 2021

@render
Copy link

render bot commented Apr 8, 2021

@jaredcwhite
Copy link
Member Author

jaredcwhite commented Apr 8, 2021

I broke everything. :(

@jaredcwhite
Copy link
Member Author

Yay, deploying now on both Netlify and Render. 👍

@jaredcwhite jaredcwhite changed the base branch from main to 0-21-beta April 12, 2021 16:40
* 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 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
* 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 bug which was swallowing dotfiles and multiple extensions

* Revert tag refactoring
@jaredcwhite
Copy link
Member Author

jaredcwhite commented May 8, 2021

Should check our out-of-the-box Puma config:
https://twitter.com/nateberkopec/status/1390793618751774720?s=20

@render
Copy link

render bot commented May 9, 2021

@jaredcwhite
Copy link
Member Author

Closing in favor of the newer #383.

@jaredcwhite jaredcwhite closed this Sep 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high priority This should get addressed as soon as possible. process Improve the development process for the repo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: use Bridgetown CLI directly instead of Yarn Weird shell history issue after using sync.js
2 participants