为什么要优化

cnblog用了一段时间,发现好多问题

  • 编辑器功能不足,影响编辑效率
  • 美化不足,影响视觉体验

功能优化

自动添加目录

根据h2,h3标签自动生成目录,点击目录的指定条目可以跳转的指定类容,每个内容小标题上都有回到顶部目录按钮。

我只做了两级目录,只有h2存在时才生成目录,且存在h3时,h3是h2的子目录,代码如下:

<script language="javascript" type="text/javascript">
//生成目录索引列表
function GenerateContentList()
{var jquery_h23_list = $('#cnblogs_post_body h2,#cnblogs_post_body h3');//h2和h3为章节的子母标题var go_top = false;for(var i =0;i<jquery_h23_list.length;i++){if(jquery_h23_list[i].tagName == 'H2'){go_top = true;break;}}if((jquery_h23_list.length>0) && (go_top == true)){var content = '<a name="_labelTop"></a>';content    += '<div id="navCategory">';content    += '<p style="font-size:18px"><b>阅读目录</b></p>';content    += '<ul>';var big_section = '';for(var i =0;i<jquery_h23_list.length;i++){var go_to_top = '<div style="text-align: right"><a href="#_labelTop">回到顶部</a><a name="_label' + i + '"></a></div>';$(jquery_h23_list[i]).before(go_to_top);if(jquery_h23_list[i].tagName == 'H2'){if(big_section != ''){big_section += '</ul></li>';content += big_section;}big_section = '<li><a href="#_label' + i + '"><strong>' + $(jquery_h23_list[i]).text() + '</strong></a><ul>';}else if(jquery_h23_list[i].tagName == 'H3'){if(big_section != ''){big_section += '<li><a href="#_label' + i + '">' + $(jquery_h23_list[i]).text() + '</a></li>';}}}if(big_section != ''){big_section += '</ul></li>';content += big_section;}content    += '</ul>';content    += '</div>';if($('#cnblogs_post_body').length != 0) {$($('#cnblogs_post_body')[0]).prepend(content);}}
}
GenerateContentList();
</script>

View Code

将以上代码copy到管理 -> 设置 -> 页脚Html代码保存即可

我的h2,h3 CSS风格是:

#cnblogs_post_body h2 {font-size: 20px;font-weight: bold;line-height: 1.5;margin: 10px 0;background-color: #5f4935;padding: 4px;color: #ffffff;font-family: "Trebuchet MS";
}
#cnblogs_post_body h3 {font-size: 18px;font-weight: bold;line-height: 1.5;margin: 10px 0;background-color:#f1e1c5;padding: 4px;font-family: "Trebuchet MS";
}

View Code

自定义风格

有时候需要添加html标签,自定义风格。应为cnblog除了插入代码,就是一个风格,重点就很难突出,层次也不鲜明。

比如有时程序运行日志,命令,txt文本,提示信息需要展示,它不属于代码,难道就用纯文本展示吗,我的方法是也给它一个代码块

然后将class替换成自己的风格。

例:

redis-benchmark -n 10000 -t set -k 1

比如在说一段话的时候要突出某个词,我的方法用<code>content</code>表示突出显示的词,给code定制对应css风格,

但是cnblog编辑器菜单没插入code对应的按钮,可以编辑html页面,效率比较低,后面介绍高效率的方法。

我以上两个css风格分别是:

.ply_style_code_01 {padding: 8px;background-color: #f7f7f9;border: 1px solid #e1e1e8;margin-top: 5px;margin-bottom: 5px;font-size: 14px;font-family: Courier New;
}code {white-space: nowrap;max-width: 100%;background: #fff;border: solid 1px #e1e4e5;font-size: 75%;padding: 0 5px;font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;color: #E74C3C;overflow-x: auto;margin-left: 3px;margin-right: 3px;
}

View Code

HTML替换

