My personal website forked from bchiang7
This repository contains a Jekyll-based personal website with a Gulp pipeline for compiling styles/scripts, optimizing images, and running local development with BrowserSync.
- Jekyll (Ruby static site generator)
- Gulp 4 (task runner)
- Sass (via
gulp-sass+ Dart Sass) - BrowserSync (local dev server/reload)
- ESLint (JavaScript linting through the shared
@nuscoutconfig)
You need the following installed locally:
- Node.js and npm
- Ruby and Jekyll (the Gulp tasks shell out to
jekyll)
Node version notes:
.nvmrcpins Node20(runnvm useto match). Any current LTS works.- The Sass toolchain uses Dart Sass (
sass+gulp-sass), which avoids the oldnode-sassinstall issues on newer Node versions.
- Install dependencies:
npm install # Node tooling (Gulp, Sass, ESLint)
bundle install # Ruby tooling (Jekyll + jekyll-sitemap), pinned by Gemfile.lock- Start local development (build + serve + watch):
npm run start- Build a production-style output:
npm run buildnpm run start: runsgulp serve --watch, builds Jekyll with_config_dev.yml, serves_site/, and watches SCSS/JS/templatesnpm run build: runsgulp build(assets + Jekyll production-style build)
index.html,404.html: top-level pages_layouts/,_includes/: Jekyll templates and reusable partials_data/*.yml: structured content (skills, experience, projects)_scss/,_scss/partials/: source stylesheets_scripts/: source JavaScript files processed by Gulpcss/,js/: generated assets for local serving/deploy outputbuild/: Gulp task modules (sass,scripts,images,browsersync)img/,fonts/: static assets
This is a local npm cache permission issue (usually caused by previous sudo npm usage), not a website code issue. Fix it with:
sudo chown -R "$(id -u)":"$(id -g)" ~/.npmInstall Jekyll in your Ruby environment, then rerun npm run start or npm run build.