Bridgetown is a Webpack-aware, Ruby-powered static site generator for the modern Jamstack era. Bridgetown takes your content and frontend assets, renders Markdown and Liquid templates, and exports a complete website ready to be served by Jamstack services like Netlify or traditional web servers like Nginx.
Given Bridgetown's strong inherited bones (see background below) and our continued emphasis on good testing, we're pretty confident Bridgetown is ready to use today. But…you might want to exercise a bit of extra caution using this in production. 🙂 We are already (after all, the Bridgetown website is built with Bridgetown), but YMMV.
Bridgetown started life as a fork of the granddaddy of static site generators, Jekyll. Spearheaded by Portland-based web studio Whitefusion and with a brand new set of project goals and a future roadmap, our pledge is to ramp up adding new features at a steady and predictable pace, grow the open source community around the project, and ensure a lively future for a top-tier Ruby-based static site generator moving forward.
- Install the Bridgetown gem
- Familiarize yourself with the Command Line Usage and Site Configuration
- Explore the best options for Deploying Your Site when it's ready to go live
- Have questions? Check out our official Bridgetown Community form or chat on Gitter
- Fork Bridgetown and contribute your own improvements!
- Explore the Folder Structure of a Bridgetown website
- Start adding Pages and Posts
- Learn how Front Matter works
- Put information on your site with Variables and Data Files
- Customize the Permalinks your posts are generated with
- Use the built-in Liquid Tags and Filters to author sophisticated content and template designs
- Extend with Custom Plugins to generate content specific to your site
- Discover how to add Frontend Assets using Webpack for a modern Javascript & CSS build pipeline
If you'd like to hack away on Bridgetown directly, you'll need to clone this repo and ensure the test suite passes. Note that this is a "monorepo", meaning that multiple Rubygem codebases are stored within a single repo.
$ git clone git@github.com:bridgetownrb/bridgetown.git
$ cd bridgetown
$ bundle # install development gems
$ bundle exec rake # run the full test suite
After making changes in bridgetown-core
, if you want to run a single unit test, you can use the command:
$ script/test test/test_foo.rb
If you are only updating a Cucumber .feature file, you can use the command:
$ script/cucumber features/foo.feature
Both script/test
and script/cucumber
can be run without arguments to run its entire respective suite.
To switch one of your website repos to using the local gem, add the local gem path to the site's Gemfile as follows:
gem "bridgetown-core", path: "/path/to/bridgetown/bridgetown-core"
If you don't find the answer to your problem in our docs, ask the community for help.
In order to have a more open and welcoming community, Bridgetown adheres to a code of conduct adapted from the Ruby on Rails code of conduct.
Please adhere to this code of conduct in any interactions you have in the Bridgetown community. It is strictly enforced on all official Bridgetown repositories, websites, and resources. If you encounter someone violating these terms, please let one of our core team members know and we will address it as soon as possible.
Bridgetown is built by:
@jaredcwhite | @jaredmoody | @andrewmcodes | You Next? |
Portland, OR | Portland, OR | Wilmington, NC | Anywhere |
Interested in joining the Bridgetown Core Team? Send a DM to Jared on the Bridgetown Community forum and let's chat!
The gem is available as open source under the terms of the MIT LICENSE file.