How techmc-wiki/gtmc works
Graduate Texts in Minecraft is a multilingual community-written technical Minecraft textbook and contribution website. Readers browse and search articles, explore a glossary, and access PDF editions; article pages render Markdown-based content. Contributors sign in, edit article or glossary drafts, upload assets, and submit changes for review through GitHub. The README identifies the articles as a separate repository pulled into the site. The graph preserves these documented capabilities; several subsystem links are based on the README and file layout because their implementation was not sampled.
Main entry points: page.tsx Article reader · search/route.ts Search API · draft-editor.tsx Draft editor · draft/route.ts Draft asset upload
Components 30
Reading experience
- Article reader
app/[locale]/(public)/articles/[[...slug]]/page.tsx - Homepage
app/[locale]/_homepage/homepage-client.tsx - Glossary browser
app/[locale]/(public)/glossary/page.tsx - Search interface
components/search/search-command.tsx - PDF access
app/[locale]/(public)/pdf/page.tsx
Content services
- Article content
lib/articles/content.ts - Markdown renderer
lib/markdown/markdown-renderer.tsx - Article APIs
app/api/articles/[locale]/[...slug]/route.ts - Search API
app/api/articles/search/route.ts - Search index
lib/search/search-index.ts - Glossary API
app/api/glossary/route.ts - Glossary manifest
lib/glossary/manifest.ts - PDF proxy
app/api/pdf/[filename]/route.ts
Contribution workflow
- Sign-in
app/[locale]/(auth)/login/page.tsx - Draft editor
components/editor/draft-editor.tsx - Article actions
actions/article-draft.ts - Article submission
actions/article-submit.ts - Glossary actions
actions/glossary-draft.ts - Glossary submission
actions/glossary-submit.ts - Article asset upload
app/api/upload/article/route.ts - Draft asset upload
app/api/upload/draft/route.ts - Draft asset storage
lib/drafts/storage.ts
External services
- GitHub
- Articles repository
- GitHub sign-in
- Application database
lib/prisma.ts - Supabase storage
- PDF hosting
Other components
- Reader
- Contributor
Connections 35
- Reader → Homepage: opens
- Reader → Article reader: reads
- Reader → Search interface: queries
- Reader → Glossary browser: browses
- Reader → PDF access: downloads
- Homepage → Article reader: links to
- Article reader → Article content: loads content
- Article content → Articles repository: reads articles
- Article reader → Markdown renderer: renders with
- Article APIs → Article content: serves content
- Search interface → Search API: queries
- Search API → Search index: searches
- Search API → Glossary manifest: searches glossary
- Glossary browser → Glossary API: loads entries
- Glossary API → Glossary manifest: loads entries
- PDF access → PDF proxy: requests PDF
- PDF proxy → PDF hosting: fetches PDF
- Contributor → Sign-in: signs in
- Sign-in → GitHub sign-in: authenticates
- Contributor → Draft editor: edits drafts
- Draft editor → Article actions: saves article
- Draft editor → Glossary actions: saves glossary
- Article actions → Application database: stores draft
- Glossary actions → Application database: stores draft
- Contributor → Article submission: submits article
- Contributor → Glossary submission: submits glossary
- Article submission → GitHub: opens pull request
- Glossary submission → GitHub: opens pull request
- GitHub → Articles repository: reviews changes
- Contributor → Article asset upload: uploads asset
- Article asset upload → GitHub: stores asset
- Contributor → Draft asset upload: uploads image
- Draft asset upload → Application database: records asset
- Draft asset upload → Draft asset storage: stores image
- Draft asset storage → Supabase storage: uploads and retrieves