# 利用 Github Gist 快速分享 Obsidian 笔记

> 本文公开全文。

原文：https://utgd.net/article/20163

> 2024\-08\-22\-更新：一个新的文章分享方案：《一个简单安全的记事本工具 NotepadTab，却意外解决了匿名分享文章的痛点？附 Obsidian 用法》

我没有订阅 Obsidian 官方的 Publish 服务，因为我的大部分笔记都是给自己写的，并不需要以“库”为单位整个分享出来。

但我有时也需要分享一些笔记，但一直没找到很好的分享方式。

尤其是在我把一篇笔记分享给我认识的人阅读时，我不得不把笔记导出为 PDF 传给对方，如果遇到动图、视频等动态内容，PDF 就不太合适了。

经过思考，其实我的笔记内容最适合的载体应该是网页，我只需要找一个公共的服务，能够允许我把 Markdown 内容放入，并展示成预览页面就可以了。

所以这篇文章就来分享下如何通过 Github Gist 来实现这种“分享给熟人”的文章网页。

## 了解 Github Gist

在使用之前，首先要了解什么是 Github Gist 服务以及它的可用范围。

GitHub Gist 是 GitHub 上的一个功能，允许用户以简便的方式共享和存储代码片段、文本片段、配置文件。Gist 提供了一个简单易用的界面，可以快速创建和分享代码片段，无需创建完整的代码库。

🔗 GitHub Gist

相比 Evernote 这类自带云服务的笔记服务，Obsidian 这样的本地工具缺乏一个在线的分享手段，因此 Github Gist 正好是一个完美的补充。

## 手动使用 Gist 的方法

如果你只是需要偶尔分享，并不打算深入使用这一服务。那么只需要 申请 Github 账户，然后遵循 Gist 的创建流程 就可以在 Gist 网页 上手动创建一篇笔记并分享给你的朋友了。

## 在 Obsidian 中使用快捷 Gist 分享

而想在 Obsidian 中使用，最简单的方法是利用 Obsidian 插件：Share as gist 。你需要申请一个 Github Personal Token，然后在插件的设置界面配置 Token。

### 申请 Github Token

遵循以下步骤就可以申请一个 Github Token。

- 登录到 GitHub 帐户。

- 在右上角的个人资料菜单中，选择 “Settings”（设置）。

- 在设置页面中，选择 “Developer settings”（开发者设置）。

- 在左侧导航栏中，选择 “Personal access tokens”（个人访问令牌）。

- 选择“Fine\-grained personal access tokens”（细粒度的个人访问令牌）。

- 单击“Generate new token”（生成新令牌）按钮。

- 提供一个令牌描述，以便记住该令牌的用途。

- 选择希望该令牌拥有的权限。根据需求，可以选择不同的权限范围，如代码读取、代码写入、存储库管理等。这里我们分配一个 gists 的读写权限（以最小原则申请），申请时间可以设为 1 年。

- 在权限选择完成后，滚动到页面底部，点击“Generate token”（生成令牌）按钮。

- 系统将生成一个新的 Token，并显示在屏幕上。

需要注意的是，这是唯一的机会复制 Token。所以需要把 Token 复制到一个安全的地方，稍后就要用到。

获得 Token 之后，我们开始进入 Obsidian 进行操作。

### Obsidian 安装和配置 Share as gist 插件

你可以在 Obsidian 的插件中心搜索 Share as gist 直接安装，也可以在插件的官方仓库下载。

🔗 Share as gist 插件 \- Github 仓库

安装完毕后，在插件设置中，粘贴你刚刚生成的 Github Token，配置就完成了。

由于 Github Token 是敏感信息，会被这个插件存在 Obsidian 的 localStorage 中，不会被存储、不会被备份，也不会跟着 Obsidian 库同步。在多台设备上使用时，都需要进行首次配置。

另外有一个安全方面的注意点，理论上其他插件可以访问 localStorage，所以在申请 Token 时，权限范围只需要 gist 读写就够了，这样可以尽可能地保证 Github 的账户安全。

### 使用 Share as gist 插件分享 gist

安装完毕后，回到主界面，按下 Ctrl \+ P，搜索 gist，可以看到 公开分享 和 私有分享 两个选项。

选择对应选项，就会自动将当前打开的笔记内容分享成为一个 Gist，并将文章链接放入剪贴板，用浏览器就可以访问 Markdown 预览内容。

点击该页面右上角的 RAW 按钮，还能直接查看 Markdown 原文，对方拿到稿件进行二次编辑也很方便。

### 二次修改 gist 的方法

如果之后在 Obsidian 中对笔记做二次修改，也可以再次进行推送。

在编辑后，再次选中 Share as gist on Github\.com，这时候会询问你是更新现有笔记还是创建新笔记。选择更新现有笔记就可以实现二次修改。

插件会自动添加 meta 信息到笔记顶部，但删除这段 meta 信息也只是导致无法更新笔记，并不会对已分享的 gist 产生影响。如果觉得不需要这个功能，也可以在选项中关闭“Enable updating gists after creation”这个选项。

另一个选项则是把 meta 信息分享到 gist 中，一般是不需要开启的。

### 图片的处理

如果笔记中包含图片，你可能需要一些额外处理，这款插件并不能帮你自动上传图片到 Github 的图床。

我习惯的方法是，把分享的笔记单独开一篇分享笔记，然后用 Quicker 将图片上传到图床并自动转为 HTML 格式（用 \<img src='图片地址'\> 标签包裹即可）。Gist 在解析 Markdown 文本的同时，也会解析其中的 HTML 标签。

你可以用一些公开免费图床实现类似的效果，比如 sm\.ms 图床。

如果你不想用图床，操作会稍微麻烦一些。Github 有官方图床，但是只能在仓库的 Issue 中快捷使用（拖拽上传），无法在 Gist 中直接拖拽上传图片。所以你开一个自己的仓库，在 Issue 里手动上传图片，再把图片地址拿来用就好。

### 一些缺点

这个方案很好地满足了 Markdown 内容的在线分享需求。

不过 Obsidian 中的双向链接语法 \[\[双向链接\]\] 是 Obsidian 自己定义的，所以没办法体现在 Github Gist 中（就算链接上也无法跳转），显得有些丑陋。

Gist 另一个大问题是国内访问速度慢，Github 经常处于间歇性不可访问的状态。而且 Gist 中的图片即使在第三方图床也需要经过 Github 的缓存，图片会加载地更慢。

所以最好是双方都能够顺利访问 Gist 的情况下，才最适合使用 Gist 分享。

---

[前往标准阅读页](https://utgd.net/article/20163?audience=web)
