• Stars
    star
    1,118
  • Rank 41,559 (Top 0.9 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 PRs welcome!


Special Thanks to Our GitHub Sponsors! 🙏 🎉

Say howdy 👋 to our blossoming list of current and past sponsors of Bridgetown on GitHub! You too can join this list and sponsor open source "alt" Ruby development.

svoop rahoulb joshuap skvk monfresh
@svoop @rahoulb @joshuap @skvk @monfresh
Website Website Website Website
renuo subsevenx collindonnell nbkkb7x bpo
@renuo @subsevenx @collindonnell @nbkkb7x @bpo
Website Website Website Website
DRBragg andrewmcodes karloscarweber swilgosz ttilberg
@DRBragg @andrewmcodes @karloscarweber @swilgosz @ttilberg
Website Website Website Website Website
Brem-LLC posiczko fuzzygroup maxveldink oleingemann
@Brem-LLC @posiczko @fuzzygroup @maxveldink @oleingemann
Website Website Website Website Website
onurozer joelhawksley coreyaus johlym pascallaliberte
@onurozer @joelhawksley @coreyaus @johlym @pascallaliberte
Website Website Website Website Website
luctus AbuMareBear rootnoob matoni109 jc00ke
@luctus @AbuMareBear @rootnoob @matoni109 @jc00ke
Website Website
jespr MikeRogers0 existentialmutt jr180180 eclectic-coding
@jespr @MikeRogers0 @existentialmutt @jr180180 @eclectic-coding
Website Website
williamkennedy adrianvalenz scoutapm-sponsorships asaaki leastbad
@williamkennedy @adrianvalenz @scoutapm-sponsorships @asaaki @leastbad
Website Website Website Website
jasoncharnes pascalwengerter wout johnchambers mtomov
@jasoncharnes @pascalwengerter @wout @johnchambers @mtomov
Website Website Website
marcoroth miatrinity pilotcph
@marcoroth @miatrinity @pilotcph You Next?
Website Website

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

Bridgetown is built by:

jaredcwhite jaredmoody andrewmcodes ParamagicDev MikeRogers0
@jaredcwhite @jaredmoody @andrewmcodes @ParamagicDev @MikeRogers0
Portland, OR Portland, OR Wilmington, NC 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 collindonnell juhat
@erikyuzwa @eclectic-coding @collindonnell @juhat @debashis-biswal
Calgary, AB North Carolina, US Portland, OR Budapest, Hungary
nachoal deivid-rodriguez Eric-Guo jacobherrington
@nachoal @deivid-rodriguez @Eric-Guo @jacobherrington @fpsvogel
CDMX, México Madrid, Spain Shanghai, China Fayetteville, AR Lexington, KY
vvveebs rickychilcott tommasongr tombruijn svoop
@vvveebs @rickychilcott @tommasongr @tombruijn @svoop
London, UK Ohio, US Amsterdam, The Netherlands Milan, IT Europe
michaelherold joemasilotti ikass jw81 jw81
@michaelherold @joemasilotti @ikass @jw81 @MSILycanthropy
Omaha, NE Portland, OR Latvia Kansas City, MO Kansas City, MO
You Next?
Anywhere

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

License

The gem is available as open source under the terms of the MIT LICENSE file.

More Repositories

1

serbea

The Ruby template engine you didn't realize you needed. Until now.
Ruby
41
star
2

lifeform

Component-centric form object rendering for Ruby
Ruby
34
star
3

node-runner

A simple way to execute Javascript in a Ruby context via Node
Ruby
32
star
4

bridgetown-seo-tag

A Bridgetown plugin to add metadata tags for search engines and social networks to better index and display your site's content.
Ruby
29
star
5

bridgetown-feed

A Bridgetown plugin to generate an Atom feed of your Bridgetown posts
Ruby
19
star
6

roda-turbo

Turbo Streams support for Roda.
Ruby
15
star
7

bridgetown-lit-renderer

Simple pipeline for SSR + hydration of Lit components.
Ruby
13
star
8

liquid-component

Smart components for the Liquid template language. Load and parse templates with YAML front matter.
Ruby
12
star
9

bridgetown-quick-search

A Liquid + Web Component for Bridgetown sites which performs search queries with Lunr.js.
JavaScript
12
star
10

bridgetown-activerecord

Plugin to add ActiveRecord support to Bridgetown sites
Ruby
11
star
11

bridgetown-view-component

Add support for GitHub's ViewComponent library to your Bridgetown sites.
Ruby
10
star
12

tailwindcss-automation

Automation for installing TailwindCSS in Bridgetown sites
Ruby
10
star
13

bridgetown-cards

Share what you know. Build what you learn.
CSS
9
star
14

bridgetown-prismic

A Prismic CMS integration plugin for Bridgetown
Ruby
9
star
15

hash_with_dot_access

Subclass of HashWithIndifferentAccess which provides dot access via method_missing
Ruby
7
star
16

automations

A collection of helpful automations that can be applied to Bridgetown websites.
Ruby
7
star
17

bridgetown-slim

A Bridgetown plugin which provides support for Slim templates.
Ruby
6
star
18

bridgetown-cloudinary

Embed or access images with transformations using Cloudinary and Bridgetown
Ruby
6
star
19

phlextown

Phlex component support for Bridgetown
Ruby
5
star
20

streamlined

Component rendering for Ruby using streamlined procs & heredocs.
Ruby
4
star
21

lit-renderer-example

Demo repo showing off Bridgetown Lit Renderer
Ruby
4
star
22

rubocop-bridgetown

A RuboCop extension to enforce common code style in Bridgetown plugins
Ruby
3
star
23

bridgetown-haml

A Bridgetown plugin which provides support for Haml templates.
Ruby
3
star
24

bridgetown-mdjs

Kramdown-based support for Markdown JavaScript (mdjs) in Bridgetown
Ruby
3
star
25

bridgetown-sample-plugin

Sample code for creating new Bridgetown plugins
Ruby
3
star
26

fundraising-site

The source code for the Bridgetown fundraising website
Ruby
2
star
27

bridgetown_sequel

Bridgetown plugin for integrating the Sequel database gem
Ruby
1
star
28

inclusive

Compose globally-scoped Ruby modules into local packages
Ruby
1
star