Featured image of post Noctalia 状态栏插件一键发布博客 + Typora Linux 白嫖激活

Noctalia 状态栏插件一键发布博客 + Typora Linux 白嫖激活

Noctalia 状态栏插件教程:状态栏一个 ☁️ 图标,点开面板即可新建 Hugo 文章、本地预览、一键推送发布,全程不碰终端。附完整源码与安装步骤。

   
文章摘要
点一下状态栏,博客就发出去了……😋

这是什么

一个 Noctalia Shell 状态栏插件(blog-publisher):状态栏多一个 ☁️ 图标,点开是博客发布面板——新建文章、本地预览、一键推送,全流程不碰终端。写完正文点一下,1 分钟后博客上线。

源码在博客仓库的 noctalia-blog-publisher/ 目录,下面是安装和使用教程。

功能一览

面板功能说明
✚ 新建文章展开输入框填标题,回车即生成 front matter 模板并用 Typora 打开
✏️ 编辑最近文章 / 文章列表点击直接打开对应 md 文件
👁 本地预览启动 hugo server,浏览器访问 localhost:1313
🚀 一键发布git commit + push,GitHub Actions 自动部署上线
📦 发布到 Pages本地 hugo 构建,直接推 GitHub Pages 仓库(备用通道)
状态显示顶部实时显示未提交改动数、待推送提交数;底部显示每次操作结果

安装步骤

1. 建一个本地插件源(推荐做法)

Noctalia 的插件列表读的是每个源仓库的 catalog.toml,社区源是官方 git 仓库、改不得。给自己的插件建一个独立的本地 path 源最干净,plugins update 也不会冲掉:

mkdir -p ~/.local/share/noctalia-local-plugins/blog-publisher
cp -r noctalia-blog-publisher/* ~/.local/share/noctalia-local-plugins/blog-publisher/

2. 写这个源的 catalog.toml

~/.local/share/noctalia-local-plugins/catalog.toml:

[[plugin]]
id = "dsh/blog-publisher"
name = "Blog Publisher"
version = "0.1.0"
updated_at = 0
added_at = 0
author = "dsh"
license = "MIT"
icon = "cloud-upload"
description = "Hugo blog publisher: new post, preview, one-click deploy to GitHub Pages."
deprecated = false
plugin_api = 24
tags = ["utility", "bar", "panel"]

3. 注册并启用

noctalia msg plugins source add local-plugins path ~/.local/share/noctalia-local-plugins
noctalia msg plugins enable dsh/blog-publisher

4. 添加到状态栏

设置 → 状态栏 → 小组件,把 Blog Publisher 加到任意区域。也可以直接编辑 ~/.local/state/noctalia/settings.toml:

  • [bar.default] 的 start(或 end)列表里加入 "blog_widget"
  • 文件末尾追加:
[widget.blog_widget]
type = "dsh/blog-publisher:widget"

5. 重启 Noctalia

pkill -x noctalia

状态栏出现 ☁️ 即成功。

配置

插件设置里可改两个路径(默认值适合标准布局):

设置项默认值说明
blog_dir~/博客/hugoHugo 源仓库路径
pages_dir~/博客/1143520.github.ioPages 发布仓库路径

依赖

  • hugo(extended 版,建议与 GitHub Actions 部署用的版本一致)
  • git,且源仓库已配置好推送权限
  • 编辑器:默认调用 typora <文件>;没有 Typora 的话改 panel.luau 里的启动命令换 vim / kate 等

附:Typora Linux 白嫖激活(一行补丁,离线永久)

Typora 官方三天试用后要求买断($14.99)。Linux 下有个比各种激活工具都干净的方案——只改一行判断,不需要联网续期、不需要装任何后台程序:

步骤

  1. 官网下载 deb 安装:sudo dpkg -i typora_*_amd64.deb(或用 apt 装)

  2. 找到许可证判断文件(文件名里的 hash 随版本变,用 find 定位):

find /usr/share/typora -name "LicenseIndex*.js"
# 1.14.9 是 /usr/share/typora/resources/page-dist/static/js/LicenseIndex.180dd4c7.5b58fa97.js
  1. 备份后把激活判断改死为真:
F=$(find /usr/share/typora -name "LicenseIndex*.js")
sudo cp "$F" "$F.bak"
sudo sed -i 's/hasActivated="true"==e.hasActivated/hasActivated="true"=="true"/' "$F"
  1. 打开 Typora —— 已激活,写正文即可。

原理

Typora 前端判断「是否已激活」的逻辑被改成恒真,许可证校验直接通过。因为判断永远为真,官方「许可证 12 小时过期、联网续期」的机制根本不会被走到——所以断网也永久有效,没有任何过期弹窗。

注意

  • 升级 Typora 后新文件会覆盖补丁,重跑第 3 步的 sed 即可
  • .bak 备份留在同目录,想还原官方状态 sudo mv 原文件.bak 原文件
  • 本教程仅用于学习研究,条件允许请支持正版

日常使用

写一篇博客的完整动作:

  1. 点状态栏 ☁️ → 「新建文章」→ 填标题 → 回车(Typora 自动弹出)
  2. 用 Typora 写正文(所见即所得),保存关闭
  3. 回到面板点「🚀 一键发布」
  4. 一两分钟后刷新博客,新文章已上线

已知说明

  • 面板输入框样式由主题统管,如你的主题下观感不佳,可在 panel.luau 里自行调整
  • 「一键发布」用的是 git commit -m 'update <时间戳>',需要自定义提交信息的话改 panel.luau 里对应的命令
  • 插件用 Luau 写,noctalia plugins lint 可做静态检查;Noctalia 大版本更新后如面板异常,优先检查 plugin_api 版本号
CC BY-NC-SA 4.0 创意的非商业派对入场券
最后更新于 2026-10-27 01:05
晚来天欲雪,能饮一杯无