开发🐁尾汁Markdown转换工具 | 项目复盘

简介: hzwz-markdown 是一款基于 Python 实现的,用于 将Markdown文件转换成带样式的公号文章HTML 的工具。

1、项目简介


hzwz-markdown 是一款基于 Python 实现的,用于 将Markdown文件转换成带样式的公号文章HTML 的工具。


仓库地址github.com/coder-pig/h…


简单点说就是:配个 样式模板,运行直接生成带样式的HTML,贴到公众号编辑器就可以直接发了。


2、项目背景


笔者习惯使用Markdown杜撰技术文稿,尔后发布到公号上,当然不能直接发,还需要进行 排版


排版可谓是体力活,特别遇到表格,一个个手动复制粘贴,常常一篇就要排上半个多小时。


而排版都是按照一个 统一样式 来排的,所以是重复劳动,急需一个工具提高我的排版效率。


网上有很多优秀的Markdown工具,如:Markdown转换工具Md2AllMPEditorMdnice 等。


一开始用还凑合,后面发现样式太单一了,一堆公号也在用,区分度不高,有些支持定制的,但要自己改CSS,有一定的门槛,没前端经验的用户可能难以下手。大部分的用户诉求可能跟我一致:


我不懂配色,不懂CSS,只是觉得别人文章样式好看,我也想在自己的文章里用上,仅此而已。


遂,萌生了一个自己写一个工具的想法,我希望它:


  • 样式灵活:样式我不会写,我会啊,看到喜欢的公号样式直接偷,还有谁?
  • 简单易用:用户通过尽可能简单的配置,一键完成转换,一劳永逸。
  • 纯粹&可定制:代码开源,没有私货,纯透明,会Python还能自行定制。


3、实践过程


① 技术选型及基本原理


基于 Python 进行开发,主要原因是Python笔者玩得溜一些,其他语言实现起来可能更简单(如JavaScript)。


工具的核心其实很简单:


解析Markdown文件对特定类型元素进行渲染生成HTML文件


接着是这三步的逐步细化:


① 解析Markdown文件


即解析Markdown且能对不同类型的元素做区分,此处使用轮子 → mistune



② 对特定类型元素进行渲染


即将不同类型的元素,转换成带 内联样式的HTML,直接使用字符串拼接,繁冗且复用性差,此处引入模板的概念,将每种元素的样式保存成单独html模板,用到时传参渲染,此处使用轮子 → jinja2 模板库。


③ 生成HTML文件


将所有元素渲染后的html代码拼接,也可进行一些DIY,如文章顶部和底部添加导流样式,最后输出到HTML文件中。


② 具体实现细节


就是 不同元素类型具体处理,以前写过一篇记录开发过程的文章,就不搬运了,感兴趣可移步至:《喂汁,用Python写个专属Markdown转换工具》 自行查阅:


网络异常,图片无法展示
|


给下笔者自定义且在用的两个样式,给各位看下效果:


Python系列


网络异常,图片无法展示
|


Kotlin系列:吹爆,头部封面图片+文/CoderPig,借鉴谷歌开发者公号样式,标题颜色按照红篮黄依次切换,超链接精美样式,底部引流end+图片~


网络异常,图片无法展示
|


网络异常,图片无法展示
|


4、总结思考


实际开发中其实踩坑不少,比如换行符\n被微信吃掉了,代码高亮怎么解决等,不过所幸也肝出来了。

自用过程中还是有些小bug,如段落换行的逻辑,引用出现莫名其妙的空格等,功能也不全,不支持Latex公式。


相关文章
|
Android开发
我用过的笔记 Markdown Wiki 工具
我用过的笔记 Markdown Wiki 工具
|
9月前
|
人工智能 文字识别 自然语言处理
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
Vision Parse 是一款开源的 PDF 转 Markdown 工具,基于视觉语言模型,能够智能识别和提取 PDF 中的文本和表格,并保持原有格式和结构。
1194 19
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
|
9月前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
710 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
存储 安全 数据安全/隐私保护
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
561 0
|
10月前
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
1870 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
存储 移动开发 编解码
基于HTML5开发的Markdown在线编辑器
Markdown是一种轻量级标记语言,以其简洁易读的格式而备受程序员和作者们的青睐。随着互联网的发展,越来越多的在线Markdown编辑器应运而生,为用户提供了更加便捷、高效的写作和编辑环境。本文将探讨基于HTML5开发的Markdown在线编辑器的设计原理、功能特点以及技术优势。
325 4
|
存储 移动开发 编解码
基于HTML5开发的Markdown在线编辑器
Markdown是一种轻量级标记语言,以其简洁易读的格式而备受程序员和作者们的青睐。随着互联网的发展,越来越多的在线Markdown编辑器应运而生,为用户提供了更加便捷、高效的写作和编辑环境。本文将探讨基于HTML5开发的Markdown在线编辑器的设计原理、功能特点以及技术优势。
170 1
基于HTML5开发的Markdown在线编辑器
|
JSON API 开发工具
|
机器学习/深度学习 自然语言处理 PyTorch
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。