Skip to content

make-md 插件教程

make.md 插件使用指南

make.md 是 Obsidian 中增强 Markdown 编辑体验的插件,提供标签面板、属性管理、目录生成和双向链接可视化等功能。

插件特点

特性说明
🏷️ 标签面板可视化标签管理,支持批量编辑
📋 属性管理增强的 YAML 属性编辑体验
📑 目录生成一键生成笔记目录
🔗 链接可视化双向链接图形化展示
🎨 自定义块支持 callout、mermaid 等自定义块

安装插件

  1. 打开「设置」→「第三方插件」→ 关闭「安全模式」
  2. 点击「浏览」→ 搜索「make.md」→ 安装并启用

标签面板

打开命令 make.md: Toggle Tag Panel 或使用快捷键 Ctrl + T

  • 添加标签:点击「+」输入标签名
  • 删除标签:点击标签右侧「×」
  • 跳转到标签:点击标签跳转到标签视图
  • 批量编辑:多选标签后批量操作
markdown
# 标签格式示例
#项目/Alpha       # 多级标签
#领域/学习/技术   # 三级分类
- [ ] 任务 A #工作 #紧急  # 列表中的标签

属性管理

使用 make.md: Toggle Properties Panel 打开属性面板:

yaml
---
title: 我的笔记
created: 2026-06-09
tags: [学习, 技术]
aliases: ["笔记别名"]
cssclasses: [highlight]
---
类型格式示例
字符串key: valueauthor: 张三
数组tags: [a, b]tags: [工作, 学习]
日期date: 2026-06-09date: 2026-06-09
布尔值pinned: truepinned: true

目录生成

  1. 将光标放在要插入目录的位置
  2. 执行 make.md: Insert Table of Contents
  3. 自动生成当前笔记的目录
markdown
## 目录

