An IDE-style learning website for Large Language Model concepts — from Python foundations to inference optimization. Built with Nuxt 3, Vue 3, and CodeMirror.
Live: llm.itsash.in
npm install
npm run dev
npm run generate
Output is generated to .output/public/.
make deploy
This builds the project, copies output to docs/, commits, and pushes to main. GitHub Pages serves the docs/ folder at llm.itsash.in.
GitHub Pages config: Repo Settings → Pages → Source → Deploy from branch → main → /docs
Custom domain: CNAME record llm.itsash.in → its-ash.github.io
├── app.vue # Root component
├── nuxt.config.ts # Nuxt config (baseURL, modules, head)
├── assets/css/main.css # Global styles, dark mode, typography
├── components/
│ ├── ArticleContent.vue # Topic-level page content
│ ├── AskAiPanel.vue # Floating AI chat panel
│ ├── CodeBlock.vue # CodeMirror syntax-highlighted code
│ ├── ConceptMap.vue # Sidebar concept navigation
│ ├── ConceptNode.vue # Concept map node
│ ├── Sidebar.vue # IDE-style file list sidebar
│ ├── SubtopicContent.vue # Subtopic page (What/Where/How)
│ └── TopBar.vue # Top bar (font size, theme, Ask AI)
├── composables/
│ └── useAppState.ts # Theme, font size, sidebar, progress state
├── data/
│ ├── topics.ts # 38 topics with subtopic definitions
│ ├── content-types.ts # SubtopicContent interface
│ └── content/ # One file per topic (38 files)
│ └── *.ts # whatIs, whereUsed, howToBuild per subtopic
├── layouts/default.vue # IDE shell (sidebar + topbar + content)
├── pages/
│ ├── index.vue # Home page with all topics
│ └── topic/[slug]/
│ ├── index.vue # Topic detail page
│ └── [sub].vue # Subtopic detail page
├── plugins/
│ ├── unregister-pwa.client.ts # Unregister any existing service workers
│ └── fix-vitals.client.ts # Fix PerformanceObserver startTime error
├── public/
│ ├── favicon.svg # App icon
│ └── icon.svg
└── Makefile # run, build, deploy, commit targets
make run — Start dev servermake build — Build for productionmake deploy — Build, copy to docs/, commit, and push to GitHubmake commit — Stage and commit changes<script setup>.dark class)useState composables (theme, font size, sidebar, progress)data/content/docs/ folder5 commits
TypeScript
52.1%
HTML
36.5%
Vue
10.1%
CSS
1.2%
An IDE-style learning website for Large Language Model concepts — from Python foundations to inference optimization. Built with Nuxt 3, Vue 3, and CodeMirror.
Live: llm.itsash.in
npm install
npm run dev
npm run generate
Output is generated to .output/public/.
make deploy
This builds the project, copies output to docs/, commits, and pushes to main. GitHub Pages serves the docs/ folder at llm.itsash.in.
GitHub Pages config: Repo Settings → Pages → Source → Deploy from branch → main → /docs
Custom domain: CNAME record llm.itsash.in → its-ash.github.io
├── app.vue # Root component
├── nuxt.config.ts # Nuxt config (baseURL, modules, head)
├── assets/css/main.css # Global styles, dark mode, typography
├── components/
│ ├── ArticleContent.vue # Topic-level page content
│ ├── AskAiPanel.vue # Floating AI chat panel
│ ├── CodeBlock.vue # CodeMirror syntax-highlighted code
│ ├── ConceptMap.vue # Sidebar concept navigation
│ ├── ConceptNode.vue # Concept map node
│ ├── Sidebar.vue # IDE-style file list sidebar
│ ├── SubtopicContent.vue # Subtopic page (What/Where/How)
│ └── TopBar.vue # Top bar (font size, theme, Ask AI)
├── composables/
│ └── useAppState.ts # Theme, font size, sidebar, progress state
├── data/
│ ├── topics.ts # 38 topics with subtopic definitions
│ ├── content-types.ts # SubtopicContent interface
│ └── content/ # One file per topic (38 files)
│ └── *.ts # whatIs, whereUsed, howToBuild per subtopic
├── layouts/default.vue # IDE shell (sidebar + topbar + content)
├── pages/
│ ├── index.vue # Home page with all topics
│ └── topic/[slug]/
│ ├── index.vue # Topic detail page
│ └── [sub].vue # Subtopic detail page
├── plugins/
│ ├── unregister-pwa.client.ts # Unregister any existing service workers
│ └── fix-vitals.client.ts # Fix PerformanceObserver startTime error
├── public/
│ ├── favicon.svg # App icon
│ └── icon.svg
└── Makefile # run, build, deploy, commit targets
make run — Start dev servermake build — Build for productionmake deploy — Build, copy to docs/, commit, and push to GitHubmake commit — Stage and commit changes<script setup>.dark class)useState composables (theme, font size, sidebar, progress)data/content/docs/ folder5 commits
TypeScript
52.1%
HTML
36.5%
Vue
10.1%
CSS
1.2%