Skip to content

paulfioravanti/paulfioravanti.github.io

Repository files navigation

Blog

Build Status

This is the codebase for my personal blog at https://www.paulfioravanti.com. Created with Jekyll.

Meta

I have written about setting up various facets of this blog, which you can find at the following posts:

Install

git clone [email protected]:paulfioravanti/paulfioravanti.github.io.git
cd paulfioravanti.github.io
bundle install

Development Dependencies

This app uses the following dependencies during development:

Install Node-based dependencies in the following way, and remember to re-shim whatever version manager is being used for Node (I use asdf), or add the bin folder of the Node installation to the $PATH, otherwise executables like sass-lint won't be available:

npm install --global sass-lint htmllint-cli markdownlint-cli
asdf reshim nodejs

HTMLProofer is a Ruby gem and so Bundler will bring it into the project.

Usage

Start blog server

bundle exec jekyll serve --incremental --drafts --port 5000 --livereload

Then, navigate to http://localhost:5000

Monitor files

This project uses Guard to monitor file changes.

Start Guard with the following command:

bundle exec guard

Theme

This blog currently uses the Minimal Mistakes theme.

Previously, it used the Minima theme, as that seemed to be the theme that worked best out of the box with Jekyll 3.6, and was usable on GitHub Pages.

Deployment

This blog is current deployed to GitHub Pages, but GitHub Pages tend to be slow at updating their Jekyll technical stack, and they only support a limited set of plugins.

I initially used Travis CI as both a test harness and a deployment pipeline to bypass the limitations of the Pages gem, and allow Jekyll to use the latest gems, as well as plugins not supported by GitHub's safe mode (see my blog post Build a CI/CD pipeline for your Jekyll site for more information about how I got a Travis-GitHub Pages test/deploy pipeline working).

However, I now use GitHub Actions for CI/CD. See the ci.yml file for details.

License

Category License
Content License: CC-BY-4.0
Code License: MIT

Content in all blog posts is licensed under the Creative Commons Attribution 4.0 license (CC-BY-4.0), and all source code in this repo, and contained within any blog posts, is licensed under the MIT license.

SPDX-License-Identifier: (MIT AND CC-BY-4.0)