更新针对非技术人员的小白教程:
【上篇:基本原理】《懒人福音: 怎样做一个从不排版的微信小编?》
【下篇:语法指南】 《微信公众号MarkDown排版完全指南》
下载最新稳定版本:Windows版/Mac版
.md
文件,放入temp
目录中。maxpress
程序,result/html
目录下将生成同名的.html
文件。.html
文件,全选复制,粘贴到微信编辑器中。【注意事项】
.md
文件、多个子目录(包括嵌套子目录)的批量转换。.md
文件移动至result/archive
目录下,可修改配置文件(auto_archive)禁用此功能。在运行转换程序之前,修改config.json
文件,可自定义常用格式变量。
包括:
变量名 | 默认值 | 说明 |
---|---|---|
main_size | 16px | 正文主字号 |
theme_color | #349971 | 主题色,用于标题、强调元素等文字颜色 |
text_color | #555 | 正文文字颜色 |
quote_color | #999 | 引用框和代码框内文字颜色 |
line_height | 2em | 正文行高 |
para_spacing | 1.5em | 正文段间距 |
align | 多项 | 各部分的水平对齐方式,建议left 或center (h1 ~h6 代表标题1~标题6,content 代表正文) |
main_margin | 3% | 内容两侧留白比例 |
banner_url | "" | 文章头部引导关注图片的url |
poster_url | "" | 底部二维码/海报图片的地址 |
convert_list | true | 将正文中的列表转换为普通段落,以修正微信不能正常显示列表序号样式的问题(仅用于微信) |
ul_style | "○" | 将无序列表转换为普通段落后,每项之前的符号标识(仅当convert_list 为true 时启用) |
auto_archive | "" | 是否自动存档(转换后将原始.md 文件移动至result/archive 目录下) |
auto_rename | false | 冲突文件名的处理:true 自动重命名;false 覆盖先前的文件 |
备注:
theme_color
,其余可以采用默认配置。convert_list
选项作为临时解决方案,当此项为true
时,正文中的所有列表(不包括代码块中的内容)会被转化为段首带序号的普通段落。注意,这种情况下,styles.less
中专门为列表设置的样式将会失效。如果你有更好的办法,欢迎开issue告诉我。如果你希望覆盖默认样式中的个别样式,可以自主编写custom.css
,它将在default.css
之后被引入。
example.md
->
example.html
(html请下载后在浏览器中打开)
公众号文章示例:微信公众号MarkDown排版完全指南
如果你的计算机上装有Python环境,可以直接运行脚本。建议从Master分支获取最新稳定版本。
使用Python 3.5.2开发,CSS样式表使用LESS编译。建议在Python 3环境下使用。
依赖的包:mistune, premailer, lesscpy
快速安装依赖:pip install -r requirements.txt
直接运行:python maxpress.py
或者作为模块导入:
import maxpress
maxpress.convert_all(archive=True, styles=None)
如果你希望整体弃用默认样式并启用自定义CSS样式表,可以通过styles
参数传入自定义CSS文件路径(支持用列表传入多个),这时config.json
中用于定义样式的参数将会失效,custom.css
将在你的全部自定义样式表之后引入。
带样式的列表粘贴到微信编辑器时,可能意外出现格式丢失的情况(貌似是微信的bug?),目前通过在每个li
元素内额外添加一个span
元素包装样式,暂时可以解决。但要注意,如果自定义样式的话,为li span
所设置的字号、颜色等不能与上级元素完全一致,否则在粘贴到微信编辑器时会被自动去掉。
example.md
->
example.html
(html请下载后在浏览器中打开)
设计思路及部分默认样式参考了:
markdownhere.css
MIT