灵感

  这两天在添加“留言”以及“关于”页面,准备先简单设计一下自已的页面。留言页面可以放置一些自已比较感兴趣的音乐、以及一些JS特效,再集成一个第三方的留言功能。关于页面可以放置一些简单的联系方式、以及基础信息的存放,还有自已帅照。嘿嘿嘿嘿。。。。。 
  音乐插件的集成不在这里过多复述,请参考:hexo添加音乐 
  关于页面帅照采用NexT的扩展标签fullimage。嘿嘿嘿嘿。。。。 
   
  在官方的常见方案中关于NexT的优化,看到一篇帖子,是关于gulp插件的介绍,自动化构建工具,通过一系列的Task,完成引用的优化。主要思想就是通过压缩HTML,CSS,JavaSCript减少加载内容的大小,提升网站响应效率。 
   
  关于Gulp的优化,可以参照“使用gulp精简hexo博客代码”,也可以参考我写一篇博客“Next 调优”。

从1000到1

  通过hexo g命令生成静态页面,随便打开一个index.html都可以发现有几百行到上千行的代码,其中大部分都是空白片段。关于大片的空白片段可以通过gulp插件进行压缩,下面方法主要是要讲怎么压缩HTML中的JavaScript代码。 
  插件对于HTML页面进行压缩时,不会对HTML中包含的JavaScript代码进行压缩,参考浏览器--》反键查看源码,还是有一些小段的JavaScript代码,对于存在有代码洁癖的程序猿,肯定会去想方设法去优化掉。

  

定位该段JavaScript

   
  由于站点是部署在Linux系统下,切换到站点主题目录(/blog/themes/next)。执行find . -type f | xargs grep -F "code标识"。定位该段代码在何配置文件中。

    [root@luisyang next]# find . -type f | xargs grep -F "var NexT=window.NexT||{};"
./layout/_partials/head.swig:<script type="text/javascript" id="hexo.configurations">var NexT=window.NexT||{};var CONFIG={root:'{{ theme.root }}',scheme:'{{ theme.scheme }}',sidebar:{{theme.sidebar|json_encode}},fancybox:{{theme.fancybox}},motion:{{theme.use_motion}},duoshuo:{userId:'{{ theme.duoshuo_info.user_id | default() }}',author:'{{ theme.duoshuo_info.admin_nickname | default(__('author'))}}'},algolia:{applicationID:'{{ theme.algolia.applicationID }}',apiKey:'{{ theme.algolia.apiKey }}',indexName:'{{ theme.algolia.indexName }}',hits:{{theme.algolia_search.hits|json_encode}},labels:{{theme.algolia_search.labels|json_encode}}}};</script>

  可以发现该段代码存在./layout/_partials/head.swig中。特别注意:{ \{ xxx }\ }标识模板会引用页面变量中的某个属性,这段代码是不能单独抽取成一个JS文件。

JS压缩

   
  常见的JavaScript压缩工具: 
    站长工具-JS压缩 
    在线JS压缩 
   
  点击“普通压缩” 
  

    var NexT=window.NexT||{};var CONFIG={root:'{{ theme.root }}',scheme:'{{ theme.scheme }}',sidebar:{{theme.sidebar|json_encode}},fancybox:{{theme.fancybox}},motion:{{theme.use_motion}},duoshuo:{userId:'{{ theme.duoshuo_info.user_id | default() }}',author:'{{ theme.duoshuo_info.admin_nickname | default(__('author'))}}'},algolia:{applicationID:'{{ theme.algolia.applicationID }}',apiKey:'{{ theme.algolia.apiKey }}',indexName:'{{ theme.algolia.indexName }}',hits:{{theme.algolia_search.hits|json_encode}},labels:{{theme.algolia_search.labels|json_encode}}}};
修改模板

   
  再次打开模板文件。

    <script type="text/javascript" id="hexo.configurations">
