Type on Strap is a free, open-source Jekyll blog theme that extends Rohan Chandra's type-theme with portfolio and gallery pages, search, tags, KaTeX math, Mermaid diagrams, and light/dark themes. It converts markdown posts and portfolio items into a static site and runs on any Jekyll environment, including GitHub Pages via remote theme. The project is maintained by Sylhare and published as a Ruby gem.
What is Type on Strap?
Type on Strap is a free and open-source Jekyll theme that turns a standard Jekyll site into a blog with portfolio, gallery, search, and tag pages. It takes markdown posts and portfolio items from _posts and _portfolio folders, plus configuration from _config.yml, and produces a static HTML site. The theme is authored by Sylhare, distributed as a Ruby gem and via GitHub remote_theme, and includes a live demo at sylhare.github.io/Type-on-Strap.
Key Features
- Responsive layout — the theme renders on desktop, laptop, and mobile viewports, with a recommended home feature image size of 2484px by 1280px.
- Portfolio and gallery pages — portfolio posts in the
_portfoliocollection display in a three-column image grid, while a gallery page using Masonry JS automatically arranges images from a configurablegallery_path. - Multi-provider comments — Disqus, Cusdis, and Utterances are supported through
_config.ymlsettings; Utterances stores comments as GitHub issues. - Search and tags — Simple-Jekyll-Search powers a search page backed by a generated
search.jsonindex, and case-sensitive tags create a browsable tags page. - Math and diagrams — setting
katex: trueloads KaTeX for LaTeX math, andmermaid: trueloads Mermaid-js for sequence, flowchart, and other diagrams. - Light and dark themes — the
color_themeoption acceptsauto,dark, orlight;autoshows a navbar toggle for manual switching. - SEO, analytics, and GDPR — jekyll-seo-tag handles meta tags, Google Analytics can be enabled with a tracking ID, and an optional cookie-consent banner appears when analytics are active.
- Gulp asset pipeline — the
assets/gulpfile.jsincludes tasks to compress CSS/JS/images, create thumbnails viagulp thumbnails, and scaffold a new dated post withgulp post -n 'title'.
Who should use Type on Strap?
- Jekyll bloggers — publish date-stamped markdown posts with front matter such as
feature-img,thumbnail, andtagsand control excerpt length with anexcerpt_separator. - Portfolio owners — drop project files into
_portfoliowith animgfield to build a three-column portfolio page, optionally using portfoliolayout: postposts. - Technical writers and educators — turn on KaTeX and Mermaid to include LaTeX formulas and diagrams directly in posts.
- GitHub Pages users — add
remote_theme: sylhare/Type-on-Strapto_config.ymlto use the theme without a local Jekyll build.
What can you do with Type on Strap?
- Bloggers: create posts with feature images, thumbnails, custom excerpt separators, and tag lists, then show them on a paginated home page (
paginate: 5). - Photographers: create a gallery page by setting
gallery_pathto a directory of images and includingdefault/gallery.html. - Developers: customize Base16 syntax highlighting colors in
_sass/base/_variables.scssand compress assets with the bundled gulp tasks. - Site owners: add a Google Analytics tracking ID, enable social share icons via
_data/social.yml, and configure footer icons in_data/icons.yml.
How does Type on Strap work?
Installation follows the standard Jekyll flow: fork or clone the repo, install Jekyll, run bundle install, customize _config.yml, then start the server with bundle exec jekyll serve. To use it as a gem, add gem "type-on-strap" to your Gemfile, set theme: type-on-strap in _config.yml, and run bundle install; for GitHub Pages, replace the theme line with remote_theme: sylhare/Type-on-Strap.
Pricing
Type on Strap is free and open source. The theme is licensed under the MIT License; bundled pictures from Pexels are CC0 and fonts are under the SIL Open Font License.
FAQ
Is Type on Strap free?
Yes. Type on Strap is open source under the MIT License, so it can be used, modified, and redistributed freely. The theme is also available as a Ruby gem on rubygems.org and as a GitHub remote theme.
How do I enable comments?
Set one of the three comment providers in _config.yml: provide a disqus_shortname, a cusdis_app_id, or an utterances block with a GitHub repo and issue-term. Utterances stores each page's comments as GitHub issues.
Can I use Type on Strap on GitHub Pages?
Yes. Remove theme: from _config.yml and add remote_theme: sylhare/Type-on-Strap. The demo site runs on GitHub Pages, and the repository also supports a baseurl configuration for project pages under a subdirectory.
How do I add math or diagrams?
Set katex: true in _config.yml to render LaTeX math wrapped in $$ signs, and set mermaid: true to enable Mermaid diagrams inside <div class="mermaid"> blocks. Both features load their JavaScript from the theme assets.
How do I create a portfolio post?
Add a markdown file to the _portfolio folder with front matter such as layout: post, title, feature-img, img, and an optional date in yyyy-mm-dd format. The portfolio page is created by including default/portfolio.html in a page with layout: page.
Alternatives
Other Jekyll themes in the same space include Minimal Mistakes, which offers a wider variety of layout options, and Chirpy, which is built around blogging and SEO. Both are free Jekyll themes, though Type on Strap distinguishes itself with built-in portfolio, gallery, and Mermaid support.





