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.
This Jekyll theme was crafted with <3 by John Otander (@4lpine).
If you're completely new to Jekyll, I recommend checking out the documentation at https://jekyllrb.com or there's a tutorial by Smashing Magazine.
If you don't have Jekyll already installed, you will need to go ahead and do that.
$ gem install jekyll
Fork the repo, and then clone it so you've got the code locally.
The _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: [email protected]
author: John Otander
description: "A simple, beautiful theme for Jekyll that emphasizes content rather than aesthetic fluff."
baseurl: ""
url: "https://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.
You can host your Jekyll site for free with Github Pages. Click here for more information.
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 protected]
author: John Otander
description: "Repo description"
baseurl: "/repo-name"
url: "https://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 ''
.
You will also need to tweak the header include /{{ site.baseurl }}
:
<header class="site-header px2 px-responsive">
<div class="mt2 wrap">
<div class="measure">
<a href="{{ site.url }}/{{ site.baseurl }}">{{ site.title }}</a>
<nav class="site-nav right">
{% include navigation.html %}
</nav>
</div>
</div>
</header>
A relevant Jekyll Github Issue: jekyll/jekyll#332
If you'd like to keep the contact form, which uses https://forms.brace.io/, you will need to update the email address.
Currently, the contact.md
has the following:
<form action="https://forms.brace.io/[email protected]" method="POST" class="form-stacked form-light">
Where it says [email protected]
, 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.
If you want to give credit to the Pixyll theme with a link to https://pixyll.com or my personal website https://johnotander.com somewhere, that'd be awesome. No worries if you don't.
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.
- 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