多鱼小站-薅羊毛社区,折扣网

标题: 手机上使用StackEdit发布Hugo博客 [打印本页]

作者: lacken    时间: 2024-7-29 15:22
标题: 手机上使用StackEdit发布Hugo博客
Stackedit 是一款非常优秀的在线 Markdown 编辑器,它可以私有化部署并绑定 Github 仓库,信息都储存在浏览器 Cookies 中,我尝试过通过 Stackedit 在手机编辑简单信息并提交到Github更新。但该方式主要问题在于无法提交图片,只适合不需要图片,或者采用第三方图库时使用。
上传图片问题
由于我最开始测试时,使用的是安卓版 Edge 浏览器,在该浏览器中,默认的手机版网页中确实无法直接粘贴图片。但在后续的测试中发现这是我自己存在重大误解。
直接使用手机浏览器横屏或桌面模式上传
StackEdit 自带有编辑器工具栏,但是在手机竖版网页中,这些编辑工具默认只显示前两个(主要看手机屏幕最小宽度设置,安卓设置方法是系统设置——开发者选项——最小宽度设置)。在旋转手机变横屏后,编辑器工具栏就可以显示所有工具栏选项。或者,使用浏览器的桌面模式,也能实现同样的效果。
(, 下载次数: 10) stackedit使用手机内置浏览器等其他浏览器上传
在我 VIVO 手机的内置浏览器中,当打开 StackEdit 编辑器时,可以直接将手机剪贴板中的图片粘贴到编辑器,包括从手机图库、网页、微信等 APP 中复制的图片,均能粘贴。
另外我也测试了其他常用 Firefox, Chrome 浏览器,但这两者均不支持直接粘贴图片。其中,Firefox 仅可粘贴从 Firefox 网页上复制的图片。
由于我对 VIVO 自带浏览器不是很喜欢(每次打开都有广告),所以这种方法对我来说还稍微欠缺一点。直接在主流浏览器中横屏使用最方便。
如何使用 StackEdit 发布 Hugo 博客
要使用stackedit,可以选择在自己的服务器部署一个 StackEdit 应用,也可以使用网络上现成的应用。因为 StackEdit 本身是一个网页版应用,该应用的所有数据都储存在使用者浏览器的 Cookies 中,所以直接使用像 Stackedit.cn 官网的编辑器或任意搜索到的编辑器都行,不存在信息泄露问题。
Docker 部署
官方只推荐 Docker 部署这一种方式。 docker-compose.yml如下:

  1. <div><b>version: "3.7"</b>
  2. <b>services:</b>
  3. <b>  stackedit:</b>
  4. <b>    image: mafgwo/stackedit:【docker中央仓库找到最新版本】</b>
  5. <b>    container_name: stackedit</b>
  6. <b>    environment:</b>
  7. <b>      - LISTENING_PORT=8080</b>
  8. <b>      - ROOT_URL=/</b>
  9. <b>      - USER_BUCKET_NAME=root</b>
  10. <b>      - DROPBOX_APP_KEY=【不需要支持则删掉】</b>
  11. <b>      - DROPBOX_APP_KEY_FULL=【不需要支持则删掉】</b>
  12. <b>      - GITHUB_CLIENT_ID=【不需要支持则删掉】</b>
  13. <b>      - GITHUB_CLIENT_SECRET=【不需要支持则删掉】</b>
  14. <b>      - GITEE_CLIENT_ID=【不需要支持则删掉】</b>
  15. <b>      - GITEE_CLIENT_SECRET=【不需要支持则删掉】</b>
  16. <b>      - GOOGLE_CLIENT_ID=【不需要支持则删掉】</b>
  17. <b>      - GOOGLE_API_KEY=【不需要支持则删掉】</b>
  18. <b>      - GITEA_CLIENT_ID=【不需要支持则删掉】</b>
  19. <b>      - GITEA_CLIENT_SECRET=【不需要支持则删掉】</b>
  20. <b>      - GITEA_URL=【不需要支持则删掉】</b>
  21. <b>      - GITLAB_CLIENT_ID=【不需要支持则删掉】</b>
  22. <b>      - GITLAB_CLIENT_SECRET=【不需要支持则删掉】</b>
  23. <b>      - GITLAB_URL=【不需要支持则删掉】</b>
  24. <b>    ports:</b>
  25. <b>      - 8080:8080/tcp</b>
  26. <b>    network_mode: bridge</b>
  27. <b>    restart: always</b></div><div style="font-weight: bold;"></div>
复制代码



绑定自己的仓库
本文假定已经完成了 Hugo 在 Github 的部署工作。接下来,只需要在 StackEdit 中绑定 Github 仓库即可。
绑定主文档空间
不建议直接开启自动同步,特别是自动部署的 Hugo。因为 Stackedit 默认同步时间为 90 秒,如果直接同步仓库会导致正在编辑的文件被频繁上传到 github 而不断触发自动部署功能。
(, 下载次数: 10) 频繁部署
*备注:无论是关闭自动同步还是延长同步时间,均存在一定风险。万一浏览器页面崩溃,已编辑数据可能存在丢失现象。
同步文件
使用同步功能将博客文件上传到 Github 仓库。

其他问题
总的来说 StackEdit 确实可以用作手机上的 Hugo 发布端,但是我在使用过程中还是发现几个问题比较头疼,让我感觉这种方式还是不如 Code Server 好用。
如果想在 Hugo Content 中设置多个目录存放博客文件,还需要在 hugo.toml 或者 hugo.yaml 进行设置。


  1. <div><font color="#009000"><span style="font-size: 17px;"># Toml</span></font>
  2. <font color="#009000"><span style="font-size: 17px;">[contentTypes]</span></font>
  3. <font color="#009000"><span style="font-size: 17px;">  [contentTypes."post"]</span></font>
  4. <font color="#009000"><span style="font-size: 17px;">    path = "post"</span></font>
  5. <font color="#009000"><span style="font-size: 17px;">  [contentTypes."posts"]</span></font>
  6. <font color="#009000"><span style="font-size: 17px;">    path = "posts"</span></font></div><div style="color: rgb(0, 0, 0); font-size: 17px;"></div>
复制代码


HUGO 只有两种图片存储方式(不考虑远程图库),一种是官方推荐的方式,图片与 md 文件放在单独目录内;另一种是将图片放在 static 目录中。但如果将文章图片上传到 static 目录,会出现两个问题。1 是这种路径在本地无法预览;2 是在使用其他 VScode obsidian Joplin 等管理工具时很难维护。


  1. <div><font color="#b00000"># Hugo Content 默认目录</font>
  2. <font color="#b00000">content/</font>
  3. <font color="#b00000">├── post/</font>
  4. <font color="#b00000">│   ├── Article-path1/</font>
  5. <font color="#b00000">│   │   ├── images/</font>
  6. <font color="#b00000">│   │   │   ├── funnier-cat.jpg</font>
  7. <font color="#b00000">│   │   │   └── funny-cat.jpg</font>
  8. <font color="#b00000">│   │   ├── index.zh-cn.md</font>
  9. <font color="#b00000">│   │   └── index.md</font>
  10. <font color="#b00000">│   ├── Article-path2/</font>
  11. <font color="#b00000">│   │   ├── fetured.jpg</font>
  12. <font color="#b00000">│   │   └── index.md</font>
  13. <font color="#b00000">├── 1-logo.png</font>
  14. <font color="#b00000">└── _index.md</font>
  15. </div>
复制代码







欢迎光临 多鱼小站-薅羊毛社区,折扣网 (https://www.codeblogs.cn/) Powered by Discuz! X3.5