Bliss is a single-column blog template for Eleventy static site generator with strong focus on simplicity without sacrificing functionality.
It is a modified and improved version of the theme running my personal blog.
.well-known/webfinger
file + automatic generation of <link rel="me">
tags for site ownership verificationhttps://eleventy-bliss.lkmt.us/
git clone https://github.com/lwojcik/eleventy-template-bliss
cd eleventy-template-bliss
npm install
npm run dev # to launch the project for modifications
npm run build # to build production version
Netlify:
Vercel:
Render:
Follow the steps below:
package.json
, find the following line:{
"scripts": {
// ...
"build-gh-pages": "npm run build:sass; npm run build:eleventy -- --pathprefix=/eleventy-template-bliss/",
//...
}
}
Replace eleventy-template-bliss
with the name of your repository.
Actions > General
section of your repository's settings, under the Workflow permissions sub-section, select Read and write permissions
Actions
tabs of your repository. From the list of actions select Build and deploy to GitHub Pages
Run workflow
.https://yourusername.github.io/your-repo-name
.By default, the GitHub action workflow for publishing on GitHub Pages is set to be run manually. If you want it to run on each push to main
branch, open .github/workflows/build-to-gh-pages.yml
and edit on
section as follows:
on:
workflow_dispatch: # This enables the action to be launched manually from GitHub Actions tab
push:
branches: ['main'] # This makes the action run on each push to main branch
See siteConfig.js
. Inline documentation is available in the file.
See phrases.js
for the list of translatable static phrases.
Non-exhaustive list of steps to make the template your own. Some of them are optional, others are highly recommended:
siteConfig.js
- site title, description, custom logo, author information, etc.siteConfig.js
or via process.env.URL
environment variable_variables.scss
siteConfig.js
siteConfig.js
06-10-sample-post-33-disclaimer.md
or 05-31-sample-post-32-linked-disclaimer.md
for referencesiteConfig.js
favicon.svg
, favicon.ico
, apple-touch-icon.png
, icon-192.png
, icon-512.png
) with your ownmanifest.webmanifest
file with data relevant to your sitesiteConfig.js
for more info)assets
folder. Note that the top of assets
folder corresponds to the root directory of your site (_site
)By default, the template assumes each post and each page to have a title and generates a permalink out using a slugify
function. In other words, it converts A title like this!
into a-title-like-this
.
If you want your posts to have no title, open content/posts/posts.json
file and modify the following line:
"permalink": "{% if customPermalink %}{{ customPermalink }}{% else %}/{{ title | slugify }}/{% endif %}",
into the following:
"permalink": "{% if customPermalink %}{{ customPermalink }}{% else %}/{{ page.fileSlug }}/{% endif %}",
You can do the same for pages by modifying content/pages/pages.json
file.
Until version 2.4.0 Bliss was bundled with a favicon generation plugin. Due to unresolved bugs this plugin is no longer included with the template.
If you want to reimplement it yourself, change history from this pull request may be helpful.
Contributions of the following kind are welcome:
I consider the project complete and apart from specific exceptions, no new features are planned.
Before contributing be sure to read Code of Conduct.
Licensed under the MIT license.