A full-featured blog boilerplate for Jekyll made extraordinary with the help of Bulma.
- Categories can have captions
- Smart navigation knows which page is active
- Archive pages for categories, tags, and year.
- Categories and tags pages can have descriptions
- Atom feed
- Featured blog post
- note: first post is used if nothing is specified.
- Basic SEO
- schema.org (Website)
- open graph
- sitemap.xml
- Contact page
- Honeypot and reCAPTCHA implemented to thwart spam-bots
- Display your email address
- Your email is protected from spam-bots by using obfuscation
- Create and edit blog posts with Prose CMS
- Bulma 0.8
- Dependency management: yarn
- Asset pipeline: jekyll-assets
- HTML compression: compress.html
- Testing: html-proofer
- Analytics: Google Analytics
Your development environment should have ruby and the gem package manager setup already.
- Install bundler
gem install bundler
- Install yarn
$ bundle install
$ yarn install
$ bundle exec jekyll serve
$ bundle exec rake email
Please type in an email address then press ENTER/RETURN
[email protected]
Installation:
Update src/_config.yml with the following pairs.
email-key: d05fIsWcv61GbThaN3FkOuL9mHXVnYgBQJUR8r2S7DizwKexqtAZMCP4Eoplyj
email-encoded: [email protected]
The contact page uses Formspree.io by default, unless deploying to Netlify.
Some things to consider
- 100 free submissions per month
- Upon submission, it will Redirects you to thank you page (see thanks.html)
- No registration required
When deploying to Netlify, the blog will automatically integrate with Netlify Forms. If you still prefer to use Formspree.io, simply change the site.contact.page.service
block to formspree
If you don't have access to rake
or you don't care to obfuscate your email address, you can choose to display your email in plaintext by inputing your address in the site.contact.email-plain
block.
draft # Creates a new draft post with the given NAME
post # Creates a new post with the given NAME
publish # Moves a draft into the _posts directory and sets the date
unpublish # Moves a post back into the _drafts directory
page # Creates a new page with the given NAME
Create a post
$ bundle exec jekyll post "Hello beautiful world"
For more examples and configuration options be sure to check out the jekyll-compose
repo
Prose is an open source web-based authoring environment for CMS-free websites and designed for managing content on GitHub. Use it to create, edit, or delete files.
Prose has advanced support for Jekyll sites and markdown content. Prose detects markdown posts in Jekyll sites and provides syntax highlighting, a formatting toolbar, and draft previews in the site's full layout.
Please note that Prose only has access to the src/_posts
directory.
Instructions:
Click here to authorize access to Github.
Be sure to check out the Prose repo, and wiki for more information.
This blog comes complete with Category and Tag pages thanks to the jekyll-archives
plugin.
src/_data/catalog.yml
You can change where Category and Tag pages are saved by editing the jekyll-archives.permalinks
block in _config.yml
After editing your categories, you will need to update the prose block in _config.yml
prose:
...
metadata:
src/_posts:
- name: "category"
field:
options:
- name: "Category 1"
value: "category1"
- Point Travis to repository
- Configure Travis
- Generate a Personal Access Token from Github
- The only scope needed is repo:public_repo
- Set
GITHUB_API=<token>
on Travis
- Make sure
Display value in build log
toggle is set toOff
!
Good question. Here's what it will do...
- Netlify will clone the git repository of this project into your Github account. This action will require your permission from Github, and of course a Netlify account.
- Netlify will then create a new site for you, and configure it to use your shiny new repo. Right away you'll be able to deploy changes simply by pushing changes to your repo.
- Enjoy your new blog 🎉