<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Codes</title><link>https://codes.metacog.co.kr/posts/</link><description>Recent content in Posts on Codes</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© {year} jeonck. Distributed under [MIT](https://opensource.org/licenses/MIT).</copyright><lastBuildDate>Mon, 17 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://codes.metacog.co.kr/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Cloud Routine vs. GitHub Actions cron: they look the same but you manage them differently</title><link>https://codes.metacog.co.kr/posts/claude-cloud-routine-vs-github-actions-cron/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/claude-cloud-routine-vs-github-actions-cron/</guid><description>A repo with no visible cron workflow isn&amp;rsquo;t proof there&amp;rsquo;s no automated publishing. The schedule and generation logic can live entirely outside the repo, on Claude&amp;rsquo;s side.</description></item><item><title>GitHub Pages custom subdomains: static/CNAME alone is never enough</title><link>https://codes.metacog.co.kr/posts/github-pages-custom-subdomain-dns-checklist/</link><pubDate>Sun, 16 Aug 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/github-pages-custom-subdomain-dns-checklist/</guid><description>The repo can have its CNAME file and the Pages API can have its cname field set — but without an actual DNS record at the registrar, certificate issuance stays blocked.</description></item><item><title>One subdomain = one GitHub Pages repo — running many sites off a single account</title><link>https://codes.metacog.co.kr/posts/one-github-pages-repo-per-subdomain/</link><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/one-github-pages-repo-per-subdomain/</guid><description>It&amp;rsquo;s easy to assume GitHub Pages only really serves one thing per account. In practice it&amp;rsquo;s the CNAME file that decides routing.</description></item><item><title>Commit message language is a per-repo decision — and the automation template needs updating too</title><link>https://codes.metacog.co.kr/posts/commit-message-language-per-repo-convention/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/commit-message-language-per-repo-convention/</guid><description>An English-facing site had commits piling up in Korean. Switching new commits to English seemed simple, until one easy-to-miss spot turned up.</description></item><item><title>Adding an LLM feature to a static site without ever putting a token in the browser</title><link>https://codes.metacog.co.kr/posts/static-site-llm-feature-github-issue-trigger/</link><pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/static-site-llm-feature-github-issue-trigger/</guid><description>Two options came up first — an API key in localStorage, or a Cloudflare Worker proxy — and neither was it. A GitHub-issue trigger pattern was requested instead.</description></item><item><title>npx skills add installs to ~/.agents/skills, not ~/.claude/skills</title><link>https://codes.metacog.co.kr/posts/npx-skills-add-real-install-path/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/npx-skills-add-real-install-path/</guid><description>The install command exits clean and the files exist on disk, but the skill still won&amp;rsquo;t show up in the session — check the path first.</description></item><item><title>Hugo Hextra theme: in-content relative links must end in .md</title><link>https://codes.metacog.co.kr/posts/hextra-relative-link-must-end-in-md/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/hextra-relative-link-must-end-in-md/</guid><description>An extensionless relative link like &lt;a href="../ci-cd/lab-github-actions" &gt;lab&lt;/a&gt; renders fine locally but 404s under GitHub Pages&amp;rsquo; pretty URLs.</description></item><item><title>If Vercel deploy fails for no obvious reason, check for uppercase in the folder name</title><link>https://codes.metacog.co.kr/posts/vercel-deploy-fails-on-uppercase-folder-name/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/vercel-deploy-fails-on-uppercase-folder-name/</guid><description>A project folder named CTI trips up both create-next-app and vercel deploy on name validation.</description></item><item><title>LaTeX just doesn't work under Docusaurus MDX v3 (future.v4) — stop fighting it</title><link>https://codes.metacog.co.kr/posts/docusaurus-mdx-v3-latex-broken/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/docusaurus-mdx-v3-latex-broken/</guid><description>&lt;p&gt;Installing remark-math + rehype-katex exactly by the book still breaks the build, because braces inside &lt;/p&gt;&#10;$$...$$&lt;p&gt; get parsed as JSX expressions.&lt;/p&gt;&#10;</description></item><item><title>Finding the real doc ID for index.md in a Docusaurus manual sidebar</title><link>https://codes.metacog.co.kr/posts/docusaurus-manual-sidebar-doc-id/</link><pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate><guid>https://codes.metacog.co.kr/posts/docusaurus-manual-sidebar-doc-id/</guid><description>Every plausible-looking ID like 01-foundations/01-cryptography/index turned out wrong. The real ID was sitting in the build output the whole time.</description></item></channel></rss>