Skip to main content

Roadmap

This is a living document. It is updated whenever a feature ships or the priority list changes. Treat the "Status" column as authoritative; everything else is best-effort framing.

What's shipped

FeatureWhere it livesStatus
Scholarly-Minimalist themesrc/css/custom.css✅ Live
Lora + Inter + JetBrains MonoLoaded via Google Fonts in custom.css✅ Live
Dark modeAuto-detected, manual toggle in navbar✅ Live
KaTeX math renderingremark-math + rehype-katex in docusaurus.config.js✅ Live
Mermaid diagrams@docusaurus/theme-mermaid✅ Live
Full-text search (local)@easyops-cn/docusaurus-search-local✅ Live
Algolia DocSearch (when keyed)Activates when ALGOLIA_* env vars are present✅ Live
Progressive Web App (offline)@docusaurus/plugin-pwa✅ Live
<ResourceCard>src/components/ResourceCard/✅ Live
<SidebarItem> / <SidebarItemList>src/components/SidebarItem/✅ Live
<ProgressTracker> (LocalStorage)src/components/ProgressTracker/✅ Live
Focus Mode (Shift+F)src/components/FocusMode/✅ Live
<RequestPortal> (Tally embed)src/components/RequestPortal/✅ Live
Edit-on-GitHub on every pageeditUrl in docusaurus.config.js✅ Live
Bundle Builder (multi-chapter download)src/pages/bundle.jsx + plugins/bundle-manifest.js✅ Live
Scroll progress barsrc/components/ScrollProgress/✅ Live
Reading-time estimatesrc/components/ReadingTime/✅ Live
Keyboard shortcut modal (?)src/components/KeyboardHelp/✅ Live
Completion sparkle on 100%<ProgressTracker> upgrade✅ Live

Coming next (prioritised)

1. Content fills

The site's biggest gap is content, not code. The top targets:

  • MSNCS Sem II — Network Security & Penetration Testing, Wireless & Mobile Security.
  • IOE BCT Year II — Data Structures, DBMS, Operating Systems.
  • CTEVT Diploma Computer Sem III–IV — DSA, DBMS, OS, Web I/II.
  • Past papers — every active subject deserves 5+ years of past papers indexed.

2. Bookmarks & Continue Reading

A lightweight LocalStorage layer that records:

  • The last 10 pages you read (Continue Reading on the homepage).
  • Pages you "star" (a 📑 icon next to the title; bookmarks page lists them).

Estimated cost: 1 component + a small swizzle of the doc footer. ~2 evenings.

Today, search is site-wide. We want search-within-subject ("only inside Cryptography") and search-within-program ("only inside MSNCS"). Algolia DocSearch supports this via contextualSearch (already enabled) once Algolia is configured; the local-search plugin needs a wrapper.

4. Tag landing pages

Docusaurus auto-generates tag pages for any frontmatter tags:. We need to style them and add a top-level /tags index so students can browse "everything tagged past-paper" or "everything tagged ipv6".

5. Glossary / index

A single /glossary page auto-built from :::definition MDX blocks. The ratchet: every chapter must define its top 5 terms inline using a known MDX shape; a build-time plugin scrapes them.

6. Citation export

Each chapter has a stable URL and a last_update.date. A "Cite this page" button that copies a pre-formatted IEEE / BibTeX / Chicago citation is one small component + a pre block. Useful for thesis-stage students.

7. Print stylesheet polish

The print CSS already strips chrome. Next pass: cover-page generator, page numbers via CSS counters, and automatic per-chapter PDF at build time via Puppeteer in CI (this would also feed the Bundle Builder's PDF mode without needing the browser print dialog).

Won't do (and why)

IdeaWhy not
User accounts / loginStatic site by design. Per-user state lives in LocalStorage; no backend to defend.
Comments on every pageHigh maintenance, low signal-to-noise. Use GitHub Issues for substantive feedback.
Hosting copyrighted textbooksWe link to legitimate sources only. Past papers (factual works) are different.
Multi-language UI (i18n)Premature. Content is in English with Nepali context paragraphs where useful. Revisit at v1.0.
AI chat / "ask my notes" widgetOut of scope for a single maintainer. A static export of notes is enough for any user's own LLM.
Heavy gamification (badges, streaks)Boundary with "Scholarly Minimalist" gets thin fast. Light touches (completion sparkle) are enough.

Quality bars

A feature is "done" when:

  1. It works in the dev server (npm run start).
  2. It works in the production build (npm run build && npm run serve).
  3. It has a runtime feature flag in docusaurus.config.js so deployments can disable it without a code change.
  4. It is documented either in CONTRIBUTING.md (if author-facing) or in the on-page help (if reader-facing).
  5. It respects prefers-reduced-motion and is keyboard-navigable.

How to suggest a feature

Open a GitHub issue with the prefix feature:. Describe the problem first, the proposed solution second. PRs welcome but please discuss large additions in an issue before writing code.

· min read