bridgetown is a free, open source blogging & personal sites project written in Ruby and released under MIT. It has 1,365 GitHub stars, 132 forks and 44 open issues, and was last pushed 13 days ago. On this registry it ranks #20 of 25 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is bridgetown?

What it is

Bridgetown is a Ruby-powered progressive site generator and fullstack framework for building blogs, documentation sites, and personal websites. It lives in the Ruby and Jamstack ecosystem, combining static site generation with optional dynamic web application functionality through Roda.

The project solves the practical problem of turning local content, front matter, data files, and external API data into a deployable website. It renders templates in Markdown, ERB, Liquid, Serbea, and other formats, compiles frontend assets with esbuild, and exports a complete site for delivery by a CDN or traditional web server.

Key capabilities

  • Generates sites from local content, resources, front matter, data files, and external API data.
  • Renders templates with Markdown, ERB, Liquid, Serbea, and other supported formats.
  • Compiles frontend JavaScript and CSS assets through esbuild.
  • Extends generation and site behavior with custom Ruby plugins.
  • Adds dynamic fullstack web application functionality through close integration with Roda.
  • Exports a complete website ready for CDNs such as Render or traditional web servers.
  • Supports blog and documentation workflows, as reflected by the blog-engine and documentation-tool topics.

Who uses it and how

  • Bloggers and personal-site authors create resources, add front matter, and configure permalinks to generate pages and posts.
  • Documentation authors use template engines and data files to organize content, then extend the build with custom plugins for site-specific needs.
  • Jamstack developers combine local content with external API data, compile assets through esbuild, and deploy the exported site to a CDN or web server.
  • Ruby developers use Bridgetown as a base for selective dynamic functionality by integrating Roda when static generation is not enough.
  • Contributors clone the monorepo, run bundle, and test changes locally before submitting improvements.

Getting started

Users install the Bridgetown gem, configure the site through the command line, and deploy the generated export to a CDN such as Render or to a traditional web server. For local development, they clone the repository and run bundle to install dependencies and test the codebase.

When to use it — and when not to

Bridgetown fits Ruby users who want a progressive site generator for static content, assets, and optional dynamic Roda functionality without adopting a separate fullstack framework from the start. It is less suitable when users do not want to manage Ruby, command-line configuration, esbuild assets, and a web server or CDN delivery target. The provided facts list 44 open issues and no contributor count, so adopters may need to review current maintenance activity before relying on it for long-term projects.

project readme (upstream, from github) — read inline

Bridgetown

Bridgetown

Bridgetown is a next-generation, progressive site generator & fullstack framework, powered by Ruby. Bridgetown takes your local content and external data loaded from APIs; renders templates in Markdown, ERB, and many other formats; automatically compiles frontend assets via esbuild; and exports a complete website ready to be served by fast CDNs like Render or traditional web servers. Bridgetown also integrates closely with Roda for fullstack, dynamic web application functionality—but only when and where you need it.

Build Status Gem Version Licensed MIT Join the Discord Chat Ruby Users Forum PRs welcome!


Sponsor Bridgetown Development 🙏

Your direct financial assistance is greatly appreciated! Every penny goes towards enabling steady and comprehensive improvement and promotion of the Bridgetown framework and ensuring its success for years to come.

Commercial Support

Bridgetown development is spearheaded by Portland-based web studio Whitefusion. Contact us if you need commercial support for your Bridgetown content strategy, site design, or deployment. Also providing commercial support: Radioactive Toy based in the UK.

Star History

Star History Chart


Start Here

Get Up to Speed

  • Explore the Folder Structure of a Bridgetown website
  • Start adding content to your site in the form of Resources
  • Learn how Front Matter works for adding metadata to resources
  • Add extra information to your site with Data Files
  • Customize the Permalinks your resources are generated with
  • Use Template Engines like Liquid, ERB, and Serbea to author sophisticated template designs
  • Extend with Custom Plugins to generate and manipulate content specific to your site
  • Discover how to add Frontend Assets using esbuild for a modern Javascript & CSS build pipeline

Testing Locally

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 [email protected]:bridgetownrb/bridgetown.git
$ cd bridgetown
$ bundle # install development gems
$ bundle exec rake # run the full test suite

After making changes in one of the gems, say bridgetown-core, if you want to run a single unit test, you can use the command:

$ script/test test/test_foo.rb

Or run script/test to run the full test suite. You can also run script/cibuild to include Rubocop linting, etc., and at the root level of the repo, run bundle exec rake test_all to test the entire monorepo.

To switch one of your own 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"
# additional gems as needed

Need help?

If you don't find the answer to your problem in our docs, ask the community for help.

Code of Conduct

In order to have a more open and welcoming community, Bridgetown adheres to a code of conduct adapted from the Contributor Covenant.

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.

Contributors

[!NOTE] Interested in joining the Bridgetown Core Team? Send a DM to Jared in Discord and let's chat!

Bridgetown is built by:

jaredcwhite jaredmoody andrewmcodes ParamagicDev MikeRogers0
@jaredcwhite @jaredmoody @andrewmcodes @ParamagicDev @MikeRogers0
Portland, OR Portland, OR Chandler, AZ Providence, RI Ny-Ålesund, Svalbard
wout codemargaret julianrubisch ianbayne ayushn
@wout @codemargaret @julianrubisch @ianbayne @ayushn21
Brighton, UK Portland, OR Vienna, Austria Tokyo, Japan London, UK
pascalwengerter marketerly juanvqz katafrakt
@bkmgit @pascalwengerter @marketerly @juanvqz @katafrakt
Lisbon, Portugal Tripoli, Libya Oaxaca, México Wrocław, PL

|erikyuzwa|eclectic-coding|<img src="https://avatars.githubusercontent.com/collindonnell?s=256" alt="col

readme truncated — read the full docs on github

Frequently asked questions

Is bridgetown free to use?

bridgetown is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does bridgetown do?

A next-generation progressive site generator & fullstack framework, powered by Ruby

What is bridgetown written in?

bridgetown is primarily written in Ruby. Its source is publicly available at https://github.com/bridgetownrb/bridgetown, and it has 1,365 GitHub stars.