微信公众号文章自动化排版实现思路

news2024/11/15 17:18:19

文章目录

    • 一、前言
      • 1.1 个人写作的痛点
      • 1.2 自动化排版工具实现的功能
    • 二、我的文章创作与发布流程
    • 三、公众号文章自动化排版实现思路
      • 3.1 Typora软件展示
      • 3.2 96微信公众号排版平台展示
      • 3.3 自动化排版实现思路
        • 3.3.1 先构建一个空的文章html模版
        • 3.3.2 读取md文章,对内容进行标题提取与内容匹配分类
        • 3.3.3 对分类提取内容进行动态生成文章的html格式
        • 3.3.4 对动态生成文章的html格式插入到空的文章html模版
    • 四、实现效果
    • 五、总结

一、前言

1.1 个人写作的痛点

    有很长一段时间没有更新文章,每次写完文章都要对文章进行二次排版,这就很烦,因为我个人习惯使用markdown写文章,写完之后又要到第三方公众号排版网站进行排版(为了美观,我的公众号文章都是中国风排版,个人很满意),最后再复制到微信公众号中进行发布,这种重复的过程很耗时,导致更新文章怠慢,自从使用python能解决很多工作需求场景,我就越来越不喜欢人工去做重复机械式的事情,都是通过思路+python来解决现有问题,尽可能一劳永逸,所以写一个公众号文章自动话排版的工具,提高效率,减少重复工作。该工具只适用于作者自己,所以不开源,此文章分享实现思路,希望给有同样痛点的朋友一点点思路。

1.2 自动化排版工具实现的功能

1、文章目录自动填充

2、一级标题、二级标题等自动添加样式与动态图

3、文章内容自动填充

二、我的文章创作与发布流程

我的文章会发布两个平台:CSDN、微信公众号

整个流程是这样的:Typora(markdown格式文章) -> CSDN(发布,CSDN可以直接读取markdown格式,不费时) -> 96排版平台(公众号美化排版,耗时) -> 微信公众号

    经过以上流程才完成一篇文章的发布,为了解决耗时的问题,我将采用python代码的形式来完成我的自动化排版脚本,让我们继续往下看吧。

三、公众号文章自动化排版实现思路

3.1 Typora软件展示

    Typora一款使用markdwn格式的笔记本工具,高版本需要收费,低版本免费,低版本就能满足日常使用了,市面上也有很多md笔记本工具,Typora个人用了很多年已经习惯了,展示一下软件页面。
在这里插入图片描述

3.2 96微信公众号排版平台展示

接下来将讲解一下我是如何写自动化排版的思路。

首先给大家看一下,96微信公众号排版平台,个人使用感觉还不错,如下图:
在这里插入图片描述

    这一个过程我需要手工插入文章目录文字,并且需要改文字颜色和大小,每块章节的内容都需要人工去干涉,很费劲,那么平台的文章排版其实会生成对应的html,如下图:

在这里插入图片描述

3.3 自动化排版实现思路

    我们知道了文章的排版内容其实也是html,那么我就可以对文章的html随意控制,我的实现思路如下:

1、先构建一个空的文章html模版

2、读取md文章,对内容进行标题提取与内容匹配分类

3、对分类提取内容进行动态生成文章的html格式

4、对动态生成文章的html格式插入到空的文章html模版

3.3.1 先构建一个空的文章html模版

    首先创建好一个空的模版,固定不变的内容都可以放上去,我的空模内容啥都没有,如下图:
在这里插入图片描述

    首先我会读取文章文件,然后获取文章标题(一级标题、二级标题、三级标题等),用于写入文章目录以及后续对标题前后内容进行识别读取。
在这里插入图片描述

先写入文章目录。

在这里插入图片描述

效果如下:

在这里插入图片描述

3.3.2 读取md文章,对内容进行标题提取与内容匹配分类

对内容进行分类,识别代码、图片、内容,对分类插入到对应html标签。
在这里插入图片描述
在这里插入图片描述

