Skip to content
 
 

Latest commit

 

History

146 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jasper2

Build Status Netlify Status Ruby Jekyll

This is a modern, full-featured port of Ghost's default theme Casper for Jekyll / GitHub Pages.

Live Demo

Ghost's Casper // Jasper2

home page

Key Features & Upgrades

  • Pure Ruby/Jekyll Stack: Upgraded to Jekyll 4.4 and jekyll-sass-converter. No Node.js, NPM, or Gulp required! SCSS styles compile natively during Jekyll builds.
  • Dark Mode: Beautiful, responsive dark mode support with a theme toggle switch (persisted in localStorage).
  • Netlify CMS Integration: Out-of-the-box support for Netlify CMS admin dashboard (/admin/) using git-gateway.
  • Conditional Search: Powerful search engine integration powered by Algolia. The search interface and icon hide automatically if no credentials are set in _config.yml, preventing JavaScript errors.
  • Multiple Authors: Support for multiple authors out of the box (configured in _data/authors.yml) with full profile information (avatar, bio, links).
  • Tag Pages: Custom covers and descriptions for tag pages (configured in _data/tags.yml).
  • Post Navigation: Next/Previous post suggestions and related posts at the bottom of each post.
  • Disqus Comments: Corrected, post-specific Disqus comment thread integration.
  • Google Analytics & Feeds: Integrated Google Analytics (UA/GA4) and Atom feed generation.

Getting Started

🚀 Quick Deploy

Deploy your own copy of this blog template to the cloud with a single click:

Deploy to Netlify    Deploy with Vercel    Use this template

Prerequisites

  • Ruby (Check with ruby -v)
  • Bundler (Install with gem install bundler)

Installation & Local Run

  1. Clone the repository:

    git clone https://github.com/AntonyLeons/jasper2.git
    cd jasper2
  2. Install Ruby gems:

    bundle install
  3. Serve locally with live-reload:

    bundle exec jekyll serve --livereload

Open http://localhost:4000/jasper2/ (or your configured baseurl) in your browser. Any changes to markdown posts, HTML layouts, or SCSS files will compile and refresh automatically.

Deployment

There are several ways to deploy your site:

  1. GitHub Pages (via GitHub Actions): Builds the site automatically on push using GitHub Actions and deploys the contents of _site/ to your gh-pages branch. See .github/workflows/jekyll_build.yml for configuration.

  2. Netlify: Highly recommended for static hosting. Netlify links directly to your repository and rebuilds on every push. A preconfigured netlify.toml is provided:

    • Build command: bundle exec jekyll build
    • Publish directory: _site
  3. Traditional Hosting: Simply build the site locally with bundle exec jekyll build and upload the contents of the generated _site/ folder to your server.

Customization

Author Pages

Rename the author field in the front matter of your posts to match the author's username defined in _data/authors.yml. Profiles support:

  • name and bio
  • location and url_full
  • picture and cover images
  • x_username / twitter, facebook, and github accounts

Algolia Search

This theme includes instant search powered by Algolia.

To enable search:

  1. Create a free index in your Algolia Dashboard.
  2. Add your public keys to _config.yml:
    algolia:
      application_id: 'YOUR_APPLICATION_ID'
      index_name: 'YOUR_INDEX_NAME'
      search_only_api_key: 'YOUR_SEARCH_ONLY_API_KEY'
  3. Set your secret Admin API Key as the environment variable JEKYLL_ALGOLIA_API_KEY on your hosting provider (like Netlify, Vercel, or Cloudflare Pages) so the build pipeline can upload your posts index automatically.

To disable search: Comment out or delete the algolia block in _config.yml. The search bar and icon will be automatically hidden from the header with no JavaScript console errors.

Disqus Comments

To enable Disqus comments on post pages:

  1. Register your site on Disqus and copy your Disqus Shortname.
  2. Open _config.yml, set disqus: True and fill in your shortname:
    disqus: True
    disqus_shortname: your_disqus_shortname

To disable comments, simply set disqus: False.

Styling

Styles are written in SCSS and compile automatically.

  • Global variables, colors (including light/dark mode properties), and typography are located in _sass/_global.scss.
  • Layout components are structured in assets/css/screen.scss and custom post/syntax highlighting styling in assets/css/syntax.scss.

Issues and Contributing

If you run into any problems or have feature suggestions, please log them on the issue tracker. Feel free to submit pull requests with bug fixes and features!

Copyright & License

Same license as the one provided by Ghost's team. See Casper's theme license.

Copyright (C) 2015-2026 - Released under the MIT License.

About

Ghost's Casper v2 with dark mode and algolia search for Jekyll 👻

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages