This is my personal homepage built with Jekyll.
This site uses Jekyll for static site generation.
- Ruby (version 2.7 or higher)
- Bundler (
gem install bundler)
-
If using Homebrew Ruby (recommended), add it to your PATH:
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
-
Install dependencies:
bundle install
-
Start the Jekyll development server:
bundle exec jekyll serve -
Open your browser to
http://localhost:4000
The site will automatically rebuild when you make changes to files.
Note: If you encounter Ruby version errors, make sure you're using Ruby 3.0 or higher. The system Ruby on macOS is often too old. Use Homebrew to install a newer version: brew install ruby
Create a new file in the _posts directory with the format:
YYYY-MM-DD-title-of-post.md
Add front matter at the top:
---
layout: post
title: "Your Post Title"
date: YYYY-MM-DD HH:MM:SS -0800
---
Your content here in Markdown...Articles are synced from your Obsidian vault at:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/evg/Links.md
A custom Obsidian plugin is installed to quickly capture links:
- Click the link icon (🔗) in the Obsidian ribbon (left sidebar)
- Paste a URL in the modal that appears
- Optionally add a note about the link
- Press Enter or click "Add Link"
- The link is added to the top of Links.md
Plugin location: .obsidian/plugins/quick-link-capture/
Enable it in: Settings → Community Plugins → Toggle "Quick Link Capture" ON
Notes are optional: You can add a brief note to explain why a link is interesting. Notes appear below the link on the articles page.
A pre-commit hook automatically syncs articles before each commit:
- Add new links to the top of
Links.mdin Obsidian (using the plugin or manually) - Make any commit to this repo
- The hook runs
./sync-articles.rbautomatically - If articles changed,
_data/articles.ymlis staged and included in your commit
No manual steps needed! Just add links to Obsidian and commit as normal.
How dates work: Each article gets the date it was first synced. Existing articles keep their original dates on subsequent syncs.
You can also run the sync script manually:
./sync-articles.rbThe script will:
- Read URLs from your Links.md file
- Fetch page titles automatically
- Generate
_data/articles.yml - Preserve the order (newest at top)
You can also manually edit _data/articles.yml:
- title: "Article Title"
url: "https://example.com"
date: 2026-02-14
description: "Optional description"This site is hosted on GitHub Pages. Changes pushed to the gh-pages branch will be automatically deployed.
To deploy:
- Make changes on
masterbranch - Test locally with
bundle exec jekyll serve - Commit and push to
master - Merge
mastertogh-pageswhen ready to publish