All Projects → insula1701 → Maxpress

insula1701 / Maxpress

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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Maxpress

Iview Weapp
一套高质量的微信小程序 UI 组件库
Stars: ✭ 6,145 (+10873.21%)
Mutual labels:  wechat, less
Weui
A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.
Stars: ✭ 26,030 (+46382.14%)
Mutual labels:  wechat, less
Wego
a wechat sdk for golang
Stars: ✭ 47 (-16.07%)
Mutual labels:  wechat
Weui Sass
sass version for weui
Stars: ✭ 55 (-1.79%)
Mutual labels:  wechat
Vue2 Web
酷我音乐—vue2、vue-router2、webpack2框架
Stars: ✭ 54 (-3.57%)
Mutual labels:  less
Wxapp Img Loader
适用于微信小程序的图片预加载组件
Stars: ✭ 1,049 (+1773.21%)
Mutual labels:  wechat
Dragtodismiss Pangesture
仿微信,微博的大图查看和视频播放 拖拽消失的手势动画。手势单独已抽离出来,可用于任何视图。Simulate Wechat's disappeared gesture animation by dragging when the big picture viewing or video playback . Gestures are separated and can be used in any view
Stars: ✭ 55 (-1.79%)
Mutual labels:  wechat
Wescraper
依赖Scrapy和搜狗搜索微信公众号文章
Stars: ✭ 46 (-17.86%)
Mutual labels:  wechat
Weixin Minigame Tutorial
Flappy Bird adaptation on Wechat Minigame using PhaserJS + English Wechat Minigames Tutorial
Stars: ✭ 56 (+0%)
Mutual labels:  wechat
Steamcn Mini Program
SteamCN Forum WeChat Mini Program. SteamCN 蒸汽动力论坛微信小程序
Stars: ✭ 54 (-3.57%)
Mutual labels:  wechat
Hhnavigationcontroller Demo
HHNavigationController demo
Stars: ✭ 55 (-1.79%)
Mutual labels:  wechat
Wx jump
[DEPRECATED] 一个规范且适合新手阅读的weixin跳一跳辅助
Stars: ✭ 53 (-5.36%)
Mutual labels:  wechat
Android Wechat Tool
a wechat tool for android
Stars: ✭ 51 (-8.93%)
Mutual labels:  wechat
Vue3 Admin
👏vue3.0后台管理框架👏基于vue-cli4+compositionAPI+vue-router4
Stars: ✭ 54 (-3.57%)
Mutual labels:  less
Gopay
QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK。【微信支付V3已支持,推荐使用微信V3接口】
Stars: ✭ 1,034 (+1746.43%)
Mutual labels:  wechat
Suspensionentrance
仿微信新版浮窗入口功能
Stars: ✭ 56 (+0%)
Mutual labels:  wechat
Rocssti
RÖCSSTI : pour démarrer vos CSS avec la patate !
Stars: ✭ 46 (-17.86%)
Mutual labels:  less
L Passport
Koa middleware and api sdk for wechat oauth, qq oauth, baidu oauth and weibo oauth
Stars: ✭ 52 (-7.14%)
Mutual labels:  wechat
Antmove
小程序转换器,基于支付宝/微信小程序, 轻松地转换成其它平台的小程序。
Stars: ✭ 1,078 (+1825%)
Mutual labels:  wechat
Wechat Jump Game Hack
微信「跳一跳」游戏作弊器
Stars: ✭ 56 (+0%)
Mutual labels:  wechat

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


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

【上篇:基本原理】《懒人福音: 怎样做一个从不排版的微信小编?》

【下篇:语法指南】 《微信公众号MarkDown排版完全指南》


基本功能

  1. 批量转换MarkDown文档为适合粘贴微信编辑器的HTML文件。
  2. 支持自定义:正文字号、文字颜色(正文颜色、主题色、引用色)、行间距、段间距、标题水平对齐方式、内容两侧留白比例、底部图片。
  3. 转换完成的MarkDown文档可以自动移动存档。

开始使用

下载

下载最新稳定版本:Windows版/Mac版

使用Windows/Mac版可执行程序

一键排版

  1. 使用Markdown创作你的内容,保存为.md文件,放入temp目录中。
  2. 双击运行maxpress程序,result/html目录下将生成同名的.html文件。
  3. 用浏览器打开生成的.html文件,全选复制,粘贴到微信编辑器中。
  4. 检查,预览,调整。

【注意事项】

  1. 推送前请务必发送到手机预览仔细检查,作者不为最终样式的绝对正确担保。
  2. 转换前请务必在软件目录之外留有原文档副本,作者不为意外发生的数据丢失负责。
  3. 目前只测试了Win/Mac上的Chrome浏览器,如果这一步出现格式丢失/错乱等情况,请在issue中反馈,说明你遇到的问题、使用的系统和浏览器。
  4. 支持多个.md文件、多个子目录(包括嵌套子目录)的批量转换。
  5. 默认进行自动存档,即转换完毕后将所有原始.md文件移动至result/archive目录下,可修改配置文件(auto_archive)禁用此功能。
  6. 如果出现文件名冲突的情况,默认同文件名自动覆盖,可修改配置文件(auto_rename)改为进行自动重命名。

格式调整

在运行转换程序之前,修改config.json文件,可自定义常用格式变量。

包括:

变量名 默认值 说明
main_size 16px 正文主字号
theme_color #349971 主题色,用于标题、强调元素等文字颜色
text_color #555 正文文字颜色
quote_color #999 引用框和代码框内文字颜色
line_height 2em 正文行高
para_spacing 1.5em 正文段间距
align 多项 各部分的水平对齐方式,建议leftcenterh1h6代表标题1~标题6,content代表正文)
main_margin 3% 内容两侧留白比例
banner_url "" 文章头部引导关注图片的url
poster_url "" 底部二维码/海报图片的地址
convert_list true 将正文中的列表转换为普通段落,以修正微信不能正常显示列表序号样式的问题(仅用于微信)
ul_style "○" 将无序列表转换为普通段落后,每项之前的符号标识(仅当convert_listtrue时启用)
auto_archive "" 是否自动存档(转换后将原始.md文件移动至result/archive目录下)
auto_rename false 冲突文件名的处理:true自动重命名;false覆盖先前的文件

备注:

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

更多自定义

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

示例

example.md -> example.html (html请下载后在浏览器中打开)

公众号文章示例:微信公众号MarkDown排版完全指南

使用Python脚本【推荐】

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

开发环境

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

依赖的包:mistunepremailerlesscpy

快速安装依赖: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请下载后在浏览器中打开)

后续开发计划

  • [x] 可选在文首自动添加引导关注Banner
  • [ ] 代码的精简&重构(不影响功能)
  • [ ] 支持更多样化的文中小标题模式配置
  • [ ] 支持Hexo博客文章的直接转换
  • [ ] 简化HTML及CSS自定义流程

Reference

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

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].