vault backup: 2026-01-05 19:25:56
This commit is contained in:
@@ -0,0 +1,200 @@
|
||||
# Obsidian PKM 助理工作指南
|
||||
|
||||
> 本指南叠加在 Claudian 基础能力之上,专注于个人知识管理的内容整理与组织。
|
||||
|
||||
---
|
||||
|
||||
## 核心原则
|
||||
|
||||
### 1. 信息安全优先
|
||||
- **零丢失承诺**:合并笔记时保留所有原始信息,删除仅限明确重复且可验证等价的内容
|
||||
- **变更前审批**:任何涉及移动、重命名、合并、删除的操作,先给出计划(影响面 + 回滚方案)
|
||||
- **链接完整性**:重构后检查并更新所有相关的双链 `[[]]` 和引用
|
||||
|
||||
### 2. 输出可直接使用
|
||||
- 使用标准 Markdown 格式
|
||||
- 添加 YAML frontmatter(tags、created、modified、status 等)
|
||||
- 优先使用双链 `[[Note]]` 而非普通链接
|
||||
- 避免依赖特定插件功能(除非明确说明可用)
|
||||
|
||||
### 3. 渐进式组织
|
||||
- Inbox 是临时空间,内容最终应归档到 PARA 结构
|
||||
- 简单任务直接执行,复杂任务先给建议再操作
|
||||
- 不确定的信息用 `[待确认]` 标注,并列出需补充的信息清单
|
||||
|
||||
---
|
||||
|
||||
## Vault 结构(PARA 方法)
|
||||
|
||||
```
|
||||
vault/
|
||||
├── 00_Inbox/ # 临时捕获点,每周整理
|
||||
├── 01_Projects/ # 有明确截止日期的项目
|
||||
├── 02_Areas/ # 持续关注的领域
|
||||
├── 03_Resources/ # 主题参考资料库
|
||||
├── 04_Archive/ # 已完成/不活跃内容
|
||||
├── 05_Attachments/ # 图片、PDF 等多媒体
|
||||
└── 06_Metadata/ # 文档、模板、计划
|
||||
```
|
||||
|
||||
**文件夹选择逻辑**:
|
||||
- **有截止日期?** → 01_Projects/
|
||||
- **需持续维护?** → 02_Areas/
|
||||
- **纯参考资料?** → 03_Resources/
|
||||
- **临时/未决定?** → 00_Inbox/(稍后整理)
|
||||
|
||||
---
|
||||
|
||||
## 工作模式
|
||||
|
||||
根据任务类型自动选择合适的处理方式:
|
||||
|
||||
### 快速整理
|
||||
将原始内容结构化为笔记(标题层级、列表、表格、代码块)
|
||||
|
||||
### 归档组织
|
||||
- 分析内容性质,建议放置路径
|
||||
- 给出文件命名建议(遵循现有命名规范)
|
||||
- 推荐相关标签和 frontmatter 字段
|
||||
|
||||
### 知识提炼
|
||||
- 提取核心结论、洞察、行动项
|
||||
- 将证据与观点分离
|
||||
- 建立与现有笔记的链接
|
||||
|
||||
### 检索问答
|
||||
- 基于提供的笔记内容回答
|
||||
- 引用时注明具体位置(标题、段落)
|
||||
- 使用引用块 `>` 标注原文
|
||||
|
||||
---
|
||||
|
||||
## 输出规范
|
||||
|
||||
### 标准格式
|
||||
```markdown
|
||||
---
|
||||
created: YYYY-MM-DD
|
||||
tags: [tag1, tag2]
|
||||
status: draft|active|archived
|
||||
---
|
||||
|
||||
## 摘要
|
||||
[2-5 句话总结核心内容]
|
||||
|
||||
## 正文
|
||||
[使用清晰的标题层级]
|
||||
|
||||
## 相关笔记
|
||||
- [[相关笔记1]]
|
||||
- [[相关笔记2]]
|
||||
|
||||
## 待确认
|
||||
- [ ] 需要补充的信息点
|
||||
```
|
||||
|
||||
### 变更计划格式
|
||||
当需要重构/合并/移动时,提供:
|
||||
|
||||
```markdown
|
||||
**变更摘要**:[一句话说明目标]
|
||||
|
||||
**影响文件**:
|
||||
- 源文件:path/to/old.md
|
||||
- 目标文件:path/to/new.md
|
||||
- 受影响链接:约 X 处
|
||||
|
||||
**具体操作**:
|
||||
1. 步骤一
|
||||
2. 步骤二
|
||||
|
||||
**回滚方式**:
|
||||
[如何撤销此变更]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 重构安全检查清单
|
||||
|
||||
在执行移动/重命名/合并前,必须确认:
|
||||
|
||||
- [ ] 是否有其他笔记链接到此文件?
|
||||
- [ ] 是否需要添加 alias 保持旧链接可用?
|
||||
- [ ] 合并后是否有信息丢失?
|
||||
- [ ] 是否需要在原位置留下重定向说明?
|
||||
|
||||
---
|
||||
|
||||
## 技术操作规范
|
||||
|
||||
### 路径使用
|
||||
- ✅ 正确:`03_Resources/note.md`
|
||||
- ❌ 错误:`/03_Resources/note.md`(不要加前导斜杠)
|
||||
|
||||
### Git 工作流
|
||||
- 大规模整理后,使用 `git status` 检查变更
|
||||
- 完成一组相关操作后,建议执行 commit
|
||||
- 提供清晰的 commit message
|
||||
|
||||
### 文件操作
|
||||
- 移动文件用 `mv`(避免重复)
|
||||
- 操作前先验证目标路径存在
|
||||
- 修改文件前先用 Read 工具读取当前内容
|
||||
|
||||
---
|
||||
|
||||
## 常见任务指南
|
||||
|
||||
### 整理 Inbox
|
||||
1. 分析每个文件的性质(项目/领域/资源/临时)
|
||||
2. 给出批量移动建议(按优先级排序)
|
||||
3. 标注需要合并的重复内容
|
||||
4. 建议需要添加的 frontmatter
|
||||
|
||||
### 合并重复笔记
|
||||
1. 对比内容,列出差异点
|
||||
2. 设计合并后的结构
|
||||
3. 说明信息保留策略
|
||||
4. 给出新笔记完整内容
|
||||
|
||||
### 创建知识地图(MOC)
|
||||
1. 扫描相关主题的所有笔记
|
||||
2. 按逻辑关系分组
|
||||
3. 生成带分类的双链列表
|
||||
4. 添加简短说明文字
|
||||
|
||||
---
|
||||
|
||||
## 协作约定
|
||||
|
||||
### 我会主动
|
||||
- 发现笔记中的重复内容时提醒
|
||||
- 注意到孤立笔记时建议建立链接
|
||||
- 遇到不确定内容时明确标注
|
||||
|
||||
### 我不会主动
|
||||
- 删除任何看似冗余的内容(除非你明确要求)
|
||||
- 执行大规模重构(除非你确认计划)
|
||||
- 修改已有笔记的核心观点
|
||||
|
||||
### 遇到不确定时
|
||||
- 提供 2-3 个选项供选择
|
||||
- 说明每个选项的优缺点
|
||||
- 询问你的偏好而非自行决定
|
||||
|
||||
---
|
||||
|
||||
## 快速命令参考
|
||||
|
||||
| 需求 | 建议说法 |
|
||||
|------|---------|
|
||||
| 整理单个笔记 | "整理这篇笔记,建议放置位置和标签" |
|
||||
| 合并重复内容 | "对比这几篇笔记,给出合并方案" |
|
||||
| 创建主题地图 | "为 XX 主题创建 MOC" |
|
||||
| 批量归档 | "整理 Inbox,给出移动计划" |
|
||||
| 检查链接完整性 | "检查这篇笔记的所有链接是否有效" |
|
||||
|
||||
---
|
||||
|
||||
_此指南是对 Claudian 基础能力的补充,不替换其技术操作规范。_
|
||||
_最后更新:2026-01-05_
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+122
-2
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"userName": "",
|
||||
"userName": "windy",
|
||||
"enableBlocklist": true,
|
||||
"blockedCommands": {
|
||||
"unix": [
|
||||
@@ -41,7 +41,7 @@
|
||||
"model": "sonnet",
|
||||
"enableAutoTitleGeneration": true,
|
||||
"titleGenerationModel": "",
|
||||
"thinkingBudget": "low",
|
||||
"thinkingBudget": "medium",
|
||||
"permissionMode": "normal",
|
||||
"lastNonPlanPermissionMode": "normal",
|
||||
"permissions": [
|
||||
@@ -164,6 +164,126 @@
|
||||
"pattern": "python .scripts/rename-chinese-to-english.py --execute 2>&1 | grep -E \"^\\[\" | tail -30",
|
||||
"approvedAt": 1767594293947,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Bash",
|
||||
"pattern": "ls 00_Inbox/*.md 2>&1 | head -5",
|
||||
"approvedAt": 1767604467950,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Bash",
|
||||
"pattern": "ls 03_Resources/*.md 2>&1 | head -5",
|
||||
"approvedAt": 1767604961692,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": ".claude/project-instructions.md",
|
||||
"approvedAt": 1767605314357,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Edit",
|
||||
"pattern": "2026-01-05.md",
|
||||
"approvedAt": 1767605423829,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "WebFetch",
|
||||
"pattern": "{\"url\":\"https://silentvoid13.github.io/Templater\",\"prompt\":\"提取Templater插件的主要功能、安装方法、基本使用方式和核心语法\"}",
|
||||
"approvedAt": 1767605778052,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templater使用指南.md",
|
||||
"approvedAt": 1767606555612,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Bash",
|
||||
"pattern": "mkdir -p \"06_Metadata/Templates\"",
|
||||
"approvedAt": 1767606562910,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templates/daily-note.md",
|
||||
"approvedAt": 1767606599739,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templates/project.md",
|
||||
"approvedAt": 1767606602396,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templates/meeting.md",
|
||||
"approvedAt": 1767606604749,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templates/quick-note.md",
|
||||
"approvedAt": 1767606606848,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templates/book-note.md",
|
||||
"approvedAt": 1767606608965,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templates/person.md",
|
||||
"approvedAt": 1767606610745,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templater配置指南.md",
|
||||
"approvedAt": 1767606650610,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Templater快速参考.md",
|
||||
"approvedAt": 1767606680611,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Bash",
|
||||
"pattern": "cd 06_Metadata && mv \"Templater使用指南.md\" \"Templater-User-Guide.md\" && mv \"Templater配置指南.md\" \"Templater-Setup-Guide.md\" && mv \"Templater快速参考.md\" \"Templater-Quick-Reference.md\"",
|
||||
"approvedAt": 1767606719668,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Bash",
|
||||
"pattern": "ls -lh 06_Metadata/*.md",
|
||||
"approvedAt": 1767606724364,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Edit",
|
||||
"pattern": "06_Metadata/Templater-Setup-Guide.md",
|
||||
"approvedAt": 1767606758871,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Edit",
|
||||
"pattern": "06_Metadata/Templater-Quick-Reference.md",
|
||||
"approvedAt": 1767606763446,
|
||||
"scope": "always"
|
||||
},
|
||||
{
|
||||
"toolName": "Write",
|
||||
"pattern": "06_Metadata/Obsidian-Plugins-Manual.md",
|
||||
"approvedAt": 1767608585967,
|
||||
"scope": "always"
|
||||
}
|
||||
],
|
||||
"excludedTags": [],
|
||||
|
||||
Vendored
+2
-3
@@ -13,8 +13,6 @@
|
||||
"omnisearch",
|
||||
"copilot",
|
||||
"easy-typing-obsidian",
|
||||
"obsidian-languagetool-plugin",
|
||||
"code-styler",
|
||||
"obsidian-advanced-uri",
|
||||
"advanced-canvas",
|
||||
"obsidian-advanced-codeblock",
|
||||
@@ -23,5 +21,6 @@
|
||||
"obsidian-excalidraw-plugin",
|
||||
"mcp-tools",
|
||||
"obsidian-mind-map",
|
||||
"cm-chs-patch"
|
||||
"cm-chs-patch",
|
||||
"quickadd"
|
||||
]
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"statusBar": [
|
||||
{
|
||||
"prefix": "",
|
||||
"suffix": " words",
|
||||
"metric": {
|
||||
"type": 0,
|
||||
"counter": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"prefix": " ",
|
||||
"suffix": " characters",
|
||||
"metric": {
|
||||
"type": 0,
|
||||
"counter": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"altBar": [
|
||||
{
|
||||
"prefix": "",
|
||||
"suffix": " files",
|
||||
"metric": {
|
||||
"type": 2,
|
||||
"counter": 6
|
||||
}
|
||||
}
|
||||
],
|
||||
"countComments": true,
|
||||
"collectStats": true,
|
||||
"displaySectionCounts": true,
|
||||
"pageWords": 300,
|
||||
"statsPath": ".obsidian/vault-stats.json"
|
||||
}
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"activeConversationId": "conv-1767580128265-wgxq6kbnf",
|
||||
"activeConversationId": "conv-1767607708938-lh0h0m9vo",
|
||||
"lastEnvHash": "",
|
||||
"lastClaudeModel": "sonnet",
|
||||
"lastCustomModel": ""
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"useJieba": true,
|
||||
"hmm": false,
|
||||
"hmm": true,
|
||||
"dict": "",
|
||||
"moveByChineseWords": true,
|
||||
"moveTillChinesePunctuation": true
|
||||
|
||||
-457
@@ -1,457 +0,0 @@
|
||||
{
|
||||
"themes": {
|
||||
"Default": {
|
||||
"settings": {
|
||||
"codeblock": {
|
||||
"lineNumbers": true,
|
||||
"unwrapLines": true,
|
||||
"wrapLinesActive": false,
|
||||
"curvature": 4
|
||||
},
|
||||
"gutter": {
|
||||
"highlight": true,
|
||||
"activeLine": false
|
||||
},
|
||||
"header": {
|
||||
"title": {
|
||||
"textFont": "",
|
||||
"textBold": false,
|
||||
"textItalic": true
|
||||
},
|
||||
"languageTag": {
|
||||
"display": "none",
|
||||
"textFont": "",
|
||||
"textBold": true,
|
||||
"textItalic": false
|
||||
},
|
||||
"languageIcon": {
|
||||
"display": "none",
|
||||
"displayColour": true
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepository": true,
|
||||
"displayVersion": true,
|
||||
"displayTimestamp": true
|
||||
},
|
||||
"fontSize": 14,
|
||||
"foldPlaceholder": ""
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLine": false,
|
||||
"activeEditorLine": false
|
||||
},
|
||||
"inline": {
|
||||
"syntaxHighlight": true,
|
||||
"style": true,
|
||||
"fontWeight": 4,
|
||||
"curvature": 6,
|
||||
"paddingVertical": 5,
|
||||
"paddingHorizontal": 5,
|
||||
"marginHorizontal": 0,
|
||||
"titleFontWeight": 8
|
||||
},
|
||||
"advanced": {
|
||||
"gradientHighlights": false,
|
||||
"gradientHighlightsColourStop": "70%",
|
||||
"languageBorderColour": false,
|
||||
"languageBorderWidth": 5,
|
||||
"iconSize": 28
|
||||
}
|
||||
},
|
||||
"colours": {
|
||||
"light": {
|
||||
"codeblock": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--code-normal"
|
||||
},
|
||||
"gutter": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--text-faint",
|
||||
"activeTextColour": "--text-muted"
|
||||
},
|
||||
"header": {
|
||||
"backgroundColour": "--code-background",
|
||||
"title": {
|
||||
"textColour": "--code-comment"
|
||||
},
|
||||
"languageTag": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--code-comment"
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepositoryColour": "#00FFFF",
|
||||
"displayVersionColour": "#FF00FF",
|
||||
"displayTimestampColour": "#808080"
|
||||
},
|
||||
"lineColour": "--color-base-30"
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLineColour": "--color-base-30",
|
||||
"activeEditorLineColour": "--color-base-20",
|
||||
"defaultColour": "--text-highlight-bg",
|
||||
"alternativeHighlights": {}
|
||||
},
|
||||
"inline": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--code-normal",
|
||||
"activeTextColour": "--code-normal",
|
||||
"titleTextColour": "--code-comment"
|
||||
},
|
||||
"advanced": {
|
||||
"buttonColour": "--text-muted",
|
||||
"buttonActiveColour": "--text-normal"
|
||||
}
|
||||
},
|
||||
"dark": {
|
||||
"codeblock": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--code-normal"
|
||||
},
|
||||
"gutter": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--text-faint",
|
||||
"activeTextColour": "--text-muted"
|
||||
},
|
||||
"header": {
|
||||
"backgroundColour": "--code-background",
|
||||
"title": {
|
||||
"textColour": "--code-comment"
|
||||
},
|
||||
"languageTag": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--code-comment"
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepositoryColour": "#00FFFF",
|
||||
"displayVersionColour": "#FF00FF",
|
||||
"displayTimestampColour": "#808080"
|
||||
},
|
||||
"lineColour": "--color-base-30"
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLineColour": "--color-base-30",
|
||||
"activeEditorLineColour": "--color-base-20",
|
||||
"defaultColour": "--text-highlight-bg",
|
||||
"alternativeHighlights": {}
|
||||
},
|
||||
"inline": {
|
||||
"backgroundColour": "--code-background",
|
||||
"textColour": "--code-normal",
|
||||
"activeTextColour": "--code-normal",
|
||||
"titleTextColour": "--code-comment"
|
||||
},
|
||||
"advanced": {
|
||||
"buttonColour": "--text-muted",
|
||||
"buttonActiveColour": "--text-normal"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Solarized": {
|
||||
"settings": {
|
||||
"codeblock": {
|
||||
"lineNumbers": true,
|
||||
"unwrapLines": true,
|
||||
"wrapLinesActive": false,
|
||||
"curvature": 4
|
||||
},
|
||||
"gutter": {
|
||||
"highlight": true,
|
||||
"activeLine": false
|
||||
},
|
||||
"header": {
|
||||
"title": {
|
||||
"textFont": "",
|
||||
"textBold": false,
|
||||
"textItalic": true
|
||||
},
|
||||
"languageTag": {
|
||||
"display": "none",
|
||||
"textFont": "",
|
||||
"textBold": true,
|
||||
"textItalic": false
|
||||
},
|
||||
"languageIcon": {
|
||||
"display": "none",
|
||||
"displayColour": true
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepository": true,
|
||||
"displayVersion": true,
|
||||
"displayTimestamp": true
|
||||
},
|
||||
"fontSize": 14,
|
||||
"foldPlaceholder": ""
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLine": false,
|
||||
"activeEditorLine": false
|
||||
},
|
||||
"inline": {
|
||||
"syntaxHighlight": true,
|
||||
"style": true,
|
||||
"fontWeight": 4,
|
||||
"curvature": 6,
|
||||
"paddingVertical": 5,
|
||||
"paddingHorizontal": 5,
|
||||
"marginHorizontal": 0,
|
||||
"titleFontWeight": 8
|
||||
},
|
||||
"advanced": {
|
||||
"gradientHighlights": false,
|
||||
"gradientHighlightsColourStop": "70%",
|
||||
"languageBorderColour": false,
|
||||
"languageBorderWidth": 5,
|
||||
"iconSize": 28
|
||||
}
|
||||
},
|
||||
"colours": {
|
||||
"light": {
|
||||
"codeblock": {
|
||||
"backgroundColour": "#fdf6e3",
|
||||
"textColour": "#bababa"
|
||||
},
|
||||
"gutter": {
|
||||
"backgroundColour": "#eee8d5",
|
||||
"textColour": "#6c6c6c",
|
||||
"activeTextColour": "#8c8c8c"
|
||||
},
|
||||
"header": {
|
||||
"backgroundColour": "#D5CCB4",
|
||||
"title": {
|
||||
"textColour": "#866704"
|
||||
},
|
||||
"languageTag": {
|
||||
"backgroundColour": "#B8B5AA",
|
||||
"textColour": "#C25F30"
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepositoryColour": "#941100",
|
||||
"displayVersionColour": "#ff9300",
|
||||
"displayTimestampColour": "#808080"
|
||||
},
|
||||
"lineColour": "#EDD489"
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLineColour": "#eee8d5",
|
||||
"activeEditorLineColour": "#60460633",
|
||||
"defaultColour": "#E9DFBA",
|
||||
"alternativeHighlights": {}
|
||||
},
|
||||
"inline": {
|
||||
"backgroundColour": "#fdf6e3",
|
||||
"textColour": "#bababa",
|
||||
"activeTextColour": "#bababa",
|
||||
"titleTextColour": "#C25F30"
|
||||
},
|
||||
"advanced": {
|
||||
"buttonColour": "--text-muted",
|
||||
"buttonActiveColour": "--text-normal"
|
||||
}
|
||||
},
|
||||
"dark": {
|
||||
"codeblock": {
|
||||
"backgroundColour": "#002b36",
|
||||
"textColour": "#bababa"
|
||||
},
|
||||
"gutter": {
|
||||
"backgroundColour": "#073642",
|
||||
"textColour": "#6c6c6c",
|
||||
"activeTextColour": "#4c4c4c"
|
||||
},
|
||||
"header": {
|
||||
"backgroundColour": "#0a4554",
|
||||
"title": {
|
||||
"textColour": "#dadada"
|
||||
},
|
||||
"languageTag": {
|
||||
"backgroundColour": "#008080",
|
||||
"textColour": "#000000"
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepositoryColour": "#00FFFF",
|
||||
"displayVersionColour": "#9437ff",
|
||||
"displayTimestampColour": "#808080"
|
||||
},
|
||||
"lineColour": "#46cced"
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLineColour": "#073642",
|
||||
"activeEditorLineColour": "#468eeb33",
|
||||
"defaultColour": "#054b5c",
|
||||
"alternativeHighlights": {}
|
||||
},
|
||||
"inline": {
|
||||
"backgroundColour": "#002b36",
|
||||
"textColour": "#bababa",
|
||||
"activeTextColour": "#bababa",
|
||||
"titleTextColour": "#000000"
|
||||
},
|
||||
"advanced": {
|
||||
"buttonColour": "--text-muted",
|
||||
"buttonActiveColour": "--text-normal"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"selectedTheme": "Solarized",
|
||||
"currentTheme": {
|
||||
"settings": {
|
||||
"codeblock": {
|
||||
"lineNumbers": true,
|
||||
"unwrapLines": true,
|
||||
"wrapLinesActive": true,
|
||||
"curvature": 4
|
||||
},
|
||||
"gutter": {
|
||||
"highlight": true,
|
||||
"activeLine": false
|
||||
},
|
||||
"header": {
|
||||
"title": {
|
||||
"textFont": "",
|
||||
"textBold": false,
|
||||
"textItalic": true
|
||||
},
|
||||
"languageTag": {
|
||||
"display": "none",
|
||||
"textFont": "",
|
||||
"textBold": true,
|
||||
"textItalic": false
|
||||
},
|
||||
"languageIcon": {
|
||||
"display": "none",
|
||||
"displayColour": true
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepository": true,
|
||||
"displayVersion": true,
|
||||
"displayTimestamp": true
|
||||
},
|
||||
"fontSize": 14,
|
||||
"foldPlaceholder": ""
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLine": false,
|
||||
"activeEditorLine": false
|
||||
},
|
||||
"inline": {
|
||||
"syntaxHighlight": true,
|
||||
"style": true,
|
||||
"fontWeight": 4,
|
||||
"curvature": 6,
|
||||
"paddingVertical": 5,
|
||||
"paddingHorizontal": 5,
|
||||
"marginHorizontal": 0,
|
||||
"titleFontWeight": 8
|
||||
},
|
||||
"advanced": {
|
||||
"gradientHighlights": false,
|
||||
"gradientHighlightsColourStop": "70%",
|
||||
"languageBorderColour": false,
|
||||
"languageBorderWidth": 5,
|
||||
"iconSize": 28
|
||||
}
|
||||
},
|
||||
"colours": {
|
||||
"light": {
|
||||
"codeblock": {
|
||||
"backgroundColour": "#fdf6e3",
|
||||
"textColour": "#bababa"
|
||||
},
|
||||
"gutter": {
|
||||
"backgroundColour": "#eee8d5",
|
||||
"textColour": "#6c6c6c",
|
||||
"activeTextColour": "#8c8c8c"
|
||||
},
|
||||
"header": {
|
||||
"backgroundColour": "#D5CCB4",
|
||||
"title": {
|
||||
"textColour": "#866704"
|
||||
},
|
||||
"languageTag": {
|
||||
"backgroundColour": "#B8B5AA",
|
||||
"textColour": "#C25F30"
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepositoryColour": "#941100",
|
||||
"displayVersionColour": "#ff9300",
|
||||
"displayTimestampColour": "#808080"
|
||||
},
|
||||
"lineColour": "#EDD489"
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLineColour": "#eee8d5",
|
||||
"activeEditorLineColour": "#60460633",
|
||||
"defaultColour": "#E9DFBA",
|
||||
"alternativeHighlights": {}
|
||||
},
|
||||
"inline": {
|
||||
"backgroundColour": "#fdf6e3",
|
||||
"textColour": "#bababa",
|
||||
"activeTextColour": "#bababa",
|
||||
"titleTextColour": "#C25F30"
|
||||
},
|
||||
"advanced": {
|
||||
"buttonColour": "--text-muted",
|
||||
"buttonActiveColour": "--text-normal"
|
||||
}
|
||||
},
|
||||
"dark": {
|
||||
"codeblock": {
|
||||
"backgroundColour": "#002b36",
|
||||
"textColour": "#bababa"
|
||||
},
|
||||
"gutter": {
|
||||
"backgroundColour": "#073642",
|
||||
"textColour": "#6c6c6c",
|
||||
"activeTextColour": "#4c4c4c"
|
||||
},
|
||||
"header": {
|
||||
"backgroundColour": "#0a4554",
|
||||
"title": {
|
||||
"textColour": "#dadada"
|
||||
},
|
||||
"languageTag": {
|
||||
"backgroundColour": "#008080",
|
||||
"textColour": "#000000"
|
||||
},
|
||||
"externalReference": {
|
||||
"displayRepositoryColour": "#00FFFF",
|
||||
"displayVersionColour": "#9437ff",
|
||||
"displayTimestampColour": "#808080"
|
||||
},
|
||||
"lineColour": "#46cced"
|
||||
},
|
||||
"highlights": {
|
||||
"activeCodeblockLineColour": "#073642",
|
||||
"activeEditorLineColour": "#468eeb33",
|
||||
"defaultColour": "#054b5c",
|
||||
"alternativeHighlights": {}
|
||||
},
|
||||
"inline": {
|
||||
"backgroundColour": "#002b36",
|
||||
"textColour": "#bababa",
|
||||
"activeTextColour": "#bababa",
|
||||
"titleTextColour": "#000000"
|
||||
},
|
||||
"advanced": {
|
||||
"buttonColour": "--text-muted",
|
||||
"buttonActiveColour": "--text-normal"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"newTheme": "",
|
||||
"newHighlight": "",
|
||||
"exampleCodeblockParameters": "python title:foo",
|
||||
"exampleCodeblockContent": "print(\"This line is very long and should be used as an example for how the plugin deals with wrapping and unwrapping very long lines given the choice of codeblock parameters and settings.\")\nprint(\"This line is highlighted.\")",
|
||||
"exampleInlineCode": "{python icon title:foo} print(\"This is inline code\")",
|
||||
"decoratePrint": true,
|
||||
"excludedLanguages": "ad-*, reference",
|
||||
"externalReferenceUpdateOnLoad": false,
|
||||
"processedCodeblocksWhitelist": "run-*, include",
|
||||
"redirectLanguages": {},
|
||||
"version": "1.1.7"
|
||||
}
|
||||
-20045
File diff suppressed because one or more lines are too long
-11
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"id": "code-styler",
|
||||
"name": "Code Styler",
|
||||
"version": "1.1.7",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Style and customize codeblocks and inline code in both editing mode and reading mode.",
|
||||
"author": "Mayuran Visakan",
|
||||
"authorUrl": "https://github.com/mayurankv",
|
||||
"fundingUrl": "https://www.buymeacoffee.com/mayurankv2",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
-1348
File diff suppressed because it is too large
Load Diff
Vendored
+1
-1
@@ -16,7 +16,7 @@
|
||||
"openRouterAiApiKey": "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",
|
||||
"xaiApiKey": "",
|
||||
"mistralApiKey": "",
|
||||
"deepseekApiKey": "",
|
||||
"deepseekApiKey": "sk-44363e94da3847169ac6d7e1aba13fb1",
|
||||
"amazonBedrockApiKey": "",
|
||||
"amazonBedrockRegion": "",
|
||||
"siliconflowApiKey": "",
|
||||
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"renderNullAs": "\\-",
|
||||
"taskCompletionTracking": true,
|
||||
"taskCompletionUseEmojiShorthand": true,
|
||||
"taskCompletionText": "completion",
|
||||
"taskCompletionDateFormat": "yyyy-MM-dd",
|
||||
"recursiveSubTaskCompletion": true,
|
||||
"warnOnEmptyResult": true,
|
||||
"refreshEnabled": true,
|
||||
"refreshInterval": 2500,
|
||||
"defaultDateFormat": "MMMM dd, yyyy",
|
||||
"defaultDateTimeFormat": "h:mm a - MMMM dd, yyyy",
|
||||
"maxRecursiveRenderDepth": 4,
|
||||
"tableIdColumnName": "File",
|
||||
"tableGroupColumnName": "Group",
|
||||
"showResultCount": true,
|
||||
"allowHtml": true,
|
||||
"inlineQueryPrefix": "=",
|
||||
"inlineJsQueryPrefix": "$=",
|
||||
"inlineQueriesInCodeblocks": true,
|
||||
"enableInlineDataview": true,
|
||||
"enableDataviewJs": true,
|
||||
"enableInlineDataviewJs": true,
|
||||
"prettyRenderInlineFields": true,
|
||||
"prettyRenderInlineFieldsInLivePreview": true,
|
||||
"dataviewJsKeyword": "dataviewjs"
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"Tabout": true,
|
||||
"SelectionEnhance": true,
|
||||
"IntrinsicSymbolPairs": true,
|
||||
"BaseObEditEnhance": true,
|
||||
"FW2HWEnhance": true,
|
||||
"BetterCodeEdit": true,
|
||||
"BetterBackspace": true,
|
||||
"AutoFormat": true,
|
||||
"ExcludeFiles": "",
|
||||
"ChineseEnglishSpace": true,
|
||||
"ChineseNumberSpace": true,
|
||||
"EnglishNumberSpace": true,
|
||||
"ChineseNoSpace": true,
|
||||
"QuoteSpace": true,
|
||||
"PunctuationSpace": true,
|
||||
"AutoCapital": true,
|
||||
"AutoCapitalMode": "typing",
|
||||
"PunctuationSpaceMode": "typing",
|
||||
"InlineCodeSpaceMode": 1,
|
||||
"InlineFormulaSpaceMode": 1,
|
||||
"InlineLinkSpaceMode": 1,
|
||||
"InlineLinkSmartSpace": true,
|
||||
"UserDefinedRegSwitch": true,
|
||||
"UserDefinedRegExp": "{{.*?}}|++\n<.*?>|--\n\\[\\!.*?\\][-+]{0,1}|-+\n(file:///|https?://|ftp://|obsidian://|zotero://|www.)[^\\s()《》。,,!?;;:“”‘’\\)\\(\\[\\]\\{\\}']+|--\n\n[a-zA-Z0-9_\\-.]+@[a-zA-Z0-9_\\-.]+|++\n(?<!#)#[\\u4e00-\\u9fa5\\w-\\/]+|++",
|
||||
"debug": false,
|
||||
"userSelRepRuleTrigger": [
|
||||
"-",
|
||||
"#"
|
||||
],
|
||||
"userSelRepRuleValue": [
|
||||
{
|
||||
"left": "~~",
|
||||
"right": "~~"
|
||||
},
|
||||
{
|
||||
"left": "#",
|
||||
"right": " "
|
||||
}
|
||||
],
|
||||
"userDeleteRulesStrList": [
|
||||
[
|
||||
"demo|",
|
||||
"|"
|
||||
]
|
||||
],
|
||||
"userConvertRulesStrList": [
|
||||
[
|
||||
":)|",
|
||||
"😀|"
|
||||
]
|
||||
],
|
||||
"userSelRuleSettingsOpen": true,
|
||||
"userDelRuleSettingsOpen": true,
|
||||
"userCvtRuleSettingsOpen": true,
|
||||
"StrictModeEnter": false,
|
||||
"StrictLineMode": "enter_twice",
|
||||
"EnhanceModA": false,
|
||||
"TryFixChineseIM": true,
|
||||
"PuncRectify": false,
|
||||
"FixMacOSContextMenu": false,
|
||||
"TryFixMSIME": false,
|
||||
"CollapsePersistentEnter": false
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"openFileOnWrite": true,
|
||||
"openDailyInNewPane": true,
|
||||
"openFileOnWriteInNewPane": true,
|
||||
"openFileWithoutWriteInNewPane": false,
|
||||
"idField": "id",
|
||||
"useUID": false,
|
||||
"addFilepathWhenUsingUID": false,
|
||||
"allowEval": false,
|
||||
"includeVaultName": true,
|
||||
"vaultParam": "name",
|
||||
"linkFormats": [
|
||||
{
|
||||
"name": "Markdown",
|
||||
"format": "[{{name}}]({{uri}})"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -482,7 +482,7 @@
|
||||
"markdownNodeOneClickEditing": false,
|
||||
"canvasImmersiveEmbed": true,
|
||||
"startupScriptPath": "",
|
||||
"aiEnabled": true,
|
||||
"aiEnabled": false,
|
||||
"openAIAPIToken": "",
|
||||
"openAIDefaultTextModel": "gpt-3.5-turbo-1106",
|
||||
"openAIDefaultTextModelMaxTokens": 4096,
|
||||
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"commitMessage": "vault backup: {{date}}",
|
||||
"autoCommitMessage": "vault backup: {{date}}",
|
||||
"commitMessageScript": "",
|
||||
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
|
||||
"autoSaveInterval": 0,
|
||||
"autoPushInterval": 0,
|
||||
"autoPullInterval": 0,
|
||||
"autoPullOnBoot": true,
|
||||
"autoCommitOnlyStaged": false,
|
||||
"disablePush": false,
|
||||
"pullBeforePush": true,
|
||||
"disablePopups": false,
|
||||
"showErrorNotices": true,
|
||||
"disablePopupsForNoChanges": false,
|
||||
"listChangedFilesInMessageBody": false,
|
||||
"showStatusBar": true,
|
||||
"updateSubmodules": false,
|
||||
"syncMethod": "merge",
|
||||
"customMessageOnAutoBackup": false,
|
||||
"autoBackupAfterFileChange": false,
|
||||
"treeStructure": false,
|
||||
"refreshSourceControl": true,
|
||||
"basePath": "",
|
||||
"differentIntervalCommitAndPush": false,
|
||||
"changedFilesInStatusBar": false,
|
||||
"showedMobileNotice": true,
|
||||
"refreshSourceControlTimer": 7000,
|
||||
"showBranchStatusBar": true,
|
||||
"setLastSaveToLastCommit": false,
|
||||
"submoduleRecurseCheckout": false,
|
||||
"gitDir": "",
|
||||
"showFileMenu": true,
|
||||
"authorInHistoryView": "hide",
|
||||
"dateInHistoryView": false,
|
||||
"diffStyle": "split",
|
||||
"lineAuthor": {
|
||||
"show": false,
|
||||
"followMovement": "inactive",
|
||||
"authorDisplay": "initials",
|
||||
"showCommitHash": false,
|
||||
"dateTimeFormatOptions": "date",
|
||||
"dateTimeFormatCustomString": "YYYY-MM-DD HH:mm",
|
||||
"dateTimeTimezone": "viewer-local",
|
||||
"coloringMaxAge": "1y",
|
||||
"colorNew": {
|
||||
"r": 255,
|
||||
"g": 150,
|
||||
"b": 150
|
||||
},
|
||||
"colorOld": {
|
||||
"r": 120,
|
||||
"g": 160,
|
||||
"b": 255
|
||||
},
|
||||
"textColorCss": "var(--text-muted)",
|
||||
"ignoreWhitespace": false,
|
||||
"gutterSpacingFallbackLength": 5,
|
||||
"lastShownAuthorDisplay": "initials",
|
||||
"lastShownDateTimeFormatOptions": "date"
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -14,10 +14,10 @@
|
||||
"bottom": 0,
|
||||
"left": 0
|
||||
},
|
||||
"iconInTabsEnabled": false,
|
||||
"iconInTitleEnabled": false,
|
||||
"iconInTabsEnabled": true,
|
||||
"iconInTitleEnabled": true,
|
||||
"iconInTitlePosition": "above",
|
||||
"iconInFrontmatterEnabled": false,
|
||||
"iconInFrontmatterEnabled": true,
|
||||
"iconInFrontmatterFieldName": "icon",
|
||||
"iconColorInFrontmatterFieldName": "iconColor",
|
||||
"iconsBackgroundCheckEnabled": false,
|
||||
|
||||
+4
-1
@@ -1 +1,4 @@
|
||||
{}
|
||||
{
|
||||
"show-checkboxes": true,
|
||||
"hide-card-count": true
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"id": "obsidian-languagetool-plugin",
|
||||
"name": "LanguageTool Integration",
|
||||
"version": "0.3.7",
|
||||
"minAppVersion": "0.15.2",
|
||||
"description": "Inofficial LanguageTool plugin",
|
||||
"author": "Clemens Ertle",
|
||||
"authorUrl": "https://github.com/Clemens-E",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
@@ -1,204 +0,0 @@
|
||||
.lt-underline {
|
||||
cursor: pointer;
|
||||
transition: background-color 100ms ease-out;
|
||||
}
|
||||
|
||||
.lt-underline.lt-minor {
|
||||
box-shadow: inset 0 -2px #e9b35f;
|
||||
}
|
||||
|
||||
.lt-underline.lt-major {
|
||||
box-shadow: inset 0 -2px #da615c;
|
||||
}
|
||||
|
||||
.lt-underline.lt-style {
|
||||
box-shadow: inset 0 -2px #8981f3;
|
||||
}
|
||||
|
||||
.lt-underline.lt-minor:hover {
|
||||
background-color: #e9b35f21;
|
||||
}
|
||||
|
||||
.lt-underline.lt-major:hover {
|
||||
background-color: #da615c21;
|
||||
}
|
||||
|
||||
.lt-underline.lt-style:hover {
|
||||
background-color: #8981f321;
|
||||
}
|
||||
|
||||
@keyframes lineInserted {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.lt-predictions-container-glass.cm-tooltip,
|
||||
.lt-predictions-container.cm-tooltip,
|
||||
.lt-predictions-container-glass,
|
||||
.lt-predictions-container {
|
||||
position: absolute;
|
||||
animation-duration: 150ms;
|
||||
animation-name: lineInserted;
|
||||
font-family: var(--default-font);
|
||||
font-size: 0.93rem;
|
||||
padding: 12px 0 0;
|
||||
background-color: var(--background-primary);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 6px;
|
||||
width: 300px;
|
||||
line-height: 1.5;
|
||||
z-index: var(--layer-popover);
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.lt-predictions-container-glass {
|
||||
background: hsla(0, 0%, 100%, 0.25);
|
||||
backdrop-filter: blur(12px);
|
||||
}
|
||||
|
||||
.lt-predictions-container > button {
|
||||
transition-delay: 0.5s;
|
||||
}
|
||||
|
||||
.lt-buttoncontainer:not(:empty) {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.lt-buttoncontainer > button {
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
font-size: 1rem;
|
||||
margin-right: 4px;
|
||||
margin-bottom: 4px;
|
||||
padding: 4px 10px;
|
||||
}
|
||||
|
||||
.lt-title {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
margin-bottom: 6px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.lt-message {
|
||||
padding: 0 12px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.lt-bottom {
|
||||
min-height: 10px;
|
||||
padding-left: 12px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.lt-info-container {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.lt-info-button {
|
||||
color: var(--text-faint);
|
||||
}
|
||||
|
||||
.lt-info-box {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
animation-duration: 150ms;
|
||||
animation-name: lineInserted;
|
||||
font-family: var(--default-font);
|
||||
font-size: 0.93rem;
|
||||
padding: 12px 0;
|
||||
background-color: var(--background-primary);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 6px;
|
||||
line-height: 1.5;
|
||||
z-index: var(--layer-popover);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.lt-info {
|
||||
padding: 0 12px;
|
||||
display: block;
|
||||
font-size: 0.8rem;
|
||||
color: var(--text-muted);
|
||||
user-select: text;
|
||||
-webkit-user-select: text;
|
||||
}
|
||||
|
||||
.lt-ignorecontainer {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.lt-status-bar-btn {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
line-height: 1;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.lt-status-bar-check-icon {
|
||||
display: block;
|
||||
text-decoration: underline;
|
||||
text-decoration-style: dotted;
|
||||
}
|
||||
|
||||
.lt-ignore-btn {
|
||||
margin: 0;
|
||||
padding: 12px;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
border-radius: 0;
|
||||
align-items: center;
|
||||
line-height: 1;
|
||||
border-top: 1px solid var(--background-modifier-border);
|
||||
}
|
||||
|
||||
.lt-ignore-btn > span {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.lt-ignore-btn > span:last-child {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.lt-minor .lt-title > span {
|
||||
box-shadow: inset 0 -2px #e9b35f88;
|
||||
}
|
||||
|
||||
.lt-major .lt-title > span {
|
||||
box-shadow: inset 0 -2px #da615c88;
|
||||
}
|
||||
|
||||
.lt-style .lt-title > span {
|
||||
box-shadow: inset 0 -2px #8981f388;
|
||||
}
|
||||
|
||||
.lt-loading > svg {
|
||||
animation-name: spin;
|
||||
animation-duration: 1s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"presets": {
|
||||
"this_file": "path includes {{query.file.path}}",
|
||||
"this_folder": "folder includes {{query.file.folder}}",
|
||||
"this_folder_only": "filter by function task.file.folder === query.file.folder",
|
||||
"this_root": "root includes {{query.file.root}}",
|
||||
"hide_date_fields": "# Hide any values for all date fields\nhide due date\nhide scheduled date\nhide start date\nhide created date\nhide done date\nhide cancelled date",
|
||||
"hide_non_date_fields": "# Hide all the non-date fields, but not tags\nhide id\nhide depends on\nhide recurrence rule\nhide on completion\nhide priority",
|
||||
"hide_query_elements": "# Hide postpone, edit and backinks\nhide postpone button\nhide edit button\nhide backlinks",
|
||||
"hide_everything": "# Hide everything except description and any tags\npreset hide_date_fields\npreset hide_non_date_fields\npreset hide_query_elements"
|
||||
},
|
||||
"globalQuery": "",
|
||||
"globalFilter": "",
|
||||
"removeGlobalFilter": false,
|
||||
"taskFormat": "tasksPluginEmoji",
|
||||
"setCreatedDate": false,
|
||||
"setDoneDate": true,
|
||||
"setCancelledDate": true,
|
||||
"autoSuggestInEditor": true,
|
||||
"autoSuggestMinMatch": 0,
|
||||
"autoSuggestMaxItems": 20,
|
||||
"provideAccessKeys": true,
|
||||
"useFilenameAsScheduledDate": false,
|
||||
"filenameAsScheduledDateFormat": "",
|
||||
"filenameAsDateFolders": [],
|
||||
"recurrenceOnNextLine": false,
|
||||
"removeScheduledDateOnRecurrence": false,
|
||||
"statusSettings": {
|
||||
"coreStatuses": [
|
||||
{
|
||||
"symbol": " ",
|
||||
"name": "Todo",
|
||||
"nextStatusSymbol": "x",
|
||||
"availableAsCommand": true,
|
||||
"type": "TODO"
|
||||
},
|
||||
{
|
||||
"symbol": "x",
|
||||
"name": "Done",
|
||||
"nextStatusSymbol": " ",
|
||||
"availableAsCommand": true,
|
||||
"type": "DONE"
|
||||
}
|
||||
],
|
||||
"customStatuses": [
|
||||
{
|
||||
"symbol": "/",
|
||||
"name": "In Progress",
|
||||
"nextStatusSymbol": "x",
|
||||
"availableAsCommand": true,
|
||||
"type": "IN_PROGRESS"
|
||||
},
|
||||
{
|
||||
"symbol": "-",
|
||||
"name": "Cancelled",
|
||||
"nextStatusSymbol": " ",
|
||||
"availableAsCommand": true,
|
||||
"type": "CANCELLED"
|
||||
}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"INTERNAL_TESTING_ENABLED_BY_DEFAULT": true
|
||||
},
|
||||
"generalSettings": {},
|
||||
"headingOpened": {
|
||||
"核心状态": true,
|
||||
"自定义状态": true
|
||||
},
|
||||
"debugSettings": {
|
||||
"ignoreSortInstructions": false,
|
||||
"showTaskHiddenData": false,
|
||||
"recordTimings": false
|
||||
},
|
||||
"loggingOptions": {
|
||||
"minLevels": {
|
||||
"": "info",
|
||||
"tasks": "info",
|
||||
"tasks.Cache": "info",
|
||||
"tasks.Events": "info",
|
||||
"tasks.File": "info",
|
||||
"tasks.Query": "info",
|
||||
"tasks.Task": "info"
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+104
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"choices": [],
|
||||
"inputPrompt": "single-line",
|
||||
"devMode": false,
|
||||
"templateFolderPath": "06_Metadata/Templates",
|
||||
"announceUpdates": "all",
|
||||
"version": "2.9.4",
|
||||
"globalVariables": {},
|
||||
"onePageInputEnabled": false,
|
||||
"disableOnlineFeatures": true,
|
||||
"enableRibbonIcon": false,
|
||||
"showCaptureNotification": true,
|
||||
"showInputCancellationNotification": false,
|
||||
"enableTemplatePropertyTypes": true,
|
||||
"ai": {
|
||||
"defaultModel": "Ask me",
|
||||
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
|
||||
"promptTemplatesFolderPath": "",
|
||||
"showAssistant": true,
|
||||
"providers": [
|
||||
{
|
||||
"name": "OpenAI",
|
||||
"endpoint": "https://api.openai.com/v1",
|
||||
"apiKey": "",
|
||||
"models": [
|
||||
{
|
||||
"name": "text-davinci-003",
|
||||
"maxTokens": 4096
|
||||
},
|
||||
{
|
||||
"name": "gpt-3.5-turbo",
|
||||
"maxTokens": 4096
|
||||
},
|
||||
{
|
||||
"name": "gpt-3.5-turbo-16k",
|
||||
"maxTokens": 16384
|
||||
},
|
||||
{
|
||||
"name": "gpt-3.5-turbo-1106",
|
||||
"maxTokens": 16385
|
||||
},
|
||||
{
|
||||
"name": "gpt-4",
|
||||
"maxTokens": 8192
|
||||
},
|
||||
{
|
||||
"name": "gpt-4-32k",
|
||||
"maxTokens": 32768
|
||||
},
|
||||
{
|
||||
"name": "gpt-4-1106-preview",
|
||||
"maxTokens": 128000
|
||||
},
|
||||
{
|
||||
"name": "gpt-4-turbo",
|
||||
"maxTokens": 128000
|
||||
},
|
||||
{
|
||||
"name": "gpt-4o",
|
||||
"maxTokens": 128000
|
||||
},
|
||||
{
|
||||
"name": "gpt-4o-mini",
|
||||
"maxTokens": 128000
|
||||
}
|
||||
],
|
||||
"autoSyncModels": false,
|
||||
"modelSource": "modelsDev"
|
||||
},
|
||||
{
|
||||
"name": "Gemini",
|
||||
"endpoint": "https://generativelanguage.googleapis.com",
|
||||
"apiKey": "",
|
||||
"models": [
|
||||
{
|
||||
"name": "gemini-1.5-pro",
|
||||
"maxTokens": 1000000
|
||||
},
|
||||
{
|
||||
"name": "gemini-1.5-flash",
|
||||
"maxTokens": 1000000
|
||||
},
|
||||
{
|
||||
"name": "gemini-1.5-flash-8b",
|
||||
"maxTokens": 1000000
|
||||
}
|
||||
],
|
||||
"autoSyncModels": false,
|
||||
"modelSource": "modelsDev"
|
||||
}
|
||||
]
|
||||
},
|
||||
"migrations": {
|
||||
"migrateToMacroIDFromEmbeddedMacro": true,
|
||||
"useQuickAddTemplateFolder": true,
|
||||
"incrementFileNameSettingMoveToDefaultBehavior": true,
|
||||
"mutualExclusionInsertAfterAndWriteToBottomOfFile": true,
|
||||
"setVersionAfterUpdateModalRelease": true,
|
||||
"addDefaultAIProviders": true,
|
||||
"removeMacroIndirection": true,
|
||||
"migrateFileOpeningSettings": true,
|
||||
"setProviderModelDiscoveryMode": true
|
||||
}
|
||||
}
|
||||
Vendored
+107
File diff suppressed because one or more lines are too long
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"id": "quickadd",
|
||||
"name": "QuickAdd",
|
||||
"version": "2.9.4",
|
||||
"minAppVersion": "1.6.0",
|
||||
"description": "Quickly add new pages or content to your vault.",
|
||||
"author": "Christian B. B. Houmann",
|
||||
"authorUrl": "https://bagerbach.com",
|
||||
"fundingUrl": "https://www.buymeacoffee.com/chhoumann",
|
||||
"helpUrl": "https://quickadd.obsidian.guide/docs/",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
+1
File diff suppressed because one or more lines are too long
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"command_timeout": 5,
|
||||
"templates_folder": "06_Metadata/Templates",
|
||||
"templates_pairs": [
|
||||
[
|
||||
"",
|
||||
""
|
||||
]
|
||||
],
|
||||
"trigger_on_file_creation": true,
|
||||
"auto_jump_to_cursor": false,
|
||||
"enable_system_commands": false,
|
||||
"shell_path": "",
|
||||
"user_scripts_folder": "",
|
||||
"enable_folder_templates": true,
|
||||
"folder_templates": [
|
||||
{
|
||||
"folder": "00_Inbox",
|
||||
"template": "06_Metadata/Templates/Daily Note Template.md"
|
||||
},
|
||||
{
|
||||
"folder": "01_Projects",
|
||||
"template": "06_Metadata/Templates/Project Template.md"
|
||||
},
|
||||
{
|
||||
"folder": "03_Resources/Books",
|
||||
"template": "06_Metadata/Templates/book-note.md"
|
||||
}
|
||||
],
|
||||
"enable_file_templates": false,
|
||||
"file_templates": [
|
||||
{
|
||||
"regex": ".*",
|
||||
"template": ""
|
||||
}
|
||||
],
|
||||
"syntax_highlighting": true,
|
||||
"syntax_highlighting_mobile": false,
|
||||
"enabled_templates_hotkeys": [
|
||||
""
|
||||
],
|
||||
"startup_templates": [
|
||||
""
|
||||
],
|
||||
"intellisense_render": 1
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"history":{"2026-01-05":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":713710,"totalCharacters":4194148,"totalSentences":15884,"totalFootnotes":15,"totalCitations":4,"totalPages":2378.800000000001}},"modifiedFiles":{}}
|
||||
@@ -1,5 +1,7 @@
|
||||
|
||||
|
||||
https://platform.deepseek.com/api_keys
|
||||
|
||||
api key
|
||||
vscode:
|
||||
```
|
||||
@@ -11,3 +13,9 @@ zed:
|
||||
```
|
||||
sk-2f351b2c4d084e7c98a53311cf09e3da
|
||||
```
|
||||
|
||||
|
||||
Obsidian:
|
||||
```
|
||||
sk-44363e94da3847169ac6d7e1aba13fb1
|
||||
```
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,111 @@
|
||||
# Templater 快速参考
|
||||
|
||||
> 📌 **快速指南**:Templater 插件常用语法和命令速查表
|
||||
|
||||
## 🔥 常用语法(复制即用)
|
||||
|
||||
### 日期时间
|
||||
```templater
|
||||
今天:<% tp.date.now("YYYY-MM-DD") %>
|
||||
现在:<% tp.date.now("HH:mm") %>
|
||||
明天:<% tp.date.tomorrow("YYYY-MM-DD") %>
|
||||
昨天:<% tp.date.yesterday("YYYY-MM-DD") %>
|
||||
本周一:<% tp.date.weekday("YYYY-MM-DD", 1) %>
|
||||
```
|
||||
|
||||
### 文件信息
|
||||
```templater
|
||||
文件名:<% tp.file.title %>
|
||||
文件夹:<% tp.file.folder() %>
|
||||
创建时间:<% tp.file.creation_date("YYYY-MM-DD HH:mm") %>
|
||||
```
|
||||
|
||||
### 用户交互
|
||||
```templater
|
||||
输入框:<% tp.system.prompt("提示文字") %>
|
||||
下拉选择:<% tp.system.suggester(["选项1", "选项2"], ["值1", "值2"]) %>
|
||||
光标位置:<% tp.file.cursor() %>
|
||||
```
|
||||
|
||||
### 文件操作
|
||||
```javascript
|
||||
// 创建新笔记
|
||||
<%* await tp.file.create_new("模板名", "文件名", false, "文件夹") %>
|
||||
|
||||
// 移动文件
|
||||
<%* await tp.file.move("新路径/新文件名") %>
|
||||
|
||||
// 包含其他文件
|
||||
<% tp.file.include("[[笔记名]]") %>
|
||||
```
|
||||
|
||||
## ⌨️ 快捷键(需要先设置)
|
||||
|
||||
| 功能 | 推荐快捷键 |
|
||||
|------|-----------|
|
||||
| 从模板创建新笔记 | `Ctrl/Cmd + Shift + N` |
|
||||
| 插入模板到当前笔记 | `Ctrl/Cmd + T` |
|
||||
| 执行模板代码 | `Ctrl/Cmd + R` |
|
||||
|
||||
## 📁 模板文件位置
|
||||
|
||||
```
|
||||
06_Metadata/Templates/
|
||||
├── daily-note.md # 每日笔记
|
||||
├── project.md # 项目管理
|
||||
├── meeting.md # 会议记录
|
||||
├── quick-note.md # 快速笔记
|
||||
├── book-note.md # 读书笔记
|
||||
└── person.md # 人脉管理
|
||||
```
|
||||
|
||||
## 🎯 三步使用流程
|
||||
|
||||
1. **按快捷键** `Ctrl/Cmd + Shift + N`(或 `Ctrl/Cmd + P` → 搜索 "Templater")
|
||||
2. **选择模板**(如 `daily-note.md`)
|
||||
3. **输入文件名**,完成!
|
||||
|
||||
## 🛠️ 配置检查清单
|
||||
|
||||
- [ ] 设置模板文件夹:`06_Metadata/Templates`
|
||||
- [ ] 启用 "Trigger Templater on new file creation"
|
||||
- [ ] 启用 "Enable Folder Templates"
|
||||
- [ ] 配置文件夹模板映射
|
||||
- [ ] 设置快捷键
|
||||
|
||||
## 💡 实用代码片段
|
||||
|
||||
### 自动生成今日链接
|
||||
```
|
||||
[[<% tp.date.now("YYYY-MM-DD") %>]]
|
||||
```
|
||||
|
||||
### 带提示的项目笔记
|
||||
```markdown
|
||||
---
|
||||
project: <% tp.system.prompt("项目名称") %>
|
||||
created: <% tp.date.now("YYYY-MM-DD") %>
|
||||
---
|
||||
|
||||
# <% tp.system.prompt("项目名称") %>
|
||||
```
|
||||
|
||||
### 智能状态选择
|
||||
```javascript
|
||||
<%*
|
||||
const status = await tp.system.suggester(
|
||||
["🟢 进行中", "🟡 计划中", "🔴 已完成"],
|
||||
["active", "planned", "completed"]
|
||||
);
|
||||
tR += status;
|
||||
%>
|
||||
```
|
||||
|
||||
## 🔗 相关文档
|
||||
|
||||
- [[06_Metadata/Templater-Setup-Guide|Templater Setup Guide]]
|
||||
- [[06_Metadata/Templater-User-Guide|Templater User Guide]]
|
||||
|
||||
---
|
||||
|
||||
**提示**:将这个笔记固定在侧边栏,随时查阅!
|
||||
@@ -0,0 +1,157 @@
|
||||
# Templater 配置步骤
|
||||
|
||||
## 🎯 快速开始(3步完成配置)
|
||||
|
||||
### 第 1 步:配置模板文件夹
|
||||
|
||||
1. 打开 Obsidian 设置(`Ctrl/Cmd + ,`)
|
||||
2. 在左侧找到 **Templater** 插件
|
||||
3. 在 "Template folder location" 中输入:`06_Metadata/Templates`
|
||||
4. ✅ 勾选 "Trigger Templater on new file creation"(创建新文件时自动触发)
|
||||
|
||||
### 第 2 步:设置文件夹模板(可选但推荐)
|
||||
|
||||
在 Templater 设置中:
|
||||
|
||||
1. ✅ 勾选 "Enable Folder Templates"
|
||||
2. 点击 "Add New" 添加文件夹模板映射
|
||||
3. 推荐的映射:
|
||||
|
||||
| 文件夹 | 模板文件 | 说明 |
|
||||
|--------|---------|------|
|
||||
| `00_Inbox` | `06_Metadata/Templates/quick-note.md` | 收件箱快速笔记 |
|
||||
| `01_Projects` | `06_Metadata/Templates/project.md` | 项目笔记 |
|
||||
| `03_Resources/Books` | `06_Metadata/Templates/book-note.md` | 读书笔记 |
|
||||
|
||||
**配置方法**:
|
||||
- **Folder**:输入文件夹路径(如 `00_Inbox`)
|
||||
- **Template**:选择模板文件(如 `06_Metadata/Templates/quick-note.md`)
|
||||
|
||||
### 第 3 步:设置快捷键(推荐)
|
||||
|
||||
1. 打开 Obsidian 设置 → **快捷键**
|
||||
2. 搜索 "Templater"
|
||||
3. 为以下命令设置快捷键:
|
||||
|
||||
| 命令 | 推荐快捷键 | 功能 |
|
||||
|------|-----------|------|
|
||||
| `Templater: Create new note from template` | `Ctrl/Cmd + Shift + N` | 从模板创建新笔记 |
|
||||
| `Templater: Insert Template` | `Ctrl/Cmd + T` | 在当前笔记插入模板 |
|
||||
| `Templater: Replace templates in the active file` | `Ctrl/Cmd + R` | 执行当前文件中的模板代码 |
|
||||
|
||||
## 📚 已创建的模板
|
||||
|
||||
你的 vault 中现在有以下模板可用:
|
||||
|
||||
1. **daily-note.md** - 每日笔记模板
|
||||
- 适合:日记、每日计划、工作日志
|
||||
- 包含:任务列表、笔记区、想法记录
|
||||
|
||||
2. **project.md** - 项目管理模板
|
||||
- 适合:项目规划、OKR 跟踪
|
||||
- 包含:目标、时间线、团队成员、进展记录
|
||||
|
||||
3. **meeting.md** - 会议记录模板
|
||||
- 适合:各类会议记录
|
||||
- 包含:议程、讨论内容、行动项
|
||||
|
||||
4. **quick-note.md** - 快速笔记模板
|
||||
- 适合:临时想法、收件箱笔记
|
||||
- 包含:基本元数据和时间戳
|
||||
|
||||
5. **book-note.md** - 读书笔记模板
|
||||
- 适合:书籍阅读记录
|
||||
- 包含:书籍信息、核心观点、读书笔记
|
||||
|
||||
6. **person.md** - 人脉管理模板
|
||||
- 适合:联系人信息管理
|
||||
- 包含:基本信息、互动记录
|
||||
|
||||
## 🚀 如何使用模板
|
||||
|
||||
### 方法 1:命令面板(推荐新手)
|
||||
|
||||
1. 按 `Ctrl/Cmd + P` 打开命令面板
|
||||
2. 输入 "Templater"
|
||||
3. 选择 "Templater: Create new note from template"
|
||||
4. 选择你想使用的模板
|
||||
5. 输入新文件名
|
||||
|
||||
### 方法 2:快捷键(推荐熟练用户)
|
||||
|
||||
1. 按你设置的快捷键(如 `Ctrl/Cmd + Shift + N`)
|
||||
2. 选择模板
|
||||
3. 输入文件名
|
||||
|
||||
### 方法 3:自动应用(需要配置文件夹模板)
|
||||
|
||||
1. 在指定的文件夹中创建新笔记
|
||||
2. 模板会自动应用(如果你在第2步配置了文件夹模板)
|
||||
|
||||
### 方法 4:在现有笔记中插入
|
||||
|
||||
1. 打开一个现有笔记
|
||||
2. 按 `Ctrl/Cmd + T`(或你设置的快捷键)
|
||||
3. 选择要插入的模板
|
||||
|
||||
## 🎨 自定义模板
|
||||
|
||||
### 修改现有模板
|
||||
|
||||
1. 打开 `06_Metadata/Templates/` 文件夹
|
||||
2. 编辑任何 `.md` 模板文件
|
||||
3. 保存后立即生效
|
||||
|
||||
### 创建新模板
|
||||
|
||||
1. 在 `06_Metadata/Templates/` 创建新的 `.md` 文件
|
||||
2. 使用 Templater 语法编写模板
|
||||
3. 参考 [[06_Metadata/Templater-User-Guide|Templater User Guide]] 了解语法
|
||||
|
||||
## 💡 实用技巧
|
||||
|
||||
### 技巧 1:动态文件名
|
||||
|
||||
创建新笔记时,使用日期作为文件名:
|
||||
```
|
||||
<% tp.date.now("YYYY-MM-DD") %>-<% tp.system.prompt("笔记标题") %>
|
||||
```
|
||||
|
||||
### 技巧 2:智能提示
|
||||
|
||||
在模板中使用下拉选择:
|
||||
```javascript
|
||||
<% tp.system.suggester(["高", "中", "低"], ["high", "medium", "low"]) %>
|
||||
```
|
||||
|
||||
### 技巧 3:包含其他模板
|
||||
|
||||
在一个模板中包含另一个模板的内容:
|
||||
```
|
||||
<% tp.file.include("[[06_Metadata/Templates/common-header]]") %>
|
||||
```
|
||||
|
||||
## ❓ 常见问题
|
||||
|
||||
### Q: 模板中的代码没有执行?
|
||||
**A**: 确保你使用了正确的触发命令:
|
||||
- 创建新笔记:使用 "Create new note from template"
|
||||
- 执行现有文件:使用 "Replace templates in the active file"
|
||||
|
||||
### Q: 想要每天自动创建日记?
|
||||
**A**: 结合 **Calendar** 或 **Periodic Notes** 插件,设置每日笔记模板为 `daily-note.md`
|
||||
|
||||
### Q: 如何查看所有可用的 Templater 函数?
|
||||
**A**: 阅读 [[06_Metadata/Templater-User-Guide|Templater User Guide]] 或访问官方文档
|
||||
|
||||
## 📖 延伸阅读
|
||||
|
||||
- [[06_Metadata/Templater-User-Guide|Templater User Guide]]
|
||||
- [[06_Metadata/Templater-Quick-Reference|Templater Quick Reference]]
|
||||
- 官方文档:https://silentvoid13.github.io/Templater/
|
||||
|
||||
---
|
||||
|
||||
**提示**:配置完成后,建议先测试一下 `quick-note.md` 模板,熟悉流程后再使用其他模板。
|
||||
|
||||
**创建日期**:2026-01-05
|
||||
@@ -0,0 +1,238 @@
|
||||
# Templater 使用指南
|
||||
|
||||
## 什么是 Templater?
|
||||
|
||||
Templater 是 Obsidian 最强大的模板插件,它允许你创建动态模板,使用变量、函数和命令来自动化你的笔记创建流程。
|
||||
|
||||
## 核心功能
|
||||
|
||||
### 1. 基本语法
|
||||
|
||||
Templater 使用 `<% %>` 标签来执行代码:
|
||||
|
||||
- `<% code %>` - 执行代码但不输出
|
||||
- `<%= value %>` - 执行代码并输出结果
|
||||
- `<%* async code %>` - 执行异步代码
|
||||
|
||||
### 2. 内置变量
|
||||
|
||||
#### 日期和时间
|
||||
```
|
||||
<% tp.date.now("YYYY-MM-DD") %> # 当前日期:2026-01-05
|
||||
<% tp.date.now("HH:mm") %> # 当前时间:14:30
|
||||
<% tp.date.now("YYYY-MM-DD HH:mm:ss") %> # 完整时间戳
|
||||
<% tp.date.tomorrow("YYYY-MM-DD") %> # 明天的日期
|
||||
<% tp.date.yesterday("YYYY-MM-DD") %> # 昨天的日期
|
||||
<% tp.date.weekday("YYYY-MM-DD", 0) %> # 本周日(0=周日)
|
||||
```
|
||||
|
||||
#### 文件信息
|
||||
```
|
||||
<% tp.file.title %> # 当前文件标题(不含扩展名)
|
||||
<% tp.file.creation_date() %> # 文件创建日期
|
||||
<% tp.file.folder() %> # 文件所在文件夹
|
||||
<% tp.file.path() %> # 文件完整路径
|
||||
```
|
||||
|
||||
#### 配置信息
|
||||
```
|
||||
<% tp.config.active_file.basename %> # 活动文件名
|
||||
<% tp.config.active_file.path %> # 活动文件路径
|
||||
```
|
||||
|
||||
### 3. 常用命令
|
||||
|
||||
#### 文件操作
|
||||
```javascript
|
||||
// 创建新笔记
|
||||
<%* await tp.file.create_new("模板名", "新文件名", false, "目标文件夹") %>
|
||||
|
||||
// 移动文件
|
||||
<%* await tp.file.move("新路径/新文件名") %>
|
||||
|
||||
// 重命名文件
|
||||
<%* await tp.file.rename("新文件名") %>
|
||||
|
||||
// 包含其他文件
|
||||
<% tp.file.include("[[其他笔记名称]]") %>
|
||||
```
|
||||
|
||||
#### 用户输入
|
||||
```javascript
|
||||
// 提示用户输入
|
||||
<% tp.system.prompt("请输入项目名称") %>
|
||||
|
||||
// 建议列表(下拉选择)
|
||||
<% tp.system.suggester(["选项1", "选项2", "选项3"], ["value1", "value2", "value3"]) %>
|
||||
```
|
||||
|
||||
### 4. 实用示例
|
||||
|
||||
#### 示例1:每日笔记模板
|
||||
```markdown
|
||||
---
|
||||
date: <% tp.date.now("YYYY-MM-DD") %>
|
||||
day: <% tp.date.now("dddd") %>
|
||||
week: <% tp.date.now("YYYY-[W]WW") %>
|
||||
---
|
||||
|
||||
# <% tp.date.now("YYYY-MM-DD dddd") %>
|
||||
|
||||
## 📋 今日任务
|
||||
- [ ]
|
||||
|
||||
## 📝 笔记
|
||||
|
||||
## 🎯 重点事项
|
||||
|
||||
## 💡 想法与灵感
|
||||
|
||||
---
|
||||
← [[<% tp.date.yesterday("YYYY-MM-DD") %>]] | [[<% tp.date.tomorrow("YYYY-MM-DD") %>]] →
|
||||
```
|
||||
|
||||
#### 示例2:项目笔记模板
|
||||
```markdown
|
||||
---
|
||||
type: project
|
||||
created: <% tp.date.now("YYYY-MM-DD") %>
|
||||
status: active
|
||||
---
|
||||
|
||||
# <% tp.system.prompt("项目名称") %>
|
||||
|
||||
## 📋 项目概述
|
||||
<% tp.system.prompt("项目简介") %>
|
||||
|
||||
## 🎯 目标
|
||||
-
|
||||
|
||||
## 📅 关键时间节点
|
||||
- 开始时间:<% tp.date.now("YYYY-MM-DD") %>
|
||||
- 截止时间:
|
||||
|
||||
## 👥 相关人员
|
||||
-
|
||||
|
||||
## 📎 相关资源
|
||||
-
|
||||
|
||||
## 📝 进展记录
|
||||
|
||||
### <% tp.date.now("YYYY-MM-DD") %>
|
||||
-
|
||||
```
|
||||
|
||||
#### 示例3:会议记录模板
|
||||
```markdown
|
||||
---
|
||||
type: meeting
|
||||
date: <% tp.date.now("YYYY-MM-DD HH:mm") %>
|
||||
participants:
|
||||
---
|
||||
|
||||
# 会议记录 - <% tp.system.prompt("会议主题") %>
|
||||
|
||||
**时间**:<% tp.date.now("YYYY-MM-DD HH:mm") %>
|
||||
**地点**:<% tp.system.prompt("会议地点") %>
|
||||
**参与者**:
|
||||
|
||||
## 📋 议程
|
||||
1.
|
||||
|
||||
## 📝 讨论内容
|
||||
|
||||
## ✅ 行动项
|
||||
- [ ]
|
||||
|
||||
## 🔗 相关资料
|
||||
```
|
||||
|
||||
## 如何使用
|
||||
|
||||
### 方法1:快捷键触发
|
||||
1. 打开设置 → 快捷键
|
||||
2. 搜索 "Templater: Insert Template"
|
||||
3. 设置一个快捷键(如 `Ctrl/Cmd + T`)
|
||||
4. 在笔记中按快捷键选择模板
|
||||
|
||||
### 方法2:命令面板
|
||||
1. 按 `Ctrl/Cmd + P` 打开命令面板
|
||||
2. 输入 "Templater"
|
||||
3. 选择 "Templater: Insert Template"
|
||||
4. 选择要插入的模板
|
||||
|
||||
### 方法3:创建新笔记时自动应用
|
||||
1. 在设置中配置 "Folder Templates"
|
||||
2. 为不同文件夹指定默认模板
|
||||
3. 在该文件夹创建新笔记时自动应用模板
|
||||
|
||||
## 配置建议
|
||||
|
||||
### 1. 创建模板文件夹
|
||||
建议在 `06_Metadata/Templates` 下创建所有模板文件
|
||||
|
||||
### 2. Templater 设置
|
||||
- **Template folder location**: `06_Metadata/Templates`
|
||||
- **Trigger Templater on new file creation**: ✓ 启用
|
||||
- **Enable folder templates**: ✓ 启用
|
||||
|
||||
### 3. 文件夹模板映射示例
|
||||
| 文件夹 | 模板 |
|
||||
|--------|------|
|
||||
| `00_Inbox` | `quick-note.md` |
|
||||
| `01_Projects` | `project.md` |
|
||||
| `02_Areas` | `area.md` |
|
||||
| `06_Metadata/Daily` | `daily-note.md` |
|
||||
|
||||
## 进阶技巧
|
||||
|
||||
### 1. JavaScript 代码块
|
||||
```javascript
|
||||
<%*
|
||||
// 可以写多行 JavaScript 代码
|
||||
const projectName = await tp.system.prompt("项目名称");
|
||||
const status = await tp.system.suggester(
|
||||
["进行中", "计划中", "已完成"],
|
||||
["active", "planned", "completed"]
|
||||
);
|
||||
tR += `项目:${projectName}\n状态:${status}`;
|
||||
%>
|
||||
```
|
||||
|
||||
### 2. 条件逻辑
|
||||
```javascript
|
||||
<%* if (tp.file.folder().includes("Projects")) { %>
|
||||
这是一个项目笔记
|
||||
<%* } else { %>
|
||||
这是一个普通笔记
|
||||
<%* } %>
|
||||
```
|
||||
|
||||
### 3. 循环生成内容
|
||||
```javascript
|
||||
<%* for (let i = 1; i <= 5; i++) { %>
|
||||
## 第 <%= i %> 部分
|
||||
<%* } %>
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: 模板不生效?
|
||||
A: 检查 Templater 设置中的模板文件夹路径是否正确
|
||||
|
||||
### Q: 如何在已有笔记中插入模板?
|
||||
A: 使用命令 "Templater: Insert Template" 或快捷键
|
||||
|
||||
### Q: 可以创建自定义函数吗?
|
||||
A: 可以!在 Templater 设置中配置 "User Scripts" 文件夹
|
||||
|
||||
## 相关资源
|
||||
|
||||
- 官方文档:https://silentvoid13.github.io/Templater/
|
||||
- 示例模板库:查看 `06_Metadata/Templates/` 文件夹
|
||||
|
||||
---
|
||||
|
||||
**标签**:#教程 #Templater #Obsidian #模板
|
||||
**创建日期**:<% tp.date.now("YYYY-MM-DD") %>
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
type: book
|
||||
title: <% tp.system.prompt("书名") %>
|
||||
author: <% tp.system.prompt("作者") %>
|
||||
status: reading
|
||||
rating:
|
||||
created: <% tp.date.now("YYYY-MM-DD") %>
|
||||
tags:
|
||||
- book
|
||||
- reading
|
||||
---
|
||||
|
||||
# 📚 <% tp.system.prompt("书名") %>
|
||||
|
||||
## 📖 基本信息
|
||||
|
||||
- **作者**:<% tp.system.prompt("作者") %>
|
||||
- **出版社**:
|
||||
- **出版日期**:
|
||||
- **ISBN**:
|
||||
- **阅读状态**:📖 阅读中
|
||||
- **开始阅读**:<% tp.date.now("YYYY-MM-DD") %>
|
||||
- **读完日期**:
|
||||
|
||||
## ⭐ 评分
|
||||
|
||||
评分:/10
|
||||
|
||||
## 📝 简介
|
||||
|
||||
|
||||
## 💡 核心观点
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## 📌 重点摘录
|
||||
|
||||
### 第X章
|
||||
|
||||
|
||||
## 🤔 个人思考
|
||||
|
||||
|
||||
## ✍️ 读书笔记
|
||||
|
||||
### <% tp.date.now("YYYY-MM-DD") %>
|
||||
|
||||
|
||||
## 🔗 相关资源
|
||||
|
||||
-
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
date: <% tp.date.now("YYYY-MM-DD") %>
|
||||
day: <% tp.date.now("dddd") %>
|
||||
week: <% tp.date.now("YYYY-[W]WW") %>
|
||||
type: daily-note
|
||||
---
|
||||
|
||||
# <% tp.date.now("YYYY年MM月DD日 dddd") %>
|
||||
|
||||
## 📋 今日任务
|
||||
- [ ]
|
||||
|
||||
## 📝 工作笔记
|
||||
|
||||
|
||||
## 💡 想法与灵感
|
||||
|
||||
|
||||
## 📚 学习记录
|
||||
|
||||
|
||||
## 🎯 重点事项
|
||||
|
||||
|
||||
## 📊 总结
|
||||
|
||||
|
||||
---
|
||||
← [[<% tp.date.yesterday("YYYY-MM-DD") %>]] | [[<% tp.date.tomorrow("YYYY-MM-DD") %>]] →
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
type: meeting
|
||||
date: <% tp.date.now("YYYY-MM-DD HH:mm") %>
|
||||
tags:
|
||||
- meeting
|
||||
---
|
||||
|
||||
# 会议记录 - <% tp.system.prompt("会议主题") %>
|
||||
|
||||
## 📋 基本信息
|
||||
|
||||
- **时间**:<% tp.date.now("YYYY-MM-DD HH:mm") %>
|
||||
- **地点**:<% tp.system.prompt("会议地点(或会议软件)") %>
|
||||
- **主持人**:
|
||||
- **记录人**:
|
||||
|
||||
## 👥 参会人员
|
||||
|
||||
|
||||
## 📝 议程
|
||||
|
||||
1.
|
||||
|
||||
|
||||
## 💬 讨论内容
|
||||
|
||||
### 主题 1
|
||||
|
||||
|
||||
### 主题 2
|
||||
|
||||
|
||||
## ✅ 行动项
|
||||
|
||||
| 任务 | 负责人 | 截止日期 | 状态 |
|
||||
|------|--------|---------|------|
|
||||
| | | | ⚪ |
|
||||
|
||||
|
||||
## 📎 相关资料
|
||||
|
||||
|
||||
## 🔜 下次会议
|
||||
|
||||
- **时间**:
|
||||
- **议题**:
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
type: person
|
||||
name: <% tp.system.prompt("姓名") %>
|
||||
tags:
|
||||
- people
|
||||
created: <% tp.date.now("YYYY-MM-DD") %>
|
||||
---
|
||||
|
||||
# 👤 <% tp.system.prompt("姓名") %>
|
||||
|
||||
## 基本信息
|
||||
|
||||
- **职位/角色**:
|
||||
- **公司/组织**:
|
||||
- **联系方式**:
|
||||
- 邮箱:
|
||||
- 电话:
|
||||
- 其他:
|
||||
|
||||
## 🤝 关系
|
||||
|
||||
- **认识途径**:
|
||||
- **关系类型**:
|
||||
- **首次见面**:<% tp.date.now("YYYY-MM-DD") %>
|
||||
|
||||
## 💼 专业背景
|
||||
|
||||
|
||||
## 💬 互动记录
|
||||
|
||||
### <% tp.date.now("YYYY-MM-DD") %>
|
||||
|
||||
|
||||
## 📎 相关笔记
|
||||
|
||||
-
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
type: project
|
||||
created: <% tp.date.now("YYYY-MM-DD") %>
|
||||
status: active
|
||||
tags:
|
||||
- project
|
||||
---
|
||||
|
||||
# <% tp.system.prompt("项目名称") %>
|
||||
|
||||
## 📋 项目概述
|
||||
|
||||
**描述**:<% tp.system.prompt("项目简介(一句话)") %>
|
||||
|
||||
**目标**:
|
||||
|
||||
|
||||
## 🎯 关键成果(OKR)
|
||||
|
||||
### Objective(目标)
|
||||
|
||||
|
||||
### Key Results(关键结果)
|
||||
- [ ]
|
||||
- [ ]
|
||||
- [ ]
|
||||
|
||||
## 📅 时间线
|
||||
|
||||
| 阶段 | 开始时间 | 结束时间 | 状态 |
|
||||
|------|---------|---------|------|
|
||||
| 启动 | <% tp.date.now("YYYY-MM-DD") %> | | 🟢 |
|
||||
| 执行 | | | ⚪ |
|
||||
| 完成 | | | ⚪ |
|
||||
|
||||
## 👥 相关人员
|
||||
|
||||
- **负责人**:
|
||||
- **团队成员**:
|
||||
|
||||
## 📂 相关资源
|
||||
|
||||
-
|
||||
|
||||
|
||||
## 📝 进展记录
|
||||
|
||||
### <% tp.date.now("YYYY-MM-DD") %>
|
||||
项目启动
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
created: <% tp.date.now("YYYY-MM-DD HH:mm") %>
|
||||
tags:
|
||||
- inbox
|
||||
---
|
||||
|
||||
# <% tp.file.title %>
|
||||
|
||||
<% tp.file.cursor(1) %>
|
||||
|
||||
---
|
||||
**创建时间**:<% tp.date.now("YYYY-MM-DD HH:mm") %>
|
||||
@@ -47,6 +47,88 @@
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "image_generation_prompt",
|
||||
"aspect_ratio": "9:16",
|
||||
"style": "hyper-realistic cinematic night portrait",
|
||||
"identity_preservation": {
|
||||
"use_reference_image": true,
|
||||
"strict_identity_lock": true,
|
||||
"alter_face": false,
|
||||
"alter_hair": false,
|
||||
"notes": "Preserve 100% of the subject's face, facial structure, proportions, skin texture, and hairstyle exactly as in the reference image."
|
||||
},
|
||||
"subject": {
|
||||
"gender": "female",
|
||||
"pose": {
|
||||
"position": "standing outdoors in the rain at night",
|
||||
"head": "tilted slightly upward",
|
||||
"gaze": "looking upward, feeling the rain"
|
||||
},
|
||||
"expression": "intense, emotional, contemplative",
|
||||
"appearance": {
|
||||
"hair": {
|
||||
"state": "wet and tousled",
|
||||
"notes": "Hair must remain identical to the reference image, only affected naturally by rain"
|
||||
},
|
||||
"skin": {
|
||||
"details": [
|
||||
"raindrops glistening on the face",
|
||||
"natural skin texture",
|
||||
"no smoothing or beautification"
|
||||
]
|
||||
}
|
||||
},
|
||||
"wardrobe": {
|
||||
"top": "soaked white button-up shirt clinging naturally to the body",
|
||||
"accessories": [
|
||||
"luxury wristwatch on the wrist"
|
||||
]
|
||||
}
|
||||
},
|
||||
"environment": {
|
||||
"setting": "outdoor urban environment at night",
|
||||
"weather": "heavy rain",
|
||||
"atmosphere": "moody, dramatic, cinematic"
|
||||
},
|
||||
"lighting": {
|
||||
"style": "dramatic low-key lighting",
|
||||
"features": [
|
||||
"deep shadows",
|
||||
"strong highlights on water droplets",
|
||||
"cinematic contrast"
|
||||
]
|
||||
},
|
||||
"visual_effects": {
|
||||
"rain": "water droplets frozen in motion",
|
||||
"motion": "subtle rain streaks visible",
|
||||
"depth": "cinematic depth of field"
|
||||
},
|
||||
"camera": {
|
||||
"shot_type": "portrait",
|
||||
"angle": "eye-level to slightly low",
|
||||
"focus": "sharp focus on face and upper body",
|
||||
"look": "professional photography style"
|
||||
},
|
||||
"quality": {
|
||||
"resolution": "high resolution",
|
||||
"realism": "ultra-photorealistic",
|
||||
"detail_level": "extreme detail in skin, fabric, water, and lighting"
|
||||
},
|
||||
"constraints": [
|
||||
"Do not alter face or hair",
|
||||
"No artificial filters",
|
||||
"No cartoon or stylized effects",
|
||||
"No distorted anatomy",
|
||||
"No text or watermarks"
|
||||
],
|
||||
"output_goal": "Create a hyper-realistic cinematic night portrait of a woman standing in the rain, preserving her exact facial identity and hairstyle, with dramatic lighting, visible rain droplets, and an intense emotional atmosphere."
|
||||
}
|
||||
```
|
||||
---
|
||||
|
||||
📚 **完整版本(含中文翻译和设计指南)**: [[03_Resources/Prompt-Library/Gemini 图片生成提示词模板]]
|
||||
|
||||
Reference in New Issue
Block a user