网络还能怎么玩(七):基于obsidian建立博客工作流(webdav)

网络还能怎么玩(七):基于obsidian建立博客工作流(webdav)
吴阴天阅读本篇之前需要首先阅读git工作流。
除非完全不想操作服务器,并且没有较严格的版本控制需求,否则还是建议使用 git 工作流。
技术提要
- docker
- obsidian
- git
- webdav
webdav
[!通义千问] 什么是webdav?
WebDAV(Web-based Distributed Authoring and Versioning)是一种基于HTTP/HTTPS协议的互联网工程技术标准,旨在提供一种标准化的方法来让用户通过网络进行分布式文件编辑、文件管理和文件协作。简单来说,WebDAV允许用户像操作本地文件系统一样,通过网络在远程Web服务器上创建、读取、更新和删除文件及目录。
hexo 框架本身提供了 hexo server 作为本地调试和部署的方式,我们只需在服务器上启动并将指定端口暴露即可访问。
在 server 启动期间,posts文件夹下的文件如有更改,会自动进行索引。
那我们放弃使用git管理posts文件夹,并使用webdav进行文件的直接更替,即可省去拉取代码等需要操作服务器的步骤。
nextcloud
一个支持webdav的私有部署云盘:官网
将nextcloud部署至服务器后,我们创建一个文章的文件夹作为工作区。
并复制我们之后链接所需的webdav地址。
obsidian
在obsidian的第三方插件中找到Remotely Save,它可以帮我们轻松同步本地与webdav服务器上的文件。
将我们上文复制的nextcloud webdav地址填入,并配置相应的账号密码,之后我们这个obsidian仓库的东西就会同步至我们在nextcoud中建立的新文件夹工作区。
Docker
因为我们将项目中的posts文件夹交给了webdav管理,那么首先需要在git中忽略posts文件夹。
然后将我们刚才在nextcloud上创建的obsidian文件夹挂载到博客容器中。
重写Dockerfile:
1 | FROM node:latest |
同步
点击同步,即可直接将_posts文件夹内容更新。
非必要不要使用
由于没有版本管理,是可以一次点击就让网页瘫痪的。还是建议使用开头提到的git工作流。
当然,我们也可以另辟蹊径解决没有版本管理这个问题。
譬如使用定时备份或者hooks自动备份每一次修改,以达成数据保全的目的。