zoukankan      html  css  js  c++  java
  • 为了最高境界的偷懒,自动格式化随笔

    偷懒的缘故

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

     

    选定工具

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

     

    头疼的代码块

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

     

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

     

     

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

     

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

     

     

    然后就是写到perl中去了:

     

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

     

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

     

     

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

     

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

     

     

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

     

     

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

     

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

     

     

    当然光看是没用的,需要源码点击这里下载

     

  • 相关阅读:
    java 类加载机制总结
    栈和队列的java简单实现
    java内存模型个人理解总结
    Day12-微信小程序实战-交友小程序-搭建服务器与上传文件到后端并控制云开发数据库-项目总结与github代码发布流程(附上项目全部完整代码学习使用)
    Day12-微信小程序实战-交友小程序-优化“附近的人”页面与serach组件的布局和样式以及搜索历史记录和本地缓存*内附代码)
    CSS-好玩的样式(用高斯模糊制作平缓突起)
    Day18-PHP-入门2
    Day18-PHP-入门1
    Day17-JS-jQuery
    Day17-JS进阶-线程机制和事件机制
  • 原文地址:https://www.cnblogs.com/yaozhenfa/p/3755127.html
Copyright © 2011-2022 走看看