11ty-plain-bootstrap5 icon indicating copy to clipboard operation
11ty-plain-bootstrap5 copied to clipboard

Plain template for static site generator Eleventy with Boostrap5 and laravel-mix.

11ty-plain-bootstrap5

Build and Deploy

Minimalistic template for the awesome static site generator Eleventy/11ty, just

* Laravel Mix is a wrapper around webpack, it is purely NodeJS, no PHP involved ;-)

Plugins used (you don't have to keep them):

Live demo

  • https://mandrasch.github.io/11ty-plain-bootstrap5/

Open in Gitpod

Usage

Install via:

  • npm install

Start local development with

  • npm run dev

Preview runs on http://localhost:8080/.

Where to edit?

  • Work with files in src/-folder
  • Homepage: src/index.njk, Config: .eleventy.js
  • Don't edit _site/ folder (automatically generated)

Generate a static build with

  • npm run build

Advice: BASE_URL should be set as node env variable for open graph image support (they need full instead of relative URLs. You can strip them out as well in meta.njk. See .github/workflows/build-deploy.yaml for information. Currently it defaults to http://localhost:8080 if no env var is set.)

Credits

Alternatives

  • https://11straps.com/
  • https://github.com/mesinkasir/eleventyblog
  • See all starters: https://www.11ty.dev/docs/starter/

Technical background:

Bootstrap information for npm/sass:

  • https://getbootstrap.com/docs/5.2/getting-started/download/#source-files
  • https://getbootstrap.com/docs/5.2/customize/sass/

Sustainable Web Design:

  • Comment out not needed bootstrap components in src/scss/app.scss

TODOs

Roadmap:

  • [ ] Add vite support (https://www.11ty.dev/docs/server-vite/), eleventy v2 needed, see e.g. https://github.com/matthiasott/eleventy-plus-vite

Ideas:

  • [ ] Add support for Stackblitz (https://stackblitz.com/github/mandrasch/11ty-plain-bootstrap5)
  • [ ] Add more demo content with image/gallery examples
  • [ ] Add local google fonts example
  • [ ] Improve handling of absolute URLs for open graph image information and BASE_URL settings
  • [ ] Add sitemap.xml (See https://github.com/maxboeck/eleventastic)
  • [ ] Add minimalistisc cache busting via timestamp https://rob.cogit8.org/posts/2020-10-28-simple-11ty-cache-busting/ or https://laravel.com/docs/9.x/mix#versioning-and-cache-busting (would require to read mix-manifest.json file in build step?)
  • [ ] Check a11y with WAVE, aXe, etc. or use automated workflow, e.g. pa11y https://rodneylab.com/sveltekit-accessibility-testing
  • [ ] Add PWA features (?)

License

MIT license

(License is for compatibility purposes with eleventys license only. You don't have to attribute my personal additions, I did mostly boring config stuff. Please be aware that Eleventy, Bootstrap, Bootstrap Icons, Laravel Mix and eleventy plugins used are licensed as MIT license.)