8000 GitHub - Eliot00/mp-org: Org微信公众号排版工具 · GitHub
[go: up one dir, main page]

Skip to content
Eliot00Public

About

Org微信公众号排版工具

Resources

Stars

14 stars

Watchers

1 watching

Forks

Repository files navigation

mp-org 公众号Org排版工具

简介

将Org转换成HTML文档,一键复制粘贴到微信公众号,支持自定义CSS。

使用

macOS 安装

macOS 安装包目前使用 ad-hoc 签名(未经过 Apple 公证)。首次打开若提示「无法验证开发者」或「已损坏」,任选其一:

  • 打开「系统设置 → 隐私与安全性」,在底部点击「仍要打开」;
  • 或执行 xattr -dr com.apple.quarantine /Applications/mp-org.app 后重新打开。

配置

mp-org使用 toml 文件配置,配置文件位置:

  • Lin: /home/<user>/.config/mp-org/config.toml
  • Win: C:\Users\<user>\AppData\Roaming\mp-org\config.toml
  • Mac: /Users/<user>/Library/Application Support/mp-org/config.toml

自定义主题

mp-org允许配置多个主题,运行时按需选择。首先在平台特定的配置目录内新建 theme 文件夹,保存多个 css 文件,以 Linux 为例:

~/.confg/mp-org/themes

theme1.css
theme2.css

修改 config.toml 增加如下内容:

[theme.theme1]
name = "主题1"
path = "theme1.css"

[theme.theme2]
name = "主题2"
path = "theme2.css"

重新运行mp-org即可。

主题格式

具体的主题 css 格式如下:

/* 一级标题样式 */
h1 {
}
/* 二级标题样式 */
h2 {
}
/* 三级标题样式 */
h3 {
}
/* 四级标题样式 */
h4 {
}
/* 图片样式 */
image {
}
/* 引用样式 */
blockquote {
}
/* 段落样式 */
p {
}
/* 粗体样式 */
strong {
}
/* 链接样式 */
a {
}
/* 有序列表样式 */
ol {
}
/* 无序列表样式 */
ul {
}
/* 列表项样式 */
li {
}
/* 行内代码样式 */
code {
}
/* 代码块样式 */
pre {
}

代码块高亮使用Shiki的 everforest-light 主题,行内颜色由Shiki生成,无需在主题中配置。

微信兼容性说明

微信公众号在保存草稿时会重建正文:只保留内联样式,并且会丢弃 pre 上的盒模型样式(背景、内边距、圆角、外边距)以及 pre 内的裸换行和空格。mp-org已做如下处理:

  • 代码块的卡片样式会从 pre 自动挪到外层 section 上,因此主题里针对 pre 写的样式仍然有效;
  • 换行和空格分别转成 <br> 和 =&nbsp;=;
  • 请使用 px 等像素单位,避免 rem=、=var() 和自定义属性,微信不支持它们。

图片上传

mp-org支持通过调用外部程序上传本地图片,如:

[image]
uploader = "/path/to/uploader"

点击「上传本地图片」时,将以 uploader <local file path> 的形式调用uploader程序,并用 stdout 替换原有的本地图片路径。

发布

发布新版本时统一修改 package.json=、=src-tauri/Cargo.toml=、=src-tauri/Cargo.lock=、=src-tauri/tauri.conf.json 中的版本号,提交 release: x.y.z 并推送 tag,GitHub Actions 会自动构建并创建 draft release。

macOS 签名与公证

当前使用 ad-hoc 签名(=bundle.macOS.signingIdentity: “-“=),因此用户首次打开需要手动放行。有 Apple Developer 账号后可切换为正式签名 + 公证:

  1. 把 src-tauri/tauri.conf.json 中的 bundle.macOS.signingIdentity 改成 Developer ID Application 证书名;
  2. 在仓库 Secrets 中配置 APPLE_CERTIFICATE=、=APPLE_CERTIFICATE_PASSWORD=、=APPLE_SIGNING_IDENTITY=、=APPLE_ID=、=APPLE_PASSWORD=、=APPLE_TEAM_ID=(或 =APPLE_API_KEY 系列);
  3. 推送新 tag,CI 会自动完成签名与公证。

相关项目

docube
org、markdown等文档管理工具

About

Org微信公众号排版工具

Resources

Stars

14 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0