The constraint
The simple options all had tradeoffs:- Copy the README into this docs repo: Easy to render, but it duplicates content.
- Add the external repo as a Git submodule: Better than copying, but the submodule still pins a commit. It only updates when this repo updates the pointer.
- Fetch the raw GitHub file at runtime: Keeps one source of truth, but requires a renderer that can handle the Markdown patterns used by the source file.
What the renderer handles
The first version rendered the basic README well enough: headings, paragraphs, links, blockquotes, and unordered lists. Then the skill files exposed the edge cases:- YAML frontmatter should not appear on the page.
- The first
#heading should be skipped to avoid duplicating the Mintlify page title. - Wrapped list lines should stay inside the same bullet.
- Fenced code blocks should render as code, not as stray backticks.
- Numbered lists should remain ordered, even when the source Markdown contains nested bullets.
- Nested bullets inside numbered steps should stay nested.
Why not use a full Markdown parser?
A full Markdown parser is a library that understands Markdown broadly and converts it into HTML or React components correctly. Examples includeremark, rehype, markdown-it, and marked.
That kind of parser handles far more than the basics: tables, deeply nested lists, images, escaped characters, inline HTML, GitHub-flavored Markdown, task lists, footnotes, and a long tail of syntax edge cases.
For a larger integration, I would reach for one of those libraries. In this case, the content surface is intentionally narrow: one README and three SKILL.md files from a repository I control.
That made a small renderer acceptable because the supported Markdown patterns are known:
- Headings
- Paragraphs
- Links and inline code
- Blockquotes
- Unordered and ordered lists
- One nested unordered-list level
- Fenced code blocks
- YAML frontmatter stripping
The portfolio result
The portfolio now has a dedicated Tech Writing Skills tab with live-rendered pages for:- Awesome Technical Writing Skills
- Awesome Tech Writing Curator
- Awesome Tech Writing Reviewer
- Awesome Tech Writing Skill Maintainer
The useful pattern
This pattern works when you want a portfolio, docs site, or internal portal to showcase external Markdown while preserving the upstream repository as the source of truth. The key decisions are:- Keep the external file canonical.
- Render it where readers already are.
- Rewrite relative links back to the source repository.
- Treat formatting bugs as parser gaps, not content problems.
- Validate navigation and links after every wiring change.
View the live-rendered resource
Open the Tech Writing Skills section and compare it with the GitHub source.