🤡公号文章排版利器 | 🐁尾汁Markdown转换工具来咯~(上)

简介: 从可定制和易用性两方面入手优化,这不第一个可用版本来咯~

0x1、项目简介


项目地址github.com/coder-pig/h…


1、工具是干嘛的?


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


简单点说就是:


你配个样式模板,工具会根据此模板对md文件做转换,生成HTML,你贴到公众号编辑器里就可以直接发了。


大概用法可以参见视频:www.bilibili.com/video/BV135…


2、开发初衷


笔者习惯使用Markdown语法撰写技术文稿,然后把文章发布到公号上,每次发布最揪心的就是排版,特别是遇到表格,插入x行y列的表格,然后一个一个格子手动复制粘贴,浪费时间。而实际上,排版时都是按照一个统一的样式 来排版,纯粹的机械劳动,我需要一个工具来提高排版的效率。


网上已经有很多优秀的Markdown排版工具,如:



一开始用觉得还凑合,但是慢慢发现样式同质化的情况严重,样式单一,你用别人也用,满大街的公号用和你同样的样式,区分度不高。其次,虽然有些工具支持定制,但是要自己去改CSS,有一定门槛,没有前端经验的用户可能难以下手。


可能大部分用户的诉求跟我一致:


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


遂有了自己写一个工具的想法,对这个工具的期许如下:


简单易用:不懂开发也没关系,配置文件改下配置项,一键运行自动生成; ② 样式灵活:提供一些笔者的样式可供直接使用,不够?看上别人的样式直接偷; ③ 纯粹&可定制:代码开源透明无私货,如果你会Python还可以做深一步定制。


0x2、技术选型及基本原理


工具采用Python进行开发,主要原因是笔者玩得熟一些,其他语言实现起来可能更简单,如JS。


工具的核心其实很简单:


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


然后就是这个三步的逐步细化了:


① 解析Markdown文件


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


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


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


③ 生成HTML文件


在公号文章的头部和尾部我们习惯插入一些导流样式,可以与②步骤生成的文章正文进行拼接,最后输出到HTML中。


以上就是本工具的基本实现原理。


0x3、如何使用


1、一些准备工作


  • Step 1:通过Git把代码clone到本地,或是直接Download代码压缩包;


  • Step 2安装Python,如何安装请自行百度,安装了的直接跳过;


  • Step 3:通过pip命令安装用到的依赖库;


pip install -r requirements.txt


🐍Tips:安装Nodejs(可选),将highlight.js中的.css文件转换成.ini文件时用到。


2、如何直接使用(小白)


① 定制样式配置文件


先来到项目的styles文件夹下:


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


渲染时,只会应用custom文件夹里的样式配置文件!!!你可以:


  • ① 复制 author 文件夹里笔者提供的配置文件到custom目录下;


  • ② 复制 default_config.ini 文件到 custom 目录下,然后自行配置;


配置规则也很简单,如:


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


是的,修改下None的值,改成对应的模板文件,如:h2=1,就是指向模板:

template/h2/1.html


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


这里特别说下:codestylemac_window,前者为 代码高亮,基于highlight.js,通过黑魔法将css转换为ini,并将样式写入到HTML中。喜欢什么样式,可自行到官网挑选:highlightjs.org/


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


复制下样式名,如此处的:atom-one-dark 即可应用。


mac_window 则是 Mac窗口风格,样式提取自mdnice,有下述几种可供选择:


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


应用后的效果如下:


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


🐍Tips:样式配置文件只需配置一次,还支持同时渲染多种样式~

相关文章
|
人工智能 前端开发 开发工具
9.2K Star!微信排版从未如此简单,这款开源神器让Markdown飞入公众号!
一款9.2K Star的开源神器,让微信公众号排版变得简单高效!支持Markdown语法,实时预览、多图床混搭、AI智能排版、自定义主题样式等功能一应俱全。通过沉浸式双栏编辑、七图床混合编排、AI写作助手和主题定制工坊等核心功能,彻底解放技术创作者的生产力。无论是技术博客迁移、多平台发布还是企业定制,都能满足需求。三步上手:在线体验、本地部署、公众号对接。项目地址:https://github.com/doocs/md
1695 4
|
人工智能 文字识别 自然语言处理
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
Vision Parse 是一款开源的 PDF 转 Markdown 工具,基于视觉语言模型,能够智能识别和提取 PDF 中的文本和表格,并保持原有格式和结构。
2155 19
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
1694 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
4699 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
开发者
Markdown:解放排版,简洁高效的文字创作神器!
Markdown 是一种轻量级标记语言,以易读易写著称,常用于生成 HTML 页面。其简洁的语法加速了排版,尤其在写作、博客和文档领域广泛应用。虽然不擅长复杂排版,但能轻松实现字体大小调整、插入表格、图片和超链接等。Markdown 通过键盘快捷操作,避免了 Word 等软件的繁琐设置。本文将深入讲解 Markdown 语法,助你提升效率。Markdown 适合快速学习,兼容各种文本编辑器,支持导出多种格式,广泛应用于 GitHub 和多个在线平台。
939 0
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
1001 1
Linux系统之部署轻量级Markdown文本编辑器
|
前端开发 Docker 容器
写作利器,一款极简的Markdown 编辑器
WeChat Markdown Editor 是一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、色盘取色、多图上传、一键下载文档、自定义 CSS 样式、一键重置等特性。
851 70
写作利器,一款极简的Markdown 编辑器
|
存储 移动开发 编解码
基于HTML5开发的Markdown在线编辑器
Markdown是一种轻量级标记语言,以其简洁易读的格式而备受程序员和作者们的青睐。随着互联网的发展,越来越多的在线Markdown编辑器应运而生,为用户提供了更加便捷、高效的写作和编辑环境。本文将探讨基于HTML5开发的Markdown在线编辑器的设计原理、功能特点以及技术优势。
494 4
|
存储 安全 数据安全/隐私保护
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
816 0