Wraps the copy in Liquid raw markers so config comments that mention
{% comment %} Shared sanitized config render (T-009/T-018). Both the visible Raw-YAML tab and the hidden copy-source element use this capture, so the live PostHog key (and any other secret-shaped line) never reaches the DOM in either place. Pure Liquid line filter (works on GitHub Pages where the sanitize_config_yaml plugin filter is a silent no-op) + the plugin filter as defense-in-depth on plugin-enabled builds. cfg_nl captures exactly one newline β keep both tags flush-left. Fail-closed: if the split degraded, the whole config matches the probe and renders as one redaction marker. Lines are HTML-escaped; copy buttons read textContent, which decodes entities back to the original characters. {% endcomment %} {% capture cfg_full_raw %}{% include_relative config.yml %}{% endcapture %} {% capture cfg_nl %} {% endcapture %}{% assign cfg_lines = cfg_full_raw | split: cfg_nl %} {% capture cfg_sanitized %}{% for cfg_line in cfg_lines %}{% assign cfg_probe = cfg_line | downcase %}{% if cfg_probe contains 'api_key' or cfg_probe contains 'secret' or cfg_probe contains 'password' or cfg_probe contains 'token' or cfg_probe contains 'phc' %}# [redacted]{% else %}{{ cfg_line | sanitize_config_yaml | escape }}{% endif %} {% endfor %}{% endcapture %}
_config.yml
{{ cfg_sanitized }}
Copy the live _config.yml into this settings directory for documentation purposes.
Bash
cd ~/github/{{ site.local_repo }}
# Wraps the copy in Liquid raw markers so config comments that mention
# Liquid tags render literally (scripts/bin/validate checks for drift).
# The awk string-splits keep this page itself Liquid-safe.
awk 'BEGIN{print "{" "% raw %" "}"} {print} END{print "{" "% endraw %" "}"}' \
{{ page.config-file }} > {{ page.config-dir }}/{{ page.config-file }}
PowerShell
jekyll.environment |
{% if jekyll.environment == "production" %} production {% else %} {{ jekyll.environment }} {% endif %} |
site.url |
{{ site.url }} |
site.baseurl |
{{ site.baseurl | default: "(empty)" }} |
site.remote_theme |
{{ site.remote_theme | default: "false" }} |
site.port |
{{ site.port }} |
site.collections_dir |
{{ site.collections_dir }} |
{{ cfg_sanitized }}