MaxPress:MarkDown+Python实现微信公众号一键排版

更新针对非技术人员的小白教程:

基本功能

批量转换MarkDown文档为适合粘贴微信编辑器的HTML文件。

支持自定义:正文字号、文字颜色(正文颜色、主题色、引用色)、行间距、段间距、标题水平对齐方式、内容两侧留白比例、底部图片。

转换完成的MarkDown文档可以自动移动存档。

开始使用

下载

使用Windows/Mac版可执行程序

一键排版

使用Markdown创作你的内容,保存为.md文件,放入temp目录中。

双击运行maxpress程序,result/html目录下将生成同名的.html文件。

用浏览器打开生成的.html文件,全选复制,粘贴到微信编辑器中。

检查,预览,调整。

【注意事项】

推送前请务必发送到手机预览仔细检查,作者不为最终样式的绝对正确担保。

转换前请务必在软件目录之外留有原文档副本,作者不为意外发生的数据丢失负责。

目前只测试了Win/Mac上的Chrome浏览器,如果这一步出现格式丢失/错乱等情况,请在issue中反馈,说明你遇到的问题、使用的系统和浏览器。

支持多个.md文件、多个子目录(包括嵌套子目录)的批量转换。

默认进行自动存档,即转换完毕后将所有原始.md文件移动至result/archive目录下,可修改配置文件(auto_archive)禁用此功能。

如果出现文件名冲突的情况,默认同文件名自动覆盖,可修改配置文件(auto_rename)改为进行自动重命名。

格式调整

在运行转换程序之前,修改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,其余可以采用默认配置。

目前这版微信UI,貌似对所有列表序号都只能显示默认样式,即使把样式写进上级元素,粘贴进编辑器的时候也会被“洗掉”,目前尚未找到方法绕过此限制,因此添加convert_list选项作为临时解决方案,当此项为true时,正文中的所有列表(不包括代码块中的内容)会被转化为段首带序号的普通段落。注意,这种情况下,styles.less中专门为列表设置的样式将会失效。如果你有更好的办法,欢迎开issue告诉我。

更多自定义

如果你希望覆盖默认样式中的个别样式,可以自主编写custom.css,它将在default.css之后被引入。

示例

使用Python脚本【推荐】

如果你的计算机上装有Python环境,可以直接运行脚本。建议从Master分支获取最新稳定版本。

开发环境

使用Python 3.5.2开发,CSS样式表使用LESS编译。建议在Python 3环境下使用。

快速安装依赖: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所设置的字号、颜色等不能与上级元素完全一致,否则在粘贴到微信编辑器时会被自动去掉。

示例

后续开发计划

可选在文首自动添加引导关注Banner

代码的精简&重构(不影响功能)

支持更多样化的文中小标题模式配置

支持Hexo博客文章的直接转换

简化HTML及CSS自定义流程

Reference

设计思路及部分默认样式参考了:

License

MIT

