💻 🏠 Responsive, mobile-first GitHub portfolio site
Brendon Smith
This repository is provided under the terms of the CC-BY-4.0 license. If you adapt these materials, please attribute me and explain what you changed.
- The homepage is HTML.
- Other pages are Markdown.
- Bootstrap 4 provides styling and responsive design.
- AnchorJS generates header anchors for deep linking.
- Prism syntax highlighting is included for display of code blocks.
- The light/dark theme toggle uses JavaScript to store the theme's CSS classes in Local Storage.
- Jekyll is a static site generator that builds the site.
- GitHub Pages hosts the site.
- The Keybase proof helps verify my online identity. I had to use a workaround to set it up:
- I don't have access to DNS records on GitHub Pages, so I have to use HTTPS.
- Keybase requires the page to be at /keybase.txt, and the contents of the file can't be altered.
- Jekyll requires pages to be Markdown files, but layouts to be HTML files.
- The solution was to save keybase.md with only the YAML front matter, then change the keybase.txt file extension to keybase.html and save in _layouts.
- Clone the repo.
- Install Ruby as explained in the Jekyll docs for your operating system. If a specific Ruby version is pinned in the Gemfile, install that version and add it to the
$PATH
(via Homebrew or rbenv, for example). Bundler will be installed along with Ruby. - Install the site and generate Gemfile.lock:
bundle
. - Build the site:
bundle exec jekyll build
- Serve the site:
bundle exec jekyll serve
(also builds the site) - View the site in a browser at localhost:4000.