khairulislam.github.io
khairulislam.github.io
Jekyll site (Minimal Mistakes-based theme) for a GitHub Pages academic homepage.
Local build/preview (HPC cluster, no sudo)
Ruby isn’t on PATH by default; a ruby/3.4.3 environment module is available.
module load ruby/3.4.3
export PATH="$HOME/.local/share/gem/ruby/3.4.0/bin:$PATH" # bundler install location
bundle config set --local path 'vendor/bundle' # first time only
bundle install
bundle exec jekyll build # outputs to _site/
vendor/bundle and _site are build artifacts — not committed.
Known issue: the hawkins gem (live-reload for jekyll serve) pulls in eventmachine, which fails to load on this cluster (libssl.so.3: cannot open shared object file). It’s unused for local review — jekyll build alone doesn’t hit this path, so plain builds work fine. If jekyll serve/live-reload is needed, use a Gemfile without the hawkins group instead of fighting the missing system lib.
Screenshotting the built site locally
python3 -m http.serveris single-threaded and can stall when a browser opens many concurrent connections for a page’s assets — serve_site/with a threaded server instead (http.server.ThreadingHTTPServer).- Headless
chromium-browser(--headless=new --disable-gpu --no-sandbox --window-size=W,H --screenshot=out.png URL) on this machine has a software-rasterizer bug: any page using this theme’s CSSintrofade-in keyframe animation (_sass/_animations.scss, used on.mastheadand#mainvia_sass/_page.scss) screenshots as entirely blank — even the live production site reproduces it, so it is not a sign of broken code. Work around it by neutralizing animations before screenshotting, e.g. inject<style>*{animation:none !important;transition:none !important}</style>before</head>in the built HTML, then screenshot normally.
Writing rules
- No ‘—’ unless necessary
- Avoid marketting, overclaim, unverified statements.