{"id":17005263,"url":"https://github.com/adamj/eleventy-bootstrap","last_synced_at":"2026-04-05T21:35:10.968Z","repository":{"id":233150858,"uuid":"697396440","full_name":"AdamJ/eleventy-bootstrap","owner":"AdamJ","description":"An Eleventy (11ty) template using Bootstrap.","archived":false,"fork":false,"pushed_at":"2024-09-23T20:42:35.000Z","size":901,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-27T10:24:37.675Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdamJ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-27T16:36:42.000Z","updated_at":"2024-09-23T19:57:18.000Z","dependencies_parsed_at":"2024-04-14T06:38:47.246Z","dependency_job_id":"cdc2ce82-2963-4063-a6f2-1dcdf76b5b15","html_url":"https://github.com/AdamJ/eleventy-bootstrap","commit_stats":null,"previous_names":["adamj/eleventy-bootstrap"],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJ%2Feleventy-bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJ%2Feleventy-bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJ%2Feleventy-bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJ%2Feleventy-bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamJ","download_url":"https://codeload.github.com/AdamJ/eleventy-bootstrap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244945595,"owners_count":20536295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T04:45:47.262Z","updated_at":"2025-12-30T23:49:11.091Z","avatar_url":"https://github.com/AdamJ.png","language":"SCSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eleventy-bootstrap\n\nThis is a template for creating [Eleventy](https://www.11ty.dev \"Link to eleventy website\") sites using [Bootstrap](https://getbootstrap.com \"Link to bootstrap website\").\n\n\u003e As of release, this template utilizes the Eleventy 3.0.0-beta.1 release. If you do not wish to use this version, change over to the [**11ty-2**](https://github.com/AdamJ/eleventy-bootstrap.git) branch.\n\n## Installation\n\nDependencies are installed with `npm install`. Once dependencies are installed, there are additional commands (found under [configuration](#configuration)) for advanced setups.\n\nAfter installation, you should see the directory structure now containing an `npm_modules` folder, along with a `package-lock.json` file.\n\u003e The package-lock.json is excluded so that when you first install dependencies, you will get the latest versions available.\n\n### Directory structure\n\n```json\n/eleventy-bootstrap\n  /docs\n  /node_modules\n  /social\n  /src\n    /_data\n      meta.js\n    /_generate\n      feed.njk\n      pages.njk\n      sitemap.njk\n      socialtemplate.njk\n    /_includes\n      base.njk\n      footer.njk\n      page.njk\n      sitenav.njk\n    /img\n      navbar-logo.png\n    /pages\n      contact.md\n      page.md\n      pages.json\n    /sass\n      /fa\n      _bootstrap.scss\n      _footer.scss\n      _page.scss\n      _typography.scss\n      fontawesome.scss\n      style.scss\n    /webfonts\n    index.md\n    manifest.json\n    sitemap.njk\n  .eleventy.js\n  .gitignore\n  .nvmrc\n  .stylelintignore\n  .stylelintrc.json\n  GitHub_Repo_Card_Template.png\n  package-lock.json\n  package.json\n  README.md\n```\n\n## Configuration\n\nThis template is configured to use `/src` as the main directory, with `/docs` as the target directory. If you wish to change this, you will need to edit the [`.eleventy.js`](.eleventy.js) file.\n\n### Included libraries\n\nAny dependencies can be updated, removed, and/or replaced as you see fit. If you want to get up and running as quickly as possible, run `npm install` to get the latest versions of each included dependency.\n\n[Bootstrap](#bootstrap) | [Font Awesome](#font-awesome)  |  [Stylelint]()\n\n#### Bootstrap\n\nBootstrap file is imported through `/src/sass/style.scss` using `/src/sass/_bootstrap.scss`. This file contains `@import \"../../node_modules/bootstrap/scss/bootstrap.scss\";`, so no scripts are needed to update this dependency. As Bootstrap is a pivotal aspect of this template, removing it is not recommended.\n\n#### Font Awesome\n\nTo update local Font Awesome files, run `npm run config`. This will copy over files from `/node_modules/@fortawesome/fontawesome-free` to your `/src/webfonts` and `/src/sass/fa` directories.\n\n- If you wish to remove Font Awesome from the template, you will need to update the following files:\n  - `package.json`\n    remove `\"@fortawesome/fontawesome-free\": \"6.4.2\",` from the `devDependencies` list\n  - `fontawesome.scss`\n    delete this file\n  - `style.scss`\n    remove `@import \"fontawesome.scss\";`\n  - `base.njk`\n    remove `\u003clink href=\"{{ '/css/fontawesome.css' | url }}\" rel=\"stylesheet\" /\u003e` from the `\u003chead\u003e\u003c/head\u003e` section\n- Run `npm install` to update `/node_modules` and `package-lock.json`, which will remove Font Awesome from both.\n\n#### Stylelint\n\nIn order to create consistent and maintainable code, Stylelint is used to process the `.scss` files under `src/sass/`. By default, Stylelint has been configured to ignore Bootstrap and Font Awesome files, as those packages are linted by their respective owners.\n\n[`src/.stylelintrc.json`](/src/.stylelintrc.json)  |  [`src/.stylelintignore`](/src/.stylelintignore)\n\n---\n\n## Building the Site\n\nAs an 11ty site, the build is governed by settings under `.eleventy.js`. Each page for the site is built using Nunjucks files located under `src/_generate` and `src/_includes`.\n\n`src/_generate` contains the following:\n\n- `feed.njk`\n- `pages.njk`\n- `sitemap.njk`\n- `socialtemplate.njk`\n\nEach of these files references meta data found in [`meta.js`](src/_data/meta.js) and are generated for use through the Eleventy build process.\n\nThe template's pages are broken into manageable parts, and kept under `src/_includes` so that the Eleventy build configuration can located them and included them when referenced. As part of this template, the following files are available:\n\n- `base.njk`\n\n\u003e This file pulls in the footer and sitenav pages using `{% include 'sitenav.njk' %}` and `{% include 'footer.njk' %}` with `{{ content | safe }}` calling content from the `page.njk` file.\n\n- `footer.njk`\n\n\u003e Site footer and references to JavaScript CDN links\n\n- `page.njk`\n\n\u003e The primary template for displaying content from any markdown files under `/src/pages/`. This template is called by the site's content pages using the page `json` file. In the front-matter of `pages.njk`, the `base.njk` layout file is called, completing the page construction process.\n\n- `sitenav.njk`\n\n\u003e Navigation bar for the template\n\n### Sitemap.njk\n\nLocated under `src`, [`sitemap.njk`](src/sitemap.njk) needs to have certain meta data available to it to correctly fill in the URL. Under`src/_data/meta.js`, update **siteURL** to your site's URL:\n\n```js\nsiteURL: \"https://www.adamjolicoeur.com\"\n```\n\n### Meta.js\n\nThe [`meta.js`](src/_data/meta.js) file includes a set of data attributes that are referenced by files under `_generate` and `_includes`. Edit these as you see fit in order to properly populate page headings and site meta data.\n\n### Pages\n\nAll pages for this template are included under `src/pages/` and are written in Markdown (`.md`) with front-matter dictating the page title and description (called at the time of build and injected into the `page.njk` include).\n\nAdditionally, each page references a `pages.json` file which dictates what layout template to use as, well as the **permalink** and **key**.\n\u003e The **permalink** is the fixed URL string that is appended to the primary URL (i.e. adamjolicoeur.com/[permalink]).\n\nFor reference, this is the method for setting the link: `\"permalink\": \"/{{ page.fileSlug }}/\"`.\n\u003e If you wish to have these pages reside under `src/pages` but customize the URL string, you can do so by altering the **permalink**.\n\u003e Instead of \"permalink\": \"/{{ page.fileSlug }}/\" to have `adamjolicoeur.com/contact`, change it to \"permalink\": \"/[pages/\\{{ page.fileSlug }}/\". Now the URL will be `adamjolicoeur.com/pages/contact`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamj%2Feleventy-bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamj%2Feleventy-bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamj%2Feleventy-bootstrap/lists"}