- [[#一级标题]]
  - [[#二级标题]]
    - [[#三级标题]]

链接可视化

使用 make.md: Toggle Backlinks Graph 打开反向链接图谱:

┌──────────────────────────────────┐
│ 📤 传出链接                        │
│ ├─ [[日记/2026-06-01]]          │
│ └─ [[项目/Alpha]]               │
├──────────────────────────────────┤
│ 📥 传入链接                        │
│ ├─ [[日记/2026-06-01]] ← 第 3 段 │
│ └─ [[日记/2026-06-03]] ← 第 1 段 │
└──────────────────────────────────┘

块引用(使用 ^ 定义块 ID):

markdown
# 源笔记
重要内容 ^important-block

# 引用
![[源笔记#^important-block]]

自定义块

Callout 块

markdown
> [!note] 提示
> 这是提示信息

> [!warning] 警告
> 这是警告内容

Mermaid 图表

markdown
```mermaid
flowchart TD
    A[开始] --> B{判断}
    B -->|条件1| C[结果1]
    B -->|条件2| D[结果2]
```

使用场景

论文写作

markdown
---
title: 论文标题
author: 作者名
status: 进行中
tags: [学术, 研究]
---

# 论文标题

## 目录
<!-- 自动生成 -->

## 1. 引言
## 2. 相关工作
## 3. 方法
## 参考

知识库管理

markdown
---
title: 知识卡片
tags: [概念, 计算机]
created: 2026-06-01
related: [[相关笔记1]], [[相关笔记2]]
---

# 概念名称

## 定义
## 示例
## 相关概念

常见问题

Q: 目录不更新?

手动刷新:Ctrl + R 重新加载文件,或重新执行目录生成命令。

Q: 标签面板不显示?

确认笔记中存在标签(以 # 开头)。标签必须在笔记正文中,不能仅在 Frontmatter 中。

make.md 高级使用案例

本文介绍 make.md 的进阶功能,涵盖双向链接自动化、Dataview 联动、自定义样式和知识图谱构建。

自定义 Callout 样式

在插件设置中添加自定义 callout 类型:

json
{
  "callouts": {
    "insight": {
      "color": "#4CAF50",
      "icon": "lightbulb",
      "title": "💡 洞察"
    },
    "action": {
      "color": "#FF5722",
      "icon": "rocket",
      "title": "🚀 行动"
    }
  }
}
markdown
> [!insight] 关键洞察
> 通过标签系统的层级结构,可以实现主题的渐进式细分。

> [!action] 下一步行动
> 1. 重构笔记标签体系
> 2. 清理重复标签

双向链接自动化

Templater 自动建立链接

markdown
<%*
const topic = await tp.system.prompt("笔记主题:");
const related = await tp.system.prompt("相关笔记(逗号分隔):");

// 创建笔记并添加相关链接
await tp.file.create_new(
  `# ${topic}\n\n## 定义\n\n## 示例\n\n## 相关\n`,
  topic.replace(/\s+/g, '-')
);

if (related) {
  const links = related.split(',').map(s => `[[${s.trim()}]]`).join('\n');
  await tp.file.append(tp.file.filename(), `\n\n## 相关\n\n${links}`);
}
-%>

孤立笔记检查

dataview
TABLE file.link AS 笔记, file.mtime AS 修改时间
FROM ""
WHERE file.mtime >= date(today) - dur(30 days)
WHERE length(file.inlinks) = 0
SORT file.mtime DESC

无传入链接的笔记将被列出,便于补充关联。

Dataview 联动

知识库统计面板

dataview
TABLE 
  length(file.tags) AS 标签数,
  length(file.outlinks) AS 链接数,
  length(file.tasks) AS 任务数,
  file.mtime AS 修改时间
FROM ""
WHERE file.mtime >= date(today) - dur(30 days)
SORT file.mtime DESC
LIMIT 20

标签关联分析

dataview
TABLE 
  regexreplace(string(file.tags), "#", "") AS 标签,
  length(file.outlinks) AS 链接数
FROM ""
WHERE length(file.tags) > 0
GROUP BY file.tags[0]
SORT length(file.outlinks) DESC

块级操作进阶

块 ID 导航

markdown
# 源笔记
## 方法论 ^methodology-section

这是方法的详细描述...

# 引用笔记
![[源笔记#^methodology-section]]

目录自动化

动态目录生成

markdown
<%*
const headings = app.metadataCache.getFileCache(
  app.workspace.getActiveFile()
)?.headings || [];

const toc = headings.map(h => {
  const indent = '  '.repeat(h.level - 1);
  const anchor = h.heading.replace(/ /g, '-');
  return `${indent}- [[#${anchor}]]`;
}).join('\n');
-%>

## 目录

<% toc %>

---

<!-- 笔记正文 -->

知识图谱构建

链接质量评估

dataview
TABLE 
  file.link AS 笔记,
  length(file.outlinks) AS 传出,
  length(file.inlinks) AS 传入,
  length(file.outlinks) + length(file.inlinks) AS 活跃度
FROM ""
WHERE length(file.outlinks) + length(file.inlinks) > 5
SORT 活跃度 DESC
LIMIT 10

高活跃度笔记通常是笔记网络中的枢纽节点。

CSS 自定义

css
/* 自定义 callout 渐变背景 */
.callout[data-callout="insight"] {
  --callout-color: 76, 175, 80;
  background: linear-gradient(135deg, rgba(76,175,80,0.1), rgba(76,175,80,0.05));
  border-left: 4px solid #4CAF50;
}

/* 标签面板美化 */
.tag-panel {
  background: var(--background-secondary);
  border-radius: 8px;
  padding: 12px;
}

常见问题

Q: 自定义 callout 不生效?

  1. 确认插件版本支持自定义 callout
  2. 检查设置中 JSON 格式是否正确
  3. 重启 Obsidian

Q: 目录生成遗漏标题?

确保标题使用标准 Markdown 语法(###),而非 HTML 标签。

Q: 块引用失效?

块 ID 必须在笔记内唯一。移动包含块 ID 的段落后需重新定义块 ID。