3.3.3 对分类提取内容进行动态生成文章的html格式

    我这里使用的是python的BeautifulSoup库,创建好96排版文章的标签,把内容放进去,最后把结果返回即可。

在这里插入图片描述

3.3.4 对动态生成文章的html格式插入到空的文章html模版

    当所有的内容都生成对应的html标签,在全部放能到一个list里,在用一个整合方法,把list里的html全部写入到output2.html,这样整个工作号自动排版的工作就完成了。

在这里插入图片描述

这就是最后生成的html文件,复制、粘贴到96平台即可。
在这里插入图片描述

四、实现效果

    代码与图片需要手动插入,一些缩进的小问题手工调整一下,实现这样的功能已经帮助我节约在排版上耗费的时间。效果如下:

在这里插入图片描述
在这里插入图片描述

五、总结

    工具写的过程中也挺有意思,中间遇到的难点与解决思路也是费尽心思,一劳永逸的工具开发,能避免重复耗时的工作,代码上还有许多可以优化的地方,但功能已经满足基本需求,也更促进我日后的写作。你有哪些重复的工作,尝试用代码的方式让自己轻松起来吧。微信公众号搜索关注艺说IT,分享各种原创技术干货文章,对你有用的话请一键三连,感谢🙏。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2156042.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大学生请码住!分享10款AI论文工具搞定论文开题到答辩全过程!

在当今学术研究和论文写作领域,AI工具的出现极大地提高了写作效率和质量。对于大学生来说,这些工具不仅能够帮助他们快速生成高质量的论文初稿,还能进行内容优化、查重和排版等操作。以下是10款值得推荐的AI论文工具,其中特别推荐…

STL-set/multiset关联式容器

目录 一、常见接口 1.0 迭代器 1.1 构造函数 1.2 增删查 1.3 查找和统计 二、multiset 2.1 构造 2.2 查找 2.3 删除 2.4 统计 关联式容器是⽤来存储数据的,与序列式容器不同的是,关联式容器逻辑结构通常是⾮线性结构,两个位置有紧密…

社交电商中“信任”基础与“链动 2+1 模式 O2O 商城小程序”的价值探索

摘要:本文深入探讨了在基于社交的商业模式中,“信任”作为重要基础条件的关键作用。详细分析了在产品同质化日益严重的当下,人与人之间口口相传的宣传方式优势。同时,全面引入“链动 21 模式 O2O 商城小程序”,深入阐述…

Java面试篇-AOP专题(什么是AOP、AOP的几个核心概念、AOP的常用场景、使用AOP记录操作日志、Spring中的事务是如何实现的)

文章目录 1. 什么是AOP2. AOP的几个核心概念3. AOP的常用场景4. 使用AOP记录操作日志4.1 准备工作4.1.1 引入Maven依赖4.1.2 UserController.java4.1.3 User.java4.1.4 UserService.java 4.2 具体实现(以根据id查询用户信息为例)4.2.1 定义切面类&#x…

整合多方大佬博客以及视频 一文读懂 servlet

参考文章以及视频 文章: 都2023年了,Servlet还有必要学习吗?一文带你快速了解Servlet_servlet用得多吗-CSDN博客 【计算机网络】HTTP 协议详解_3.简述浏览器请求一个网址的过程中用到的网络协议,以及协议的用途(写关键点即可)-CSDN博客 【…

[数据结构]无头单向非循环链表的实现与应用

文章目录 一、引言二、线性表的基本概念1、线性表是什么2、链表与顺序表的区别3、无头单向非循环链表 三、无头单向非循环链表的实现1、结构体定义2、初始化3、销毁4、显示5、增删查改 四、分析无头单向非循环链表1、存储方式2、优点3、缺点 五、总结1、练习题2、源代码 一、引…

Mysql----索引与事务

1.索引 1.1什么是MYSQL的索引 MySQL官方对于索引的定义:索引是帮助Mysql高效获取数据的数据结构 Mysql在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据&…

萤石云平台接入SVMSPro平台

