A static site generator built with Ruby.
How to use:
- 🌀 Clone the repo at
https://github.com/twhite96/static-gen-ruby.git
or with GitHub CLIgh repo clone twhite96/static-gen-ruby
- 🏃 Run:
bundle
to install dependencies. - 🎊 Have fun with it.
I wanted to show that I could build something, even if it was small, on my own, with little guidance.
Ben Halpern started a thread about his generator on DEV and I took his scaffold and ran with it.
Ruby and ruby-handlebars
Just getting the script running is a win for me, as I am not a Ruby dev at all.
Ruby is a whole other animal compared to JavaScript and React. No semicolons, defining different methods (Ruby is class based, so there are more methods than functions in this instance), etc. I spent a whole month stuck on what this method did:
build_string = base_html
.gsub("{{ head }}", "#{page_partial}")
.gsub("{{ seo }}", seo_html)
.gsub("{{ main }}", main_css)
.gsub("{{ dev }}", dev_html)
I figured out it was just generating strings in the files I passed to the .gsub
method.
There were others, and I plan on writing a full blog post.
Not much. I wanted it to be a full on blog generator but will need to sit on that for a bit.
Maybe DRYing it up a bit, but I like what I have, especially for a v1.
You can read it here: Building a Static Site Generator with Ruby.
- Finish reading Mustache docs
- Figure out if you want to publish a gem
- Figure out if you want to let the user create posts as YAML using this example: mustache/projects.mustache at 9fefaabd2b1e68ef8186a210af1f0e18ef48bb55 · mustache/mustache · GitHub and mustache/projects.yml at 9fefaabd2b1e68ef8186a210af1f0e18ef48bb55 · mustache/mustache · GitHub
- Learn more about publishing gems
- Learn more about bundler
- Write tests and mocks to see if the class renders the Mustache html template
- Decide if more classes and templates are necessary
UPDATE:
Further progress on the project on my blog.