要想自定义风格生效,就需要改html代码(或者改cnblog的原始风格)。

对于插入HTML标签,我是这么做的:

{%text%}            ====>    <code>text</code>
{tag%text%}             ====>    <tag>text</tag>
{tag attr=value%text%}        ====>    <tag attr='value'>text</tag>

也就是我需要写一个高亮的单词可以这么写,{%我们不一样%},正则匹配替换后:<code>我们不一样</code>,

我也可以自行写个H1标签,{h1%我是h1标签%},正则匹配替换后:<h1>我是h1标签</h1>

或者可选样式的一段话{p class=style1%想是啥样就是啥样%},正则匹配替换后:<p class="style1">想是啥样就是啥样</p>

需要替换的样式:

<pre class="brush:vbnet;gutter:false;">
<pre class="brush:vbnet;gutter:true;">     =====>      <pre class="ply_style_code_01"><pre class="brush:scala;gutter:false;">
<pre class="brush:scala;gutter:true;">     =====>      <pre class="ply_style_code_02">

在博客编写完需要提交前,编辑HTML代码,将HTML代码剪切到剪切板,快捷键运行python程序,从剪切板读取HTML代码,

完成上述规则的替换,将替换后的HTML代码写到剪切板(python 程序),ctrl + v到HTML编辑器

python程序:

#pip install pyperclip
import pyperclip as pc
import re#将指定格式内容转换为HTML标签
#{%text%}                              ====>    <code>text</code>
#{tag%text%}                          ====>    <tag>text</tag>
#{tag attr=value%text%}              ====>    <tag attr='value'>text</tag>#替换指定样式
#<pre class="brush:vbnet;gutter:false;">
#<pre class="brush:vbnet;gutter:true;">        =====>        <pre class="ply_style_code_01">#<pre class="brush:scala;gutter:false;">
#<pre class="brush:scala;gutter:true;">        =====>        <pre class="ply_style_code_02">#1.获取剪切板内容
content = pc.paste()#2.将指定格式内容转换为HTML标签
def parse(arg):taget = arg.group()para = re.findall('{%(.+?)%}|{(\w+)%(.+?)%}|{(\w+) +(\w+)=(\w+)%(.+?)%}',taget,flags=re.DOTALL)text1,tag2,text2,tag3,attr3,value3,text3 = para[0]if text1:return '<code>{0}</code>'.format(text1)elif text2:return '<{0}>{1}</{2}>'.format(tag2,text2,tag2)elif text3:return '<{0} {1}={2}>{3}</{4}>'.format(tag3,attr3,value3,text3,tag3)
content = re.sub('{%(.+?)%}|{(\w+)%(.+?)%}|{(\w+) +(\w+)=(\w+)%(.+?)%}',parse,content,flags=re.DOTALL)#3.替换指定样式
content = re.sub('<pre class="brush:vbnet;gutter:false;">|<pre class="brush:vbnet;gutter:true;">','<pre class="ply_style_code_01">',content)
content = re.sub('<pre class="brush:scala;gutter:false;">|<pre class="brush:scala;gutter:true;">','<pre class="ply_style_code_02">',content)#4.将修改过的HTML代码放到剪切板
pc.copy(content)

View Code

将该程序添加到快捷键启动的方式(前提.py文件能直接运行,若不能运行看python有没有添加到环境变量):

右键发送到->桌面快捷方式,在右键快捷方式属性,选中快捷键按上自己想要的快捷键。

 

 

转载于:https://www.cnblogs.com/plyonfly/p/11470709.html

