Source code for my Jekyll-based portfolio at billmartin.io, which uses the Freelancer Jekyll Theme with my own additions and modifications.
Demo: bill-c-martin.github.com
Requires no servers or hosting, and runs straight from your GitHub repo on GitHub Pages.
your-github-username.github.io
Localhost setup uses VS Code Dev Containers.
Note If you don't want to use Docker or VS Code, an older version of this README has manual ruby & gem installation instructions.
Note: Or run
Dev Containers: Open Folder in Container...
in the command palette (Ctrl+Shift+P
)
bundle exec jekyll serve
The localhost site will show changes in real-time.
If you modify _config.yml
though, you'll need to ctrl+c
and restart the web server.
Pipe any variable into debug
from any template to see its contents on-screen.
Example: Printing entire _config.yml structure:
{{ site | debug }}
Example: Printing blog post attribute from inside a for loop in blog_grid.html
:
{{ post | debug }}
Once up and running locally, configure and personalize your portfolio.
img/profile.jpg
(used on home page) and img/profile32x32.png
(used on blog posts)_config.yml
_posts/blog/
and _posts/portfolio/
Formspree will receive POST requests from your contact form and forward them to your email. Without requiring server-side code.
[email protected]
in _includes/contact_static.html
with your email addressDisqus will receive POST requests from your blog post's comment forms, display comments dynamically, and also deal with spam. Without requiring server-side code.
disqus_shortname
in _config.yml
master
branch to remoteThese are some recommended steps for final polishing.
google_analytics_tracker_id
in _config.yml
gtm_id
in _config.yml
If you go this route, you can setup a GA4 tag through GTM, and forego the above "Google Analytics Setup" route.
Instead of using the default https://your-github-username.github.io
Github Pages URL, you can instead use a custom domain name that you already own.
You can alias a custom domain name to your https://your-github-username.github.io Github Pages URL. See Github's documentation on this.
However, you will usually have to manage and pay for SSL certificates through your domain registrar.
You can instead use Netlify for all of this, for free.
Netlify is a free service that provides CDN, SSL certs, deployment pipelines, and even dynamic serverless functions.