基于obsidian的个人工作流配置指南

想法:obsidian 中的双链链接在 hexo 上无法显示,将 obsidian 编辑好的 Markdown 文件直接转化成 PDF 格式,并将其直接插入 blog中。

两种可内嵌 PDF 的方式

  1. 使用插件 hexo-pdf, 只能在 PC 端查看 PDF 文件;
  2. 借助 PDF.js, 可以实现全平台查看 PDF 文件。

借助插件内嵌 PDF

需要修改\_config.yml中的 post_asset_folder = ture,存放 PDF 的文件夹和 md 文件同名。

pdf 插件安装命令:

1
2
3
$ npm install hexo-pdf
# md 文件中 输入
# {% pdf 基于Obsidian的个人工作流配置指南.pdf %}

下载配置 PDF.js (配置冲突,还未完全解决!)

PDF.js 官网下载 older browsers 版本,以防兼容性问题。

修改\_config.ymlskip_render 选项,将 pdfjs 文件夹去除 render。

注释掉 viewer.js 中以下 codes:

1
2
3
// if (fileOrigin !== viewerOrigin) {
// throw new Error("file origin does not match viewer's");
// }

首先,需要注意文件路径的问题,折腾了好久发现是\_config.yml 文件的 url (/name.github.io/)root (/) 配置的有问题,原先的配置里多写了子文件(blog/),会导致使用插件的时候,生成的链接多一个 blog 字符,从而 error!

<iframe>的形式插入 PDF 文件,当前可以看见viewer.html实现的 pdf 阅读框,但是无法加载文件。最后,在 skip render 中增加 pdfjs/** 解决。 发现,url root 设置和 hexo d 不能同时满足,修改了 url root 之后 github 无法部署,不修改的话,PDFjs 不工作! 推测可能是viewer.js写法有问题导致 file url 错误?

1
<iframe src="/pdfjs/web/viewer.html?file=http://localhost:4000/2022/12/06/Obsidian/name.pdf" frameborder="0" width="100%" height="550"></iframe>

基于obsidian的个人工作流配置指南
https://codingyyao.github.io/2022/12/06/obsidian/
作者
yuyao yang
发布于
2022年12月6日
许可协议