Zhihu on Obsidian:重拾知乎创作的乐趣

本文首发于知乎：https://zhuanlan.zhihu.com/p/1901622331102696374 为什么要开发Zhihu on Obsidian? 众所周知，由于知乎编辑器糟糕的编辑体验，使得包括楼主在内的一众写数学文章的创作者们对它深恶痛绝。知乎编辑器的糟糕之处包括但不限于： Firefox 下 bug 频出，编辑光标与预览甚至可能不在一个页面上 iOS 的 Safari 下卡得基本不能用手机端想编辑数学公式？没门 markdown 复制到编辑器发现无法识别数学公式如果是行内，要一个个点插入公式因此@牛岱写了VSCode插件Zhihu on VSCode解决了这个问题，这也是本插件的灵感来源。楼主曾经也是 Zhihu VSCode 插件的用户。但是很可惜，插件原作者在2021年就进入了佛系维护的状态，并于2024年9月正式宣布停更。作者停更正式通知 在此期间我用它发了好几篇知乎文章，深感这玩意的好使和知乎编辑器的无药可救。但是由于知乎网页端在不断更新，这个插件在2024年10月就不能用了，表现为登录不上去的状态。与此同时，我有一篇约3W字，10W字符的，充满LaTeX公式的时间序列文章[^1] 想在知乎发布，以知乎编辑器的尿性，我的鼠标恐怕点冒烟都插入不了这么多公式。我说我不做这样的傻事情.png 所以不如自己做一个新的？Obsidian 对我来说是完美的写作平台，可拓展性也很好，不如就做一个Zhihu on Obsidian好了。核心功能介绍二维码登录安装插件后，只要在obsidian内唤出命令面板，输入Zhihu: Web login即可看到二维码知乎网页登录.gif 打开知乎app扫描后，点击确认登录即可。登录成功后，可以在设置页面看到你的头像和名称设置页面.jpg 这样就算登录成功了。发布文章和回答 Zhihu on Obsidian 最核心的功能是允许你在 Obsidian 内发布知乎文章或回答。发布文章非常简单，直接用命令面板输入Zhihu: Create new article，就可以新建一个知乎文章，插件会自动帮你填好文章的草稿链接。知乎新建文章.gif 在新建的文章内，可以看到文章的标题、话题和标签都是以文章 属性(Frontmatter) 进行存储的。通过修改属性，你可以轻松地自定义文章，正如在知乎网页端一样自如。属性说明 添加好话题之后就可以愉快地写文章了。如果想要发布，就在命令面板键入Zhihu: publish current article, 即可一键发布文章。Zhihu on Obsidian的目标是：文章在Obsidian内是什么样子，发布出来就是什么样子。知乎发布文章.gif 同样地，要创建回答，只需在命令面板键入 Zhihu: Create new answer，这时候插件会要求输入问题的链接，输入链接后即可成功创建回答草稿。知乎新建回答.gif 接下来就和发布文章一样了，在命令面板键入 Zhihu: publish current answer 就可以发布回答。发布回答后插件会自动生成回答链接，点击链接就可以直达回答。但要注意的是，如果你已经回答过了一个问题，是不能创建第二个的回答的，这时候你需要手动将你的回答链接放在 zhihu-link 属性中，再次发布就是更新回答了。预览文章怕写的文章在 Obsidian 内好好的，发布后可能排版出问题？可以使用Zhihu: Preview current article 命令预览当前的文章，插件会弹出一个窗口，这个窗口中就是预览的文章了。知乎预览文章.gif 预览后再发布，就再也不用担心排版错乱的问题了。浏览知乎 Zhihu on Obsidian不仅仅可以用来写文章、写回答，它可以浏(mo)览(yu)首页推荐和关注。只要点击左侧栏知乎图标，点击推荐或关注即可直接在 Obsidian 内查看，你看过的所有回答和文章都会永久地保存在本地，再也不怕知识的荒原了！知乎浏览.gif 与 Obsidian 完美结合的语法 Zhihu on Obsidian还有其他提升编辑体验的语法，能和 Obsidian 语法完美结合。图片担心文章有很多图片，会不会发布很麻烦？这当然是不存在的了！只要在文章或回答内插入图片，插件会自动帮你完成获取图片、上传知乎的步骤。 对于本地图片，推荐使用 Obsidian 的专属图片语法： ![image path|caption](image path|caption) 而对于在线图片，一样可以一键上传到知乎，推荐使用markdown图片语法： ![cpation](image link) 比如，![har3.jpg|自定义备注]] 的结果就(，![har3.jpg|自定义备注]] 的结果) 有知乎原生备注哦 @知友在Obsidian内，你只需要按下 @ 键即可触发艾特知友界面，回车选中知友，点击知友链接即可到达主页。艾特知友.gif @ 链接的格式是 [@用户名](知友主页 "member_mention + hash") 其中的 hash 是链接是否可以正常显示的关键。链接卡片模式链接想要变成更美观的卡片模式？非常简单，你只需要在[name](link)链接的括号内加入"card"即可。就像这样 [Github](https://github.com/ "card") 发布后就是卡片链接了卡片链接 添加文章封面想要美观的封面装饰文章？你甚至不用离开Obsidian！只需要在 property (属性)中添加 zhihu-cover 条目，选择你的图片，发布后即可看到文章封面。通过这个功能，你甚至可以上传知乎网页端传不了的GIF封面。添加文章封面.gif 标注块插件同样支持 Obsidian 的标注块发布到知乎，只是没有了标注块美观的风格...比如在 Obsidian 内是这样的标注块：标注块.png 发布后：标注块发布后.png 其他有意思的功能 Mermaid 流程图 Obsidian 原生支持 Mermaid 语法，所以无须任何配置即可将 mermaid 图片发布到知乎： ```mermaid flowchart TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} C -->|One| D[Laptops] C -->|Two| E[iPhone] C -->|Three| F[fa:fa-car Car] ``` 发布效果： mermaid流程图.png Typst 模式楼主作为一位 Typst 忠实粉丝+布道者，开发的插件怎么能只支持传统的 LaTeX 呢？人生苦短，我用 Typst。要使用 Typst 模式，需要电脑上有 Typst 命令行软件，并且安装了 Typst 渲染插件（因为插件只负责发布逻辑，不负责渲染你看到的 Typst），这里推荐 Typsidian： 不只是一个新的Typst渲染的obsidian插件然后在设置中开启 Typst 模式（默认是关闭的）：开启typst模式.png 然后添加 Typst 的路径。点击刷新按钮，如果左侧出现了 Typst 版本，说明配置成功，路径有效。 typst设置.png 接下来就可以愉快地写 Typst 了：行间公式发布效果： $ f(z_0) = 1/(2 pi upright(i)) integral.cont_C f(z)/(z - z_0) dif z $ $ sum_(k = 1)^n 1/k = ln n + gamma + O(1/n) $ $ op("Attention")(Q, K, V) = op("softmax")((Q K^T)/sqrt(d_k)) V $ typst行间公式.png 行内公式发布效果： Let $f:[a,b] to bb(R)$ be Riemann integrable. Let $F:[a,b] to bb(R)$ be $F(x)= int_a^x f(t) dif t$. Then $F$ is continuous, and at all $x$ such that $f$ is continuous at $x$, $F$ is differentiable at $x$ with $F'(x)=f(x)$. typst行内公式.png 你甚至可以借助 Typst 画类似 TikZ 的图： typst画图.png 要了解更多有关 Typst 设置和发布的内容，可以戳文档：知乎 Obsidian 插件文档：Typst 模式剪藏知乎文章 Obsidian + 知乎 可以擦出什么火花？插件支持剪藏知乎文章、回答、问题和想法。只需要输入Zhihu: Open link，然后输入你想要剪藏的知乎内容的链接，这份内容就永远留在你的电脑中了。知乎剪藏文章.gif 当然，插件还支持批量打开链接，支持自定义目录存储：自定义目录存储.png 如果插件对你有帮助，不如随手在GitHub点个星星⭐吧，一个星星就可以让楼主高兴一整天！ Zhihu Obsidian: Github 如果想查看安装步骤、更多登录方式、更多插件语法，可以参考插件文档：知乎 Obsidian 插件: 重拾知乎创作的乐趣 [^1]: 时间序列分析入门（约3W字） https://zhuanlan.zhihu.com/p/1908637887618062208