var NexT = window.NexT || {};
var CONFIG = {
root: '{{ theme.root }}',
scheme: '{{ theme.scheme }}',
sidebar: {{ theme.sidebar | json_encode }},
fancybox: {{ theme.fancybox }},
motion: {{ theme.use_motion }},
duoshuo: {
userId: '{{ theme.duoshuo_info.user_id | default() }}',
author: '{{ theme.duoshuo_info.admin_nickname | default(__('author'))}}'
},
algolia: {
applicationID: '{{ theme.algolia.applicationID }}',
apiKey: '{{ theme.algolia.apiKey }}',
indexName: '{{ theme.algolia.indexName }}',
hits: {{ theme.algolia_search.hits | json_encode }},
labels: {{ theme.algolia_search.labels | json_encode }}
}
};
</script>

  替换为

  <script type="text/javascript" id="hexo.configurations">var NexT=window.NexT||{};var CONFIG={root:'{{ theme.root }}',scheme:'{{ theme.scheme }}',sidebar:{{theme.sidebar|json_encode}},fancybox:{{theme.fancybox}},motion:{{theme.use_motion}},duoshuo:{userId:'{{ theme.duoshuo_info.user_id | default() }}',author:'{{ theme.duoshuo_info.admin_nickname | default(__('author'))}}'},algolia:{applicationID:'{{ theme.algolia.applicationID }}',apiKey:'{{ theme.algolia.apiKey }}',indexName:'{{ theme.algolia.indexName }}',hits:{{theme.algolia_search.hits|json_encode}},labels:{{theme.algolia_search.labels|json_encode}}}};</script>
注意点

  JavaScript的压缩原理就是将多行代码转成一行代码,代码换行的地方记得要用“”隔开,不然浏览器解析的时候会报错。 
   
  这里只介绍一段JavaScript的优化,其余的地方类似。

添加音乐

  音乐采用的是hexo-tag-aplayer插件。声明歌单的时候我们会使用如下数据字符串。

  {% aplayerlist %}{"narrow": false,"autoplay": true,"showlrc": 3,"mode": "random","music": [{"title": "平凡之路","author": "朴树","url": "http://xxx.com/%E5%B9%B3%E5%87%A1%E4%B9%8B%E8%B7%AF.mp3","pic": "https://xxx.com/1.jpg","lrc": "http://og9ocpmwk.bkt.clouddn.com/%E5%B9%B3%E5%87%A1%E4%B9%8B%E8%B7%AF.txt"},{"title": "野子","author": "苏运莹","url": "http://xxx.com/01%20%E9%87%8E%E5%AD%90.m4a","pic": "http://xxxx.com/%E9%87%8E%E5%AD%90.jpg","lrc":"https://xxx.com/%E9%87%8E%E5%AD%90.txt"}]}{% endaplayerlist %}

  其中url表示音乐的地址(mp3,mp4),lrc表示歌词文件的地址,pic表示歌曲的封面图片。

音乐的下载

  可以下载“网易云音乐”客户端,选择喜欢的音乐,点击下载。比较简单。

歌词的下载

  歌词下载网站 
   
  通过网易云音乐下载会自动下载歌词,不过会保存在%USERPROFILE%\AppData\Local\Netease\CloudMusic\webdata\lyric路径下。 
   
  反键编辑找到自已喜欢歌曲的歌词,如成都-赵雷

  {"sgc":false,"sfy":false,"qfy":false,"lrc":{"version":4,"lyric":"[00:00.00] 作曲 : 赵雷\n[00:01.00] 作词 : 赵雷\n[00:16.75]让我掉下眼泪的 不止昨夜的酒\n[00:25.91]让我依依不舍的 不止你的温柔\n[00:33.91]余路还要走多久 你攥着我的手\n[00:41.70]让我感到为难的 是挣扎的自由\n[00:52.10]分别总是在九月 回忆是思念的愁\n[00:59.63]深秋嫩绿的垂柳 亲吻着我额头\n[01:07.53]在那座阴雨的小城里 我从未忘记你\n[01:15.41]成都 带不走的 只有你\n[01:23.69]和我在成都的街头走一走\n[01:31.08]直到所有的灯都熄灭了也不停留\n[01:39.69]你会挽着我的衣袖 我会把手揣进裤兜\n[01:47.08]走到玉林路的尽头 坐在(走过)小酒馆的门口\n[02:30.37]分别总是在九月 回忆是思念的愁\n[02:38.10]深秋嫩绿的垂柳 亲吻着我额头\n[02:46.13]在那座阴雨的小城里 我从未忘记你\n[02:54.02]成都 带不走的 只有你\n[03:02.34]和我在成都的街头走一走\n[03:10.41]直到所有的灯都熄灭了也不停留\n[03:18.34]你会挽着我的衣袖 我会把手揣进裤兜\n[03:25.51]走到玉林路的尽头 坐在(走过)小酒馆的门口\n[04:35.96][03:35.40]和我在成都的街头走一走\n[04:42.76][03:45.39]直到所有的灯都熄灭了也不停留\n[03:53.62]和我在成都的街头走一走\n[04:01.35]直到所有的灯都熄灭了也不停留\n[04:08.95]你会挽着我的衣袖 我会把手揣进裤兜\n[04:17.27]走到玉林路的尽头 坐在(走过)小酒馆的门口\n"},"klyric":{"version":0},"tlyric":{"version":0,"lyric":null},"code":200}

  格式排版存在问题,需要优化成如下方式:

    [ti:成都]
