wiki-dashboard
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWiki Dashboard — Dynamic Vault Views
Wiki仪表盘——动态库视图
You are creating a file — an Obsidian Bases definition that turns vault frontmatter into a live, queryable view. The format is native to Obsidian 1.8+ and requires no plugins.
.base.base你将创建一个文件——这是Obsidian Bases的定义文件,可将库笔记的前置元数据转换为实时可查询的视图。格式是Obsidian 1.8+的原生格式,无需额外插件。
.base.baseBefore You Start
开始之前
- Read (preferred) or
~/.obsidian-wiki/config(fallback) to get.envOBSIDIAN_VAULT_PATH - Read to understand what categories and pages exist
$OBSIDIAN_VAULT_PATH/index.md - Ask the user what they want to view if not specified — what folder, tag, category, or date range?
- 读取(优先)或
~/.obsidian-wiki/config(备选)获取.envOBSIDIAN_VAULT_PATH - 读取以了解现有分类和页面
$OBSIDIAN_VAULT_PATH/index.md - 如果用户未指定查看内容,询问用户需求——要查看哪个文件夹、标签、分类或日期范围?
What Obsidian Bases Can Do
Obsidian Bases的功能
.base- Which notes to include — filtered by folder, tag, frontmatter property, or combination
- Which properties to show — any frontmatter field becomes a column
- What view type — ,
table, orcardslist - Sort and group — by any property
- Computed columns — formulas using helpers and arithmetic
file.*
Embed a into any note with .
.base![[MyBase.base]].base- 包含哪些笔记——按文件夹、标签、前置元数据属性或组合筛选
- 显示哪些属性——任何前置元数据字段都可成为列
- 视图类型——(表格)、
table(卡片)或cards(列表)list - 排序与分组——按任意属性
- 计算列——使用辅助函数和算术运算的公式
file.*
可通过将文件嵌入任意笔记中。
![[MyBase.base]].baseStep 1: Understand the Request
步骤1:理解需求
Determine:
- What to show — all pages in a category? Pages with a specific tag? A project's pages?
- What columns matter — title, tags, created, updated, summary, category, project?
- View type — table (default), cards (visual), or list (minimal)
- Sort order — by updated (default), created, title, or a custom property
- Any filters — date range, specific tags, folder scope
确定:
- 显示内容——某分类下的所有页面?带特定标签的页面?某个项目的页面?
- 重要列——标题、标签、创建时间、更新时间、摘要、分类、项目?
- 视图类型——表格(默认)、卡片(可视化)或列表(极简)
- 排序顺序——按更新时间(默认)、创建时间、标题或自定义属性
- 筛选条件——日期范围、特定标签、文件夹范围
Step 2: Generate the .base
File
.base步骤2:生成.base
文件
.baseThe format is YAML. Here are the patterns you'll use:
.base.baseBasic table — all pages in a category folder
基础表格——某分类文件夹下的所有页面
yaml
filters:
- type: folder
folder: concepts
columns:
- property: file.name
title: Page
- property: tags
title: Tags
- property: summary
title: Summary
- property: updated
title: Updated
sort:
- property: updated
direction: desc
view: tableyaml
filters:
- type: folder
folder: concepts
columns:
- property: file.name
title: Page
- property: tags
title: Tags
- property: summary
title: Summary
- property: updated
title: Updated
sort:
- property: updated
direction: desc
view: tableFiltered by tag
按标签筛选
yaml
filters:
- type: tag
tag: "#machine-learning"
columns:
- property: file.name
title: Page
- property: category
title: Category
- property: summary
title: Summary
- property: created
title: Created
sort:
- property: created
direction: desc
view: tableyaml
filters:
- type: tag
tag: "#machine-learning"
columns:
- property: file.name
title: Page
- property: category
title: Category
- property: summary
title: Summary
- property: created
title: Created
sort:
- property: created
direction: desc
view: tableMulti-filter (folder AND tag)
多条件筛选(文件夹且标签)
yaml
filters:
operator: and
conditions:
- type: folder
folder: projects
- type: tag
tag: "#active"
columns:
- property: file.name
title: Project
- property: summary
title: Summary
- property: updated
title: Last Updated
view: cardsyaml
filters:
operator: and
conditions:
- type: folder
folder: projects
- type: tag
tag: "#active"
columns:
- property: file.name
title: Project
- property: summary
title: Summary
- property: updated
title: Last Updated
view: cardsComputed column (days since last update)
计算列(上次更新至今天数)
yaml
columns:
- property: file.name
title: Page
- property: updated
title: Updated
- formula: "floor((now() - updated) / 86400000)"
title: Days Stale
type: number
sort:
- formula: "floor((now() - updated) / 86400000)"
direction: desc
view: tableyaml
columns:
- property: file.name
title: Page
- property: updated
title: Updated
- formula: "floor((now() - updated) / 86400000)"
title: Days Stale
type: number
sort:
- formula: "floor((now() - updated) / 86400000)"
direction: desc
view: tableFilter operators and functions available
可用的筛选运算符和函数
- — boolean, true if page has tag
file.hasTag("tag") - — boolean, true if page is in folder
file.inFolder("path") - — the note's filename (without extension)
file.name - — full vault-relative path
file.path - — current timestamp in ms
now() - Arithmetic: ,
+,-,*,/,floor()ceil() - Comparison: ,
==,!=,>,<,>=<=
- ——布尔值,页面包含标签时为true
file.hasTag("tag") - ——布尔值,页面在指定文件夹时为true
file.inFolder("path") - ——笔记文件名(不含扩展名)
file.name - ——库相对路径的完整路径
file.path - ——当前时间戳(毫秒)
now() - 算术运算:,
+,-,*,/,floor()ceil() - 比较运算:,
==,!=,>,<,>=<=
Step 3: Write the File
步骤3:写入文件
Target path:
$OBSIDIAN_VAULT_PATH/_meta/<dashboard-name>.baseUse a slug derived from the dashboard's purpose:
- "All concepts" →
_meta/concepts-index.base - "Recent ingests" →
_meta/recent-ingests.base - "Project overview" →
_meta/projects-overview.base - "Stale pages" →
_meta/stale-pages.base
Create if it doesn't exist yet.
_meta/目标路径:
$OBSIDIAN_VAULT_PATH/_meta/<dashboard-name>.base根据仪表盘用途生成短名称:
- "所有概念" →
_meta/concepts-index.base - "最近导入内容" →
_meta/recent-ingests.base - "项目概览" →
_meta/projects-overview.base - "过期页面" →
_meta/stale-pages.base
如果文件夹不存在,先创建它。
_meta/Step 4: Embed (optional)
步骤4:嵌入(可选)
If the user wants the dashboard embedded in an existing note (e.g., or a project overview), add:
index.mdmarkdown
undefined如果用户希望将仪表盘嵌入现有笔记(如或项目概览页),添加以下内容:
index.mdmarkdown
undefined<Dashboard Title>
<仪表盘标题>
![[_meta/<dashboard-name>.base]]
Ask the user before modifying an existing note.![[_meta/<dashboard-name>.base]]
修改现有笔记前需询问用户。Step 5: Update Tracking
步骤5:更新追踪
log.md- [TIMESTAMP] WIKI_DASHBOARD name="<slug>" view=<type> filter="<description>"No manifest or index update needed — files are live queries, not static content pages.
.baselog.md- [TIMESTAMP] WIKI_DASHBOARD name="<slug>" view=<type> filter="<description>"无需更新清单或索引——文件是实时查询,而非静态内容页面。
.baseCommon Dashboard Recipes
常见仪表盘模板
Tell the user about these if they're not sure what to ask for:
| Dashboard | What it shows |
|---|---|
| Content index | All wiki pages grouped by category, sortable by updated date |
| Entity tracker | All entity pages (people, tools, orgs) with tags and sources |
| Ingestion log | Pages sorted by |
| Stale content | Pages not updated in 30+ days — maintenance view |
| Project overview | All project pages with last-sync date |
| Tag cloud | Pages grouped by tag — see coverage across topics |
| Research tracker | All synthesis pages tagged |
如果用户不确定需求,可向他们推荐以下模板:
| 仪表盘 | 显示内容 |
|---|---|
| 内容索引 | 所有wiki页面按分类分组,可按更新日期排序 |
| 实体追踪器 | 所有实体页面(人物、工具、组织),包含标签和来源 |
| 导入日志 | 按 |
| 过期内容 | 30天以上未更新的页面——维护视图 |
| 项目概览 | 所有项目页面,包含最后同步日期 |
| 标签云 | 按标签分组的页面——查看主题覆盖范围 |
| 研究追踪器 | 所有标记为 |
Quality Checklist
质量检查清单
- YAML is valid and uses correct field names
.base - Filter matches the user's intent
- File written to with a descriptive slug
_meta/ - updated
log.md - User told how to embed it () and what Obsidian version is required (1.8+)
![[_meta/<name>.base]]
- 文件YAML格式有效,字段名称正确
.base - 筛选条件符合用户需求
- 文件已写入文件夹,且短名称描述清晰
_meta/ - 已更新
log.md - 已告知用户嵌入方法 () 及所需Obsidian版本(1.8+)
![[_meta/<name>.base]]