Ported from imsyy/vitepress-theme-curve, preserving the original theme's visual style and page structure, reimplemented with Typecho PHP templates and native JavaScript
typecho-theme-curve — VitePress Blog Template
By deershark
Curve for Typecho is a port of imsyy/vitepress-theme-curve to Typecho, implemented with native PHP and JavaScript, preserving the original theme's visual style and page structure, and providing visual theme settings and post fields.
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.
Covers the homepage, post pages, standalone pages, categories, tags, search, archives, and 404 pages, and supports Typecho's native nested comments, related posts, previous/next post links, table of contents, reward, and copyright cards
The admin panel provides visual theme settings for configuring site information, theme appearance, navigation menus, social links, post excerpts, comments, and the footer
Posts support custom fields such as cover, description, top, references, copyright, and views; excerpts uniformly use description, and when left blank, the body is automatically truncated
The body supports extended syntax such as Admonition, Tabs, Timeline, Radio, Card, Button, LinkCard, and mathematical formulas, and the admin editor provides a quick toolbar
Provides standalone page templates for post archives, about, category overview, tag overview, friend links, and privacy policy; the friend links page supports a curve-friends configuration block
Template Details
This is a blog theme for Typecho, ported from imsyy/vitepress-theme-curve. The original theme is based on VitePress, Vue, and Pinia; this project replaces them with Typecho PHP templates and native JavaScript. Comments uniformly use Typecho's native comment system and do not include Algolia, Artalk, Twikoo, Meting, a music player, or third-party analytics services. Hitokoto is an optional external capability, and its API is requested only when the corresponding setting is enabled.
The theme covers the homepage, post pages, standalone pages, categories, tags, search, archives, and 404 pages, and supports Typecho's native nested comments, related posts, previous/next post links, table of contents, reward, and copyright cards. The admin panel provides visual theme settings for configuring site information, theme appearance, navigation menus, social links, post excerpts, comments, and the footer. The post editor supports custom fields for cover, excerpt, sticky, references, copyright card, and view count.
At the content level, it supports Admonition, Tabs, Timeline, Card, Button, LinkCard, and mathematical formulas, and the admin editor loads a quick toolbar. The theme provides standalone page templates for post archives, about, category overview, tag overview, friend links, and privacy policy. The friend links page can use a curve-friends configuration block in the body, and the footer randomly displays configured friend links.
There are two installation methods: download the zip from Releases and extract it to usr/themes/, or git clone the source into usr/themes/curve, then enable it in the Typecho admin panel. The repository provides a Docker Compose development environment; after modifying style sources, they must be recompiled with Sass CLI. GitHub Actions includes theme checks and a release pipeline; the release pipeline requires the repository to allow GITHUB_TOKEN to write contents.
Is it right for your project?
Use Cases
- Give a Typecho blog a clean, modern theme appearance while retaining Typecho's native comments and post data
- Insert structured content such as Admonition, Tabs, Timeline, Card, LinkCard, and mathematical formulas into posts
- Create standalone pages such as post archives, category overview, tag overview, about, friend links, and privacy policy
- Adjust site information, navigation menus, social links, post excerpts, comments, and the footer through visual admin settings
- Develop the theme locally in a Docker Compose environment, and recompile with Sass CLI after modifying style sources
Suitable For
- Users who build personal blogs with Typecho and want to change the theme
- Sites that need page templates such as post archives, category overview, tag overview, friend links, and privacy policy
- Authors who want to use extended syntax such as Admonition, Tabs, Timeline, Card, LinkCard, and mathematical formulas in posts
- Typecho users who need visual admin settings to adjust site information, navigation, social links, and the footer
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Download the latest typecho-theme-curve-*.zip from Releases and extract it to Typecho's usr/themes/ directory; the archive already contains the curve theme directory, so no further renaming is needed
- 2
When installing from source, run git clone https://github.com/deershark/typecho-theme-curve.git curve under usr/themes, then enable Curve in the Typecho admin panel
- 3
After enabling, go to "Appearance → Theme Settings" to complete theme configuration as needed; when creating a standalone page, you can select the post archives, about, category overview, tag overview, friend links, or privacy policy template in the custom template
- 4
The post editor's custom fields support cover, description, top, references, copyright, and views; excerpts uniformly use description, and when left blank, the body is automatically truncated
- 5
For local development, use docker compose up -d to start the environment and visit http://localhost:8081; after modifying style sources, recompile assets/scss/curve.scss to assets/css/curve.css with Sass CLI
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis listing covers the free version in the public repository under the MIT license; the free scope is the code of this version and does not mean that external services or third-party assets are free.
Must comply with when using
- You are allowed to use, modify, commercially use, and distribute the code of this version for free.
- 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
- Hitokoto is an optional external service; its API is requested only after it is enabled in the theme settings. If it is not enabled, no such external request is made.
- When using the GitHub Actions release pipeline, the repository must allow GITHUB_TOKEN to write contents; if the target branch has branch protection enabled, Actions must be allowed to push or the release must be run from a branch that allows pushes.
- This project is a port of the upstream Curve theme; in addition to this project's MIT license, the upstream project's license and attribution requirements must also be followed.
- After modifying SCSS style sources, you must recompile them to CSS yourself with Sass CLI; the theme does not provide an automatic build process.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; they 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
一言作为可选的外部能力,仅在启用对应设置时请求接口。
Original README
发布流水线需要仓库允许 `GITHUB_TOKEN` 写入内容;如果目标分支启用了分支保护,请允许 GitHub Actions 推送,或从允许推送的分支执行发布。
Original README
由于本项目源自上游 Curve 主题,请同时遵守上游项目的许可与署名要求。
Original README
https://github.com/deershark/typecho-theme-curve/blob/main/LICENSEhttps://github.com/deershark/typecho-theme-curve/blob/main/README.md样式源修改后,使用 Sass CLI 重新编译:
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 · 83 / 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-24
- 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: ac69342471c8d6004e2f140d441c5d8feecd10df1072ce7f5eeeb1431e9d0bf5
2026-10-01T03:57:44.828Z
Source file / repository# Curve for Typecho <div align="center"> 一个简洁、现代、可配置的 Typecho 主题。 [](https://github.com/deershark/typecho-theme-curve/actions/workflows/check.yml) [](https://github.com/deershark/typecho-theme-curve/releases) [](LICENSE) </div> > 本项目移植自 [imsyy/vitepress-theme-curve](https://github.com/imsyy/vitepress-theme-curve),原作者为 [imsyy](https://github.com/imsyy)。感谢原作者创作并开源了优秀的 Curve 主题。  Curve for Typecho 是将 [imsyy/vitepress-theme-curve](https://github.com/imsyy/vitepress-theme-curve) 移植到 Typecho 的主题版本。它保留了原主题的视觉风格、页面结构和交互体验,并使用 Typecho 原生 PHP、评论系统和文章数据驱动。 ## 特性 - 响应式布局,适配桌面端和移动端。 - 首页、文章页、独立页、分类、标签、搜索、归档和 404 页面。 - Typecho 原生嵌套评论、相关文章、上下篇、目录、打赏和版权卡片。 - 可视化主题设置:站点信息、主题外观、导航菜单、社交链接、文章摘要、评论和页脚等。 - 文章置顶、封面、摘要、阅读量、参考资料和版权卡片等自定义字段。 - 友链、关于本站、文章归档、分类总览、标签总览和隐私协议页面模板。 - 支持提示块、Tabs、Timeline、Card、Button、LinkCard、数学公式等文章内容扩展。 - 原生 JavaScript 交互,无需构建前端项目即可安装使用。 ## 安装 ### 下载发布包 1. 前往 [Releases](https://github.com/deershark/typecho-theme-curve/releases) 下载最新的 `typecho-theme-curve-*.zip`。 2. 将压缩包解压到 Typecho 的 `usr/themes/` 目录。压缩包内已经包含 `curve` 主题目录,不需要再次重命名。 3. 在 Typecho 后台进入「控制台 → 外观」,启用 Curve。 4. 进入「外观 → 设置外观」,按需完成主题配置。 ### 从源码安装 ```sh cd /path/to/typecho/usr/themes git clone https://github.com/deershark/typecho-theme-curve.git curve ``` 然后在 Typecho 后台启用 Curve 即可。 ## 页面模板 新建独立页面时,可在“自定义模板”中选择以下模板: | 页面 | 模板文件 | | --- | --- | | 文章归档 | `page-archives.php` | | 关于本站 | `page-about.php` | | 分类总览 | `page-categories.php` | | 标签总览 | `page-tags.php` | | 友情链接 | `page-links.php` | | 隐私协议 | `page-privacy.php` | 主题会自动识别这些页面并使用实际链接。评论区和页脚的“服务”栏也会自动显示已创建的隐私协议页面;投诉反馈地址则需要在主题设置中手动填写。 ## 文章字段 在文章编辑页的自定义字段中可以使用: | 字段 | 用途 | | --- | --- | | `cover` | 文章封面图片 URL | | `description` | 文章摘要;留空时自动截取正文 | | `top` | 填写 `1` 后显示置顶标记,并让文章优先显示在首页 | | `references` | 参考资料,一行一个 `标题\|https://链接` | | `copyright` | 填写 `0` 隐藏版权卡片 | | `views` | 文章阅读量,由主题自动累加 | 文章摘要统一使用 `description` 字段。主题设置中的 FakeGPT 摘要可以控制摘要卡片及其点击文案。 ## 友情链接 使用 `page-links.php` 模板的独立页,可以在正文中加入 `curve-friends` 配置块: ```md <!-- curve-friends ## 推荐 | 推荐关注的站点 - 示例站点 | https://example.com/ | https://example.com/avatar.png | 站点简介 ## 小伙伴 | 一起交流和成长 - 另一个示例站点 | https://example.org/ | https://example.com/avatar.png | 分享技术与生活 --> ``` 列表格式为 `名称 | 链接 | 头像 | 简介`。分组标题可以省略,也可以使用 1 到 6 级 Markdown 标题。配置块之外的正文仍会按普通 Markdown 渲染。 页脚会随机展示 3 个已配置的友链,并提供刷新按钮更换列表;没有配置友情链接页或没有有效友链时,页脚不显示友链栏。 ## 内容扩展 文章正文支持以下常用写法: - Admonition:`::: info`、`::: tip`、`::: warning`、`::: danger`、`::: details` - Tabs:`:::tabs` 配合 `== 标签` - Timeline:`::: timeline` - Radio:`::: radio` - Card、Button:`::: card`、`::: button` - LinkCard:`<LinkCard url="..." title="..." desc="..." />` - 数学公式:`$...$` 和 `$$...$$` 后台编辑器会自动加载 Curve 快捷工具栏,可快速插入这些内容结构。 ## 本地开发 仓库提供 Docker Compose 开发环境: ```sh docker compose up -d ``` 启动后访问 <http://localhost:8081>。主题源码会以只读方式挂载到容器中的 `usr/themes/curve`。 样式源修改后,使用 Sass CLI 重新编译: ```sh node /path/to/sass/sass.js assets/scss/curve.scss assets/css/curve.css --style=expanded --no-source-map ``` 本地基础检查: ```sh find . -path './.docker' -prune -o -name '*.php' -print0 | xargs -0 -n1 php -l node --check assets/js/curve.js ``` 建议至少手动验证:首页、含封面和无封面文章、长标题、无标签文章、分页、搜索、未登录评论以及移动端菜单。 ## GitHub Actions - `Check theme`:Push 和 Pull Request 时自动检查 PHP 7.4/8.3 语法、JavaScript/MJS 语法及提交空白。 - `Publish theme`:在 Actions 中手动输入版本号,例如 `0.1.0`。流水线会更新 `index.php` 的 `@version`,提交并推送到当前分支,检查新提交后创建 `v0.1.0` Release,并上传主题压缩包和 SHA-256 校验文件。 发布流水线需要仓库允许 `GITHUB_TOKEN` 写入内容;如果目标分支启用了分支保护,请允许 GitHub Actions 推送,或从允许推送的分支执行发布。 ## 上游项目与移植说明 本项目移植自 [imsyy/vitepress-theme-curve](https://github.com/imsyy/vitepress-theme-curve),原作者为 [imsyy](https://github.com/imsyy)。原主题基于 VitePress、Vue 和 Pinia;本项目将其替换为 Typecho PHP 模板与原生 JavaScript。评论统一使用 Typecho 原生评论,不包含 Algolia、Artalk、Twikoo、Meting、音乐播放器或第三方统计服务。一言作为可选的外部能力,仅在启用对应设置时请求接口。 如果你正在寻找原版 VitePress 主题,请直接访问上游项目:[imsyy/vitepress-theme-curve](https://github.com/imsyy/vitepress-theme-curve)。 ## 许可证 本项目基于 [MIT License](LICENSE) 发布。由于本项目源自上游 Curve 主题,请同时遵守上游项目的许可与署名要求。
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
