Personal blog and website of Andrew Lewman, built with Jekyll and the Jekyll-Bootstrap framework, using the the_minimum theme. The domain has existed since 1995; this particular incarnation was migrated from static HTML to Jekyll in September 2011.
Requirements
- Ruby 1.8/1.9 with the
jekyll,rake, andliquidgems - The
classifiergem (for LSI-related posts) - Python Pygments (for syntax highlighting)
- Fossil SCM for version control (this repo is not git)
- A LESS compiler (e.g. Codekit,
lessc) if editing styles
There is no Gemfile; gems are expected to be installed system-wide.
Running locally
rake preview
This runs jekyll --auto --server, which starts a local dev server (default http://localhost:4000) with auto-regeneration on file changes. Note that _config.yml sets auto: false, so a bare jekyll build will not auto-regenerate — use the rake task or pass --auto explicitly.
Adding a post
rake new_post['my post title']
This creates _posts/YYYY-MM-DD-my-post-title.md with starter frontmatter. However, existing posts do not follow the generated template exactly. Real posts use:
---
layout: post
tags: [comma, separated, tags]
---
- The title is an
# H1heading in the post body, not in frontmatter. category:andcomments:from the template are not used in practice.- Tags are generated by a word-frequency script rather than hand-picked (see the word frequency generator post).
Project structure
_config.yml Site configuration (permalink, LSI, Pygments, URL)
Rakefile Tasks: preview, new_post, switch_theme
_includes/
helpers/ Reusable Liquid listing helpers (tags, categories, pages, posts)
themes/the-minimum/ The actual HTML templates (default, page, post)
_layouts/ Generated stubs that include the theme templates — do not edit directly
_plugins/ tag_cloud.rb (tag cloud Liquid tag), debug.rb (debug filter)
_posts/ Blog posts in Markdown (.markdown and .md)
assets/themes/the-minimum/
css/ LESS sources (style.less) and compiled CSS
font/ Junction webfont
images/ Post images and a standalone KIPI photo gallery
index.html Home page
archive.html Posts by year/month
categories.html Posts by category
tags.html Posts by tag (uses tag cloud plugin)
pages.html All pages listing
atom.xml Atom feed
sitemap.txt Sitemap (generated from site pages/posts)
robots.txt Robots config pointing to sitemap
The layout/theme split
_layouts/{default,page,post}.html are auto-generated by rake switch_theme and are thin shims that set theme_asset_path and include the corresponding template from _includes/themes/the-minimum/. To change the site's HTML, edit the files in _includes/themes/the-minimum/, not _layouts/.
Version control
This repository uses Fossil SCM, not git. Common commands:
fossil status # see changed/extra files
fossil diff # view uncommitted changes
fossil commit -m "message" # commit
fossil timeline # view history
The repository database is at ../old-lewman-website.fossil.
License
Copyright © 1995 Andrew Lewman. Verbatim copying and distribution of this entire website is permitted in any medium, provided this notice is preserved (see footer of the site).
The the_minimum theme is by Yuya Saito (__layout), ported from studiomohawk/jekyll-theme-the_minimum. See assets/themes/the-minimum/readme.markdown for theme license details.