萤石云平台接入SVMSPro平台 步骤一:进入萤石云官网:https://open.ys7.com/ ,点右上角的登陆,填写自己的用户名密码; 步骤二:登陆进去后,开发者服务—>我的账号—>应用信息,在…

电气自动化入门07:开关电源、三相异步电动机多地与顺序控制电路

视频链接:3.5 电工知识:三相交流异步电动机多地与顺序控制及开关电源选型_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PJ41117PW?p9&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.开关电源功能与选型说明: 2.三相异步电动机…

数据结构与算法之间有何关系?

相信很多人都应该上个《数据结构与算法》这门课吧,而这两个概念也如孪生兄弟一样经常被拿出来一起讨论。那它们究竟是一个什么样子的关系呢? 听到数据结构与算法我第一反应是想到了Pascal 语言之父尼古拉斯沃斯在他的《Algorithms Data Structures Pro…

esp32s3分区表配置及读写

一、分区表介绍 每片 ESP32-S3 的 flash 可以包含多个应用程序,以及多种不同类型的数据(例如校准数据、文件系统数据、参数存储数据等)。因此,在 flash 的 默认偏移地址 0x8000 处烧写一张分区表。 分区表中的每个条目都包括以下…

【d47】【Java】【力扣】997.找到小镇的法官

思路 记录入度和出度 一个人可以连接多个,一个人也可以被多个人连接,就是图的性质 一个人可以信任多人,一个人也可以被多个人信任 统计入度出度, 法官:入度n-1,出度0 其他人:因为被所有其他人信任的 只能…

JS执行机制(同步和异步)

JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。 异步:在做这件事的同时,你还可以去处理其他事 他们的本质区别:这条流水线上各个流程的执行顺序不同。 同步任务 同步任务都在主线程上执行,形成一个执行栈。 异步…

7、论等保的必要性

数据来源:7.论等保的必要性_哔哩哔哩_bilibili 等级保护必要性 降低信息安全风险 等级保护旨在降低信息安全风险,提高信息系统的安全防护能力。 风险发现与整改 开展等级保护的最重要原因是通过测评工作,发现单位系统内外部的安全风险和脆弱…

【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构

唯有梦想才配让你不安, 唯有行动才能解除你的不安。 --- 卢思浩 --- 从零开始掌握序列化 1 知识回顾2 序列化与编写协议2.1 使用Json进行序列化2.2 编写协议 3 封装IOService4 应用层 --- 网络计算器5 总结 1 知识回顾 上一篇文章我们讲解了协议的本质是双方能够…

【JavaEE】多线程编程引入——认识Thread类

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能帮到你! 目录 引入: 一:Thread类 1:Thread类可以直接调用 2:run方法 &a…

SpringBoot+thymeleaf竞赛报名系统

一、介绍 > 这是一个基于Spring Boot的后台管理系统。 > 使用了Mybatis Plus作为持久层框架,EasyExcel用于Excel操作,Thymeleaf作为前端模板引擎。 > 界面简洁,功能丰富,完成度比较高,适用于JAVA初学者作…

安国U盘量产工具系列下载地址

来源地址(访问需要科学工具):AlcorMP (Последняя версия ALCOR U2 MP v23.08.07.00.H) – [USBDev.ru] 版本列表: AlcorMP(最新版本的 ALCOR U2 MP v23.08.07.00.H) AlcorMP是在Alcor Mic…

SpringBoot项目License证书生成与验证(TrueLicense) 【记录】

SpringBoot项目License证书生成与验证(TrueLicense) 【记录】 在非开源产品、商业软件、收费软件等系统的使用上,需要考虑系统的使用版权问题,不能随便一个人拿去在任何环境都能用。应用部署一般分为两种情况: 应用部署在开发者自己的云服务…

数据集-目标检测系列-火车检测数据集 train >> DataBall

数据集-目标检测系列-火车检测数据集 train >> DataBall 数据集-目标检测系列-火车检测数据集 数据量:1W 想要进一步了解,请联系 DataBall。 DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,不断增加…