Personal website and blog built with Jekyll and hosted on GitHub Pages.
Before you begin, ensure you have the following installed on your system:
-
Ruby (version 2.5.0 or higher)
- Check your version:
ruby -v - Install Ruby: ruby-lang.org
- Check your version:
-
RubyGems (usually comes with Ruby)
- Check your version:
gem -v
- Check your version:
-
Bundler (Ruby package manager)
- Install:
gem install bundler
- Install:
-
Clone the repository (or navigate to your local copy):
git clone https://github.com/kristiehuang/kristiehuang.github.io.git cd kristiehuang.github.io -
Install dependencies:
bundle install
This will install Jekyll and all required gems specified in the Gemfile.
-
Start the Jekyll development server:
bundle exec jekyll serveOr with live reload enabled:
bundle exec jekyll serve --livereload -
View the site:
- Open your browser and navigate to:
http://localhost:4000 - The site will automatically rebuild when you make changes to files
- Open your browser and navigate to:
-
Stop the server:
- Press
Ctrl + Cin the terminal
- Press
Generate the static site without serving it:
bundle exec jekyll buildInclude draft posts from the _drafts folder:
bundle exec jekyll serve --draftsUpdate all gems to their latest versions:
bundle updateBuild the site and check for any errors:
bundle exec jekyll build --verbose.
├── _config.yml # Site configuration
├── _posts/ # Blog posts (YYYY-MM-DD-title.markdown)
├── _layouts/ # Page layouts
├── _includes/ # Reusable components
├── _site/ # Generated static site (git ignored)
├── assets/ # Images, CSS, and other assets
├── images/ # Additional images
├── blog.markdown # Blog listing page
├── index.markdown # Home page
├── work.markdown # Work/portfolio page
├── resume.markdown # Resume page
├── more-on-me.markdown # About page
├── Gemfile # Ruby dependencies
└── Gemfile.lock # Locked dependency versions
-
Create a new file in the
_postsdirectory -
Name it following the format:
YYYY-MM-DD-title.markdown -
Add front matter at the top:
--- layout: post title: "Your Post Title" date: YYYY-MM-DD HH:MM:SS -0500 categories: blog --- Your content here...
Site settings can be modified in _config.yml. Common settings include:
title: Site titledescription: Site descriptionbaseurl: Subpath if not serving from rooturl: Production URL
Note: After changing _config.yml, you need to restart the Jekyll server for changes to take effect.
This site is configured for GitHub Pages deployment:
- Automatic deployment: Push changes to the
masterbranch - GitHub Pages will automatically build and deploy the site
- Custom domain: Configured via the
CNAMEfile
-
Port already in use:
bundle exec jekyll serve --port 4001 -
Dependency issues:
bundle install bundle update
-
Build errors:
- Check for syntax errors in markdown files
- Ensure front matter is properly formatted
- Run
bundle exec jekyll build --tracefor detailed error messages
-
macOS specific issues: If you encounter issues with native extensions on macOS, try:
bundle config build.nokogiri --use-system-libraries bundle install
© Kristie Huang. All rights reserved.