This repository contains my personal website and blog, built with plain Jekyll layouts/includes and licensed under the MIT License.
Posts can define a custom social preview image in front matter:
og_image: "/assets/images/example.png"
og_image_width: 1200
og_image_height: 630
og_image_alt: "Optional accessible description"If omitted, the site-level default_og_image fallback in _config.yml is used.
GitHub Actions runs:
Jekyll Buildon pull requests and pushes tomaster- includes a guardrail check: every post in
_postsmust defineog_image,og_image_width, andog_image_height, and localog_imagefiles must exist
- includes a guardrail check: every post in
Link Check(Lychee) against generated_site/**/*.htmlpages
Lychee is configured via .github/lychee.toml.
When an old external permalink breaks (for example, historical paths with spaces), preserve SEO by adding a static redirect page at the legacy path.
Recommended legacy redirect page pattern:
rel="canonical"pointing at the current canonical URLmeta name="robots" content="noindex,follow"- immediate redirect (
meta refresh+location.replace(...))
Example we added:
- legacy path:
/data science projects/2016/10/07/insight-castle-compromised-account-detection/ - canonical path:
/2016/10/07/insight-castle-compromised-account-detection/
This is the minimal-risk GitHub Pages approach when server-side 301 rules are not available.