文章

chirpy-obsidian 工作流

用obsidian.nvim和chirpy写文章,然后借助主题chirpy发布博客到gitpages等支持静态网页生成的平台。我把两者用vim整合起来,并借助自己写的rb插件,在网页生成时,识别obsidian特有语法并生成。

chirpy-obsidian 工作流

obsidian 使用技巧

不要用 [[]] 引入 音视频和pdf,交于 Chirpy 主题语法处理。

Obsidian Wiki链接 [[ ]] 速查表

核心总规则

  1. ! 开头 = 嵌入内容;无 ! = 跳转链接
  2. # 锚点符号:#标题 跳标题;#^block‑id 跳自定义块ID;固定顺序:#在前,^在后,不可颠倒。
  3. | 管道符:设置链接显示别名,不改变实际跳转目标。
  4. obsidian.nvim 限制:只有 [[ ]] wiki链接支持标题、自定义块ID;标准markdown [text](file.md) 不支持块ID解析

正确语法总表

语法功能同文件简写
[[笔记A]]跳转到整篇笔记A
[[笔记A | 显示文字]]跳转笔记A,自定义链接显示文本
[[笔记A#标题名]]跳转到笔记A内部指定标题[[#标题名]]
[[笔记A#^my‑block]]跳转到笔记A内自定义块ID[[#^my‑block]]
[[笔记A#^my‑block | 显示文字]]跳自定义块 + 自定义别名[[#^my‑block | 显示文字]]
![[笔记A]]嵌入整篇笔记A的内容
![[笔记A#标题名]]嵌入该标题及下属全部内容![[#标题名]]
![[笔记A#^my‑block]]嵌入单个自定义块内容![[#^my‑block]]
![[image.png]]嵌入图片、PDF、附件

链接

LazyVim 快捷键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
^block‑id 生成锚点<a id="bid"></a>,支持[[note#^bid]]跳转

[[笔记名]]
[[笔记名|显示文本]]
[[笔记#标题]]
[[笔记#^block‑id]]
[文字]({% link _posts/xxx.md %})

[用blank新开网页标签](url){:target="_blank"}

[标准行内链接](https://url.com)
[文字](url "悬浮标题")

[文字][id]
[id]: https://url

图片

  • 文章内图片
1
2
![[图片地址]](https://url){: w="400" h="200" .shadown/没有 .left/.right/.normal/没有}```
_*图片底部说明*_
  • 文章开头横幅图片
1
2
3
---
image: /path/to/image
---

Mermaid SVG 代码画图

 gantt
  title  Adding GANTT diagram functionality to mermaid
  apple :a, 2017-07-20, 1w
  banana :crit, b, 2017-07-23, 1d
  cherry :active, c, after b a, 1d

表格

左对齐居中对齐右对齐
内容1内容2内容3
1
2
3
| 左对齐 | 居中对齐 | 右对齐 |
|:-------|:--------:|-------:|
| 内容1  |   内容2  |  内容3 |

音频/视频/PDF

  • 本地或其他平台视频:本地文件放 /assets/videos/,其他平台直接在 src 中填视频 URL
1
2
3
4
5
6
7
8
9
{% include embed/video.html
src="/assets/videos/demo.mp4"
title="视频标题(下方显示)"
poster="/assets/img/video-cover.jpg"
autoplay=false
loop=false
muted=true
types="mp4|webm"
%}
  • 平台音频或视频:Platform 目前支持 youtube, twich, bilibili, spotify
1
2
3
{% raw %}
{% include embed/{Platform}.html id='{ID}' %}
{% endraw %}
  • 音频
1
2
3
4
5
6
7
8
{% raw %}
{%
  include embed/audio.html
  src='/path/to/audio.mp3'
  types='ogg|wav|aac'
  title='Demo audio'
%}
{% endraw %}
  • PDF: Chirpy 没有内置组件,用 HTML
1
<iframe src="/assets/file/doc.pdf" width="100%" height="600"></iframe>

文字

  • 高亮用 == 包裹:如 ==注意==,效果为 注意
  • 描述列表:
1
2
中国
: 上下五千年历史的文明古国

基本文字语法

效果语法示例说明
粗体**文字****这是粗体**双星号包裹
斜体*文字**这是斜体*单星号包裹
粗斜体***文字******粗斜体文字***三星号包裹
删除线~~文字~~~~已删除内容~~双波浪线包裹
高亮==文字====重点高亮==双等号包裹
下划线 或者 _下划线_<u>文字</u><u>下划线文字</u>HTML u 标签
行内代码`文字``const a = 1`反引号包裹
上标X^2^ 使用 ^ 包裹上标内容
下标H~2~O 使用 ~ 包裹下标内容

代码块

1
2
3
4
if [ $? -ne 0 ]; then
  echo "The command was not successful.";
  #do the needful / exit
fi;

分割线

语法效果
---水平分割线(三个减号)
***水平分割线(三个星号)
___水平分割线(三个下划线)

列表

1
2
3
+ 无序列表
 - 无序列表
+ 无序列表
1
2
1. 有序列表
2. 有序列表

TODO list

1
2
- [x] 完成了
- [ ] 待完成

Mathematics 数学公式

The mathematics powered by MathJax:

\[\begin{equation} \sum_{n=1}^\infty 1/n^2 = \frac{\pi^2}{6} \label{eq:series} \end{equation}\]

We can reference the equation as \eqref{eq:series}.

When $a \ne 0$, there are two solutions to $ax^2 + bx + c = 0$ and they are

\[x = {-b \pm \sqrt{b^2-4ac} \over 2a}\]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!-- Block math, keep all blank lines -->

$$
LaTeX_math_expression
$$

<!-- Equation numbering, keep all blank lines  -->

$$
\begin{equation}
  LaTeX_math_expression
  \label{eq:label_name}
\end{equation}
$$

Can be referenced as \eqref{eq:label_name}.

<!-- Inline math in lines, NO blank lines -->

"Lorem ipsum dolor sit amet, $$ LaTeX_math_expression $$ consectetur adipiscing elit."

<!-- Inline math in lists, escape the first `$` -->

1. \$$ LaTeX_math_expression $$
2. \$$ LaTeX_math_expression $$
3. \$$ LaTeX_math_expression $$
  • 警醒

只使用 INFO、TIP、 WARNING、DANGER 即可,示例如下:

1
2
3
> [!TIP]
> tip提示

Obsidian Callout别名Chirpy 输出class类别说明
NOTE-.prompt‑info备注
INFO-.prompt‑info信息
ABSTRACTSUMMARY、TLDR.prompt‑info摘要、简述
TODO-.prompt‑info待办
EXAMPLE-.prompt‑info示例
QUOTECITE.prompt‑info引用
TIPHINT.prompt‑tip提示、技巧
IMPORTANT-.prompt‑tip重要提醒
SUCCESSCHECK、DONE.prompt‑tip成功、完成
QUESTIONHELP、FAQ.prompt‑tip疑问、常见问题
WARNINGATTENTION.prompt‑warning警告
CAUTION-.prompt‑warning小心、注意
DANGERERROR.prompt‑danger危险、错误
FAILUREFAIL、MISSING.prompt‑danger失败、缺失
BUG-.prompt‑dangerBug、问题

脚注

Clicking the hook will locate the footnote1, and here is another footnote2.

1
Clicking the hook will locate the footnote[^footnote], and here is another footnote[^fn-nth-2].
1
2
[^footnote]: The footnote source
[^fn-nth-2]: The 2nd footnote source
  1. The footnote source ↩︎

  2. The 2nd footnote source ↩︎

本文由作者按照 CC BY 4.0 进行授权

热门标签