blogtheme

blogtheme

A clean minimalist theme for Jekyll using TailwindCSS.

blogtheme

A clean minimalist theme for Jekyll using TailwindCSS that includes:

  • A Jekyll blog theme
  • A Gulpfile that does the following:
    • Compiles Jekyll
    • Runs Browsersync for local development
    • Compiles TailwindCSS

Using this theme

Add this line to your Jekyll site's Gemfile:

gem "blogtheme"

And add this line to your Jekyll site's _config.yml:

theme: blogtheme

And then execute:

$ bundle install

Development Requirements

Local Development

The theme uses Docker for development to ensure a consistent environment across different machines.

First Time Setup

  1. Install dependencies:

    npm install
    
  2. Build the Docker image:

    npm run docker:build
    

Development Workflow

  • Start the development server:

    npm start
    # or
    npm run dev
    

    This will start the development server with live reload at http://localhost:4000

  • Build and start Docker container:

    npm run docker:up
    
  • Rebuild and start Docker container (if you modify Dockerfile or dependencies):

    npm run docker:rebuild
    
  • Stop all Docker containers:

    npm run docker:stop
    

Theme Structure

  • Components can be found in the _includes directory
  • Layout templates are in the _layouts directory
  • Styles are in the _styles directory
  • Example pages are in the _pages directory

Building

  • Build for development:

    npm run build:dev
    
  • Build for production:

    npm run build
    

    This will create an optimized production build with minified assets.

Publishing Theme Updates

  1. Update version numbers in both package.json and blogtheme.gemspec

  2. Build the gem:

    gem build blogtheme.gemspec
    
  3. Push the new gem to RubyGems:

    gem push blogtheme-x.x.x.gem
    

    Replace x.x.x with your new version number

  4. Commit and push changes to GitHub:

    git add .
    git commit -m "Release version x.x.x"
    git tag vx.x.x
    git push origin main --tags
    

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/nathanjessen/blogtheme.