🐭喂汁,用Python写个专属Markdown转换工具(中)

简介: 一直使用 Markdown 语法编写文章,然后用Markdown转换工具转换下

② 两鞭 → 标题、粗体、段落


h3和h2类似,都是直接将样式文本替换为{{text}}


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


h4稍微麻烦一点,因为前面还传多一个顺序参数:


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


接着重写heading函数,根据不同的level进行渲染:


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


接着传入下述mardown字符串:


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


运行,把渲染后的HTML贴到微信编辑器校验下:


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


可以,效果是针不戳,尔后是粗体及段落样式:


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


运行后,把生成的样式贴到公号编辑器康康效果:


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


换行全没了,原因是:微信会自动滤除文本结点中的\n换行符。 一个简单的解决方法就是:在渲染段落文本时,将\n替换为<br>


修改下渲染处逻辑:


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


校验下效果:


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


③ 三鞭 → 表格、列表


表格的话直接用的微信编辑器自带的表格,样式如下:


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


对应代码如下:


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


mistune需启用plugin_table工具,才能解析表格,提供了下述可供覆盖的函数:


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


写个简单的demo试试康:


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


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


可以看到table_head中获取到了表头的文本结构,其他几个函数同样可获得不同部位的表结构。


但是,我最后还是选择了重写table()函数,因为表格的渲染是连贯的,如果每个函数单独渲染,最后塞到一个<table>里非常麻烦。


另外,公号大多时候是在手机上阅读,屏幕宽就那么点,一般建议两列的表格,这里我另外定义一个类Cell:


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


先来编写模板吧,预期是传入 表头列表表内容列表,然后遍历渲染:


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


模板弄完,接着就是数据处理了,提取表头及表内容,塞到列表中,打印下text:


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


呕吼,直接用lxml提取一波:


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


丢个测试markdown进来:


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


复制生成样式至编辑器,检验下效果:


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


可以,舒服,然后是无序列表,也是使用编辑器自带样式:


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


抠出模板:


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


重写函数渲染模板:


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


传参校验:


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


Tips:把渲染后的HTML贴到编辑器处,空白处按下回车,无序列表才能正确缩进!


相关文章
|
25天前
|
机器学习/深度学习 自然语言处理 算法
Python提供了丰富的库和工具
【6月更文挑战第13天】Python提供了丰富的库和工具
22 5
|
3天前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
10 0
|
29天前
|
关系型数据库 数据库连接 数据库
Python执行PG数据库查询语句:以Markdown格式打印查询结果
使用Python的`psycopg2`和`pandas`库与PostgreSQL交互,执行查询并以Markdown格式打印结果。首先确保安装所需库:`pip install psycopg2 pandas`。接着建立数据库连接,执行查询,将查询结果转换为DataFrame,再用`tabulate`库将DataFrame格式化为Markdown。代码示例包括连接函数、查询函数、转换和打印函数。最后限制列宽以适应输出。
|
22天前
|
缓存 监控 程序员
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,能够在不修改原函数代码的情况下,为函数添加新的功能或行为。本文将深入探讨Python中装饰器的使用方法和实际应用,帮助读者更好地理解和利用这一重要的编程概念。
|
5天前
|
机器学习/深度学习 数据可视化 数据挖掘
Python数据分析工具有哪些
【7月更文挑战第3天】Python数据分析工具有哪些
114 58
|
3天前
|
数据可视化 数据挖掘 API
数据可视化秘籍聚焦Python的Matplotlib和Seaborn库,它们是数据分析的得力工具。
【7月更文挑战第5天】数据可视化秘籍聚焦Python的Matplotlib和Seaborn库,它们是数据分析的得力工具。Matplotlib是基础库,提供高度自定义的2D图表,而Seaborn在其上构建,提供美观的统计图形。文章介绍了如何用两者画线图、散点图、条形图、饼图和直方图,展示数据趋势和关系。
|
12天前
|
数据可视化 数据挖掘 知识图谱
精选:15款顶尖Python知识图谱(关系网络)绘制工具,数据分析的强力助手
这里有15款免费工具推荐:NetworkX(Python基础),Graph-tool(C++速度),Graphviz(可视化库),ipycytoscape(Jupyter集成),ipydagred3,ipySigma(NetworkX + Web),Netwulf(交互式),nxviz(Matplotlib绑定),Py3plex(复杂网络分析),Py4cytoscape(Python+Cytoscape),pydot(Graphviz接口),PyGraphistry(GPU加速),python-igraph,pyvis(交互式图形),SNAP(大规模网络分析)。绘制和理解网络图从未如此简单!
24 0
|
21天前
|
人工智能 数据可视化 数据挖掘
10个提高Python开发效率的工具
10个提高Python开发效率的工具
|
19天前
|
Linux 开发者 iOS开发
Python常用打包工具比较
以上是常用的四种打包工具比较。各自有着自己的优缺点,开发者可以根据自己的需求来选择合适的工具。如果你只需要在 Windows 平台上运行应用程序,可以选择 py2exe。如果你需要跨平台支持,并且希望打包过程简单,可以选择 Briefcase。如果你需要支持多个平台,并且打包过程比较复杂,可以选择 cx_Freeze。如果你需要支持多个平台,并且对第三方库的兼容性有较高的要求,可以选择 PyInstaller。
17 4
|
19天前
|
Python
Python+Jinja2实现接口数据批量生成工具
在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢。
25 3