Pixyll is a simple, beautiful theme for Jekyll that emphasizes content rather than aesthetic fluff. It’s mobile first, fluidly responsive, and delightfully lightweight.
It’s pretty minimal, but leverages large type and drastic contrast to make a statement, on all devices.
If you don’t have Jekyll already installed, you will need to go ahead and do that.
$ gem install jekyll
Verify your Jekyll version
It’s important to also check your version of Jekyll since this project uses Native Sass which is only supported by 2.0+.
$ jekyll -v # This should be jekyll 2.0.0 or later
Fork, then clone
Fork the repo, and then clone it so you’ve got the code locally.
Modify the _config.yml
_config.yml located in the root of the Pixyll directory contains all of the configuration details
for the Jekyll site. The defaults are:
# Site settings title: Pixyll email: firstname.lastname@example.org author: John Otander description: "A simple, beautiful theme for Jekyll that emphasizes content rather than aesthetic fluff." baseurl: "" url: "http://pixyll.com" # Build settings markdown: kramdown permalink: pretty paginate: 3
Then, start the Jekyll Server. I always like to give the
--watch option so it updates the generated HTML when I make changes.
$ jekyll serve --watch
Now you can navigate to
localhost:4000 in your browser to see the site.
Using Github Pages
You can host your Jekyll site for free with Github Pages. Click here for more information.
A configuration tweak if you’re using a gh-pages sub-folder
In addition to your github-username.github.io repo that maps to the root url, you can serve up sites by using a gh-pages branch for other repos so they’re available at github-username.github.io/repo-name.
This will require you to modify the
_config.yml like so:
# Site settings title: Repo Name email: email@example.com author: John Otander description: "Repo description" baseurl: "/repo-name" url: "http://github-username.github.io" # Build settings markdown: kramdown permalink: pretty paginate: 3
This will ensure that the the correct relative path is constructed for your assets and posts. Also, in order to run the project locally, you will need to specify the blank string for the baseurl:
$ jekyll serve --baseurl ''.
If you don’t want the header to link back to the root url
You will also need to tweak the header include
<header class="site-header px2 px-responsive"> <div class="mt2 wrap"> <div class="measure"> <a href="http://blog.direthoughts.com/">Dire Thoughts</a> <nav class="site-nav right"> <a href="/about/">About</a> <a href="/contact/">Contact</a> </nav> </div> </div> </header>
A relevant Jekyll Github Issue: https://github.com/jekyll/jekyll/issues/332
If you’d like to keep the contact form, which uses http://formspree.io, you will need to update the email address.
contact.html has the following:
<form action="http://firstname.lastname@example.org" method="POST" class="form-stacked form-light">
Where it says
email@example.com, you will need to change that to the email that you wish to have the form data sent to. It will require you to fill the form out when you push it live for the first time so that you can confirm your email.
More setup instructions and advanced options can be found at http://formspree.io
Customizing the CSS
All variables can be found in the
_sass/_variables.scss file, toggle these as you’d like to change the look and feel of Pixyll.
If you would like to add a fade-in-down effect, you can add
animated: true to your
Put in a Pixyll Plug
I hope you enjoy using Pixyll. If you encounter any issues, please feel free to let me know by creating an issue. I’d love to help.
Pixyll is always being improved by its users, so sometimes one may need to upgrade.
Ensure there’s an upstream remote
git remote -v doesn’t have an upstream listed, you can do the following to add it:
git remote add upstream https://github.com/johnotander/pixyll.git
Pull in the latest changes
git pull upstream master
There may be merge conflicts, so be sure to fix the files that git lists if they occur. That’s it!
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request