A Jekyll-based personal website with Tailwind CSS styling.
Before you begin, ensure you have the following installed:
- Ruby (version specified in
.ruby-version) - Node.js (version specified in
.node-version) - Bundler (
gem install bundler) - Just (optional, for development commands):
brew install juston macOS
# Install Ruby dependencies
bundle install
# Install Node.js dependencies
npm installOr use the justfile command:
just installThe easiest way to start development is using the justfile:
just serveThis will:
- Start the Jekyll development server
- Watch and compile Tailwind CSS in real-time
- Serve the site at
http://localhost:4000
This project uses a justfile for convenient development commands. Here are the available commands:
Start the development server with CSS watching (equivalent to the Procfile).
- Runs Jekyll server and CSS watcher concurrently
- Best for active development
Build the site for production.
- Compiles CSS for production
- Builds the complete Jekyll site
Watch and compile CSS only.
- Useful when you only need to work on styles
Serve Jekyll only (without CSS watching).
- Faster startup when you don't need CSS changes
Install all dependencies.
- Runs both
bundle installandnpm install
Clean build artifacts.
- Removes
_site,.sass-cache,.jekyll-cache, and.jekyll-metadata
Build CSS for production.
- Compiles Tailwind CSS without watching
Show all available commands.
If you don't have just installed, you can use these alternatives:
npm run dev # Same as 'just serve'
npm run build:css # Build CSS for production
npm run watch:css # Watch CSS changesovermind start # If you have overmind installedbundle exec jekyll serve
npm run watch:csshmk.github.io/
├── _config.yml # Jekyll configuration
├── _layouts/ # Jekyll layout templates
├── _includes/ # Jekyll include files
├── _posts/ # Blog posts
├── assets/
│ ├── css/
│ │ ├── tailwind.css # Tailwind source
│ │ └── style.css # Compiled CSS (generated)
│ └── images/ # Site images
├── justfile # Development commands
├── Procfile # Process definitions
├── package.json # Node.js dependencies
└── Gemfile # Ruby dependencies
This site is configured for GitHub Pages deployment. The CNAME file indicates it's deployed to a custom domain.
To build for production:
just buildThe built site will be in the _site/ directory.
- Styling: Edit
assets/css/tailwind.cssfor Tailwind styles - Layout: Modify files in
_layouts/and_includes/ - Content: Add posts to
_posts/or create new pages - Configuration: Update
_config.ymlfor site settings
- Ensure the CSS watcher is running:
just css - Check that
assets/css/style.cssis being generated - Verify PostCSS configuration in
postcss.config.js
- Run
just cleanto clear cache - Check Ruby version matches
.ruby-version - Verify all gems are installed:
bundle install
- Jekyll defaults to port 4000
- Use
bundle exec jekyll serve --port 4001to change port