[ar:赵雷]
[al:成都]
[by:赵雷]
[00:00.00] 作曲 : 赵雷
[00:01.00] 作词 : 赵雷
[00:16.75]让我掉下眼泪的 不止昨夜的酒
[00:25.91]让我依依不舍的 不止你的温柔
[00:33.91]余路还要走多久 你攥着我的手
[00:41.70]让我感到为难的 是挣扎的自由
[00:52.10]分别总是在九月 回忆是思念的愁
[00:59.63]深秋嫩绿的垂柳 亲吻着我额头
[01:07.53]在那座阴雨的小城里 我从未忘记你
[01:15.41]成都 带不走的 只有你
[01:23.69]和我在成都的街头走一走
[01:31.08]直到所有的灯都熄灭了也不停留
[01:39.69]你会挽着我的衣袖 我会把手揣进裤兜
[01:47.08]走到玉林路的尽头 坐在(走过)小酒馆的门口
[02:30.37]分别总是在九月 回忆是思念的愁
[02:38.10]深秋嫩绿的垂柳 亲吻着我额头
[02:46.13]在那座阴雨的小城里 我从未忘记你
[02:54.02]成都 带不走的 只有你
[03:02.34]和我在成都的街头走一走
[03:10.41]直到所有的灯都熄灭了也不停留
[03:18.34]你会挽着我的衣袖 我会把手揣进裤兜
[03:25.51]走到玉林路的尽头 坐在(走过)小酒馆的门口
[04:35.96][03:35.40]和我在成都的街头走一走
[04:42.76][03:45.39]直到所有的灯都熄灭了也不停留
[03:53.62]和我在成都的街头走一走
[04:01.35]直到所有的灯都熄灭了也不停留
[04:08.95]你会挽着我的衣袖 我会把手揣进裤兜
[04:17.27]走到玉林路的尽头 坐在(走过)小酒馆的门口aba

  保存为txt文本,保存编码格式一定要是UNIX / UTF-8w/o BOM的方式,而且命名最好不是中文。

封面图片下载

   
  打开网页版的网易云音乐,搜索“成都-赵雷”,回车。打开控制台,下载歌词封面图片。 
   
  

 

