My website, powered by Bridgetown
- HTML 40.3%
- Ruby 37.4%
- JavaScript 17%
- Just 2.1%
- CSS 1.9%
- Other 1.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .bundle | ||
| bin | ||
| config | ||
| frontend | ||
| LICENSES | ||
| plugins | ||
| server | ||
| src | ||
| test | ||
| tmp/pids | ||
| .dockerignore | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .ruby-version | ||
| _typos.toml | ||
| config.ru | ||
| Dockerfile | ||
| esbuild.config.js | ||
| Gemfile | ||
| Gemfile.lock | ||
| jsconfig.json | ||
| Justfile | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| Rakefile | ||
| README.md | ||
| REUSE.toml | ||
| stylelint.config.mjs | ||
Nogweii's Notes site
This is my Bridgetown powered notes/documentation site. It's my own digital garden. I use Obsidian to actually write my notes, these are just a subset of them that I want to publish and share.
Prerequisites
Interesting parts of the tech
- Core Framework: Bridgetown
- Server/Backend: Roda (via
config.ruandserver/roda_app.rb) running on Puma. - Frontend:
- CSS Framework: Bootstrap 5
- Bundler: esbuild
- Icons: Lucide
Neat extra features I've added
- Backlinks are built through scanning the notes and exposes them through custom metadata as well as a complete graph (in JSON)
- A file tree that supports icons and emojis while opening up to the correct node for the page
- Custom Markdown processing via CommonMarker & HTML::Pipeline
- An RSS feed, using the
gitmodification times to order the notes
Install
cd notes-site
bundle install && npm install
Development
To the site in development mode, run bin/bridgetown start and navigate to localhost:4000.
There is live-reload so it should automatically refresh the browser on changes.
Front-end files are built using esbuild in ./esbuild.config.js.
The primary javascript file is located at ./frontend/javascript/index.js and the primary CSS file is located at ./frontend/styles/index.css.
Important Commands
# running locally
bin/bridgetown start
# build the site in dev mode
bin/bridgetown build
# build & deploy to production (rsync's to "website-server")
bin/bridgetown deploy
# load the site up within a Ruby console (IRB)
bin/bridgetown console
# Copy the latest version of notes from ~/notes/ (assumes it exists)
bundle exec rake sync:notes
# Copy the latest version of my resume from ../my-resume/ (assumes it exists)
bundle exec rake sync:resume