A terminal/TUI-style interface composed of a toolbar, file explorer, scrolling viewport, status bar, and floating windows
vitepress-theme-terminal — VitePress Blog Template
By iXORTech
vitepress-theme-terminal is a VitePress blog theme that uses a terminal/TUI session as its visual language, including interface elements such as a toolbar, file explorer, status bar, and floating windows.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
A single mainColor derives all hover, border, dark, and selected tones, with neutral colors and syntax colors taken from IBM Carbon and Oxocarbon respectively
Three color schemes: dark, light, and a reading-oriented paper mode, with the selection persisted
Blog features cover dates, tags, categories, archives, series, covers, author attribution, license cards, and Waline comments and view counts
Client-side language switching does not produce /<lang>/ URL segments, and interface copy and language-specific body blocks can be localized
Template Details
The theme uses a "modern terminal session" as its overall interface metaphor: a top toolbar with navigation submenus and an overflow drawer, a NeoVim-style file explorer on the left, a real-time status bar at the bottom (status labels, breadcrumbs, reading progress, clock, settings), and floating tool windows. The design language references modal text editors, emphasizing panel order and keyboard operation; the rendered interface contains no third-party brand marks.
For color, only mainColor needs to be set; hover, border, dark, and selected tones are all derived from it. Neutral colors come from IBM Carbon, and syntax colors come from Oxocarbon. Dark (default), light, and a reading-oriented paper mode (also used for printing) are provided, and the selection is persisted.
Blog capabilities include dates, tags, categories, archives, series, cover images, author attribution, license cards, as well as Waline comments and view counts. Markdown supports code block cards and copy, eight callout types, LaTeX (MathML) and Typst math, quote blocks, image lightbox and Swiper galleries, and markdown-it extensions (footnotes, definition lists, abbreviations, superscript/subscript, insert, mark, emoji). The navigation side provides an automatically discovered explorer (which can work with in-source explorer.json metadata), adjustable and persisted browser/directory widths, heading anchor copy links, a find panel (/), and extensionless URLs.
Internationalization uses client-side language switching, with no /<lang>/ segment in the URL; frontmatter titles, category labels, interface copy, and even language-specific body content (::: lang blocks) can be localized, with built-in English and Simplified Chinese. Mobile is treated as a first-class target, with adaptations for every component, including the explorer drawer. Fonts use IBM Plex Sans/Serif/Mono/Math, Font Awesome, and a symbol-only Nerd Font, all loaded via stylesheets without relying on npm font packages.
The theme is distributed as an entire repository: a VitePress site, with the theme in .vitepress/theme/ and a demo site covering all features in src/. The repository requires Node.js 20 LTS or newer, uses pnpm as the package manager, and git is optional (the article "updated date" comes from git). Documentation is in docs/, where the design records in docs/design/ exist only in the repository and are not published to the site.
Is it right for your project?
Use Cases
- Building a blog or personal site with a terminal interface as its visual style
- A writing site that needs a complete blog structure such as tags, categories, archives, series, and comments
- A site for Chinese and English readers that wants language switching without changing the URL structure
- A project that wants to unify the entire interface color scheme with a single primary color and reduce item-by-item color tuning
Suitable For
- Developers using VitePress who want to replace it with a terminal-style theme
- Personal site authors who need built-in blog categorization, series, and comment capabilities
- Site maintainers who need bilingual Chinese-English content and client-side language switching
- Users who accept starting by cloning the entire repository
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
The theme is distributed as a repository; use git clone --recurse-submodules to obtain the demo friend links data, then run pnpm install
- 2
The run commands are pnpm dev, pnpm build, and pnpm preview; the development server defaults to http://localhost:5173
- 3
The environment requires Node.js 20 LTS or newer, uses pnpm as the package manager, and git is optional (used for article updated dates)
- 4
Site identity, mainColor, author and license, toolbar navigation, and footer are configured in .vitepress/config.mts
- 5
The article content license (default CC BY-NC-SA 4.0) is an independent themeConfig option and must be set by the site owner
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean that external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, used commercially, and distributed free of charge.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The comment and view count features depend on the Waline comment service; you must deploy or connect to a Waline server yourself and configure the corresponding address, which is an external service dependency.
- By default, the theme applies the CC BY-NC-SA 4.0 license to article content, which prohibits commercial use; the site owner must set or replace the content license themselves.
- The demo friend links data is obtained via a git submodule and requires cloning with --recurse-submodules; otherwise the friend links page only shows manually written entries.
- The article "updated date" depends on git repository information; without git, that date is unavailable.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Waline comments & view counts
Original README
The *content* license the theme applies to articles — CC BY-NC-SA 4.0 by default
Original README
`--recurse-submodules` pulls the demo friend-links data
Original README
https://github.com/iXORTech/vitepress-theme-terminal/blob/main/LICENSEhttps://github.com/iXORTech/vitepress-theme-terminal/blob/main/README.mdgit | any | Optional — the "Updated" date on articles comes from git
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 80 / 100
- Technologies
- VitePress
- Website type
- Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-08-07
- Screenshot last checked
- 2026-10-01
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies VitePress as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 6724cfe123c5c75510d784f83c88deca6922d2c7f8c28dfcb17c20c4f54996c4
2026-10-01T03:58:30.965Z
Source file / repository# VitePress Theme Terminal **English** · [简体中文](README_zh-Hans.md)  A custom [VitePress](https://vitepress.dev) theme for blogs and personal sites that presents itself as a modern terminal/TUI session: a tool bar, a file explorer, a scrolling viewport, a status bar, and floating utility windows. The design language is inspired by modal text editors — panel discipline, keyboard-centric utilities, and editor chrome — with no third-party branding in the rendered UI. ## Features - **TUI shell** — tool bar with nav submenus and an overflow drawer, a NeoVim-style file explorer, a live status bar (state chip, breadcrumb, reading progress, clock, settings), and floating windows. - **One color configures everything** — set `mainColor`; every hover, border, dim, and selection tone is *derived* from it. IBM Carbon supplies the neutral palette, Oxocarbon the syntax colors. - **Three color modes** — dark (default), light, and a reader-optimized paper mode that is also used for printing. The choice is persisted. - **Blogging** — posts with dates, tags, categories, archives, series, cover images, author byline, license card, and Waline comments & view counts. - **Rich Markdown** — code-block cards with copy, eight callout types, LaTeX (MathML) and Typst math, pull quotes, image lightbox and Swiper galleries, plus the markdown-it extension suite (footnotes, deflists, abbr, sub/sup, ins, mark, emoji). - **Navigation** — auto-discovered explorer with source-local `explorer.json` metadata, resizable and persisted explorer/TOC, heading anchors with copy-link, a find palette (`/`), and clean, suffix-free URLs. - **Internationalization** — client-side language switching with **no `/<lang>/` URL segment**: localized frontmatter titles, taxonomy labels, UI strings, and even per-language page bodies (`::: lang` blocks). English and Simplified Chinese ship built in. - **Mobile is first-class** — every component adapts, including an explorer drawer. - **Typography** — IBM Plex Sans/Serif/Mono/Math, Font Awesome, and a symbols-only Nerd Font, all loaded via stylesheets (no npm font packages). ## Requirements | Tool | Version | Notes | | --- | --- | --- | | Node.js | 20 LTS or newer | What VitePress 2 expects | | pnpm | any current release | The package manager this repo uses | | git | any | Optional — the "Updated" date on articles comes from git | ## Quick start The theme ships **as this repository**: a VitePress site whose theme lives in `.vitepress/theme/`, with a demo site in `src/` that exercises every feature. ```sh git clone --recurse-submodules https://github.com/iXORTech/vitepress-theme-terminal.git my-site cd my-site pnpm install pnpm dev # dev server with hot reload, http://localhost:5173 pnpm build # production build into .vitepress/dist pnpm preview # serve the built site locally ``` `--recurse-submodules` pulls the demo friend-links data; without it the friends page simply shows its hand-authored entries. Then make it yours in `.vitepress/config.mts` — site identity, `mainColor`, author & license, tool-bar nav, and footer. The step-by-step version, including how to clear out the demo content, is in [`docs/guide/getting-started.md`](docs/guide/getting-started.md). ## Repository layout ``` .vitepress/config.mts site + theme configuration — the file you edit most .vitepress/theme/ the theme implementation (components, styles, composables) src/ site content (VitePress `srcDir`) — the demo site docs/ documentation home (the only place a document is edited) src/docs/ generated copy of the published docs (git-ignored) AGENTS.md instructions for AI coding agents .agent/ task board and per-file context cache ``` ## Documentation Everything lives in [`docs/`](docs/index.md). The user-facing part is also published on the built site at `/docs/`. | Document | Contents | | --- | --- | | [Getting Started](docs/guide/getting-started.md) | Requirements, install, running the site, the five edits that make it yours | | [Writing Content](docs/guide/writing-content.md) | Page types, frontmatter, code blocks, callouts, math, images, Vue in Markdown | | [Blogging](docs/guide/blogging.md) | Posts, tags & categories, listing pages, series, covers, end-of-article cards | | [Navigation](docs/guide/navigation.md) | Tool bar, explorer, TOC, find palette, status bar, keyboard shortcuts | | [Internationalization](docs/guide/internationalization.md) | Language switching, localizable text, `::: lang` bodies, adding a language | | [Customization](docs/guide/customization.md) | Colors and modes, fonts and icons, styling rules, custom views and slots | | [Deployment](docs/guide/deployment.md) | Build & preview, hosting, subpath deploys, CI checkout, pre-launch checklist | | [`themeConfig` reference](docs/configuration/theme-config.md) · [Frontmatter reference](docs/configuration/frontmatter.md) | Every option, with type, default, and example | The binding design records under [`docs/design/`](docs/design/) are repository-only — they are decision records for contributors and coding agents, and are deliberately not published on the site. ## Contributing Read [`AGENTS.md`](AGENTS.md) first: it is the single source of the workflow rules, engineering conventions, and session protocol for this repository — for humans and AI agents alike. In short: every requirement becomes a task in [`.agent/plan.md`](.agent/plan.md) before implementation, design decisions are changed in `docs/design/` before code, styling is SCSS-only, UI strings go through the locale system, and mobile is not optional. ## License [MIT](LICENSE) © 2026 iXOR Technology. That covers the theme itself. The *content* license the theme applies to articles — CC BY-NC-SA 4.0 by default — is a separate `themeConfig` option for site owners to set for their own writing.
Explore similar templates
Compare previews and descriptions within the same stack and category.

sugar-blog
A VitePress-based personal blog monorepo that separates blog content, the reusable @sugarat/theme theme, shared utilities, and a creation template, and also maintains plugins for image preview, pagefind offline full-text search, RSS, 51.la analytics, announcements, back-to-top, product cards, and comments.
VitePress · Blog

vitepress-nav-template
A personal front-end navigation page template built on VitePress, created by maomao1996 under the MIT license.
VitePress · Blog

vitepress-blog-pure
A minimalist VitePress blog theme used by copying files into the project root. It provides post lists, tags, archives, local search, and Giscus comments, with posts placed in the posts directory and title required in frontmatter.
VitePress · Blog

vitepress-blog-starter
A VitePress-based blog starter template with runnable example content for posts and authors, blog logic organized through Composables, UnoCSS styling, and VitePress's built-in local search. It uses pnpm for installation, development, and build, and the repository is MIT licensed.
VitePress · Blog

vitepress-theme-trigger
vitepress-theme-trigger is a blog theme for VitePress built with Tailwind CSS, released under the MIT license.
VitePress · Blog

KiwiBlog
KiwiBlog is a Chinese personal blog template built on VitePress for publishing daily shares and articles.
VitePress · Blog
