obsidian 目前最完美的免费发布方案 - 渐进式教程 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cdd2zju
V2EX    分享创造

obsidian 目前最完美的免费发布方案 - 渐进式教程

  •  1
     
  •   cdd2zju 2022-07-14 16:30:12 +08:00 6624 次点击
    这是一个创建于 1184 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以访问此文的双链版本,获得完整阅读体验:obsidian 目前最完美的免费发布方案 - 渐进式教程 - oldwinterの数字花园

    几个发布方案对比

    支持[[双向链接]]是底线,否则随便用一个主流的静态 blog 方案就行了。

    先看最终方案的发布页面效果: oldwinterの数字花园

    和 obsidian 的官方发布方案做个对比: oldwinterの数字花园

    功能点详细比对:

    功能点和限制 jekyll 方案 1 官方收费发布方案 hugo 方案(quartz) logseq 方案
    反向链接面板 支持 支持 支持 支持
    正向链接预览 支持 支持 支持 支持
    支持搜索 不支持,但通过 google 间接实现 支持 支持,但中文不兼容 支持
    链接稳定性 只要文件名不改,链接就稳定 受文件夹和文件名同时影响 只要文件名不改,链接就稳定 只要文件名不改,链接就稳定
    文件夹层级显示 支持
    [[首屏加载速度]] 极快,2s 内,下载资源<1M 中等,5 秒内,下载资源<5M 极快,2s 内,下载资源<1M 超慢,10 秒,下载资源<30M
    图谱显示 支持全局图谱,但 1K+笔记就很卡 完美支持 支持局部图谱,中文支持不友好 支持,稍卡
    [[横向卷动布局- andy mode]] 不支持 支持 不支持 不支持
    暗色模式支持 不支持 支持 支持 支持,但固定,不能切换
    移动端支持 支持 支持 支持 支持
    markdown 扩展语法支持 只支持基本 md 语法和[[语法 支持 obsidian 的 callout 和别名语法 只支持基本 md 语法 只支持基本 md 语法和[[语法
    其他限制 必须要有 YAML 区 收费 必须要有 YAML 区;不支持[[wikilink 格式,需妥协 语法上需要一点克制

    精力有限,就只对比这 4 种方案了。下面列上我目前体验对比过的全部第三方开源发布方案,供各位参考,也可以持续观察作者后续的开发进展,再择优选择。

    总之,有钱就选官方服务准没错。其次,综合对比后,我选择了 jekyll 方案 1 ,如何一步步实现,见下文。

    渐进式教程

    注:程序员朋友预估 10 分钟之内能搞定。纯小白也许需要花费 30 分钟以上。有能力的朋友,可以直接根据原作者的 readme 进行部署和发布,不需要看我的汉化嗦版

    总的来说:

    通过基于[[jekyll]]开源的静态 blog 模板,通过[[git push]]自动触发[[netlify]]进行构建操作,将 md 文件转换成静态服务器可以识别的 html 文件。

    一步步来说:

    • 1.本地调试。
      • fork 这个 jekyll 开源模板:GitHub - oldwinter/dg
        • 有能力的朋友,建议 fork 原作者的,自己进行定制改动。
      • git clone自己 fork 的仓库地址到你电脑本地:git clone <YOUR_COPIED_URL_HERE> my-digital-garden
      • 进入刚才 clone 的仓库的目录,cd my-digital-garden
      • 执行依赖库安装命令bundle
        • bundle 是[[ruby]]的包管理器,所以可能还需要先安装 ruby 语言环境,请自行搜索教程。
        • 如果因为网络问题导致依赖库安装很慢,请自行搜索解决。
      • 执行本地调试命令bundle exec jekyll serve,接着浏览器打开http://localhost:4000看是否正常显示页面。
      • 将 obsidian 库全部要发布的文件用 linter 插件加上 YAML 格式的[[frontmatter]]区,然后拷贝至_notes_目录。
        • linter 插件支持一键对全库进行 markdown 格式美化,强烈推荐。执行前请先备份。
        • 有能力的朋友,可以直接将 obsidian 笔记库添加为[[git submodule]]。
      • ctrl + c 停止bundle exec jekyll serve命令,并重新执行。接着浏览器打开http://localhost:4000/笔记名。例如我的 obsidian 笔记库里面有数字花园这条笔记,则访问http://localhost:4000/数字花园即可看到笔记。
    • 2.[[netlify]]配置自动构建。
      • 按照这个教程手把手教你使用 Netlify 部署博客及部署自动化 - 知乎,界面一步步点,都按默认配置来,从而将上一步 fork 的自己仓库,通过 netlify 构建和发布。
        • 主流的免费的还有[[github pages]]和[[vercel]]服务,前者缺少[[CDN]]导致国内访问很慢,后者存在非 html 后缀的链接报 404 错误的问题。
      • 完成上一步后,应该能得到一个https://master--zippy-dango-d43c8d.netlify.app/类似格式的网址,打开后正常显示原仓库的页面即可。
    • 3.将本地全部文件 push 至 github 。
      • 本地仓库的根目录执行 git 三件套:git add . git commit -m "first commit" git push
        • 有能力的朋友,可以将这个步骤,用效率工具,包装成一个定时执行或一键执行的命令。
      • 回到[[netlify]]页面,应该能看到它开始被 push 操作触发了构建动作,等几分钟后,打开得到的新网址,看是否已经包含了 obsidian 笔记库内容,链接为域名 /笔记名。例如我的 obsidian 笔记库里面有数字花园这条笔记,则访问https://master--zippy-dango-d43c8d.netlify.app/数字花园即可看到笔记。
    • 4.定制自己的首页、网站名和样式
      • 首页修改。修改_pages文件夹下的index.md即可,可直接参考dg/index.md at master oldwinter/dg GitHub
      • 网站名修改。修改根目录的_config.yaml第一行 title 字段即可。
      • 有能力的同学,自己根据 jekyll 官方文档,定制自己的界面和样式即可。
      • 完整重复步骤 3 ,看更改是否生效。
    • (可选)自定义自己的域名
      • 在 netlify 界面按提示一步步操作即可,需要有自己的域名且已经备案。
      • [[第一次购买并备案域名的经验]]
      • [[DNS 解析]]

    写在最后

    我在践行 obsidian 笔记库全量开源的想法(代码能力不够,笔记来凑),欢迎捧场来赏赐 1 个 star:GitHub - oldwinter/knowledge-garden: 真实袒露的第二大脑 second brain ,未经美化的数字花园 digital garden

    此外,如果你对『建设数字花园,也就是公开发布自己的双链笔记』这件事儿感兴趣,欢迎加我微信:oldwinter2 ,我拉了个 10+人小群,只交流这个事儿。而 obsidian 、logseq 或其他笔记使用入门,请不要加我哈,这些有不少专门的新手讨论群,可以 b 站或百度搜一搜。

    9 条回复    2022-12-15 19:11:33 +08:00
    wonderfulcxm
        1
    wonderfulcxm  
       2022-07-14 17:00:23 +08:00
    OK ,我也想试试 Obsidian
    TrembleBeforeMe
        2
    TrembleBeforeMe  
       2022-07-14 17:31:11 +08:00
    既然对发布有硬需求为何不用 tiddlywiki
    cdd2zju
        3
    cdd2zju  
    OP
       2022-07-14 17:47:23 +08:00   1
    @TrembleBeforeMe 选笔记软件,跟选编程语言一样,选完以后,我屁股就坐这了,也实在没有精力去研究这么多软件或者编程语言。确定语言后,如果遇到各种问题,再找解决方案就够了。所以这点角度出发,我倾向于各位选择社区活跃,使用人数多的笔记软件。tiddlywiki 实在没用过,我当初第一次听说双链笔记是 roam ,然后去搜索相关笔记的时候,貌似没看到 tiddlywiki ,所以就擦肩而过了,哈哈。
    cdd2zju
        4
    cdd2zju  
    OP
       2022-07-14 17:49:09 +08:00
    @wonderfulcxm 这位同学如果还没用过双链笔记的话,我个人推荐 logseq 或 obsidian 哈。无它,社区活跃,就意味着遇到问题,一般能搜到解决方案。logseq 现在拿了投资以后,开发者好像都快有 10 人了,比 obsidian 只有 3 人多了多,可以期待一下它下半年的成长。
    codermagefox
        5
    codermagefox  
       2022-07-14 18:40:52 +08:00
    晚了,已经用 Vercel+Notion 方案了,Obsidian 还是不够爽
    cdd2zju
        6
    cdd2zju  
    OP
       2022-07-14 21:53:33 +08:00
    @codermagefox 哥们,能展开说一下嘛,vercel 起到了什么作用?是能加速 notion 的访问吗?还是将 notion 变成访问更快的静态博客? notion 我也在用的,主要用 databse 来管理一些数据清单表格。
    zxCoder
        7
    zxCoder  
       2022-07-15 11:07:20 +08:00
    你们笔记真多
    codermagefox
        8
    codermagefox  
       2022-07-18 11:22:20 +08:00
    @cdd2zju Vercel 可以直接把 notion 上的笔记变成静态博客,以 Notion 作为后端,前端可以自定义.用起来非常舒服.
    huhexian
        9
    huhexian  
       2022-12-15 19:11:33 +08:00
    我想了解一下 quartz 这个方案,是不是必须先在本地用 hugo 创建一个网站? quartz 是不是相当于一个 hugo 的主题?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3984 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 05:16 PVG 13:16 LAX 22:16 JFK 01:16
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86