cnblog优化指南相关推荐

  1. vue 同一个域名移动端pc端两套代码跳转_百度移动搜索优化:手机站优化指南

    百度移动搜索是全球最大的中文手机搜索引擎,每天用户使用百度移动搜索发起的搜索请求高达数亿次.本文档旨在为手机站站长提供官方.明确的搜索引擎优化标准,使站长合理.可持续的提升手机站流量,获得长久.稳定的 ...

  2. 移动H5前端性能优化指南[转]

    移动H5前端性能优化指南 米随随2015.01.23 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点 ...

  3. WordPress 全方位优化指南(下)

    上一篇 WordPress 全方位性能优化指南(上)主要从网站性能指标.优化缓存.MySQL 等方面给大家介绍了如何进行 WordPress 性能优化,但还远远不够,毕竟像 WordPress 这样的 ...

  4. php接口性能测试工具,PHP 应用性能优化指南

    原标题:PHP 应用性能优化指南 PHP代码优化最佳实践 编写好的PHP代码是创建快速稳定Web应用的关键一步.从一开始就遵循一些最佳实践技巧将节省后期填坑的时间. 1. 尽可能的使用PHP的内置方法 ...

  5. 移动手机平台的HTML5前端优化指南

    对于访问量大的网站来说,前端的优化是必须的,即使是优化1KB的大小对其影响也很大,下面来看看来自ISUX的米随随讲讲移动手机平台的HTML5前端优化,或许对你有帮助和启发. 概述 1. PC优化手段在 ...

  6. WordPress SEO ☞ WordPress网站终极优化指南

    原文地址:http://www.eastdesign.net/wordpress-seo/ 最新消息,东方设计学院 WordPress SEO 系列视频教程正在持续更新中,目前为了不至于让视频传播过于 ...

  7. Java性能优化指南,及唯品会的实战

    来了唯品会一年多,不少时间花在与服务化框架.业务应用的性能的缠斗上. 前几天正好趁着中生代社区的十月十城技术沙龙,把脑海中关于性能优化的记忆全部理了一遍-.讲完回家,又本着认真严谨的态度再理了一遍,终 ...

  8. 如何给网站瘦身?图文并茂的前端性能优化指南

    提高网站的速度对网站的成功有巨大的影响,因为网站的加载速度直接影响到用户体验和搜索引擎排名.Browser Diet 是一个非常好的指南,列出了前端性能优化的各种技巧和工具. 您可能感兴趣的相关文章 ...

  9. jQuery性能优化指南(转载)

    现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, ...

最新文章

  1. java map class_java – 将通用Class参数限制为实现Map的类
  2. mysql日常错误信息解决方法:InnoDB: and force InnoDB to continue crash recovery here.
  3. 如何显示已上演的更改?
  4. vim入门教程(实践第一)
  5. OpenCV简单的几何绘图的实例(附完整代码)
  6. 第22篇 js中的this指针的用法
  7. Go圈10月份优质博主推荐
  8. 一起走过一段不平凡的路
  9. FaceDetector(人脸识别)
  10. LeetCode 96——不同的二叉搜索树
  11. docker与虚拟机性能比较
  12. SpringContext扩展BeanFactory
  13. dell linux raid 查看,Ubuntu Linux下Dell服务器使用硬Raid后查看磁盘信息方法
  14. 游戏蛮牛Unity 用户文档
  15. 千兆路由器和百兆路由器
  16. kaldi中文语音识别
  17. ios 静态库合成_手把手教你制作.a静态库(iOS开发)
  18. 机器学习数据集划分留出法,留一法,交叉法,自助法
  19. Python总结-学习方向和方法
  20. 纯css更改图片颜色的技巧

热门文章

  1. D. Backspace
  2. MySQL操作之数据备份与还原
  3. 论文抽检判定抄袭的标准?
  4. LintCode 646. 第一个独特字符位置 JavaScript算法
  5. 我喜欢看的lol超神学院
  6. Eclipse运行时概述1(运行时插件模型,首选项)
  7. 四相八拍步进c语言程序,5线四相八拍步进电机的C51演示程序
  8. gemfire mysql_用GemFire做Hibernate二级缓存
  9. 图像检索:DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations
  10. ChatGPT旋风如何“卷”到汽车行业?