python自动排版公众号_GitHub - sunshine2337/maxpress: MaxPress:MarkDown+Python实现微信公众号一键排版...相关推荐

  1. 微信公众号使用Chrome插件:Markdown Nice优化微信公众号排版教程

    Markdown Nice 是一个为了解决微信公众号排版而生的 Markdown 编辑器,当前有在线编辑器和 Chrome 插件 2 种产品形态. 下面介绍Chrome 插件:Markdown Nic ...

  2. 微信公众号中,怎么插入代码块?(微信公众号中,代码块怎么排版?)

    微信公众号代码编辑工具 步骤1.如上图所示,我们要点击复制; 步骤2.直接ctrl+v粘贴到微信公众号的编辑框中,如下图所示: 微信公众号排版工具(135编辑器) 135编辑器是一款很好的微信公众号编 ...

  3. ➢ 微信公众号运营教程(一)申请一个微信公众号

    ➢ 微信公众号运营教程(一)申请一个微信公众号 我们要创建一个个人公众号,首先需要申请一个公众号. 下面详细说说申请过程. 注册地址:https://mp.weixin.qq.com/ 或者直接搜索: ...

  4. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

  5. 小程序公众号平台添加服务器,微擎绑定对接微信公众号小程序图文教程

    服务器文档网,在为客户服务的过程中,发现新入行的童鞋不会对接绑定公众号,今天有点闲暇,做了一份教程,供童靴们参考. 第一步:登录 第二步:点击[新建公众号]. 第三步:点击[手动添加公众号] 第四步: ...

  6. python下载微信公众号文章_一步步教你打造微信公众号文章爬虫(3)-批量下载

    本文为本专题第3篇,如果你基础不错的话只看这一篇的讲解及源代码应该就能轻松实现批量下载所有文章了,基础稍差的可以先看一下前两篇,只要你有点基础,有点耐心,八成朋友都至少能照葫芦画瓢实现批量下载文章的功 ...

  7. python爬取公众号历史文章_pythons爬虫:抓取微信公众号 历史文章(selenium+phantomjs)...

    原标题:pythons爬虫:抓取微信公众号 历史文章(selenium+phantomjs) 大数据挖掘DT数据分析 公众号: datadw 本文爬虫代码可以通过回复本公众号关键字"公众号& ...

  8. 公众平台模板消息所在行业_第三方工具微信公众号模板消息群发如何操作?

    当下,公众平台模板消息功能仅支持添加模板,修改所在行业,如果想要群发模板消息,可以自己根据公众平台的接口编程实现,也可通过微号帮平台的模板消息群发功能实现,均可以让微信公众号群发模板消息,模板消息即按 ...

  9. 使用代理爬去微信公众号_Python3WebSpider/9.5-使用代理爬取微信公众号文章.md at master · Lainton/Python3WebSpider · GitHub...

    9.5 使用代理爬取微信公众号文章 前面讲解了代理池的维护和付费代理的相关使用方法,接下来我们进行一下实战演练,利用代理来爬取微信公众号的文章. 1. 本节目标 我们的主要目标是利用代理爬取微信公众号 ...

  10. 微信公众号如何插入html,教你如何在微信公众号优雅的展示代码

    最近在微信公众号上记录自己的技术成长以及面试经历,在添加代码块的时候,尝试了很多种方式,都无法很友善的显示代码,对于代码的换行和样式感到头大,对这个排版问题,苦恼了很久. 刚开始有在各种微信公众号编辑 ...

最新文章

  1. user is not in the sudoers file.
  2. 解决iOS地图持续定位耗电问题
  3. iOS代码质量要求_Unity移动端代码热更新技术学习总结
  4. git 修改tag 备注_【Git】第十二章:Git高级实战技巧
  5. Linux系统出现验证码乱码的原因及解决办法
  6. python列表去重_python 字典列表/列表套字典 去重重复的字典数据
  7. Tiny4412 使用superboot安装启动安卓/Linux/UbuntuCore系统, 使用SD-Flasher烧写
  8. “智慧银行”行业研究报告要点整理
  9. python通过串口发送bin文件
  10. php表格显示成绩,学生成绩表格展示
  11. 类和对象12:容器方法
  12. 数学笔记——导数2(求导法则和高阶导数)
  13. c语言第五次上机作业,大连理工c语言第五次上机作业参考答案(5页)-原创力文档...
  14. 如何解决万能地图下载器下载的地图和选择范围不一致
  15. 什么是 Android Jetpack?
  16. 【IOS开发进阶系列】动画专题
  17. 《乘风破浪的姐姐》的观后感,有钱真好!
  18. python pdf转word的两种方法
  19. 【linux】nfs挂载错误wrong fs type, bad option, bad superblock
  20. android timer 控件,TimerView 一个解耦良好的计时控件,可自由扩展。 @codeKK Android开源站...

热门文章

  1. 收银系统源码,又又升级最新下载sass版了
  2. 使用微 PE(U盘)安装 Windows 10 操作系统
  3. Linux与Windows分区格式详解
  4. 网站建设备案和不备案的一些疑惑问题大全
  5. TIFF图像文件格式详解
  6. 三阶科赫雪花PYTHON
  7. 网易云音乐:歌曲鉴赏人选品
  8. 《学习openCV》例程解析 ex_9_3(codeBook模型实现背景减除)
  9. matlab cy68013,基于MATLAB的码垛机械手运动学分析与仿真
  10. iOSAPP开发FPS的测试技巧