博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为了最高境界的偷懒,自动格式化随笔
阅读量:6092 次
发布时间:2019-06-20

本文共 951 字,大约阅读时间需要 3 分钟。

偷懒的缘故

大家也可以看到笔者的很多随笔都有一定的美化,然而每次都是手工去调整,如果是内容比较少的随笔可能会比较容易,但是遇到内容比较多的随笔,就需要花费比较多的时间了,最终的情况可能是我们写了半个小时,美化一下就要十五分钟了,对于我们这类大懒人,太浪费时间了,于是笔者今天上午攻读了Perl,写出了一个基本自动化排版的脚本,下面将由我来论述。

 

选定工具

自然我们要使用perl,当然缺少不了一个好的ide,这里笔者选择了Padre,如果读者的要挑战自我可以使用文本编辑器+命令行来写。

 

头疼的代码块

一上来笔者就遇到这个问题,就是我们自动化排版可不能修改代码部分,因为这部分已经排版好了,但是它毕竟是整体的一部分。正则表达式一样会匹配,如果我们非要用正则过滤掉这块也不是不可能,但是正则的长度会太长。而笔者想的是我们可以将所有的代码部分的内容提取出来,这样剩下的都是我们可以处理的。最后我们处理完成之后就可以将原本的内容恢复回去,当然这中间需要一个占位符,而笔者选择的是用<script>,为什么用这个标签呢?大家都懂的。

 

通过查看博客园代码块部分的html:

 

 

当然读者可以查看自己的html标签,一定会发现只要是代码块都会有一个div标签,并且这个标签的class是cnblogs_code。多亏这个class下面我们可以开始写正则来匹配这部分了,这里笔者用的是RegexTester,需要这个工具的可以

 

笔者随便找了一篇随笔最后的正则如下所示:

 

 

然后就是写到perl中去了:

 

上面我们定义两个文件,一个是代排版的随笔html,第二个是排版后的html。

 

下面我们继续,还要能够将代码块恢复回去:

 

 

我们可以看到红色框住的部分,我们利用perl的特点才能够办到(ps而且顺序要跟提取的时候一样否则就玩完了)。

 

剩下的顺理成章就应该是将该替换的替换了,首先我们从基本的内容入手,笔者喜欢将字体设置为楷体,16px,所以具体的正则和perl如下:

 

 

按照笔者的排版习惯我又写出了下面的几个正则,将h1和h3设置为带有动画的样式:

 

 

依次我们还要替换将匹配的结果进行替换:

 

为了区分开来笔者将他们单独写成了子程序,这里我们可以发现Perl语言的简洁,下面我们就要调用这些子程序:

 

 

当然光看是没用的,需要源码点击

 

转载地址:http://tjlwa.baihongyu.com/

你可能感兴趣的文章
小程序加盟怎么样?加盟小程序赚钱吗?
查看>>
JavaScript 精粹 基础 进阶(6)函数和作用域(函数、this)
查看>>
面试阿里?如果对别人开源的 RocketMQ 了如指掌,岂不是很加分!
查看>>
本地同城地方门户网这样运营轻轻松松拿到5W广告费
查看>>
为了忘却的纪念—Androidstudio Terminal窗口使用学习记录
查看>>
【BottomBar】Android炫酷的底部切换效果V2 0
查看>>
干货|一文读懂 Spring Data Jpa!
查看>>
Java获取Class对象的方式和实例化对象的方式
查看>>
一个命令完成[打包+同步七牛cdn+上传服务器]
查看>>
动态加载的一些坑
查看>>
javascript之深浅拷贝
查看>>
正则表达式
查看>>
特征值分解和奇异值分解
查看>>
js设计模式--迭代器模式
查看>>
Python操作目录,如:获取当前工作目录,获取执行命令的位置,路径拼接,路径拆分,文件重命名,删除文件,复制文件...
查看>>
SQL
查看>>
我的在线编程工具
查看>>
javascript的深拷贝和浅拷贝
查看>>
请把你的小手放到你的头像上
查看>>
postCss 初识 (文章较长,需要耐心)
查看>>