基于 FlexSearch 的中英文全文搜索,三栏布局整合结果、预览与滚动标记,支持按日期、标签、类型筛选
astro-theme-iris — Astro 博客模板
作者 LemonAdorable
基于 Astro 的博客与知识库主题,在 astro-theme-pure 基础上定制,集成全文搜索、Wikilink 预览与知识图谱。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
通过 Tippy.js 实现 Wikilink 多层嵌套预览,并支持反向链接定位
使用 D3.js 绘制知识图谱,区分文章、文档、标签、分类节点,可切换局部与全局视图
集成 Giscus 评论、Mermaid 图表,以及 MDX 中的 Typst 数学公式与图形渲染
基于 astro-theme-pure 定制,主配置集中在 src/site.config.ts
模板详细介绍
Astro Theme Iris 是一个基于 Astro 构建的博客与文档主题,作者将其定位为把博客、个人简介与知识库结合起来的个人知识管理系统。项目基于 astro-theme-pure 定制,仓库采用 Apache-2.0 许可,演示站点为 https://lemonadorable.github.io/。
主题的核心能力集中在知识组织与检索上:搜索使用 FlexSearch 做中英文全文检索,界面为三栏布局,把搜索结果、内容预览与滚动标记放在一起,并支持按日期范围、标签和类型(文章/文档)筛选。Wikilink 借助 Tippy.js 实现类似 Quartz 的多层嵌套预览,并支持反向链接定位。知识图谱使用 D3.js 绘制有向图,区分文章、文档、标签、分类等节点类型,可在当前页面的局部图与全站全局图之间切换,支持拖拽、缩放和点击跳转。此外还集成 Giscus 评论(基于 GitHub Discussions)、Mermaid 图表,以及用于 MDX 中数学公式与图形渲染的 Typst。
使用方式上,README 推荐通过 GitHub 的 Use this template 按钮创建仓库,也支持克隆后本地安装依赖运行;主配置文件位于 src/site.config.ts,可设置站点信息、社交链接与评论系统等。需要注意的限制:作者明确提示项目仍在频繁变动,拉取更新时不要直接用 git pull,而应使用 git fetch 加 git merge --no-commit 手动审查合并结果;页头与自定义选项仍在开发中;待办清单中列出多语言支持、首页简历功能、主题打包与更多文档示例尚未完成。
适合你的项目吗?
适用场景
- 搭建带有全文检索与双向链接的个人知识库或数字花园
- 把博客文章与文档类内容放在同一站点中统一管理
- 为笔记站点增加可视化知识图谱与页面关系浏览
- 在 MDX 内容中渲染数学公式、图表与 Mermaid 流程图
适合人群
- 使用 Astro 并希望以模板方式快速起步的博客或知识库作者
- 需要中英文全文搜索、Wikilink 预览和知识图谱等知识组织功能的站点
- 能接受项目频繁变动、愿意手动审查合并更新的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
推荐在 GitHub 上点击 Use this template 创建仓库后克隆到本地,也可直接克隆仓库
- 2
安装依赖并启动开发:bun install 或 npm install,然后 bun dev 或 npm run dev
- 3
主配置文件为 src/site.config.ts,可设置站点基本信息、社交链接与评论系统
- 4
作者提示更新时不要直接 git pull,应使用 git fetch 加 git merge --no-commit 手动审查合并结果
- 5
页头与自定义选项仍在开发中,多语言支持、首页简历功能与主题打包尚未完成
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 Apache-2.0 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发;分发时需随附 Apache-2.0 许可证。
- 修改过的文件需显著标明改动,并保留相关版权、专利、商标及归属声明。
- 若原项目附有 NOTICE 文件,分发衍生作品时需保留其中适用的归属声明。
- 许可包含适用的贡献者专利授权;发起许可所述专利诉讼会终止该专利授权,且不授予商标使用权。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 作者要求更新主题时不要直接使用 git pull,而应使用 git fetch 加 git merge --no-commit 手动审查并控制合并结果,以免自动合并覆盖本地自定义内容。
- 页头与自定义选项仍在开发中,相关功能尚不完整,使用时需注意该部分可能不稳定或未完成。
- 多语言支持尚未完成,当前待办清单中仍列为未实现功能,站点主要面向中文内容。
- 首页简历功能尚未实现,属于待办事项,不能依赖该功能作为站点能力。
- 主题打包与新组件尚未完成,属于待办事项,当前不提供打包后的主题分发形式。
- 更多文档与示例尚未提供,属于待办事项,使用时可参考的文档和示例有限。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 Apache-2.0 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
no-charge, royalty-free, irrevocable copyright license
许可证原文
When pulling updates, please do not use `git pull` directly. Instead, use `git fetch` + `git merge --no-commit` to manually review and control the merge results.
README 原文
Known issues: Header & customize options is still under development (template exposed still).
README 原文
- [ ] English or multi-language support
README 原文
- [ ] Homepage resume feature
README 原文
- [ ] Package theme and new components
README 原文
https://github.com/LemonAdorable/astro-theme-iris/blob/main/LICENSEhttps://github.com/LemonAdorable/astro-theme-iris/blob/main/README.md- [ ] More documentation and examples
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 87 / 100
- 技术栈
- Astro
- 网站类型
- 博客
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-07-29
- 截图检查日期
- 2026-10-02
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。
查看当时使用的来源资料
SHA-256: 1acc38deb4d149ae22b589f364655131ad39ecaf4764a60a51054edd86951fb3
2026-10-02T16:47:42.070Z
来源文件 / 仓库# Astro Theme Iris
English | [简体中文](./README-zh-CN.md)
> [!CAUTION]
> This project is undergoing frequent changes, and automatic merging may overwrite your local customizations. When pulling updates, please do not use `git pull` directly. Instead, use `git fetch` + `git merge --no-commit` to manually review and control the merge results.
<div align="center">
<img src="./logo.png" alt="Astro Theme Iris Logo" width="200">
</div>
---
## 📸 Screenshots
**Demo Blog**: [https://lemonadorable.github.io/](https://lemonadorable.github.io/)
> [!NOTE]
> Known issues: Header & customize options is still under development (template exposed still).
<div align="center">
<img src="./index.png" alt="Homepage Showcase" width="100%">
<p><em>Full-screen homepage with animation effects</em></p>
</div>
<div align="center">
<img src="./search.png" alt="Search Feature Showcase" width="100%">
<p><em>Powerful search preview system - supports category filtering, real-time preview, and scroll markers</em></p>
</div>
<div align="center">
<img src="./function.png" alt="Feature Showcase" width="100%">
<p><em>Wikilink preview, Graph View, and knowledge graph</em></p>
</div>
---
## 🎨 About Iris Theme
This project is customized based on [astro-theme-pure](https://github.com/cworld1/astro-theme-pure), aiming to combine **blog**, **profile**, and **knowledge base** to create a powerful personal knowledge management system.
### ✨ Core Features
#### 🔍 Powerful Search System
- **FlexSearch Full-Text Search**: High-performance search supporting multiple languages including Chinese and English
- **Three-Column Preview Layout**: Integrated search results, content preview, and scroll markers
- **Multi-Dimensional Filtering**: Filter by date range, tags, and type (article/docs)
- **Real-Time Highlighting**: Real-time search result highlighting with scroll positioning
#### 🔗 Wikilink System
- **Multi-Level Preview**: Uses Tippy.js to implement Quartz-like multi-layer preview functionality
- **Smart Positioning**: Supports backlinks and reverse positioning references
- **Smooth Interaction**: Supports nested previews
#### 🗺️ Knowledge Graph (Graph View)
- **D3.js Directed Graph**: Visualizes relationships between pages
- **Local/Global Views**: View local graph for current page or site-wide global graph
- **Node Types**: Distinguishes between articles, docs, tags, categories, and other types
- **Interactive Operations**: Supports drag, zoom, and click navigation
#### 🎨 UI Optimization
- **Full-Screen Homepage**: Immersive homepage design with animation effects
- **Gradient Background**: Article cards use light purple gradient backgrounds
- **Interactive Animations**: Interactive animation effects for avatars and friend links
- **Responsive Design**: Adapted for desktop and mobile devices
#### 💬 Comment System
- **Giscus Integration**: Comment system based on GitHub Discussions
#### 📊 Mermaid Integration
- **Mermaid Integration**: Mermaid integration for diagramming
#### 🖋️ Typst Integration
- **Typst Support**: Typst integration for high-quality mathematical equations and diagrams rendering in MDX
### 🚀 Quick Start
#### Option 1: Use as a Template (Recommended)
1. Click the **"Use this template"** button at the top of this repository.
2. Clone your new repository to local.
3. Install dependencies and start developing:
```shell
bun install # or npm install
bun dev # or npm run dev
```
#### Option 2: Manual Installation
```shell
# Clone repository
git clone https://github.com/LemonAdorable/astro-theme-iris.git
cd astro-theme-iris
# Install dependencies
bun install # or npm install
```
### 🔄 Updating Theme
To get the latest features and fixes from the Iris theme:
```shell
# Add upstream remote (only need to do once)
git remote add upstream https://github.com/LemonAdorable/astro-theme-iris.git
# Pull and merge updates from main branch
git fetch upstream main
git merge upstream/main --allow-unrelated-histories
```
> [!TIP]
> The `--allow-unrelated-histories` flag is only required for the first merge if you have an existing repository with a different history. For future updates, a simple `git pull upstream main` will work.
### 📝 Todo
- [ ] English or multi-language support
- [ ] Homepage resume feature
- [ ] Package theme and new components
- [ ] More documentation and examples
### 📚 Repository Structure
```
Iris Theme (LemonAdorable/astro-theme-iris)
└── main branch (Upstream)
↓ (fetch & merge)
Your Blog Repository
└── main branch (Your content + Iris components)
```
### 🙏 Acknowledgments
This project is based on the following excellent open-source projects:
- **[astro-theme-pure](https://github.com/cworld1/astro-theme-pure)** - Base theme framework
- **[FlexSearch](https://github.com/nextapps-de/flexsearch)** - High-performance full-text search engine
- **[Tippy.js](https://atomiks.github.io/tippyjs/)** - Powerful tooltip library
- **[D3.js](https://d3js.org/)** - Data visualization library
- **[Quartz](https://quartz.jzhao.xyz/)** - Knowledge base theme design concept reference
- **[Obsidian](https://obsidian.md/)** - Wikilink note concept reference
### 📞 Contact
For questions or suggestions, please feel free to contact via email
### 📋 Usage Instructions
#### Search Feature
- Press `Ctrl+K` or `Cmd+K` to open the search box
- Supports Chinese and English full-text search
- Filter by date range, tags, and type
- Click search results to navigate to corresponding pages
- Right preview area supports scroll marker positioning
#### Wikilink Preview
- Use `[[link text]]` or `[[link|display text]]` in articles to create wikilinks
- Hover over wikilinks to preview link content
- Supports multi-level nested previews
- Preview box supports interaction, click links to navigate
#### Knowledge Graph
- Graph View displayed in sidebar on article and doc pages
- Click nodes to navigate to corresponding pages
- Supports dragging nodes to adjust layout
- Click top-right button to view site-wide global graph
### ⚙️ Configuration
Main configuration file is located at `src/site.config.ts`, where you can configure:
- Basic site information (title, description, author, etc.)
- Social links
- Comment system (Giscus/Waline)
- Other theme options
### 📄 License
This project is open source under the [Apache 2.0 License](https://github.com/LemonAdorable/astro-theme-iris/main/LICENSE).
### ⭐ Star History
[](https://star-history.com/#LemonAdorable/astro-theme-iris&Date)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astrowind
⭕️ AstroWind: A free template using Astro v7 and Tailwind CSS v4. Astro starter theme.
Astro · 博客

astro-paper
A minimal, accessible and SEO-friendly Astro blog theme.
Astro · 博客

fuwari
✨A static blog template built with Astro.
Astro · 博客

Firefly
Firefly 是一款基于 Astro 的静态博客主题,由 CuteLeaf 在 saicaca 的 Fuwari 模板基础上二次开发,主打清新美观的视觉风格。
Astro · 博客

astro-theme-cactus
A simple Astro theme. Use it to create your blog or website.
Astro · 作品集

astrofy
Astrofy is a free and open-source template for your Personal Portfolio Website built with Astro and TailwindCS…
Astro · 作品集