Hexo页面优化和音乐的心得的更多相关文章

  1. hexo访问优化之--------gulp压缩

    hexo访问优化之--------gulp压缩 hexo生成的博客是静态html页面,当有很多静态资源时,加载速度会非常慢,且github服务器在国外,导致网页加载速度非常差 gulp压缩 gulp是 ...

  2. [课程设计]Scrum 3.2 多鱼点餐系统开发进度(页面优化&下单详细信息页面)

    Scrum 3.2 多鱼点餐系统开发进度(页面优化&下单详细信息页面)  1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选 ...

  3. 高效率http页面优化法则一【JS对DOM的操作】

    高效http页面优化法则一很多人都认为JS的效率太慢了,都不愿意用js来实现相对困难一点的程序逻辑.在这里我要说的是其实js的效率并不慢,慢的是DOM,如果操作好DOM,你的js效率将提高接近千倍(这 ...

  4. Scrum 3.2 多鱼点餐系统开发进度(页面优化&下单详细信息页面)

    Scrum 3.2 多鱼点餐系统开发进度(页面优化&下单详细信息页面)  1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选 ...

  5. 本人为项目组制定的一份页面优化指南(easyui页面优化方案)

    #本人为项目组制定的一份页面优化指南(easyui页面优化方案) ##背景 这是一篇我之前为项目组制定的页面优化指南,主要是面向表单页面,典型的像[注册用户](https://passport.cnb ...

  6. 网站页面优化必然趋势—WebP 图片!

    本文梗概:众所周知,浏览器可以通过 HTTP 请求的 Accpet 属性 来指定接收的内容类型.依靠这个技术,可以在不修改任何 HTML/CSS 或者图片的情况下,向浏览器提供优化的图片,从而降低带宽 ...

  7. 页面优化,谈谈重绘(repaint)和回流(reflow)

    一.前言 偶尔在面试过程中遇到过重汇与回流reflow的问题,毕竟页面优化也是考核一个开发者能力的关键之一,上篇文章聊了下documentfragment也是为了减轻回流问题,那么本篇文章好好介绍下重 ...

  8. Web前端页面的浏览器兼容性测试心得(二)搭建原汁原味的IE8测试环境

    如果你做的页面被老板或PM要求兼容IE8,你就值得同情了.IE8不支持HTML5,在2017年的前端界,开发者不涉及HTML5标准简直寸步难行.然而,有一个可怕的事实客观存在,那就是IE8是Win7系 ...

  9. .net 网站中如何动态播放音乐,页面如何播放音乐

    向别人请教有好处也有坏处,好处是你可以相对比较快的知道要点,坏处就是你TM的发现你弄了那么久都是白弄. 昨天今天一直在找一个问题的解决方案,我的问题描述大概是这样子的:我用vs2012开发的.net网 ...

随机推荐

  1. Qt 5.3 下OpenCV 2.4.11 开发(5)最高效的像素引用

    OpenCV 提供一个函数 getTickCount() ,能够用来測量一段代码的执行时间.另一个函数 getTickFrequency() 用来返回每秒内的时钟周期.代码操作例如以下: double ...

  2. nodejs微服务健康检查方案

    1. 前言 针对目前云平台方案,因为网络.主机状态等诸多因素,单台主机上的服务出现问题的几率大大增加.这就要求我们能够监控每台主机.每个微服务实例的健康状态.因此对于nodejs相关项目需要做相关的微 ...

  3. linux内核设计的艺术--系统启动第一步

    计算机究竟是如何执行起来的呢,在我学习计算机的时候一直不是非常明确,可是近期借了本<linux内核设计的艺术>算是知道了计算机从按开机到启动操作系统之间究竟做了些什么. 这本书刚開始介绍的 ...

  4. spark 类标签的稀疏 特征向量

    一个向量(1.0,0.0,3.0)它有2中表示的方法 密集:[1.0,0.0,3.0]    其和一般的数组无异 稀疏:(3,[0,2],[1.0,3.0])     其表示的含义(向量大小,序号,值 ...

  5. sicily 1031 Campus(图算法)

    Description At present, Zhongshan University has 4 campuses with a total area of 6.17 square kilomet ...

  6. java9新特性-3-JDK 和 JRE 的改变

    1.JDK 与 JRE 的关系 JDK :JavaDevelopmentKit (Java开发工具包) JRE :JavaRuntimeEnvironment (Java运行环境)     说明: J ...

  7. 使用goroutine+channel和java多线程+queue队列的方式开发各有什么优缺点?

    我感觉很多项目使用java或者c的多线程库+线程安全的queue数据结构基本上可以实现goroutine+channel开发能达到的需求,所以请问一下为什么说golang更适合并发服务端的开发呢?使用 ...

  8. mysql读写分离的解决方案

    来源于网上整理 http://yanwt.iteye.com/blog/1460780 现有三种解决方式实现mysql读写分离 1 程序修改mysql操作类 优点:直接和数据库通信,简单快捷的读写分离 ...

  9. HDU 4324 Triangle LOVE【拓扑排序】

    题意:给出n个人,如果a喜欢b,那么b一定不喜欢a,如果b不喜欢a,那么a一定喜欢b 就是这n个点里面的任意两点都存在一条单向的边, 所以如果这n个点不能构成拓扑序列的话,就一定成环了,成环的话就一定 ...

  10. phpStudy出现You don't have permission to access / on this server.

    原本用的 php 是<5.5.38版本的>,但是项目最低要求是<5.6>,所以就选择切换了版本,但是用原来的域名访问一直出现:You don't have permission ...