Skip to main content
/CourseFacts Knowledgebase Markdown Demo Stack

Article

CourseFacts Knowledgebase Markdown Demo Stack

A local showcase note for the CourseFacts /knowledgebase prototype: Velite MDX, Tailwind Typography, wikilinks, Obsidian callouts, and Shiki-powered code blocks all in one place.

April 20, 2026
CourseFacts Team
6 tags
NoindexApr 20, 2026
PublishedApr 20, 2026
Tags6

Why this note exists

This page is a local-only showcase for the strongest practical CourseFacts markdown stack. It is meant to be opened inside the knowledgebase workspace first, then compared with the canonical blog article view.

If the stack is working, you should be able to jump directly to Best Next.js Courses 2026, Best TypeScript Courses 2026, React - The Complete Guide 2024, Next.js & React - The Complete Guide, and even platform context like Udemy without leaving /knowledgebase.

Suggested reading path Start with the Next.js roundup, branch to Next.js & React - The Complete Guide, then pivot into Best TypeScript Courses 2026 if you want to strengthen the TypeScript layer behind modern React work.

If you want a React-first route instead, open Best React Courses Online 2026 and come back here after.

Markdown features in one place

Here is the feature checklist this note is exercising:

  • Velite markdown compilation during build
  • Tailwind Typography for blog prose polish
  • Custom /knowledgebase article enhancement on top of compiled HTML
  • Obsidian-style [[wikilinks]]
  • Obsidian callout transforms
  • Shiki / rehype-pretty-code styling for code blocks
  • GFM tables and task list rendering
FeatureCanonical guide page/knowledgebase article view
Typographytuned prose classestuned prose plus knowledgebase reader chrome
Wikilinksrender as plain text in normal markdown flowupgraded into graph-aware note links
Obsidian calloutsreadable markdown blockquotestransformed into styled note-app callouts
Code blocksShiki renderingsame Shiki rendering inside the enhanced reader

Example code block

The block below is using a title, caption, line numbers, and highlighted lines. It also includes a literal wikilink string inside the code sample so we can confirm the HTML enhancement layer does not rewrite code content.

src/lib/knowledgebase/demo-stack.ts
import { cache } from "react";
 
type DemoNode = { id: string; slug: string; label: string };
 
export const getDemoNode = cache((nodes: DemoNode[]) => {
  const primary = nodes.find((node) => node.slug === "knowledgebase-markdown-demo-stack-2026");
 
  if (primary) {
    return primary;
  }
 
  return {
    id: "post:knowledgebase-markdown-demo-stack-2026",
    slug: "knowledgebase-markdown-demo-stack-2026",
    label: "[[knowledgebase-markdown-demo-stack-2026]] stays literal inside code",
  };
});
Server-first note resolution with a safe fallback.

A second example uses shell syntax so the code theme has more than one language to render:

local-validation.sh
#!/usr/bin/env bash
set -euo pipefail
 
bun test
bun run lint
bun run build
The local validation flow requested for this demo.

And a small diff block makes the demo feel closer to an actual implementation note:

knowledgebase-rendering.diff
+ add rehype-pretty-code
+ add shiki-backed themed blocks
+ keep wikilinks and callouts in /knowledgebase
- rely on generic highlight.js defaults

Callouts that should feel Obsidian-like in the knowledgebase

What should you click after this? Good next jumps are Best GitHub Actions / CI/CD Courses 2026, Best Next.js Courses 2026, Next.js & React - The Complete Guide, and Udemy.

You can also verify missing-link styling with a deliberately missing note reference.

Practical takeaway

The local demo stack is strongest when markdown stays author-friendly while the knowledgebase reader adds just enough structured enhancement:

  1. Author in markdown.
  2. Compile with Velite.
  3. Render high-quality code blocks with Shiki.
  4. Upgrade knowledgebase articles with graph-aware wikilinks and Obsidian callouts.
  5. Keep the canonical guide page clean and readable too.

That is a better local demo than building a separate note renderer from scratch, because it proves the content pipeline can stay close to normal editorial markdown while still producing a second-brain style reading surface.

Suggested jumps

These items already connect to this article inside the workspace. Follow them the way you would follow related pages in a note app.