diff --git a/.gitignore b/.gitignore deleted file mode 100644 index cd1fbcc..0000000 --- a/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.DS_Store -Thumbs.db -db.json -*.log -node_modules/ -public/ -.deploy*/ diff --git a/source/_posts/2016-08-12-blog-hexo/dns1.png b/2016/08/12/blog-hexo/dns1.png similarity index 100% rename from source/_posts/2016-08-12-blog-hexo/dns1.png rename to 2016/08/12/blog-hexo/dns1.png diff --git a/source/_posts/2016-08-12-blog-hexo/dns2.png b/2016/08/12/blog-hexo/dns2.png similarity index 100% rename from source/_posts/2016-08-12-blog-hexo/dns2.png rename to 2016/08/12/blog-hexo/dns2.png diff --git a/2016/08/12/blog-hexo/index.html b/2016/08/12/blog-hexo/index.html new file mode 100644 index 0000000..50d1c8d --- /dev/null +++ b/2016/08/12/blog-hexo/index.html @@ -0,0 +1,967 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hexo+Next+Github 搭建个人博客 | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + Hexo+Next+Github 搭建个人博客 + + +

+ + + +
+ + + +
+ + + + + +

简介

用Hexo搭建网站主要就是两个配置文件,一个站点配置文件(/_config.yml),另一个是主题配置文件(/themes/[themefolder]/_config.yml),配置好这两个配置文件基本就可以了,剩下的都只是一些安装和部署。

+ +

Hexo

官方链接:https://hexo.io/zh-cn/

+

基本配置

    +
  • Hexo依赖于Node.js,需提前安装Node.js
  • +
  • 安装Hexo,应用Node.js指令:

    +
    npm install hexo-cli -g
    +
  • +
  • 新建Hexo工程

    +
    hexo init <folder>    
    +
  • +
  • 初始化Hexo

    +
    npm install
    +
  • +
+

扩展功能

    +
  • 添加rss

    +
    npm install hexo-generator-feed --save
    +
  • +
  • 站内搜索

    +
    npm install hexo-generator-search --save
    +

    配置站点文件:

    +
    search:
    +path: search.xml
    +field: post
    +
  • +
  • Github托管

    +
    npm install hexo-deployer-git --save    
    +

    配置站点文件:

    +
    deploy:
    +type: git
    +repository: https://github.com/monkeylight/monkeylight.github.io.git
    +branch: master
    +
  • +
+

常用命令

    +
  • 生成静态文件(public文件夹)

    +
    hexo generate/-g
    +
  • +
  • 清除缓存文件(db.json)和已生成的静态文件(public文件夹)

    +
    hexo clean
    +
  • +
  • 启动本地服务器

    +
    hexo server
    +
  • +
  • 部署网站到托管平台

    +
    hexo deploy/-d
    +
  • +
  • 新建文章

    +
    hexo new [layout] <title>
    +

    layout有三种:post(博客)/ page(页面)/ draft(草稿)

    +

    例如,新建一个“关于”页:

    +
    hexo new page about
    +
  • +
+

NexT主题

官方链接:http://theme-next.iissnan.com/

+

主题主要是一些配置信息的设置,官方文档里说得很详细,根据自己喜好和需要配置即可。但我在使用过程中遇到了一些问题,官方文档里没提及,在这分享一下:

+
    +
  • 官方推荐的Swiftype搜索用不了,据说是Switftype开始收费的原因,所以不支持了(-.- 只是听说)。
    解决方法:
    见上方Hexo页–>扩展功能–>站内搜索

    +
  • +
  • about页面使用无序列表没有小圆圈标识。
    解决方法:
    添加自定义样式,在配置文件/themes/next/source/css/_custom/custom.styl中添加代码:

    +
    ul { list-style-type: circle; }
    +
  • +
+

环境共享

单纯地用hexo部署网站,会有几个问题:

+
    +
  1. 每次部署都会覆盖上一次的内容,上次的提交记录会被清除!这不方便我查看历史记录
  2. +
  3. 共享配置环境的问题,我总不能每次换个地方都要重新配置一次hexo环境吧,那多恶心。
  4. +
+

针对以上问题,我首先想到的是在Github上用多一个仓库来存储hexo的配置环境,一个用来手动提交网站配置和博客内容,一个用来一健部署托管后台。后来在网上看到更机智的,就是用一个仓库多分支就行了,没必要多仓库。

+

域名

域名方面有两个选择:

+
    +
  1. 直接使用github的二级域名(username.github.io),免费!
  2. +
  3. 自己买个域名。买吧,感觉多爽,哈哈。
  4. +
+

个人域名

    +
  1. 域名购买(我是在godaddy买的,这个看你喜好吧)
  2. +
  3. 绑定github:
    在hexo/source文件夹下新建文件:CNAME(无后缀名),添加内容:yourwebsite.com
  4. +
  5. 配置DNS,可以在godaddy的dns管理中配置,也可以用 DNSPod 来管理更快和稳定。配置项:
      +
    • 添加两条A记录分别指向Github服务器:
      pic
    • +
    • 添加一条CNAME记录指向你用hexo部署的Githubt仓库(例如我的:monkeylight.github.io):
      pic
    • +
    +
  6. +
+
+

附:monkeylight.github.io 这个的是我的hexo环境配置,有兴趣的可以参考看看

+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2016/10/20/assetbundle/index.html b/2016/10/20/assetbundle/index.html new file mode 100644 index 0000000..b39b70c --- /dev/null +++ b/2016/10/20/assetbundle/index.html @@ -0,0 +1,1002 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unity打包和热更新&&assetbundle | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + Unity打包和热更新&&assetbundle + + +

+ + + +
+ + + +
+ + + + + +

遇到的问题

流程问题

    +
  • 怎么管理资源?
  • +
  • 怎么划分assetbundle包?
  • +
  • 怎么处理依赖?
  • +
  • 怎么做差异/增量更新?
  • +
  • 怎么加载和管理assetbundle?
  • +
  • 环境配置
  • +
+

细节问题

    +
  • 依赖需要按顺序加载不?
    不需要,保证所有依赖包能加载进来就行

    +
  • +
  • 怎么处理资源路径和ab的映射问题?

    +
  • +
  • resources的加载是不加扩展名,而ab的加载是加扩展名,因此一开始就应该定义好路径规则,统一都传带扩展名的路径,判断是用resources加载时再动态去掉扩展名
  • +
  • 预设的引用太乱了,不干净,例如模型上预设又挂着特效资源,特效预设又挂着声音资源,这样会很影响到打包依赖,所以此时每种资源应该有个管理,例如特效管理和声音管理,相互之间的关联再通过配置表实现
  • +
  • 同个bundle中的资源同名问题?
    按文件夹打包,根据全路径读取是最好的,ab读取资源的路径参数有两种方式:
      +
    1. 资源名(不带路径,不带扩展名,包内资源名必须唯一)
    2. +
    3. 全路径(带路径,带扩展名)
    4. +
    +
  • +
  • 依赖包需不需要按顺序加载?
  • +
  • asset后缀文件打不进ab包?
  • +
  • 用#号拼出assetbundle名后,www加载会有失败
  • +
  • xcode是7.3,而真机是10.0,导致程序Build不进手机,而电脑又是黑苹果,升级系统会各种问题,后面查了下原来可以直接复制更高版本的xcode程序包下的高版本文件到低版本程序包里,ios的目录是:Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/,下面有各个版本的支持情况
  • +
  • 路径名不能有空格,不然ios读不到
  • +
  • 依赖不加载全,就所有资源都不能加载还是指定资源的依赖都加载了就能加载此资源?
  • +
  • 同个资源能同时打到不同包上吗
  • +
  • 更新异常处理:
      +
    1. 网络挂了
    2. +
    3. 磁盘满
    4. +
    5. gprs网络提示
    6. +
    +
  • +
  • 协程处理热更新时,需要处理异常的处理,因为协程内发生异常是不影响协程外执行的
  • +
+

    +
  • 我的mac机是64位,要选osx64平台才能打包成功
  • +
  • 打包时我是对resources下的文件夹移至
  • +
  • www加载文本文件后,用www.text访问文本内容会有编码限制。官方文档上有要求文件内容为utf8或者ascii编码,如果是其它编码格式,需要通过www.bytes转编码为string(如:System.Text.Encoding.UTF7.GetString(www.bytes)),另一个问题是,官方文档中提的utf8是不带bom的,我是用c#自带的System.Text.Encoding.UTF8写出来的文件,查了格式才知道,原来这样写出来的文件是默认带bom的,如果希望文件是无bom的utf8编码,应该自己创建(new UTF8Encoding(false))进行写入。
  • +
  • android streamingdatapath是在apk包里面,无法直接使用本地读取,只能通过www访问
  • +
  • 平台路径问题
  • +
  • 异步加载读资源失败,同步加载没问题?
  • +
+

资源目录

    +
  • setting
  • +
  • script
  • +
  • shaders
  • +
  • audio
  • +
  • font
  • +
  • model
  • +
  • ui
  • +
  • effect
  • +
  • texture
  • +
+

资源打包

打包策略

整包

    +
  • setting
  • +
  • script
  • +
  • shader
  • +
  • audio
  • +
  • font
  • +
  • ui
  • +
+

散包

主包名与其资源目录相同,便于查找

+
    +
  1. 主包
  2. +
+
    +
  • 每个model预设
  • +
  • 每个特效预设
  • +
  • 每个UI贴图
  • +
+
    +
  1. 依赖包
  2. +
+

资源包目录结构

资源更新

资源加载

assetbundle流程

    +
  • assetbundle打包
  • +
  • assetbundle上传
  • +
  • assetbunlde下载
  • +
  • assetbundle加载
  • +
  • asset加载
  • +
  • assetbundle卸载
  • +
  • www释放
  • +
+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2016/12/28/mobaaoi/index.html b/2016/12/28/mobaaoi/index.html new file mode 100644 index 0000000..73665df --- /dev/null +++ b/2016/12/28/mobaaoi/index.html @@ -0,0 +1,987 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + moba类游戏的视野同步 | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + moba类游戏的视野同步 + + +

+ + + +
+ + + +
+ + + + + +

思路

    +
  1. 对象类型分组:

    +
      +
    • 观察者(watcher)
    • +
    • 被观察者(marker)

      +

      对象可以既是观察者,又是被观察者。

      +
    • +
    +
  2. +
  3. 对象触发检查的时机:

    +
      +
    • 对象新增
    • +
    • 对象移除
    • +
    • 对象位置更新
    • +
    +
  4. +
  5. 对象检查时的比较集:

    +
      +
    • 对象是观察者,比较所有
    • +
    • 对象不是观察者,只与观察者比较
    • +
    +
  6. +
  7. 优化点:

    +
      +
    • 阵营区分,同阵营观察者间不作比较
    • +
    • 限制位置更新触发检查的时机,线段移动一定距离再触发
    • +
    +
  8. +
  9. +
+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2017/01/04/assetbundle-pack/index.html b/2017/01/04/assetbundle-pack/index.html new file mode 100644 index 0000000..5c45084 --- /dev/null +++ b/2017/01/04/assetbundle-pack/index.html @@ -0,0 +1,856 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + assetbundle打包策略 | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + assetbundle打包策略 + + +

+ + + +
+ + + +
+ + + + + +

做打包已经有一阵子了,之前只是记了些备忘,最近才开始想写博客,现在来把它补上。刚开始接触assetbundle时,新来的老大带了一份他以前,不是很清楚要怎么处理资源依赖比较好,出现了相互依赖的情况,

+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2017/01/18/howwrite/index.html b/2017/01/18/howwrite/index.html new file mode 100644 index 0000000..8b53f82 --- /dev/null +++ b/2017/01/18/howwrite/index.html @@ -0,0 +1,897 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 学着写技术博客 | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + 学着写技术博客 + + +

+ + + +
+ + + +
+ + + + + +

最近想着手写写技术博客,在网上了解了下如何去写好一篇技术博客,我总结了下觉得有两点说得挺好:

+
    +
  • 技术博客不是写过程,而是写总结。
  • +
  • 技术博客是文章,应该过滤掉个人感情色彩,用陈述语气进行描述,因为读者想了解的是技术本身,而不是作者的个人感受。
  • +
+

学习了大牛们的技术博客后,加上我个人的理解,我觉得写一篇技术博客应该具备以下的点:

+
    +
  1. 主题:明确博客主题,全文围绕主题展开,一文只论一题,若涉及其它主题则另开新篇博文进行描述。
  2. +
  3. 开篇:由于个人喜好原因,我觉得文章开篇可适当讲述下主题背景原因,从背景原因开启一篇文章。(个人觉得这样会给读者像是在听故事的感觉,不会那么突兀)
  4. +
  5. 内容:针对遇到的问题进行阐述,并提出自己的思路或解决方案。内容尽量以图形进行表达,少用文字和代码。
  6. +
  7. 待完善的点(可选):不足之处,还能完善或者解决的地方。
  8. +
  9. 源码(可选):若能提供源码,可放上自己的github链接。
  10. +
  11. 参考链接:支持原创,引用到他人文章内容时注明出处。
  12. +
+

目前暂时只想到这些,日后若有新的想法,会持续更新和完善此文。

+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2017/01/20/assetbundle-optimization/index.html b/2017/01/20/assetbundle-optimization/index.html new file mode 100644 index 0000000..d577092 --- /dev/null +++ b/2017/01/20/assetbundle-optimization/index.html @@ -0,0 +1,931 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + assetbundle-optimization | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + assetbundle-optimization + + +

+ + + +
+ + + +
+ + + + + +

主要问题是散包很多,加载太慢。我导出了份数据,其中大部分模型单个模型都依赖了20多个包。针对散包的问题,由于散包主要为材质球和其依赖的贴图还有声音,因此考虑了以下优化点:

+

公用资源(shader、setting、script、mapdata):

+
    +
  • 一种资源一个包,按文件夹打包
  • +
+

模型:

+
    +
  • 模型预设不要直接绑定特效和声音
  • +
  • 模型贴图一个包,模型动作一个包,模型shader在shader包,其它模型依赖作为一个包。
  • +
+

贴图:

+
    +
  1. 贴图归类,按文件夹打包(通用贴图、模型贴图、特效贴图)
  2. +
+

特效:

+
    +
  1. 特效分类,
  2. +
+

图集:

+
    +
  1. 一个图集一个包
  2. +
+

UI:

+
    +
  1. 除了图集外,一个UI一个包.
  2. +
+

声音:

+
    +
  1. 声音分类,按文件夹打包
  2. +
+

材质:

+
    +
  1. +
+

目标:

方案:

Resources:

+

整包资源:

+
    +
  • setting
  • +
  • script
  • +
  • shader
  • +
+

散包资源:

+
    +
  • audio
  • +
  • model
  • +
  • effect
  • +
  • ui
  • +
  • atlas
  • +
  • other
  • +
  • img
  • +
  • navdata
  • +
+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2017/07/17/unity-gameobjectref/index.html b/2017/07/17/unity-gameobjectref/index.html new file mode 100644 index 0000000..e7b3f08 --- /dev/null +++ b/2017/07/17/unity-gameobjectref/index.html @@ -0,0 +1,886 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unity中GameObject对象引用 | L杂货店 + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+ + +
+ + + + + + + + + +
+ + +
+ + + +

+ + + + Unity中GameObject对象引用 + + +

+ + + +
+ + + +
+ + + + + +

今天想到个问题,GameObject对象销毁后,其对象引用==null为true,按正常来说,一个类引用变量,在没主动置其为null的情况下与null是不等值的。因此,不是引用变量的值变了,而应该是==操作符被Unity重载了。

+ +

上网查了下C#有没能直接对比对象引用的接口,找到了这个:

+
object.ReferenceEquals(obj1, obj2);
+

它是个静态方法,不担心被重写。于是写了以下代码作测试验证:

+
public class TestClass : MonoBehaviour
+{
+    private GameObject Obj = new GameObject("test");
+
+    void Update()
+    {
+        if (Input.GetKeyDown(KeyCode.Space))
+        {
+            Debug.LogFormat("== ? {0}", Obj == null);
+            Debug.LogFormat("object.ReferenceEquals ? {0}", object.ReferenceEquals(Obj, null));
+            if (Obj != null)
+            {
+                GameObject.Destroy(Obj);
+                Debug.Log("destroy obj!");
+            }
+        }
+    }
+}
+

输出结果:

+

+

输出结果跟预期的一样。==操作符被Unity内部重载了才导致了判空能成立。出于好奇,也试了下Equal()函数,其结果与==操作符一样,也被Unity内部重载了。

+

因此,用GameObject对象引用时需多加注意,尽量避免用其引用作索引匹配之类的,因为C#的List或者Dictionary等数据结构是用默认的相等比较器Equal()进行对比的,除非自己特殊指定比较器。

+ + +
+ +
+ + + +
+ +
+ + + + +
+ + +
+ + + +
+ +
+
+ + +
+ + + + +
+ +
+ + +
+ + + + + + + + + +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/_posts/2017-07-17-unity-gameobjectref/output1.png b/2017/07/17/unity-gameobjectref/output1.png similarity index 100% rename from source/_posts/2017-07-17-unity-gameobjectref/output1.png rename to 2017/07/17/unity-gameobjectref/output1.png diff --git a/source/CNAME b/CNAME old mode 100755 new mode 100644 similarity index 100% rename from source/CNAME rename to CNAME diff --git a/README.md b/README.md index 24bc512..e703c22 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,5 @@ -#Hexo个人博客配置 -我的个人博客是由 Hexo + NexT主题 搭建生成的,本仓库用于配置和部署我的个人博客。 -仓库的Hexo分支为环境和主题配置,而Master分支则为博客的托管后台(由Hexo分支自动生成和部署)。 - -##环境安装 -1. 安装 [**node.js**](https://nodejs.org/en/) -2. 执行根目录下的脚本 install.sh +#个人博客后台 +本分支由Hexo自动生成和部署。 ##相关链接: Hexo:[https://hexo.io/zh-cn](https://hexo.io/zh-cn) diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 9d41900..0000000 --- a/_config.yml +++ /dev/null @@ -1,80 +0,0 @@ -# Hexo Configuration -## Docs: https://hexo.io/docs/configuration.html -## Source: https://github.com/hexojs/hexo/ - -# Site -title: L杂货店 -subtitle: -description: stay hungry, stay foolish -author: L -language: zh-Hans -timezone: -avatar: /uploads/avatar.jpg -search: -path: search.xml -field: post - -# URL -## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' -url: http://www.usuallight.com -root: / -permalink: :year/:month/:day/:title/ -permalink_defaults: - -# Directory -source_dir: source -public_dir: public -tag_dir: tags -archive_dir: archives -category_dir: categories -code_dir: downloads/code -i18n_dir: :lang -skip_render: README.md - -# Writing -new_post_name: :year-:month-:day-:title.md # File name of new posts -default_layout: post -titlecase: false # Transform title into titlecase -external_link: true # Open external links in new tab -filename_case: 0 -render_drafts: false -post_asset_folder: true -relative_link: false -future: true -highlight: - enable: true - line_number: true - auto_detect: false - tab_replace: - -# Category & Tag -default_category: uncategorized -category_map: -tag_map: - -# Date / Time format -## Hexo uses Moment.js to parse and display date -## You can customize the date format as defined in -## http://momentjs.com/docs/#/displaying/format/ -date_format: YYYY-MM-DD -time_format: HH:mm:ss - -# Pagination -## Set per_page to 0 to disable pagination -per_page: 10 -pagination_dir: page - -# Extensions -## Plugins: https://hexo.io/plugins/ -## Themes: https://hexo.io/themes/ -theme: next - -baidusitemap: -- path: baidusitemap.xml - -# Deployment -## Docs: https://hexo.io/docs/deployment.html -deploy: - type: git - repository: https://github.com/monkeylight/monkeylight.github.io.git - branch: master diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..665676c --- /dev/null +++ b/about/index.html @@ -0,0 +1,852 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + about | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2016/08/index.html b/archives/2016/08/index.html new file mode 100644 index 0000000..c2e0845 --- /dev/null +++ b/archives/2016/08/index.html @@ -0,0 +1,771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2016/10/index.html b/archives/2016/10/index.html new file mode 100644 index 0000000..1e29349 --- /dev/null +++ b/archives/2016/10/index.html @@ -0,0 +1,771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2016/12/index.html b/archives/2016/12/index.html new file mode 100644 index 0000000..0ff7a82 --- /dev/null +++ b/archives/2016/12/index.html @@ -0,0 +1,771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2016/index.html b/archives/2016/index.html new file mode 100644 index 0000000..1627b55 --- /dev/null +++ b/archives/2016/index.html @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/01/index.html b/archives/2017/01/index.html new file mode 100644 index 0000000..ba38da9 --- /dev/null +++ b/archives/2017/01/index.html @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/07/index.html b/archives/2017/07/index.html new file mode 100644 index 0000000..c656354 --- /dev/null +++ b/archives/2017/07/index.html @@ -0,0 +1,771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/index.html b/archives/2017/index.html new file mode 100644 index 0000000..0fb5255 --- /dev/null +++ b/archives/2017/index.html @@ -0,0 +1,882 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 0000000..d12f7f2 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,998 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..af9f415 --- /dev/null +++ b/atom.xml @@ -0,0 +1,468 @@ + + + L杂货店 + + + + + 2017-07-17T12:17:30.000Z + http://www.usuallight.com/ + + + L + + + + Hexo + + + Unity中GameObject对象引用 + + http://www.usuallight.com/2017/07/17/unity-gameobjectref/ + 2017-07-17T09:11:45.000Z + 2017-07-17T12:17:30.000Z + + 今天想到个问题,GameObject对象销毁后,其对象引用==null为true,按正常来说,一个类引用变量,在没主动置其为null的情况下与null是不等值的。因此,不是引用变量的值变了,而应该是==操作符被Unity重载了。

+ +

上网查了下C#有没能直接对比对象引用的接口,找到了这个:

+
object.ReferenceEquals(obj1, obj2);
+

它是个静态方法,不担心被重写。于是写了以下代码作测试验证:

+
public class TestClass : MonoBehaviour
+{
+    private GameObject Obj = new GameObject("test");
+
+    void Update()
+    {
+        if (Input.GetKeyDown(KeyCode.Space))
+        {
+            Debug.LogFormat("== ? {0}", Obj == null);
+            Debug.LogFormat("object.ReferenceEquals ? {0}", object.ReferenceEquals(Obj, null));
+            if (Obj != null)
+            {
+                GameObject.Destroy(Obj);
+                Debug.Log("destroy obj!");
+            }
+        }
+    }
+}
+

输出结果:

+

+

输出结果跟预期的一样。==操作符被Unity内部重载了才导致了判空能成立。出于好奇,也试了下Equal()函数,其结果与==操作符一样,也被Unity内部重载了。

+

因此,用GameObject对象引用时需多加注意,尽量避免用其引用作索引匹配之类的,因为C#的List或者Dictionary等数据结构是用默认的相等比较器Equal()进行对比的,除非自己特殊指定比较器。

+]]>
+ + + + <p>今天想到个问题,GameObject对象销毁后,其对象引用==null为true,按正常来说,一个类引用变量,在没主动置其为null的情况下与null是不等值的。因此,不是引用变量的值变了,而应该是==操作符被Unity重载了。</p> + + + + + + +
+ + + assetbundle-optimization + + http://www.usuallight.com/2017/01/20/assetbundle-optimization/ + 2017-01-20T15:03:31.000Z + 2017-07-17T09:03:04.000Z + + 主要问题是散包很多,加载太慢。我导出了份数据,其中大部分模型单个模型都依赖了20多个包。针对散包的问题,由于散包主要为材质球和其依赖的贴图还有声音,因此考虑了以下优化点:

+

公用资源(shader、setting、script、mapdata):

+
    +
  • 一种资源一个包,按文件夹打包
  • +
+

模型:

+
    +
  • 模型预设不要直接绑定特效和声音
  • +
  • 模型贴图一个包,模型动作一个包,模型shader在shader包,其它模型依赖作为一个包。
  • +
+

贴图:

+
    +
  1. 贴图归类,按文件夹打包(通用贴图、模型贴图、特效贴图)
  2. +
+

特效:

+
    +
  1. 特效分类,
  2. +
+

图集:

+
    +
  1. 一个图集一个包
  2. +
+

UI:

+
    +
  1. 除了图集外,一个UI一个包.
  2. +
+

声音:

+
    +
  1. 声音分类,按文件夹打包
  2. +
+

材质:

+
    +
  1. +
+

目标:

方案:

Resources:

+

整包资源:

+
    +
  • setting
  • +
  • script
  • +
  • shader
  • +
+

散包资源:

+
    +
  • audio
  • +
  • model
  • +
  • effect
  • +
  • ui
  • +
  • atlas
  • +
  • other
  • +
  • img
  • +
  • navdata
  • +
+]]>
+ + + + <p>主要问题是散包很多,加载太慢。我导出了份数据,其中大部分模型单个模型都依赖了20多个包。针对散包的问题,由于散包主要为材质球和其依赖的贴图还有声音,因此考虑了以下优化点:</p> +<p>公用资源(shader、setting、script、mapdata):</p> +<ul + + + + +
+ + + 学着写技术博客 + + http://www.usuallight.com/2017/01/18/howwrite/ + 2017-01-18T15:10:22.000Z + 2017-01-19T16:44:00.000Z + + 最近想着手写写技术博客,在网上了解了下如何去写好一篇技术博客,我总结了下觉得有两点说得挺好:

+
    +
  • 技术博客不是写过程,而是写总结。
  • +
  • 技术博客是文章,应该过滤掉个人感情色彩,用陈述语气进行描述,因为读者想了解的是技术本身,而不是作者的个人感受。
  • +
+

学习了大牛们的技术博客后,加上我个人的理解,我觉得写一篇技术博客应该具备以下的点:

+
    +
  1. 主题:明确博客主题,全文围绕主题展开,一文只论一题,若涉及其它主题则另开新篇博文进行描述。
  2. +
  3. 开篇:由于个人喜好原因,我觉得文章开篇可适当讲述下主题背景原因,从背景原因开启一篇文章。(个人觉得这样会给读者像是在听故事的感觉,不会那么突兀)
  4. +
  5. 内容:针对遇到的问题进行阐述,并提出自己的思路或解决方案。内容尽量以图形进行表达,少用文字和代码。
  6. +
  7. 待完善的点(可选):不足之处,还能完善或者解决的地方。
  8. +
  9. 源码(可选):若能提供源码,可放上自己的github链接。
  10. +
  11. 参考链接:支持原创,引用到他人文章内容时注明出处。
  12. +
+

目前暂时只想到这些,日后若有新的想法,会持续更新和完善此文。

+]]>
+ + + + <p>最近想着手写写技术博客,在网上了解了下如何去写好一篇技术博客,我总结了下觉得有两点说得挺好:</p> +<ul> +<li>技术博客不是写过程,而是写总结。</li> +<li>技术博客是文章,应该过滤掉个人感情色彩,用陈述语气进行描述,因为读者想了解的是技术本身,而不是作者的个 + + + + + + +
+ + + assetbundle打包策略 + + http://www.usuallight.com/2017/01/04/assetbundle-pack/ + 2017-01-04T06:24:36.000Z + 2017-07-17T09:03:04.000Z + + 做打包已经有一阵子了,之前只是记了些备忘,最近才开始想写博客,现在来把它补上。刚开始接触assetbundle时,新来的老大带了一份他以前,不是很清楚要怎么处理资源依赖比较好,出现了相互依赖的情况,

+]]>
+ + + + <p>做打包已经有一阵子了,之前只是记了些备忘,最近才开始想写博客,现在来把它补上。刚开始接触assetbundle时,新来的老大带了一份他以前,不是很清楚要怎么处理资源依赖比较好,出现了相互依赖的情况,</p> + + + + + +
+ + + moba类游戏的视野同步 + + http://www.usuallight.com/2016/12/28/mobaaoi/ + 2016-12-28T07:08:31.000Z + 2017-01-19T16:19:31.000Z + + 思路
    +
  1. 对象类型分组:

    +
      +
    • 观察者(watcher)
    • +
    • 被观察者(marker)

      +

      对象可以既是观察者,又是被观察者。

      +
    • +
    +
  2. +
  3. 对象触发检查的时机:

    +
      +
    • 对象新增
    • +
    • 对象移除
    • +
    • 对象位置更新
    • +
    +
  4. +
  5. 对象检查时的比较集:

    +
      +
    • 对象是观察者,比较所有
    • +
    • 对象不是观察者,只与观察者比较
    • +
    +
  6. +
  7. 优化点:

    +
      +
    • 阵营区分,同阵营观察者间不作比较
    • +
    • 限制位置更新触发检查的时机,线段移动一定距离再触发
    • +
    +
  8. +
  9. +
+]]>
+ + + + <h1 id="思路"><a href="#思路" class="headerlink" title="思路"></a>思路</h1><ol> +<li><p>对象类型分组:</p> +<ul> +<li>观察者(watcher)</li> +<li><p>被观察者(marker)</p + + + + + + + + + + +
+ + + Unity打包和热更新&&assetbundle + + http://www.usuallight.com/2016/10/20/assetbundle/ + 2016-10-20T06:44:20.000Z + 2017-07-17T09:03:04.000Z + + 遇到的问题

流程问题

    +
  • 怎么管理资源?
  • +
  • 怎么划分assetbundle包?
  • +
  • 怎么处理依赖?
  • +
  • 怎么做差异/增量更新?
  • +
  • 怎么加载和管理assetbundle?
  • +
  • 环境配置
  • +
+

细节问题

    +
  • 依赖需要按顺序加载不?
    不需要,保证所有依赖包能加载进来就行

    +
  • +
  • 怎么处理资源路径和ab的映射问题?

    +
  • +
  • resources的加载是不加扩展名,而ab的加载是加扩展名,因此一开始就应该定义好路径规则,统一都传带扩展名的路径,判断是用resources加载时再动态去掉扩展名
  • +
  • 预设的引用太乱了,不干净,例如模型上预设又挂着特效资源,特效预设又挂着声音资源,这样会很影响到打包依赖,所以此时每种资源应该有个管理,例如特效管理和声音管理,相互之间的关联再通过配置表实现
  • +
  • 同个bundle中的资源同名问题?
    按文件夹打包,根据全路径读取是最好的,ab读取资源的路径参数有两种方式:
      +
    1. 资源名(不带路径,不带扩展名,包内资源名必须唯一)
    2. +
    3. 全路径(带路径,带扩展名)
    4. +
    +
  • +
  • 依赖包需不需要按顺序加载?
  • +
  • asset后缀文件打不进ab包?
  • +
  • 用#号拼出assetbundle名后,www加载会有失败
  • +
  • xcode是7.3,而真机是10.0,导致程序Build不进手机,而电脑又是黑苹果,升级系统会各种问题,后面查了下原来可以直接复制更高版本的xcode程序包下的高版本文件到低版本程序包里,ios的目录是:Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/,下面有各个版本的支持情况
  • +
  • 路径名不能有空格,不然ios读不到
  • +
  • 依赖不加载全,就所有资源都不能加载还是指定资源的依赖都加载了就能加载此资源?
  • +
  • 同个资源能同时打到不同包上吗
  • +
  • 更新异常处理:
      +
    1. 网络挂了
    2. +
    3. 磁盘满
    4. +
    5. gprs网络提示
    6. +
    +
  • +
  • 协程处理热更新时,需要处理异常的处理,因为协程内发生异常是不影响协程外执行的
  • +
+

    +
  • 我的mac机是64位,要选osx64平台才能打包成功
  • +
  • 打包时我是对resources下的文件夹移至
  • +
  • www加载文本文件后,用www.text访问文本内容会有编码限制。官方文档上有要求文件内容为utf8或者ascii编码,如果是其它编码格式,需要通过www.bytes转编码为string(如:System.Text.Encoding.UTF7.GetString(www.bytes)),另一个问题是,官方文档中提的utf8是不带bom的,我是用c#自带的System.Text.Encoding.UTF8写出来的文件,查了格式才知道,原来这样写出来的文件是默认带bom的,如果希望文件是无bom的utf8编码,应该自己创建(new UTF8Encoding(false))进行写入。
  • +
  • android streamingdatapath是在apk包里面,无法直接使用本地读取,只能通过www访问
  • +
  • 平台路径问题
  • +
  • 异步加载读资源失败,同步加载没问题?
  • +
+

资源目录

    +
  • setting
  • +
  • script
  • +
  • shaders
  • +
  • audio
  • +
  • font
  • +
  • model
  • +
  • ui
  • +
  • effect
  • +
  • texture
  • +
+

资源打包

打包策略

整包

    +
  • setting
  • +
  • script
  • +
  • shader
  • +
  • audio
  • +
  • font
  • +
  • ui
  • +
+

散包

主包名与其资源目录相同,便于查找

+
    +
  1. 主包
  2. +
+
    +
  • 每个model预设
  • +
  • 每个特效预设
  • +
  • 每个UI贴图
  • +
+
    +
  1. 依赖包
  2. +
+

资源包目录结构

资源更新

资源加载

assetbundle流程

    +
  • assetbundle打包
  • +
  • assetbundle上传
  • +
  • assetbunlde下载
  • +
  • assetbundle加载
  • +
  • asset加载
  • +
  • assetbundle卸载
  • +
  • www释放
  • +
+]]>
+ + + + <h1 id="遇到的问题"><a href="#遇到的问题" class="headerlink" title="遇到的问题"></a>遇到的问题</h1><h2 id="流程问题"><a href="#流程问题" class="headerlink" title="流程问题" + + + + + + + + +
+ + + Hexo+Next+Github 搭建个人博客 + + http://www.usuallight.com/2016/08/12/blog-hexo/ + 2016-08-12T02:30:29.000Z + 2017-01-09T16:51:32.000Z + + 简介

用Hexo搭建网站主要就是两个配置文件,一个站点配置文件(/_config.yml),另一个是主题配置文件(/themes/[themefolder]/_config.yml),配置好这两个配置文件基本就可以了,剩下的都只是一些安装和部署。

+ +

Hexo

官方链接:https://hexo.io/zh-cn/

+

基本配置

    +
  • Hexo依赖于Node.js,需提前安装Node.js
  • +
  • 安装Hexo,应用Node.js指令:

    +
    npm install hexo-cli -g
    +
  • +
  • 新建Hexo工程

    +
    hexo init <folder>    
    +
  • +
  • 初始化Hexo

    +
    npm install
    +
  • +
+

扩展功能

    +
  • 添加rss

    +
    npm install hexo-generator-feed --save
    +
  • +
  • 站内搜索

    +
    npm install hexo-generator-search --save
    +

    配置站点文件:

    +
    search:
    +path: search.xml
    +field: post
    +
  • +
  • Github托管

    +
    npm install hexo-deployer-git --save    
    +

    配置站点文件:

    +
    deploy:
    +type: git
    +repository: https://github.com/monkeylight/monkeylight.github.io.git
    +branch: master
    +
  • +
+

常用命令

    +
  • 生成静态文件(public文件夹)

    +
    hexo generate/-g
    +
  • +
  • 清除缓存文件(db.json)和已生成的静态文件(public文件夹)

    +
    hexo clean
    +
  • +
  • 启动本地服务器

    +
    hexo server
    +
  • +
  • 部署网站到托管平台

    +
    hexo deploy/-d
    +
  • +
  • 新建文章

    +
    hexo new [layout] <title>
    +

    layout有三种:post(博客)/ page(页面)/ draft(草稿)

    +

    例如,新建一个“关于”页:

    +
    hexo new page about
    +
  • +
+

NexT主题

官方链接:http://theme-next.iissnan.com/

+

主题主要是一些配置信息的设置,官方文档里说得很详细,根据自己喜好和需要配置即可。但我在使用过程中遇到了一些问题,官方文档里没提及,在这分享一下:

+
    +
  • 官方推荐的Swiftype搜索用不了,据说是Switftype开始收费的原因,所以不支持了(-.- 只是听说)。
    解决方法:
    见上方Hexo页–>扩展功能–>站内搜索

    +
  • +
  • about页面使用无序列表没有小圆圈标识。
    解决方法:
    添加自定义样式,在配置文件/themes/next/source/css/_custom/custom.styl中添加代码:

    +
    ul { list-style-type: circle; }
    +
  • +
+

环境共享

单纯地用hexo部署网站,会有几个问题:

+
    +
  1. 每次部署都会覆盖上一次的内容,上次的提交记录会被清除!这不方便我查看历史记录
  2. +
  3. 共享配置环境的问题,我总不能每次换个地方都要重新配置一次hexo环境吧,那多恶心。
  4. +
+

针对以上问题,我首先想到的是在Github上用多一个仓库来存储hexo的配置环境,一个用来手动提交网站配置和博客内容,一个用来一健部署托管后台。后来在网上看到更机智的,就是用一个仓库多分支就行了,没必要多仓库。

+

域名

域名方面有两个选择:

+
    +
  1. 直接使用github的二级域名(username.github.io),免费!
  2. +
  3. 自己买个域名。买吧,感觉多爽,哈哈。
  4. +
+

个人域名

    +
  1. 域名购买(我是在godaddy买的,这个看你喜好吧)
  2. +
  3. 绑定github:
    在hexo/source文件夹下新建文件:CNAME(无后缀名),添加内容:yourwebsite.com
  4. +
  5. 配置DNS,可以在godaddy的dns管理中配置,也可以用 DNSPod 来管理更快和稳定。配置项:
      +
    • 添加两条A记录分别指向Github服务器:
      pic
    • +
    • 添加一条CNAME记录指向你用hexo部署的Githubt仓库(例如我的:monkeylight.github.io):
      pic
    • +
    +
  6. +
+
+

附:monkeylight.github.io 这个的是我的hexo环境配置,有兴趣的可以参考看看

+]]>
+ + + + <h1 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h1><p>用Hexo搭建网站主要就是两个配置文件,一个站点配置文件(/_config.yml),另一个是主题配置文件(/themes/[themefolder]/_config.yml),配置好这两个配置文件基本就可以了,剩下的都只是一些安装和部署。</p> + + + + + + + + + + +
+ +
diff --git a/categories/assetbundle/index.html b/categories/assetbundle/index.html new file mode 100644 index 0000000..7b980fc --- /dev/null +++ b/categories/assetbundle/index.html @@ -0,0 +1,746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 分类: assetbundle | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/blog/index.html b/categories/blog/index.html new file mode 100644 index 0000000..5ac9ee0 --- /dev/null +++ b/categories/blog/index.html @@ -0,0 +1,746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 分类: blog | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000..767f51a --- /dev/null +++ b/categories/index.html @@ -0,0 +1,729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 分类 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/categories/moba/index.html b/categories/moba/index.html new file mode 100644 index 0000000..4f372ae --- /dev/null +++ b/categories/moba/index.html @@ -0,0 +1,746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 分类: moba | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..5663283 --- /dev/null +++ b/css/main.css @@ -0,0 +1,2430 @@ +/* normalize.css v3.0.2 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +::selection { + background: #262a30; + color: #fff; +} +body { + position: relative; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 14px; + line-height: 2; + color: #555; + background: #fff; +} +@media (max-width: 767px) { + body { + padding-right: 0 !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + body { + padding-right: 0 !important; + } +} +@media (min-width: 1600px) { + body { + font-size: 16px; + } +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; + font-weight: bold; + line-height: 1.5; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +h2, +h3, +h4, +h5, +h6 { + margin: 20px 0 15px; +} +h1 { + font-size: 24px; +} +@media (max-width: 767px) { + h1 { + font-size: 20px; + } +} +h2 { + font-size: 22px; +} +@media (max-width: 767px) { + h2 { + font-size: 18px; + } +} +h3 { + font-size: 20px; +} +@media (max-width: 767px) { + h3 { + font-size: 16px; + } +} +h4 { + font-size: 18px; +} +@media (max-width: 767px) { + h4 { + font-size: 14px; + } +} +h5 { + font-size: 16px; +} +@media (max-width: 767px) { + h5 { + font-size: 12px; + } +} +h6 { + font-size: 14px; +} +@media (max-width: 767px) { + h6 { + font-size: 10px; + } +} +p { + margin: 0 0 25px 0; +} +a { + color: #555; + text-decoration: none; + border-bottom: 1px solid #999; + word-wrap: break-word; +} +a:hover { + color: #222; + border-bottom-color: #222; +} +ul { + list-style: none; +} +blockquote { + margin: 0; + padding: 0; +} +img { + display: block; + margin: auto; + max-width: 100%; + height: auto; +} +hr { + margin: 40px 0; + height: 3px; + border: none; + background-color: #ddd; + background-image: repeating-linear-gradient(-45deg, #fff, #fff 4px, transparent 4px, transparent 8px); +} +blockquote { + padding: 0 15px; + color: #666; + border-left: 4px solid #ddd; +} +blockquote cite::before { + content: "-"; + padding: 0 5px; +} +dt { + font-weight: 700; +} +dd { + margin: 0; + padding: 0; +} +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.clearfix:before, +.clearfix:after { + content: " "; + display: table; +} +.clearfix:after { + clear: both; +} +.pullquote { + width: 45%; +} +.pullquote.left { + float: left; + margin-left: 5px; + margin-right: 10px; +} +.pullquote.right { + float: right; + margin-left: 10px; + margin-right: 5px; +} +.affix.affix.affix { + position: fixed; +} +.translation { + margin-top: -20px; + font-size: 14px; + color: #999; +} +.scrollbar-measure { + width: 100px; + height: 100px; + overflow: scroll; + position: absolute; + top: -9999px; +} +.use-motion .motion-element { + opacity: 0; +} +#local-search-input { + padding: 3px; + border: none; + text-indent: 14px; + border-radius: 0; + width: 140px; + outline: none; + border-bottom: 1px solid #999; + background: inherit; + opacity: 0.5; +} +#local-search-input:focus { + opacity: 1; +} +.search-icon { + position: absolute; + top: 9px; +} +table { + margin: 20px 0; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + border: 1px solid #ddd; + font-size: 14px; + table-layout: fixed; + word-wrap: break-all; +} +table>tbody>tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +table>tbody>tr:hover { + background-color: #f5f5f5; +} +caption, +th, +td { + padding: 8px; + text-align: left; + vertical-align: middle; + font-weight: normal; +} +th, +td { + border-bottom: 3px solid #ddd; + border-right: 1px solid #eee; +} +th { + padding-bottom: 10px; + font-weight: 700; +} +td { + border-bottom-width: 1px; +} +html, +body { + height: 100%; +} +.container { + position: relative; + min-height: 100%; +} +.header-inner { + margin: 0 auto; + padding: 100px 0 70px; + width: 700px; +} +@media (min-width: 1600px) { + .container .header-inner { + width: 900px; + } +} +.main { + padding-bottom: 150px; +} +.main-inner { + margin: 0 auto; + width: 700px; +} +@media (min-width: 1600px) { + .container .main-inner { + width: 900px; + } +} +.footer { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + min-height: 50px; +} +.footer-inner { + box-sizing: border-box; + margin: 20px auto; + width: 700px; +} +@media (min-width: 1600px) { + .container .footer-inner { + width: 900px; + } +} +pre, +.highlight { + overflow: auto; + margin: 20px 0; + padding: 15px; + font-size: 13px; + color: #4d4d4c; + background: #f7f7f7; + line-height: 1.6; +} +pre, +code { + font-family: consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace; +} +code { + padding: 2px 4px; + word-break: break-all; + color: #555; + background: #eee; + border-radius: 4px; + font-size: 13px; +} +pre code { + padding: 0; + color: #4d4d4c; + background: none; + text-shadow: none; +} +.highlight pre { + border: none; + margin: 0; + padding: 1px; +} +.highlight table { + margin: 0; + width: auto; + border: none; +} +.highlight td { + border: none; + padding: 0; +} +.highlight figcaption { + font-size: 1em; + color: #4d4d4c; + line-height: 1em; + margin-bottom: 1em; +} +.highlight figcaption:before, +.highlight figcaption:after { + content: " "; + display: table; +} +.highlight figcaption:after { + clear: both; +} +.highlight figcaption a { + float: right; + color: #4d4d4c; +} +.highlight figcaption a:hover { + border-bottom-color: #4d4d4c; +} +.highlight .gutter pre { + color: #666; + text-align: right; + padding-right: 20px; +} +.highlight .line { + height: 20px; +} +.gist table { + width: auto; +} +.gist table td { + border: none; +} +pre .comment { + color: #8e908c; +} +pre .variable, +pre .attribute, +pre .tag, +pre .regexp, +pre .ruby .constant, +pre .xml .tag .title, +pre .xml .pi, +pre .xml .doctype, +pre .html .doctype, +pre .css .id, +pre .css .class, +pre .css .pseudo { + color: #c82829; +} +pre .number, +pre .preprocessor, +pre .built_in, +pre .literal, +pre .params, +pre .constant, +pre .command { + color: #f5871f; +} +pre .ruby .class .title, +pre .css .rules .attribute, +pre .string, +pre .value, +pre .inheritance, +pre .header, +pre .ruby .symbol, +pre .xml .cdata, +pre .special, +pre .number, +pre .formula { + color: #718c00; +} +pre .title, +pre .css .hexcolor { + color: #3e999f; +} +pre .function, +pre .python .decorator, +pre .python .title, +pre .ruby .function .title, +pre .ruby .title .keyword, +pre .perl .sub, +pre .javascript .title, +pre .coffeescript .title { + color: #4271ae; +} +pre .keyword, +pre .javascript .function { + color: #8959a8; +} +.full-image.full-image.full-image { + border: none; + max-width: 100%; + width: auto; + margin: 20px auto; +} +@media (min-width: 992px) { + .full-image.full-image.full-image { + max-width: none; + width: 126%; + margin: 0 -13%; + } +} +.blockquote-center, +.page-home .post-type-quote blockquote, +.page-post-detail .post-type-quote blockquote { + position: relative; + margin: 40px 0; + padding: 0; + border-left: none; + text-align: center; +} +.blockquote-center::before, +.page-home .post-type-quote blockquote::before, +.page-post-detail .post-type-quote blockquote::before, +.blockquote-center::after, +.page-home .post-type-quote blockquote::after, +.page-post-detail .post-type-quote blockquote::after { + position: absolute; + content: ' '; + display: block; + width: 100%; + height: 24px; + opacity: 0.2; + background-repeat: no-repeat; + background-position: 0 -6px; + background-size: 22px 22px; +} +.blockquote-center::before, +.page-home .post-type-quote blockquote::before, +.page-post-detail .post-type-quote blockquote::before { + top: -20px; + background-image: url("../images/quote-l.svg"); + border-top: 1px solid #ccc; +} +.blockquote-center::after, +.page-home .post-type-quote blockquote::after, +.page-post-detail .post-type-quote blockquote::after { + bottom: -20px; + background-image: url("../images/quote-r.svg"); + border-bottom: 1px solid #ccc; + background-position: 100% 8px; +} +.blockquote-center p, +.page-home .post-type-quote blockquote p, +.page-post-detail .post-type-quote blockquote p, +.blockquote-center div, +.page-home .post-type-quote blockquote div, +.page-post-detail .post-type-quote blockquote div { + text-align: center; +} +.post .post-body .group-picture img { + box-sizing: border-box; + padding: 0 3px; + border: none; +} +.post .group-picture-row { + overflow: hidden; + margin-top: 6px; +} +.post .group-picture-row:first-child { + margin-top: 0; +} +.post .group-picture-column { + float: left; +} +.page-post-detail .post-body .group-picture-column { + float: none; + margin-top: 10px; + width: auto !important; +} +.page-post-detail .post-body .group-picture-column img { + margin: 0 auto; +} +.page-archive .group-picture-container { + overflow: hidden; +} +.page-archive .group-picture-row { + float: left; +} +.page-archive .group-picture-row:first-child { + margin-top: 6px; +} +.page-archive .group-picture-column { + max-width: 150px; + max-height: 150px; +} +.btn { + display: inline-block; + padding: 0 20px; + font-size: 14px; + color: #fff; + background: #222; + border: 2px solid #222; + text-decoration: none; + border-radius: 0; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.btn:hover, +.post-more-link .btn:hover { + border-color: #222; + color: #222; + background: #fff; +} +.btn-bar { + display: block; + width: 22px; + height: 2px; + background: #555; + border-radius: 1px; +} +.btn-bar+.btn-bar { + margin-top: 4px; +} +.pagination { + margin: 120px 0 40px; + text-align: center; + border-top: 1px solid #eee; +} +.page-number-basic, +.pagination .prev, +.pagination .next, +.pagination .page-number, +.pagination .space { + display: inline-block; + position: relative; + top: -1px; + margin: 0 10px; + padding: 0 10px; + line-height: 30px; +} +@media (max-width: 767px) { + .page-number-basic, + .pagination .prev, + .pagination .next, + .pagination .page-number, + .pagination .space { + margin: 0 5px; + } +} +.pagination .prev, +.pagination .next, +.pagination .page-number { + border-bottom: 0; + border-top: 1px solid #eee; + transition-property: border-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.pagination .prev:hover, +.pagination .next:hover, +.pagination .page-number:hover { + border-top-color: #222; +} +.pagination .space { + padding: 0; + margin: 0; +} +.pagination .prev { + margin-left: 0; +} +.pagination .next { + margin-right: 0; +} +.pagination .page-number.current { + color: #fff; + background: #ccc; + border-top-color: #ccc; +} +@media (max-width: 767px) { + .pagination { + border-top: none; + } + .pagination .prev, + .pagination .next, + .pagination .page-number { + margin-bottom: 10px; + border-top: 0; + border-bottom: 1px solid #eee; + } + .pagination .prev:hover, + .pagination .next:hover, + .pagination .page-number:hover { + border-bottom-color: #222; + } +} +.comments { + margin: 60px 20px 0; +} +.tag-cloud { + text-align: center; +} +.tag-cloud a { + display: inline-block; + margin: 10px; +} +.back-to-top { + box-sizing: border-box; + position: fixed; + bottom: -100px; + right: 50px; + z-index: 1050; + padding: 0 6px; + width: 25px; + background: #222; + font-size: 12px; + opacity: 1; + color: #fff; + cursor: pointer; + text-align: center; + -webkit-transform: translateZ(0); + transition-property: bottom; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +@media (max-width: 767px) { + .back-to-top { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .back-to-top { + display: none; + } +} +.back-to-top.back-to-top-on { + bottom: 19px; +} +.header { + background: #fff; +} +.header-inner { + position: relative; +} +.headband { + height: 3px; + background: #222; +} +.site-meta { + margin: 0; + text-align: left; +} +@media (max-width: 767px) { + .site-meta { + text-align: center; + } +} +.brand { + position: relative; + display: inline-block; + padding: 0 40px; + color: #222; + background: #222; + border-bottom: none; +} +.brand:hover { + color: #222; +} +.logo { + display: inline-block; + margin-right: 5px; + line-height: 36px; + vertical-align: top; +} +.site-title { + display: inline-block; + vertical-align: top; + line-height: 36px; + font-size: 20px; + font-weight: normal; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +.site-subtitle { + margin-top: 10px; + font-size: 13px; + color: #999; +} +.use-motion .brand { + opacity: 0; +} +.use-motion .logo, +.use-motion .site-title, +.use-motion .site-subtitle { + opacity: 0; + position: relative; + top: -10px; +} +.site-nav-toggle { + display: none; + position: absolute; + top: 10px; + left: 10px; +} +@media (max-width: 767px) { + .site-nav-toggle { + display: block; + } +} +.site-nav-toggle button { + margin-top: 2px; + padding: 9px 10px; + background: transparent; + border: none; +} +@media (max-width: 767px) { + .site-nav { + display: none; + margin: 0 -10px; + padding: 0 10px; + clear: both; + border-top: 1px solid #ddd; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav { + display: block !important; + } +} +@media (min-width: 992px) { + .site-nav { + display: block !important; + } +} +.menu { + margin-top: 20px; + padding-left: 0; + text-align: center; +} +.menu .menu-item { + display: inline-block; + margin: 0 10px; +} +@media screen and (max-width: 767px) { + .menu .menu-item { + margin-top: 10px; + } +} +.menu .menu-item a { + display: block; + font-size: 13px; + text-transform: capitalize; + line-height: inherit; + border-bottom: 1px solid transparent; + transition-property: border-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.menu .menu-item a:hover { + border-bottom-color: #222; +} +.menu .menu-item .fa { + margin-right: 5px; +} +.use-motion .menu-item { + opacity: 0; +} +.post-body { + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +@media (max-width: 767px) { + .post-body { + word-break: break-word; + } +} +.post-body .fancybox img { + display: block !important; + margin: 0 auto; + cursor: pointer; + cursor: zoom-in; + cursor: -webkit-zoom-in; +} +.post-body .image-caption, +.post-body .figure .caption { + margin: 10px auto 15px; + text-align: center; + font-size: 14px; + color: #999; + font-weight: bold; + line-height: 1; +} +.post-sticky-flag { + display: inline-block; + font-size: 16px; + -ms-transform: rotate(30deg); + -webkit-transform: rotate(30deg); + -moz-transform: rotate(30deg); + -ms-transform: rotate(30deg); + -o-transform: rotate(30deg); + transform: rotate(30deg); +} +.posts-expand { + padding-top: 40px; +} +@media (max-width: 767px) { + .posts-expand { + margin: 0 20px; + } + .post-body pre, + .post-body .highlight { + padding: 10px; + } + .post-body pre .gutter pre, + .post-body .highlight .gutter pre { + padding-right: 10px; + } +} +@media (min-width: 992px) { + .posts-expand .post-body { + text-align: justify; + } +} +.posts-expand .post-body h2, +.posts-expand .post-body h3, +.posts-expand .post-body h4, +.posts-expand .post-body h5, +.posts-expand .post-body h6 { + padding-top: 10px; +} +.posts-expand .post-body h2 .header-anchor, +.posts-expand .post-body h3 .header-anchor, +.posts-expand .post-body h4 .header-anchor, +.posts-expand .post-body h5 .header-anchor, +.posts-expand .post-body h6 .header-anchor { + float: right; + margin-left: 10px; + color: #ccc; + border-bottom-style: none; + visibility: hidden; +} +.posts-expand .post-body h2 .header-anchor:hover, +.posts-expand .post-body h3 .header-anchor:hover, +.posts-expand .post-body h4 .header-anchor:hover, +.posts-expand .post-body h5 .header-anchor:hover, +.posts-expand .post-body h6 .header-anchor:hover { + color: inherit; +} +.posts-expand .post-body h2:hover .header-anchor, +.posts-expand .post-body h3:hover .header-anchor, +.posts-expand .post-body h4:hover .header-anchor, +.posts-expand .post-body h5:hover .header-anchor, +.posts-expand .post-body h6:hover .header-anchor { + visibility: visible; +} +.posts-expand .post-body ul li { + list-style: circle; +} +.posts-expand .post-body img { + box-sizing: border-box; + margin: auto; + padding: 3px; + border: 1px solid #ddd; +} +.posts-expand .fancybox img { + margin: 0 auto; +} +@media (max-width: 767px) { + .posts-collapse { + margin: 0 20px; + } + .posts-collapse .post-title, + .posts-collapse .post-meta { + display: block; + width: auto; + text-align: left; + } +} +.posts-collapse { + position: relative; + z-index: 1010; + margin-left: 0; +} +.posts-collapse::after { + content: " "; + position: absolute; + top: 20px; + left: 0; + margin-left: -2px; + width: 4px; + height: 100%; + background: #f5f5f5; + z-index: -1; +} +@media (max-width: 767px) { + .posts-collapse { + margin: 0 20px; + } +} +.posts-collapse .collection-title { + position: relative; + margin: 60px 0; +} +.posts-collapse .collection-title h2 { + margin-left: 20px; +} +.posts-collapse .collection-title small { + color: #bbb; +} +.posts-collapse .collection-title::before { + content: " "; + position: absolute; + left: 0; + top: 50%; + margin-left: -4px; + margin-top: -4px; + width: 8px; + height: 8px; + background: #bbb; + border-radius: 50%; +} +.posts-collapse .post { + margin: 30px 0; +} +.posts-collapse .post-header { + position: relative; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: border; + border-bottom: 1px dashed #ccc; +} +.posts-collapse .post-header::before { + content: " "; + position: absolute; + left: 0; + top: 12px; + width: 6px; + height: 6px; + margin-left: -4px; + background: #bbb; + border-radius: 50%; + border: 1px solid #fff; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: background; +} +.posts-collapse .post-header:hover { + border-bottom-color: #666; +} +.posts-collapse .post-header:hover::before { + background: #222; +} +.posts-collapse .post-meta { + position: absolute; + font-size: 12px; + left: 20px; + top: 5px; +} +.posts-collapse .post-comments-count { + display: none; +} +.posts-collapse .post-title { + margin-left: 60px; + font-size: 16px; + font-weight: normal; + line-height: inherit; +} +.posts-collapse .post-title::after { + margin-left: 3px; + opacity: 0.6; +} +.posts-collapse .post-title a { + color: #666; + border-bottom: none; +} +.page-home .post-type-quote .post-header, +.page-post-detail .post-type-quote .post-header, +.page-home .post-type-quote .post-tags, +.page-post-detail .post-type-quote .post-tags { + display: none; +} +.posts-expand .post-title { + font-size: 26px; + text-align: center; + word-break: break-word; + font-weight: 400; +} +@media (max-width: 767px) { + .posts-expand .post-title { + font-size: 22px; + } +} +.posts-expand .post-title-link { + display: inline-block; + position: relative; + color: #555; + border-bottom: none; + line-height: 1.2; + vertical-align: top; +} +.posts-expand .post-title-link::before { + content: ""; + position: absolute; + width: 100%; + height: 2px; + bottom: 0; + left: 0; + background-color: #000; + visibility: hidden; + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -ms-transform: scaleX(0); + -o-transform: scaleX(0); + transform: scaleX(0); + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.posts-expand .post-title-link:hover::before { + visibility: visible; + -webkit-transform: scaleX(1); + -moz-transform: scaleX(1); + -ms-transform: scaleX(1); + -o-transform: scaleX(1); + transform: scaleX(1); +} +.posts-expand .post-title-link .fa { + font-size: 16px; +} +.posts-expand .post-meta { + margin: 3px 0 60px 0; + color: #999; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 12px; + text-align: center; +} +.posts-expand .post-meta .post-category-list { + display: inline-block; + margin: 0; + padding: 3px; +} +.posts-expand .post-meta .post-category-list-link { + color: #999; +} +.post-meta-item-icon { + display: none; + margin-right: 3px; +} +@media (min-width: 768px) and (max-width: 991px) { + .post-meta-item-icon { + display: inline-block; + } +} +@media (max-width: 767px) { + .post-meta-item-icon { + display: inline-block; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .post-meta-item-text { + display: none; + } +} +@media (max-width: 767px) { + .post-meta-item-text { + display: none; + } +} +@media (max-width: 767px) { + .posts-expand .post-comments-count { + display: none; + } +} +.post-more-link { + margin-top: 50px; +} +.post-more-link .btn { + color: #555; + font-size: 14px; + background: transparent; + border-radius: 0; + line-height: 2; +} +.posts-expand .post-tags { + margin-top: 40px; + text-align: center; +} +.posts-expand .post-tags a { + display: inline-block; + margin-right: 10px; + font-size: 13px; +} +.post-nav { + overflow: hidden; + margin-top: 60px; + padding: 10px; + white-space: nowrap; + border-top: 1px solid #eee; +} +.post-nav-item { + display: inline-block; + width: 50%; + white-space: normal; +} +.post-nav-item a { + position: relative; + display: inline-block; + line-height: 25px; + font-size: 14px; + color: #555; + border-bottom: none; +} +.post-nav-item a:hover { + color: #222; + border-bottom: none; +} +.post-nav-item a:active { + top: 2px; +} +.post-nav-item a i { + font-size: 12px; +} +.post-nav-prev { + text-align: right; +} +.posts-expand .post-eof { + display: block; + margin: 80px auto 60px; + width: 8%; + height: 1px; + background: #ccc; + text-align: center; +} +.post:last-child .post-eof.post-eof.post-eof { + display: none; +} +.post-gallery { + display: table; + table-layout: fixed; + width: 100%; + border-collapse: separate; +} +.post-gallery-row { + display: table-row; +} +.post-gallery .post-gallery-img { + display: table-cell; + text-align: center; + vertical-align: middle; + border: none; +} +.post-gallery .post-gallery-img img { + max-width: 100%; + max-height: 100%; + border: none; +} +.fancybox-close, +.fancybox-close:hover { + border: none; +} +.sidebar { + position: fixed; + right: 0; + top: 0; + bottom: 0; + width: 0; + z-index: 1040; + box-shadow: inset 0 2px 6px #000; + background: #222; + -webkit-transform: translateZ(0); +} +.sidebar a { + color: #999; + border-bottom-color: #555; +} +.sidebar a:hover { + color: #eee; +} +@media (min-width: 768px) and (max-width: 991px) { + .sidebar { + display: none !important; + } +} +@media (max-width: 767px) { + .sidebar { + display: none !important; + } +} +.sidebar-inner { + position: relative; + padding: 20px 10px; + color: #999; + text-align: center; +} +.sidebar-toggle { + position: fixed; + right: 50px; + bottom: 45px; + width: 15px; + height: 15px; + padding: 5px; + background: #222; + line-height: 0; + z-index: 1050; + cursor: pointer; + -webkit-transform: translateZ(0); +} +@media (min-width: 768px) and (max-width: 991px) { + .sidebar-toggle { + display: none; + } +} +@media (max-width: 767px) { + .sidebar-toggle { + display: none; + } +} +.sidebar-toggle-line { + position: relative; + display: inline-block; + vertical-align: top; + height: 2px; + width: 100%; + background: #fff; + margin-top: 3px; +} +.sidebar-toggle-line:first-child { + margin-top: 0; +} +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + max-width: 96px; + height: auto; + border: 2px solid #333; +} +.site-author-name { + margin: 5px 0 0; + text-align: center; + color: #f5f5f5; + font-weight: normal; +} +.site-description { + margin-top: 5px; + text-align: center; + font-size: 14px; + color: #999; +} +.site-state { + overflow: hidden; + line-height: 1.4; + white-space: nowrap; + text-align: center; +} +.site-state-item { + display: inline-block; + padding: 0 15px; + border-left: 1px solid #333; +} +.site-state-item:first-child { + border-left: none; +} +.site-state-item a { + border-bottom: none; +} +.site-state-item-count { + display: block; + text-align: center; + color: inherit; + font-weight: 600; + font-size: 18px; +} +.site-state-item-name { + font-size: 13px; + color: inherit; +} +.feed-link { + margin-top: 20px; +} +.feed-link a { + display: inline-block; + padding: 0 15px; + color: #fc6423; + border: 1px solid #fc6423; + border-radius: 4px; +} +.feed-link a i { + color: #fc6423; + font-size: 14px; +} +.feed-link a:hover { + color: #fff; + background: #fc6423; +} +.feed-link a:hover i { + color: #fff; +} +.links-of-author { + margin-top: 20px; +} +.links-of-author a { + display: inline-block; + vertical-align: middle; + margin-right: 10px; + margin-bottom: 10px; + border-bottom-color: #555; + font-size: 13px; +} +.links-of-author a:before { + display: inline-block; + vertical-align: middle; + margin-right: 3px; + content: " "; + width: 4px; + height: 4px; + border-radius: 50%; + background: #aca27c; +} +.links-of-blogroll { + font-size: 13px; +} +.links-of-blogroll-title { + margin-top: 20px; + font-size: 14px; + font-weight: 600; +} +.links-of-blogroll-list { + margin: 0; + padding: 0; +} +.links-of-blogroll-item { + padding: 2px 10px; +} +.sidebar-nav { + margin: 0 0 20px; + padding-left: 0; +} +.sidebar-nav li { + display: inline-block; + cursor: pointer; + border-bottom: 1px solid transparent; + font-size: 14px; + color: #555; +} +.sidebar-nav li:hover { + color: #f5f5f5; +} +.page-post-detail .sidebar-nav-toc { + padding: 0 5px; +} +.page-post-detail .sidebar-nav-overview { + margin-left: 10px; +} +.sidebar-nav .sidebar-nav-active { + color: #87daff; + border-bottom-color: #87daff; +} +.sidebar-nav .sidebar-nav-active:hover { + color: #87daff; +} +.sidebar-panel { + display: none; +} +.sidebar-panel-active { + display: block; +} +.post-toc-empty { + font-size: 14px; + color: #666; +} +.post-toc-wrap { + overflow: hidden; +} +.post-toc { + overflow: auto; +} +.post-toc ol { + margin: 0; + padding: 0 2px 5px 10px; + text-align: left; + list-style: none; + font-size: 14px; +} +.post-toc ol > ol { + padding-left: 0; +} +.post-toc ol a { + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: all; + color: #999; + border-bottom-color: #555; +} +.post-toc ol a:hover { + color: #ccc; + border-bottom-color: #ccc; +} +.post-toc .nav-item { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 1.8; +} +.post-toc .nav .nav-child { + display: none; +} +.post-toc .nav .active > .nav-child { + display: block; +} +.post-toc .nav .active-current > .nav-child { + display: block; +} +.post-toc .nav .active-current > .nav-child > .nav-item { + display: block; +} +.post-toc .nav .active > a { + color: #87daff; + border-bottom-color: #87daff; +} +.post-toc .nav .active-current > a { + color: #87daff; +} +.post-toc .nav .active-current > a:hover { + color: #87daff; +} +.footer { + font-size: 14px; + color: #999; +} +.footer img { + border: none; +} +.footer-inner { + text-align: center; +} +.with-love { + display: inline-block; + margin: 0 5px; +} +.powered-by, +.theme-info { + display: inline-block; +} +.powered-by { + margin-right: 10px; +} +.powered-by::after { + content: "|"; + padding-left: 10px; +} +.cc-license { + margin-top: 10px; + text-align: center; +} +.cc-license .cc-opacity { + opacity: 0.7; + border-bottom: none; +} +.cc-license .cc-opacity:hover { + opacity: 0.9; +} +.cc-license img { + display: inline-block; +} +.theme-next #ds-thread #ds-reset { + color: #555; +} +.theme-next #ds-thread #ds-reset .ds-replybox { + margin-bottom: 30px; +} +.theme-next #ds-thread #ds-reset .ds-replybox .ds-avatar, +.theme-next #ds-reset .ds-avatar img { + box-shadow: none; +} +.theme-next #ds-thread #ds-reset .ds-textarea-wrapper { + border-color: #c7d4e1; + background: none; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.theme-next #ds-thread #ds-reset .ds-textarea-wrapper textarea { + height: 60px; +} +.theme-next #ds-reset .ds-rounded-top { + border-radius: 0; +} +.theme-next #ds-thread #ds-reset .ds-post-toolbar { + box-sizing: border-box; + border: 1px solid #c7d4e1; + background: #f6f8fa; +} +.theme-next #ds-thread #ds-reset .ds-post-options { + height: 40px; + border: none; + background: none; +} +.theme-next #ds-thread #ds-reset .ds-toolbar-buttons { + top: 11px; +} +.theme-next #ds-thread #ds-reset .ds-sync { + top: 5px; +} +.theme-next #ds-thread #ds-reset .ds-post-button { + top: 4px; + right: 5px; + width: 90px; + height: 30px; + border: 1px solid #c5ced7; + border-radius: 3px; + background-image: linear-gradient(#fbfbfc, #f5f7f9); + color: #60676d; +} +.theme-next #ds-thread #ds-reset .ds-post-button:hover { + background-position: 0 -30px; + color: #60676d; +} +.theme-next #ds-thread #ds-reset .ds-comments-info { + padding: 10px 0; +} +.theme-next #ds-thread #ds-reset .ds-sort { + display: none; +} +.theme-next #ds-thread #ds-reset li.ds-tab a.ds-current { + border: none; + background: #f6f8fa; + color: #60676d; +} +.theme-next #ds-thread #ds-reset li.ds-tab a.ds-current:hover { + background-color: #e9f0f7; + color: #60676d; +} +.theme-next #ds-thread #ds-reset li.ds-tab a { + border-radius: 2px; + padding: 5px; +} +.theme-next #ds-thread #ds-reset .ds-login-buttons p { + color: #999; + line-height: 36px; +} +.theme-next #ds-thread #ds-reset .ds-login-buttons .ds-service-list li { + height: 28px; +} +.theme-next #ds-thread #ds-reset .ds-service-list a { + background: none; + padding: 5px; + border: 1px solid; + border-radius: 3px; + text-align: center; +} +.theme-next #ds-thread #ds-reset .ds-service-list a:hover { + color: #fff; + background: #666; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-weibo { + color: #fc9b00; + border-color: #fc9b00; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-weibo:hover { + background: #fc9b00; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-qq { + color: #60a3ec; + border-color: #60a3ec; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-qq:hover { + background: #60a3ec; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-renren { + color: #2e7ac4; + border-color: #2e7ac4; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-renren:hover { + background: #2e7ac4; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-douban { + color: #37994c; + border-color: #37994c; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-douban:hover { + background: #37994c; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-kaixin { + color: #fef20d; + border-color: #fef20d; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-kaixin:hover { + background: #fef20d; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-netease { + color: #f00; + border-color: #f00; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-netease:hover { + background: #f00; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-sohu { + color: #ffcb05; + border-color: #ffcb05; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-sohu:hover { + background: #ffcb05; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-baidu { + color: #2831e0; + border-color: #2831e0; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-baidu:hover { + background: #2831e0; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-google { + color: #166bec; + border-color: #166bec; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-google:hover { + background: #166bec; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-weixin { + color: #00ce0d; + border-color: #00ce0d; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-weixin:hover { + background: #00ce0d; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-more-services { + border: none; +} +.theme-next #ds-thread #ds-reset .ds-service-list .ds-more-services:hover { + background: none; +} +.theme-next #ds-reset .duoshuo-ua-admin { + display: inline-block; + color: #f00; +} +.theme-next #ds-reset .duoshuo-ua-platform, +.theme-next #ds-reset .duoshuo-ua-browser { + color: #ccc; +} +.theme-next #ds-reset .duoshuo-ua-platform .fa, +.theme-next #ds-reset .duoshuo-ua-browser .fa { + display: inline-block; + margin-right: 3px; +} +.theme-next #ds-reset .duoshuo-ua-separator { + display: inline-block; + margin-left: 5px; +} +.theme-next .this_ua { + background-color: #ccc !important; + border-radius: 4px; + padding: 0 5px !important; + margin: 1px 1px !important; + border: 1px solid #bbb !important; + color: #fff; + display: inline-block !important; +} +.theme-next .this_ua.admin { + background-color: #d9534f !important; + border-color: #d9534f !important; +} +.theme-next .this_ua.platform.iOS, +.theme-next .this_ua.platform.Mac, +.theme-next .this_ua.platform.Windows { + background-color: #39b3d7 !important; + border-color: #46b8da !important; +} +.theme-next .this_ua.platform.Linux { + background-color: #3a3a3a !important; + border-color: #1f1f1f !important; +} +.theme-next .this_ua.platform.Android { + background-color: #00c47d !important; + border-color: #01b171 !important; +} +.theme-next .this_ua.browser.Mobile, +.theme-next .this_ua.browser.Chrome { + background-color: #5cb85c !important; + border-color: #4cae4c !important; +} +.theme-next .this_ua.browser.Firefox { + background-color: #f0ad4e !important; + border-color: #eea236 !important; +} +.theme-next .this_ua.browser.Maxthon, +.theme-next .this_ua.browser.IE { + background-color: #428bca !important; + border-color: #357ebd !important; +} +.theme-next .this_ua.browser.baidu, +.theme-next .this_ua.browser.UCBrowser, +.theme-next .this_ua.browser.Opera { + background-color: #d9534f !important; + border-color: #d43f3a !important; +} +.theme-next .this_ua.browser.Android, +.theme-next .this_ua.browser.QQBrowser { + background-color: #78ace9 !important; + border-color: #4cae4c !important; +} +.post-spread { + margin-top: 20px; + text-align: center; +} +.jiathis_style { + display: inline-block; +} +.jiathis_style a { + border: none; +} +.post-spread { + margin-top: 20px; + text-align: center; +} +.bdshare-slide-button-box a { + border: none; +} +.bdsharebuttonbox { + display: inline-block; +} +.bdsharebuttonbox a { + border: none; +} +ul.search-result-list { + padding-left: 0px; + margin: 0px 5px 0px 8px; +} +p.search-result { + border-bottom: 1px dashed #ccc; + padding: 5px 0; +} +a.search-result-title { + font-weight: bold; +} +a.search-result { + border-bottom: transparent; + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.search-keyword { + border-bottom: 1px dashed #4088b8; + font-weight: bold; +} +#local-search-result { + height: 90%; + overflow: auto; +} +.popup { + display: none; + position: fixed; + top: 10%; + left: 50%; + width: 700px; + height: 80%; + margin-left: -350px; + padding: 3px 0 0 10px; + background: #fff; + color: #333; + z-index: 9999; + border-radius: 5px; +} +@media (max-width: 767px) { + .popup { + padding: 3px; + top: 0; + left: 0; + margin: 0; + width: 100%; + height: 100%; + border-radius: 0px; + } +} +.popoverlay { + position: fixed; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + z-index: 2080; + background-color: rgba(0,0,0,0.3); +} +#local-search-input { + margin-bottom: 10px; + width: 50%; +} +.popup-btn-close { + position: absolute; + top: 6px; + right: 14px; + color: #4ebd79; + font-size: 14px; + font-weight: bold; + text-transform: uppercase; + cursor: pointer; +} +#no-result { + position: absolute; + left: 44%; + top: 42%; + color: #ccc; +} +.site-uv, +.site-pv, +.page-pv { + display: inline-block; +} +.site-uv .busuanzi-value, +.site-pv .busuanzi-value, +.page-pv .busuanzi-value { + margin: 0 5px; +} +.site-uv { + margin-right: 10px; +} +.site-uv::after { + content: "|"; + padding-left: 10px; +} +.use-motion .post { + opacity: 0; +} +.page-archive .archive-page-counter { + position: relative; + top: 3px; + left: 20px; +} +@media (max-width: 767px) { + .page-archive .archive-page-counter { + top: 5px; + } +} +.page-archive .posts-collapse .archive-move-on { + position: absolute; + top: 11px; + left: 0; + margin-left: -6px; + width: 10px; + height: 10px; + opacity: 0.5; + background: #555; + border: 1px solid #fff; + border-radius: 50%; +} +.category-all-page .category-all-title { + text-align: center; +} +.category-all-page .category-all { + margin-top: 20px; +} +.category-all-page .category-list { + margin: 0; + padding: 0; + list-style: none; +} +.category-all-page .category-list-item { + margin: 5px 10px; +} +.category-all-page .category-list-count { + color: #bbb; +} +.category-all-page .category-list-count:before { + display: inline; + content: " ("; +} +.category-all-page .category-list-count:after { + display: inline; + content: ") "; +} +.category-all-page .category-list-child { + padding-left: 10px; +} +.page-post-detail .sidebar-toggle-line { + background: #87daff; +} +.page-post-detail .comments { + overflow: hidden; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 20px 0 10px; +} +p { + margin: 0 0 25px 0; +} +a { + border-bottom-color: #ccc; +} +hr { + margin: 20px 0; + height: 2px; +} +.main-inner { + margin-top: 80px; +} +.header { + background: #f5f5f5; +} +.header-inner { + padding: 25px 0 20px; +} +.header-inner:before, +.header-inner:after { + content: " "; + display: table; +} +.header-inner:after { + clear: both; +} +@media (max-width: 767px) { + .header-inner { + width: auto; + margin-bottom: 50px; + padding: 10px; + } +} +.site-meta { + float: left; + margin-left: -20px; + line-height: normal; +} +@media (max-width: 767px) { + .site-meta { + margin-left: 10px; + } +} +.site-meta .brand { + padding: 2px 1px; + background: none; +} +@media (max-width: 767px) { + .site-meta .brand { + display: block; + } +} +.site-meta .logo { + display: none; +} +.site-meta .site-title { + font-size: 22px; + font-weight: bolder; +} +@media (max-width: 767px) { + .site-meta .site-title { + line-height: 34px; + } +} +.logo-line-before, +.logo-line-after { + display: block; + overflow: hidden; + margin: 0 auto; + width: 75%; +} +@media (max-width: 767px) { + .logo-line-before, + .logo-line-after { + display: none; + } +} +.logo-line-before i, +.logo-line-after i { + position: relative; + display: block; + height: 2px; + background: #222; +} +@media (max-width: 767px) { + .logo-line-before i, + .logo-line-after i { + height: 3px; + } +} +.use-motion .logo-line-before i { + left: -100%; +} +.use-motion .logo-line-after i { + right: -100%; +} +.site-subtitle { + display: none; +} +.site-nav-toggle { + position: static; + float: right; +} +.menu { + float: right; + margin: 8px 0 0 0; +} +@media (max-width: 767px) { + .menu { + margin: 20px 0 0 0; + padding: 0; + } +} +.menu br { + display: none; +} +.menu .menu-item { + margin: 0; +} +@media (max-width: 767px) { + .menu .menu-item { + display: block; + } +} +.menu .menu-item a { + padding: 0 10px; + background: none; + border: none; + border-radius: 2px; + transition-property: background; +} +@media (max-width: 767px) { + .menu .menu-item a { + text-align: left; + } +} +.menu .menu-item a:hover { + background: #e1e1e1; +} +.menu a::before { + display: none; +} +@media (max-width: 767px) { + .menu a::before { + display: block; + } +} +@media (max-width: 767px) { + .menu { + float: none; + } +} +.site-search form { + display: none; +} +.posts-expand { + padding-top: 0; +} +.posts-expand .post-title, +.posts-expand .post-meta { + text-align: left; +} +@media (max-width: 767px) { + .posts-expand .post-title, + .posts-expand .post-meta { + text-align: center; + } +} +.posts-expand .post-eof { + display: none; +} +.posts-expand .post { + margin-top: 120px; +} +.posts-expand .post:first-child { + margin-top: 0; +} +.posts-expand .post-meta { + margin-top: 5px; + margin-bottom: 20px; +} +.posts-expand .post-title { + position: relative; + font-size: 26px; + font-weight: 400; +} +@media (max-width: 767px) { + .posts-expand .post-title { + font-size: 20px; + } +} +@media (min-width: 1600px) { + .posts-expand .post-title { + font-size: 26px; + } +} +.posts-expand .post-title:hover:before { + background: #222; +} +.posts-expand .post-body img { + margin: 0; +} +.posts-expand .post-tags { + text-align: left; +} +.posts-expand .post-tags a { + padding: 1px 5px; + background: #f5f5f5; + border-bottom: none; +} +.posts-expand .post-tags a:hover { + background: #ccc; +} +.posts-expand .post-nav { + margin-top: 40px; +} +.post-more-link { + margin-top: 20px; + text-align: left; +} +.post-more-link a { + padding: 0; + font-size: 14px; + color: #666; + background: none; + border: none; + border-bottom: 2px solid #666; + transition-property: border; +} +@media (max-width: 767px) { + .post-more-link a { + font-size: 12px; + } +} +@media (min-width: 1600px) { + .post-more-link a { + font-size: 16px; + } +} +.post-more-link a:hover { + border-bottom-color: #222; +} +.links-of-blogroll-inline .links-of-blogroll-item { + display: inline-block; +} +.btn { + padding: 0 10px; + border-width: 2px; + border-radius: 0; +} +.headband { + display: none; +} +.site-search { + position: relative; + float: right; + margin-top: 5px; + padding-top: 3px; +} +@media (max-width: 767px) { + .site-search { + float: none; + padding: 0 10px; + } +} +@media (max-width: 767px) { + .container .main-inner { + width: auto; + } +} +.page-post-detail .post-title, +.page-post-detail .post-meta { + text-align: center; +} +.page-post-detail .post-title:before { + display: none; +} +.page-post-detail .post-meta { + margin-bottom: 60px; +} +.pagination { + margin: 120px 0 0; + text-align: left; +} +@media (max-width: 767px) { + .pagination { + margin: 80px 10px 0; + text-align: center; + } +} +.footer { + margin-top: 80px; + padding: 10px 0; + background: #f5f5f5; + color: #666; +} +.footer-inner { + margin: 0 auto; + text-align: left; +} +@media (max-width: 767px) { + .footer-inner { + width: auto; + text-align: center; + } +} +ul { + list-style-type: circle; +} diff --git a/themes/next/source/images/avatar.gif b/images/avatar.gif similarity index 100% rename from themes/next/source/images/avatar.gif rename to images/avatar.gif diff --git a/themes/next/source/images/cc-by-nc-nd.svg b/images/cc-by-nc-nd.svg similarity index 100% rename from themes/next/source/images/cc-by-nc-nd.svg rename to images/cc-by-nc-nd.svg diff --git a/themes/next/source/images/cc-by-nc-sa.svg b/images/cc-by-nc-sa.svg similarity index 100% rename from themes/next/source/images/cc-by-nc-sa.svg rename to images/cc-by-nc-sa.svg diff --git a/themes/next/source/images/cc-by-nc.svg b/images/cc-by-nc.svg similarity index 100% rename from themes/next/source/images/cc-by-nc.svg rename to images/cc-by-nc.svg diff --git a/themes/next/source/images/cc-by-nd.svg b/images/cc-by-nd.svg similarity index 100% rename from themes/next/source/images/cc-by-nd.svg rename to images/cc-by-nd.svg diff --git a/themes/next/source/images/cc-by-sa.svg b/images/cc-by-sa.svg similarity index 100% rename from themes/next/source/images/cc-by-sa.svg rename to images/cc-by-sa.svg diff --git a/themes/next/source/images/cc-by.svg b/images/cc-by.svg similarity index 100% rename from themes/next/source/images/cc-by.svg rename to images/cc-by.svg diff --git a/themes/next/source/images/cc-zero.svg b/images/cc-zero.svg similarity index 100% rename from themes/next/source/images/cc-zero.svg rename to images/cc-zero.svg diff --git a/themes/next/source/images/loading.gif b/images/loading.gif similarity index 100% rename from themes/next/source/images/loading.gif rename to images/loading.gif diff --git a/themes/next/source/images/placeholder.gif b/images/placeholder.gif similarity index 100% rename from themes/next/source/images/placeholder.gif rename to images/placeholder.gif diff --git a/themes/next/source/images/quote-l.svg b/images/quote-l.svg similarity index 100% rename from themes/next/source/images/quote-l.svg rename to images/quote-l.svg diff --git a/themes/next/source/images/quote-r.svg b/images/quote-r.svg similarity index 100% rename from themes/next/source/images/quote-r.svg rename to images/quote-r.svg diff --git a/themes/next/source/images/searchicon.png b/images/searchicon.png similarity index 100% rename from themes/next/source/images/searchicon.png rename to images/searchicon.png diff --git a/index.html b/index.html new file mode 100644 index 0000000..69ea4af --- /dev/null +++ b/index.html @@ -0,0 +1,1669 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install.sh b/install.sh deleted file mode 100644 index 3268eff..0000000 --- a/install.sh +++ /dev/null @@ -1,20 +0,0 @@ -#install -echo "================ install hexo ===================" -npm install hexo-cli -g - -echo "================= init hexo ======================" -npm install - -# rss -echo "================ install rss =====================" -npm install hexo-generator-feed --save - -# google search -echo "============ install google search ===============" -npm install hexo-generator-sitemap --save - -# baidu search -echo "============= install baidu search ===============" -npm install hexo-generator-baidu-sitemap --save - -echo "=============== install finished! ================" \ No newline at end of file diff --git a/themes/next/source/js/src/affix.js b/js/src/affix.js similarity index 100% rename from themes/next/source/js/src/affix.js rename to js/src/affix.js diff --git a/themes/next/source/js/src/bootstrap.js b/js/src/bootstrap.js similarity index 100% rename from themes/next/source/js/src/bootstrap.js rename to js/src/bootstrap.js diff --git a/themes/next/source/js/src/hook-duoshuo.js b/js/src/hook-duoshuo.js similarity index 100% rename from themes/next/source/js/src/hook-duoshuo.js rename to js/src/hook-duoshuo.js diff --git a/themes/next/source/js/src/motion.js b/js/src/motion.js similarity index 100% rename from themes/next/source/js/src/motion.js rename to js/src/motion.js diff --git a/themes/next/source/js/src/post-details.js b/js/src/post-details.js similarity index 100% rename from themes/next/source/js/src/post-details.js rename to js/src/post-details.js diff --git a/themes/next/source/js/src/schemes/pisces.js b/js/src/schemes/pisces.js similarity index 100% rename from themes/next/source/js/src/schemes/pisces.js rename to js/src/schemes/pisces.js diff --git a/themes/next/source/js/src/scrollspy.js b/js/src/scrollspy.js similarity index 100% rename from themes/next/source/js/src/scrollspy.js rename to js/src/scrollspy.js diff --git a/themes/next/source/js/src/utils.js b/js/src/utils.js similarity index 100% rename from themes/next/source/js/src/utils.js rename to js/src/utils.js diff --git a/package.json b/package.json deleted file mode 100644 index 68691ab..0000000 --- a/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "hexo-site", - "version": "0.0.0", - "private": true, - "hexo": { - "version": "3.2.2" - }, - "dependencies": { - "hexo": "^3.2.2", - "hexo-deployer-git": "^0.2.0", - "hexo-generator-archive": "^0.1.4", - "hexo-generator-baidu-sitemap": "^0.1.2", - "hexo-generator-category": "^0.1.3", - "hexo-generator-feed": "^1.1.0", - "hexo-generator-index": "^0.2.0", - "hexo-generator-search": "^1.0.2", - "hexo-generator-tag": "^0.2.0", - "hexo-renderer-ejs": "^0.2.0", - "hexo-renderer-marked": "^0.2.10", - "hexo-renderer-stylus": "^0.3.1", - "hexo-server": "^0.2.0" - } -} diff --git a/scaffolds/draft.md b/scaffolds/draft.md deleted file mode 100644 index 498e95b..0000000 --- a/scaffolds/draft.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: {{ title }} -tags: ---- diff --git a/scaffolds/page.md b/scaffolds/page.md deleted file mode 100644 index f01ba3c..0000000 --- a/scaffolds/page.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: {{ title }} -date: {{ date }} ---- diff --git a/scaffolds/post.md b/scaffolds/post.md deleted file mode 100644 index 47e6b91..0000000 --- a/scaffolds/post.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: {{ title }} -date: {{ date }} -tags: -categories: ---- diff --git a/search.xml b/search.xml new file mode 100644 index 0000000..5a78ff0 --- /dev/null +++ b/search.xml @@ -0,0 +1,344 @@ + + + + + + + <![CDATA[Unity中GameObject对象引用]]> + http://www.usuallight.com/2017/07/17/unity-gameobjectref/ + 今天想到个问题,GameObject对象销毁后,其对象引用==null为true,按正常来说,一个类引用变量,在没主动置其为null的情况下与null是不等值的。因此,不是引用变量的值变了,而应该是==操作符被Unity重载了。

+ +

上网查了下C#有没能直接对比对象引用的接口,找到了这个:

+
object.ReferenceEquals(obj1, obj2);
+

它是个静态方法,不担心被重写。于是写了以下代码作测试验证:

+
public class TestClass : MonoBehaviour
+{
+    private GameObject Obj = new GameObject("test");
+
+    void Update()
+    {
+        if (Input.GetKeyDown(KeyCode.Space))
+        {
+            Debug.LogFormat("== ? {0}", Obj == null);
+            Debug.LogFormat("object.ReferenceEquals ? {0}", object.ReferenceEquals(Obj, null));
+            if (Obj != null)
+            {
+                GameObject.Destroy(Obj);
+                Debug.Log("destroy obj!");
+            }
+        }
+    }
+}
+

输出结果:

+

+

输出结果跟预期的一样。==操作符被Unity内部重载了才导致了判空能成立。出于好奇,也试了下Equal()函数,其结果与==操作符一样,也被Unity内部重载了。

+

因此,用GameObject对象引用时需多加注意,尽量避免用其引用作索引匹配之类的,因为C#的List或者Dictionary等数据结构是用默认的相等比较器Equal()进行对比的,除非自己特殊指定比较器。

+]]>
+
+ + + <![CDATA[assetbundle-optimization]]> + http://www.usuallight.com/2017/01/20/assetbundle-optimization/ + 主要问题是散包很多,加载太慢。我导出了份数据,其中大部分模型单个模型都依赖了20多个包。针对散包的问题,由于散包主要为材质球和其依赖的贴图还有声音,因此考虑了以下优化点:

+

公用资源(shader、setting、script、mapdata):

+
    +
  • 一种资源一个包,按文件夹打包
  • +
+

模型:

+
    +
  • 模型预设不要直接绑定特效和声音
  • +
  • 模型贴图一个包,模型动作一个包,模型shader在shader包,其它模型依赖作为一个包。
  • +
+

贴图:

+
    +
  1. 贴图归类,按文件夹打包(通用贴图、模型贴图、特效贴图)
  2. +
+

特效:

+
    +
  1. 特效分类,
  2. +
+

图集:

+
    +
  1. 一个图集一个包
  2. +
+

UI:

+
    +
  1. 除了图集外,一个UI一个包.
  2. +
+

声音:

+
    +
  1. 声音分类,按文件夹打包
  2. +
+

材质:

+
    +
  1. +
+

目标:

方案:

Resources:

+

整包资源:

+
    +
  • setting
  • +
  • script
  • +
  • shader
  • +
+

散包资源:

+
    +
  • audio
  • +
  • model
  • +
  • effect
  • +
  • ui
  • +
  • atlas
  • +
  • other
  • +
  • img
  • +
  • navdata
  • +
+]]>
+
+ + + <![CDATA[学着写技术博客]]> + http://www.usuallight.com/2017/01/18/howwrite/ + 最近想着手写写技术博客,在网上了解了下如何去写好一篇技术博客,我总结了下觉得有两点说得挺好:

+
    +
  • 技术博客不是写过程,而是写总结。
  • +
  • 技术博客是文章,应该过滤掉个人感情色彩,用陈述语气进行描述,因为读者想了解的是技术本身,而不是作者的个人感受。
  • +
+

学习了大牛们的技术博客后,加上我个人的理解,我觉得写一篇技术博客应该具备以下的点:

+
    +
  1. 主题:明确博客主题,全文围绕主题展开,一文只论一题,若涉及其它主题则另开新篇博文进行描述。
  2. +
  3. 开篇:由于个人喜好原因,我觉得文章开篇可适当讲述下主题背景原因,从背景原因开启一篇文章。(个人觉得这样会给读者像是在听故事的感觉,不会那么突兀)
  4. +
  5. 内容:针对遇到的问题进行阐述,并提出自己的思路或解决方案。内容尽量以图形进行表达,少用文字和代码。
  6. +
  7. 待完善的点(可选):不足之处,还能完善或者解决的地方。
  8. +
  9. 源码(可选):若能提供源码,可放上自己的github链接。
  10. +
  11. 参考链接:支持原创,引用到他人文章内容时注明出处。
  12. +
+

目前暂时只想到这些,日后若有新的想法,会持续更新和完善此文。

+]]>
+
+ + + <![CDATA[assetbundle打包策略]]> + http://www.usuallight.com/2017/01/04/assetbundle-pack/ + 做打包已经有一阵子了,之前只是记了些备忘,最近才开始想写博客,现在来把它补上。刚开始接触assetbundle时,新来的老大带了一份他以前,不是很清楚要怎么处理资源依赖比较好,出现了相互依赖的情况,

+]]>
+
+ + + <![CDATA[moba类游戏的视野同步]]> + http://www.usuallight.com/2016/12/28/mobaaoi/ + 思路
    +
  1. 对象类型分组:

    +
      +
    • 观察者(watcher)
    • +
    • 被观察者(marker)

      +

      对象可以既是观察者,又是被观察者。

      +
    • +
    +
  2. +
  3. 对象触发检查的时机:

    +
      +
    • 对象新增
    • +
    • 对象移除
    • +
    • 对象位置更新
    • +
    +
  4. +
  5. 对象检查时的比较集:

    +
      +
    • 对象是观察者,比较所有
    • +
    • 对象不是观察者,只与观察者比较
    • +
    +
  6. +
  7. 优化点:

    +
      +
    • 阵营区分,同阵营观察者间不作比较
    • +
    • 限制位置更新触发检查的时机,线段移动一定距离再触发
    • +
    +
  8. +
  9. +
+]]>
+
+ + + <![CDATA[Unity打包和热更新&&assetbundle]]> + http://www.usuallight.com/2016/10/20/assetbundle/ + 遇到的问题

流程问题

    +
  • 怎么管理资源?
  • +
  • 怎么划分assetbundle包?
  • +
  • 怎么处理依赖?
  • +
  • 怎么做差异/增量更新?
  • +
  • 怎么加载和管理assetbundle?
  • +
  • 环境配置
  • +
+

细节问题

    +
  • 依赖需要按顺序加载不?
    不需要,保证所有依赖包能加载进来就行

    +
  • +
  • 怎么处理资源路径和ab的映射问题?

    +
  • +
  • resources的加载是不加扩展名,而ab的加载是加扩展名,因此一开始就应该定义好路径规则,统一都传带扩展名的路径,判断是用resources加载时再动态去掉扩展名
  • +
  • 预设的引用太乱了,不干净,例如模型上预设又挂着特效资源,特效预设又挂着声音资源,这样会很影响到打包依赖,所以此时每种资源应该有个管理,例如特效管理和声音管理,相互之间的关联再通过配置表实现
  • +
  • 同个bundle中的资源同名问题?
    按文件夹打包,根据全路径读取是最好的,ab读取资源的路径参数有两种方式:
      +
    1. 资源名(不带路径,不带扩展名,包内资源名必须唯一)
    2. +
    3. 全路径(带路径,带扩展名)
    4. +
    +
  • +
  • 依赖包需不需要按顺序加载?
  • +
  • asset后缀文件打不进ab包?
  • +
  • 用#号拼出assetbundle名后,www加载会有失败
  • +
  • xcode是7.3,而真机是10.0,导致程序Build不进手机,而电脑又是黑苹果,升级系统会各种问题,后面查了下原来可以直接复制更高版本的xcode程序包下的高版本文件到低版本程序包里,ios的目录是:Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/,下面有各个版本的支持情况
  • +
  • 路径名不能有空格,不然ios读不到
  • +
  • 依赖不加载全,就所有资源都不能加载还是指定资源的依赖都加载了就能加载此资源?
  • +
  • 同个资源能同时打到不同包上吗
  • +
  • 更新异常处理:
      +
    1. 网络挂了
    2. +
    3. 磁盘满
    4. +
    5. gprs网络提示
    6. +
    +
  • +
  • 协程处理热更新时,需要处理异常的处理,因为协程内发生异常是不影响协程外执行的
  • +
+

    +
  • 我的mac机是64位,要选osx64平台才能打包成功
  • +
  • 打包时我是对resources下的文件夹移至
  • +
  • www加载文本文件后,用www.text访问文本内容会有编码限制。官方文档上有要求文件内容为utf8或者ascii编码,如果是其它编码格式,需要通过www.bytes转编码为string(如:System.Text.Encoding.UTF7.GetString(www.bytes)),另一个问题是,官方文档中提的utf8是不带bom的,我是用c#自带的System.Text.Encoding.UTF8写出来的文件,查了格式才知道,原来这样写出来的文件是默认带bom的,如果希望文件是无bom的utf8编码,应该自己创建(new UTF8Encoding(false))进行写入。
  • +
  • android streamingdatapath是在apk包里面,无法直接使用本地读取,只能通过www访问
  • +
  • 平台路径问题
  • +
  • 异步加载读资源失败,同步加载没问题?
  • +
+

资源目录

    +
  • setting
  • +
  • script
  • +
  • shaders
  • +
  • audio
  • +
  • font
  • +
  • model
  • +
  • ui
  • +
  • effect
  • +
  • texture
  • +
+

资源打包

打包策略

整包

    +
  • setting
  • +
  • script
  • +
  • shader
  • +
  • audio
  • +
  • font
  • +
  • ui
  • +
+

散包

主包名与其资源目录相同,便于查找

+
    +
  1. 主包
  2. +
+
    +
  • 每个model预设
  • +
  • 每个特效预设
  • +
  • 每个UI贴图
  • +
+
    +
  1. 依赖包
  2. +
+

资源包目录结构

资源更新

资源加载

assetbundle流程

    +
  • assetbundle打包
  • +
  • assetbundle上传
  • +
  • assetbunlde下载
  • +
  • assetbundle加载
  • +
  • asset加载
  • +
  • assetbundle卸载
  • +
  • www释放
  • +
+]]>
+
+ + + <![CDATA[Hexo+Next+Github 搭建个人博客]]> + http://www.usuallight.com/2016/08/12/blog-hexo/ + 简介

用Hexo搭建网站主要就是两个配置文件,一个站点配置文件(/_config.yml),另一个是主题配置文件(/themes/[themefolder]/_config.yml),配置好这两个配置文件基本就可以了,剩下的都只是一些安装和部署。

+ +

Hexo

官方链接:https://hexo.io/zh-cn/

+

基本配置

    +
  • Hexo依赖于Node.js,需提前安装Node.js
  • +
  • 安装Hexo,应用Node.js指令:

    +
    npm install hexo-cli -g
    +
  • +
  • 新建Hexo工程

    +
    hexo init <folder>    
    +
  • +
  • 初始化Hexo

    +
    npm install
    +
  • +
+

扩展功能

    +
  • 添加rss

    +
    npm install hexo-generator-feed --save
    +
  • +
  • 站内搜索

    +
    npm install hexo-generator-search --save
    +

    配置站点文件:

    +
    search:
    +path: search.xml
    +field: post
    +
  • +
  • Github托管

    +
    npm install hexo-deployer-git --save    
    +

    配置站点文件:

    +
    deploy:
    +type: git
    +repository: https://github.com/monkeylight/monkeylight.github.io.git
    +branch: master
    +
  • +
+

常用命令

    +
  • 生成静态文件(public文件夹)

    +
    hexo generate/-g
    +
  • +
  • 清除缓存文件(db.json)和已生成的静态文件(public文件夹)

    +
    hexo clean
    +
  • +
  • 启动本地服务器

    +
    hexo server
    +
  • +
  • 部署网站到托管平台

    +
    hexo deploy/-d
    +
  • +
  • 新建文章

    +
    hexo new [layout] <title>
    +

    layout有三种:post(博客)/ page(页面)/ draft(草稿)

    +

    例如,新建一个“关于”页:

    +
    hexo new page about
    +
  • +
+

NexT主题

官方链接:http://theme-next.iissnan.com/

+

主题主要是一些配置信息的设置,官方文档里说得很详细,根据自己喜好和需要配置即可。但我在使用过程中遇到了一些问题,官方文档里没提及,在这分享一下:

+
    +
  • 官方推荐的Swiftype搜索用不了,据说是Switftype开始收费的原因,所以不支持了(-.- 只是听说)。
    解决方法:
    见上方Hexo页–>扩展功能–>站内搜索

    +
  • +
  • about页面使用无序列表没有小圆圈标识。
    解决方法:
    添加自定义样式,在配置文件/themes/next/source/css/_custom/custom.styl中添加代码:

    +
    ul { list-style-type: circle; }
    +
  • +
+

环境共享

单纯地用hexo部署网站,会有几个问题:

+
    +
  1. 每次部署都会覆盖上一次的内容,上次的提交记录会被清除!这不方便我查看历史记录
  2. +
  3. 共享配置环境的问题,我总不能每次换个地方都要重新配置一次hexo环境吧,那多恶心。
  4. +
+

针对以上问题,我首先想到的是在Github上用多一个仓库来存储hexo的配置环境,一个用来手动提交网站配置和博客内容,一个用来一健部署托管后台。后来在网上看到更机智的,就是用一个仓库多分支就行了,没必要多仓库。

+

域名

域名方面有两个选择:

+
    +
  1. 直接使用github的二级域名(username.github.io),免费!
  2. +
  3. 自己买个域名。买吧,感觉多爽,哈哈。
  4. +
+

个人域名

    +
  1. 域名购买(我是在godaddy买的,这个看你喜好吧)
  2. +
  3. 绑定github:
    在hexo/source文件夹下新建文件:CNAME(无后缀名),添加内容:yourwebsite.com
  4. +
  5. 配置DNS,可以在godaddy的dns管理中配置,也可以用 DNSPod 来管理更快和稳定。配置项:
      +
    • 添加两条A记录分别指向Github服务器:
      pic
    • +
    • 添加一条CNAME记录指向你用hexo部署的Githubt仓库(例如我的:monkeylight.github.io):
      pic
    • +
    +
  6. +
+
+

附:monkeylight.github.io 这个的是我的hexo环境配置,有兴趣的可以参考看看

+]]>
+
+ + + +
diff --git a/source/README.md b/source/README.md deleted file mode 100644 index e703c22..0000000 --- a/source/README.md +++ /dev/null @@ -1,6 +0,0 @@ -#个人博客后台 -本分支由Hexo自动生成和部署。 - -##相关链接: -Hexo:[https://hexo.io/zh-cn](https://hexo.io/zh-cn) -NexT:[http://theme-next.iissnan.com](http://theme-next.iissnan.com) \ No newline at end of file diff --git a/source/_posts/2016-08-12-blog-hexo.md b/source/_posts/2016-08-12-blog-hexo.md deleted file mode 100644 index f2598fb..0000000 --- a/source/_posts/2016-08-12-blog-hexo.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Hexo+Next+Github 搭建个人博客 -date: 2016-08-12 10:30:29 -tags: -- hexo -- blog -categories: -- blog ---- - -[linkNodejs]: https://nodejs.org/en/ -[linkDNSPod]: https://www.dnspod.cn/ -[linkGithub]: https://github.com/monkeylight/monkeylight.github.io -[picDns1]: dns1.png -[picDns2]: dns2.png - -# 简介 - -用Hexo搭建网站主要就是两个配置文件,一个站点配置文件(/_config.yml),另一个是主题配置文件(/themes/[themefolder]/_config.yml),配置好这两个配置文件基本就可以了,剩下的都只是一些安装和部署。 - - - -# Hexo - -官方链接: - -## 基本配置 - -- Hexo依赖于Node.js,需提前安装[Node.js][linkNodejs] -- 安装Hexo,应用Node.js指令: - - npm install hexo-cli -g -- 新建Hexo工程 - - hexo init - -- 初始化Hexo - - npm install - -## 扩展功能 - -- 添加rss - - npm install hexo-generator-feed --save - -- 站内搜索 - - npm install hexo-generator-search --save - - 配置站点文件: - - search: - path: search.xml - field: post - -- Github托管 - - npm install hexo-deployer-git --save - 配置站点文件: - - deploy: - type: git - repository: https://github.com/monkeylight/monkeylight.github.io.git - branch: master - -## 常用命令 - -- 生成静态文件(public文件夹) - - hexo generate/-g - -- 清除缓存文件(db.json)和已生成的静态文件(public文件夹) - - hexo clean - -- 启动本地服务器 - - hexo server - -- 部署网站到托管平台 - - hexo deploy/-d - -- 新建文章 - - hexo new [layout] - - layout有三种:post(博客)/ page(页面)/ draft(草稿) - - 例如,新建一个“关于”页: - - hexo new page about - -# NexT主题 - -官方链接:<http://theme-next.iissnan.com/> - -主题主要是一些配置信息的设置,官方文档里说得很详细,根据自己喜好和需要配置即可。但我在使用过程中遇到了一些问题,官方文档里没提及,在这分享一下: - -- 官方推荐的Swiftype搜索用不了,据说是Switftype开始收费的原因,所以不支持了(-.- 只是听说)。 - 解决方法: - 见上方Hexo页-->扩展功能-->站内搜索 - -- about页面使用无序列表没有小圆圈标识。 - 解决方法: - 添加自定义样式,在配置文件/themes/next/source/css/_custom/custom.styl中添加代码: - - ul { list-style-type: circle; } - -# 环境共享 - -单纯地用hexo部署网站,会有几个问题: - -1. 每次部署都会覆盖上一次的内容,上次的提交记录会被清除!这不方便我查看历史记录 -2. 共享配置环境的问题,我总不能每次换个地方都要重新配置一次hexo环境吧,那多恶心。 - -针对以上问题,我首先想到的是在Github上用多一个仓库来存储hexo的配置环境,一个用来手动提交网站配置和博客内容,一个用来一健部署托管后台。后来在网上看到更机智的,就是用一个仓库多分支就行了,没必要多仓库。 - -# 域名 - -域名方面有两个选择: - -1. 直接使用github的二级域名(username.github.io),免费! -2. 自己买个域名。买吧,感觉多爽,哈哈。 - -## 个人域名 - -1. 域名购买(我是在godaddy买的,这个看你喜好吧) -2. 绑定github: - 在hexo/source文件夹下新建文件:CNAME(无后缀名),添加内容:yourwebsite.com -3. 配置DNS,可以在godaddy的dns管理中配置,也可以用 [DNSPod][linkDNSPod] 来管理更快和稳定。配置项: - - 添加两条A记录分别指向Github服务器: - ![pic][picDns1] - - 添加一条CNAME记录指向你用hexo部署的Githubt仓库(例如我的:monkeylight.github.io): - ![pic][picDns2] - ---- - -附:[monkeylight.github.io][linkGithub] 这个的是我的hexo环境配置,有兴趣的可以参考看看 \ No newline at end of file diff --git a/source/_posts/2016-10-20-assetbundle.md b/source/_posts/2016-10-20-assetbundle.md deleted file mode 100644 index f994116..0000000 --- a/source/_posts/2016-10-20-assetbundle.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Unity打包和热更新&&assetbundle -date: 2016-10-20 14:44:20 -tags: -- assetbundle -categories: assetbundle ---- - -# 遇到的问题 - -## 流程问题 -- 怎么管理资源? -- 怎么划分assetbundle包? -- 怎么处理依赖? -- 怎么做差异/增量更新? -- 怎么加载和管理assetbundle? -- 环境配置 - -## 细节问题 -- 依赖需要按顺序加载不? -不需要,保证所有依赖包能加载进来就行 - -- 怎么处理资源路径和ab的映射问题? -- resources的加载是不加扩展名,而ab的加载是加扩展名,因此一开始就应该定义好路径规则,统一都传带扩展名的路径,判断是用resources加载时再动态去掉扩展名 -- 预设的引用太乱了,不干净,例如模型上预设又挂着特效资源,特效预设又挂着声音资源,这样会很影响到打包依赖,所以此时每种资源应该有个管理,例如特效管理和声音管理,相互之间的关联再通过配置表实现 -- 同个bundle中的资源同名问题? - 按文件夹打包,根据全路径读取是最好的,ab读取资源的路径参数有两种方式: - 1. 资源名(不带路径,不带扩展名,包内资源名必须唯一) - 2. 全路径(带路径,带扩展名) -- 依赖包需不需要按顺序加载? -- asset后缀文件打不进ab包? -- 用#号拼出assetbundle名后,www加载会有失败 -- xcode是7.3,而真机是10.0,导致程序Build不进手机,而电脑又是黑苹果,升级系统会各种问题,后面查了下原来可以直接复制更高版本的xcode程序包下的高版本文件到低版本程序包里,ios的目录是:Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/,下面有各个版本的支持情况 -- 路径名不能有空格,不然ios读不到 -- 依赖不加载全,就所有资源都不能加载还是指定资源的依赖都加载了就能加载此资源? -- 同个资源能同时打到不同包上吗 -- 更新异常处理: - 1. 网络挂了 - 2. 磁盘满 - 3. gprs网络提示 -- 协程处理热更新时,需要处理异常的处理,因为协程内发生异常是不影响协程外执行的 - -# 坑 -- 我的mac机是64位,要选osx64平台才能打包成功 -- 打包时我是对resources下的文件夹移至 -- www加载文本文件后,用www.text访问文本内容会有编码限制。官方文档上有要求文件内容为utf8或者ascii编码,如果是其它编码格式,需要通过www.bytes转编码为string(如:System.Text.Encoding.UTF7.GetString(www.bytes)),另一个问题是,官方文档中提的utf8是不带bom的,我是用c#自带的System.Text.Encoding.UTF8写出来的文件,查了格式才知道,原来这样写出来的文件是默认带bom的,如果希望文件是无bom的utf8编码,应该自己创建(new UTF8Encoding(false))进行写入。 -- android streamingdatapath是在apk包里面,无法直接使用本地读取,只能通过www访问 -- 平台路径问题 -- 异步加载读资源失败,同步加载没问题? - -# 资源目录 -- setting -- script -- shaders -- audio -- font -- model -- ui -- effect -- texture - -# 资源打包 -## 打包策略 -### 整包 -- setting -- script -- shader -- audio -- font -- ui - -### 散包 -主包名与其资源目录相同,便于查找 - -1. 主包 -- 每个model预设 -- 每个特效预设 -- 每个UI贴图 - -2. 依赖包 - - -### 资源包目录结构 - - -# 资源更新 - - -# 资源加载 - - -# assetbundle流程 -- assetbundle打包 -- assetbundle上传 -- assetbunlde下载 -- assetbundle加载 -- asset加载 -- assetbundle卸载 -- www释放 \ No newline at end of file diff --git a/source/_posts/2016-12-28-mobaaoi.md b/source/_posts/2016-12-28-mobaaoi.md deleted file mode 100644 index 1630953..0000000 --- a/source/_posts/2016-12-28-mobaaoi.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: moba类游戏的视野同步 -date: 2016-12-28 15:08:31 -tags: -- moba -- aoi -categories: moba ---- -# 思路 - -1. 对象类型分组: - - 观察者(watcher) - - 被观察者(marker) - - 对象可以既是观察者,又是被观察者。 - -2. 对象触发检查的时机: - - 对象新增 - - 对象移除 - - 对象位置更新 - -3. 对象检查时的比较集: - - 对象是观察者,比较所有 - - 对象不是观察者,只与观察者比较 - -4. 优化点: - - 阵营区分,同阵营观察者间不作比较 - - 限制位置更新触发检查的时机,线段移动一定距离再触发 - -5. \ No newline at end of file diff --git a/source/_posts/2017-01-04-assetbundle-pack.md b/source/_posts/2017-01-04-assetbundle-pack.md deleted file mode 100644 index 213c98c..0000000 --- a/source/_posts/2017-01-04-assetbundle-pack.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: assetbundle打包策略 -date: 2017-01-04 14:24:36 -tags: -categories: ---- - -做打包已经有一阵子了,之前只是记了些备忘,最近才开始想写博客,现在来把它补上。刚开始接触assetbundle时,新来的老大带了一份他以前,不是很清楚要怎么处理资源依赖比较好,出现了相互依赖的情况, \ No newline at end of file diff --git a/source/_posts/2017-01-18-howwrite.md b/source/_posts/2017-01-18-howwrite.md deleted file mode 100644 index 9a4c8c9..0000000 --- a/source/_posts/2017-01-18-howwrite.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 学着写技术博客 -date: 2017-01-18 23:10:22 -tags: 写作 -categories: ---- - -最近想着手写写技术博客,在网上了解了下如何去写好一篇技术博客,我总结了下觉得有两点说得挺好: - -- 技术博客不是写过程,而是写总结。 -- 技术博客是文章,应该过滤掉个人感情色彩,用陈述语气进行描述,因为读者想了解的是技术本身,而不是作者的个人感受。 - -学习了大牛们的技术博客后,加上我个人的理解,我觉得写一篇技术博客应该具备以下的点: - -1. 主题:明确博客主题,全文围绕主题展开,一文只论一题,若涉及其它主题则另开新篇博文进行描述。 -2. 开篇:由于个人喜好原因,我觉得文章开篇可适当讲述下主题背景原因,从背景原因开启一篇文章。(个人觉得这样会给读者像是在听故事的感觉,不会那么突兀) -3. 内容:针对遇到的问题进行阐述,并提出自己的思路或解决方案。内容尽量以图形进行表达,少用文字和代码。 -4. 待完善的点(可选):不足之处,还能完善或者解决的地方。 -5. 源码(可选):若能提供源码,可放上自己的github链接。 -6. 参考链接:支持原创,引用到他人文章内容时注明出处。 - -目前暂时只想到这些,日后若有新的想法,会持续更新和完善此文。 diff --git a/source/_posts/2017-01-20-assetbundle-optimization.md b/source/_posts/2017-01-20-assetbundle-optimization.md deleted file mode 100644 index 92bfc0b..0000000 --- a/source/_posts/2017-01-20-assetbundle-optimization.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: assetbundle-optimization -date: 2017-01-20 23:03:31 -tags: -categories: ---- - - -主要问题是散包很多,加载太慢。我导出了份数据,其中大部分模型单个模型都依赖了20多个包。针对散包的问题,由于散包主要为材质球和其依赖的贴图还有声音,因此考虑了以下优化点: - -公用资源(shader、setting、script、mapdata): - -- 一种资源一个包,按文件夹打包 - -模型: - -- 模型预设不要直接绑定特效和声音 -- 模型贴图一个包,模型动作一个包,模型shader在shader包,其它模型依赖作为一个包。 - -贴图: - -1. 贴图归类,按文件夹打包(通用贴图、模型贴图、特效贴图) - -特效: - -1. 特效分类, - -图集: - -1. 一个图集一个包 - -UI: - -1. 除了图集外,一个UI一个包. - -声音: - -1. 声音分类,按文件夹打包 - -材质: - -1. - - -# 目标: - - - -# 方案: - -Resources: - -整包资源: -- setting -- script -- shader - -散包资源: -- audio -- model -- effect -- ui -- atlas -- other -- img -- navdata diff --git a/source/_posts/2017-07-17-unity-gameobjectref.md b/source/_posts/2017-07-17-unity-gameobjectref.md deleted file mode 100644 index 62b192f..0000000 --- a/source/_posts/2017-07-17-unity-gameobjectref.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Unity中GameObject对象引用 -date: 2017-07-17 17:11:45 -tags: unity -categories: ---- - -今天想到个问题,GameObject对象销毁后,其对象引用==null为true,按正常来说,一个类引用变量,在没主动置其为null的情况下与null是不等值的。因此,不是引用变量的值变了,而应该是==操作符被Unity重载了。 - -<!--more--> - -上网查了下C#有没能直接对比对象引用的接口,找到了这个: - - object.ReferenceEquals(obj1, obj2); - -它是个静态方法,不担心被重写。于是写了以下代码作测试验证: - - public class TestClass : MonoBehaviour - { - private GameObject Obj = new GameObject("test"); - - void Update() - { - if (Input.GetKeyDown(KeyCode.Space)) - { - Debug.LogFormat("== ? {0}", Obj == null); - Debug.LogFormat("object.ReferenceEquals ? {0}", object.ReferenceEquals(Obj, null)); - if (Obj != null) - { - GameObject.Destroy(Obj); - Debug.Log("destroy obj!"); - } - } - } - } - -输出结果: - -![](output1.png) - -输出结果跟预期的一样。==操作符被Unity内部重载了才导致了判空能成立。出于好奇,也试了下Equal()函数,其结果与==操作符一样,也被Unity内部重载了。 - -因此,用GameObject对象引用时需多加注意,尽量避免用其引用作索引匹配之类的,因为C#的List或者Dictionary等数据结构是用默认的相等比较器Equal()进行对比的,除非自己特殊指定比较器。 diff --git a/source/about/index.md b/source/about/index.md deleted file mode 100644 index b7d0a3a..0000000 --- a/source/about/index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: about -date: 2016-07-20 10:20:29 ---- -# 关于我 -90后程序猿一枚,爱好音乐、电影、动漫、旅行和Dota2。 - -## 历程 -时间 | 项目 | 公司 ------------------- | ---------- | ---------------------------- -2017/02 - 至今 | 剑侠情缘手游 | (西山居)珠海剑心互动娱乐有限公司 -2016/08 - 2017/02 | Moba Demo | 珠海达人网络科技有限公司 -2015/10 - 2016/08 | 缚龙阵 | 珠海达人网络科技有限公司 -2014/11 - 2015/09 | 超能萌兽 | 珠海达人网络科技有限公司 -2013/07 - 2014/11 | 逍遥江湖 | 珠海心游科技有限公司 -2013/01 - 2013/03 | 混沌与秩序 | Gameloft(深圳尚酷)(实习) - -## 为什么创建这个网站? -以前都只是偶尔记些笔记在evernote上,没有实际写过文章,之后受工作中一位程序老大的影响,就想着创建属于自己的个人主页,发现还能托管到github上,超赞!(-.- 有点后知后觉) - -建这个主页主要只是为了记录点滴,毕竟人总健忘,留迹于此,留记于心。也希望这点足迹能对路过此地的你有些许的帮助。 diff --git a/source/categories/index.md b/source/categories/index.md deleted file mode 100644 index f1e332e..0000000 --- a/source/categories/index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: categories -date: 2016-07-20 14:48:53 -type: "categories" ---- diff --git a/source/tags/index.md b/source/tags/index.md deleted file mode 100644 index 6b75b8d..0000000 --- a/source/tags/index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: tags -date: 2016-08-12 10:44:13 -type: "tags" ---- diff --git a/tags/aoi/index.html b/tags/aoi/index.html new file mode 100644 index 0000000..12859d4 --- /dev/null +++ b/tags/aoi/index.html @@ -0,0 +1,745 @@ +<!doctype html> + + + + + + +<html class="theme-next mist use-motion"> +<head> + <meta charset="UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> +<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/> + + + +<meta http-equiv="Cache-Control" content="no-transform" /> +<meta http-equiv="Cache-Control" content="no-siteapp" /> + + + + + + + + + + + + + + + <link href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" /> + + + + + + + + + + + + + + + + + + + + + + + + + + <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css"> + + + + + + + +<link href="/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0" rel="stylesheet" type="text/css" /> + +<link href="/css/main.css?v=5.0.1" rel="stylesheet" type="text/css" /> + + + <meta name="keywords" content="Hexo, NexT" /> + + + + + + <link rel="alternate" href="/atom.xml" title="L杂货店" type="application/atom+xml" /> + + + + + <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.0.1" /> + + + + + + +<meta name="description" content="stay hungry, stay foolish"> +<meta property="og:type" content="website"> +<meta property="og:title" content="L杂货店"> +<meta property="og:url" content="http://www.usuallight.com/tags/aoi/index.html"> +<meta property="og:site_name" content="L杂货店"> +<meta property="og:description" content="stay hungry, stay foolish"> +<meta name="twitter:card" content="summary"> +<meta name="twitter:title" content="L杂货店"> +<meta name="twitter:description" content="stay hungry, stay foolish"> + + + +<script type="text/javascript" id="hexo.configuration"> + var NexT = window.NexT || {}; + var CONFIG = { + scheme: 'Mist', + sidebar: {"position":"left","display":"post"}, + fancybox: true, + motion: true, + duoshuo: { + userId: 0, + author: '博主' + } + }; +</script> + + + + + <link rel="canonical" href="http://www.usuallight.com/tags/aoi/"/> + + <title> 标签: aoi | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/assetbundle/index.html b/tags/assetbundle/index.html new file mode 100644 index 0000000..e72c4cf --- /dev/null +++ b/tags/assetbundle/index.html @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: assetbundle | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/blog/index.html b/tags/blog/index.html new file mode 100644 index 0000000..458eb8a --- /dev/null +++ b/tags/blog/index.html @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: blog | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/hexo/index.html b/tags/hexo/index.html new file mode 100644 index 0000000..f7b8a5c --- /dev/null +++ b/tags/hexo/index.html @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: hexo | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..1edd28d --- /dev/null +++ b/tags/index.html @@ -0,0 +1,729 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/moba/index.html b/tags/moba/index.html new file mode 100644 index 0000000..c73342e --- /dev/null +++ b/tags/moba/index.html @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: moba | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/unity/index.html b/tags/unity/index.html new file mode 100644 index 0000000..e0273e4 --- /dev/null +++ b/tags/unity/index.html @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: unity | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\206\231\344\275\234/index.html" "b/tags/\345\206\231\344\275\234/index.html" new file mode 100644 index 0000000..ffb3e96 --- /dev/null +++ "b/tags/\345\206\231\344\275\234/index.html" @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: 写作 | L杂货店 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/next/.bowerrc b/themes/next/.bowerrc deleted file mode 100644 index b3cfe47..0000000 --- a/themes/next/.bowerrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "directory": "source/vendors" -} \ No newline at end of file diff --git a/themes/next/.editorconfig b/themes/next/.editorconfig deleted file mode 100644 index f0627b9..0000000 --- a/themes/next/.editorconfig +++ /dev/null @@ -1,14 +0,0 @@ -# editorconfig.org - -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true -indent_style = space -indent_size = 2 - -[*.py] -indent_size = 4 diff --git a/themes/next/.github/CONTRIBUTING.md b/themes/next/.github/CONTRIBUTING.md deleted file mode 100644 index 63f58a9..0000000 --- a/themes/next/.github/CONTRIBUTING.md +++ /dev/null @@ -1,6 +0,0 @@ -Before submitting an issue, please search for the issue [here](https://github.com/iissnan/hexo-theme-next/issues?utf8=%E2%9C%93&q=) to find if the issue is already reported. - -Also, you can search for answers on the [NexT Documentation Site](http://theme-next.iissnan.com/): - -- [常见问题 - 中文文档](http://theme-next.iisnan.com/faqs.html) -- FAQs (Work in progress) diff --git a/themes/next/.github/ISSUE_TEMPLATE.md b/themes/next/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index ac2d530..0000000 --- a/themes/next/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,29 +0,0 @@ - -### Expected behavior (预期行为) - - -### Actual behavior (实际行为) - - -### Steps to reproduce the behavior (重现步骤) - - -### NexT Informations - -Add the ✔ sign before an item which is affected by this behavior. - -NexT Version: - - - Master - - Latest Release - - Old version - - -NexT Scheme: - - All schemes - - Muse - - Mist - - Pisces - -### Other Informations (Like Browser, System, Screenshots) - - diff --git a/themes/next/.gitignore b/themes/next/.gitignore deleted file mode 100644 index 204221c..0000000 --- a/themes/next/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -.DS_Store -.idea/ -*.log -node_modules/ - -# Ignore unused verdors' files -source/vendors/fancybox/* -!source/vendors/fancybox/source/ - -source/vendors/font-awesome/less/ -source/vendors/font-awesome/scss/ - -source/vendors/ua-parser-js/* -!source/vendors/ua-parser-js/dist/ diff --git a/themes/next/.hound.yml b/themes/next/.hound.yml deleted file mode 100644 index 534bae8..0000000 --- a/themes/next/.hound.yml +++ /dev/null @@ -1,4 +0,0 @@ -javascript: - enabled: true - config_file: .jshintrc - ignore_file: .javascript_ignore diff --git a/themes/next/.javascript_ignore b/themes/next/.javascript_ignore deleted file mode 100644 index 3bfd8f0..0000000 --- a/themes/next/.javascript_ignore +++ /dev/null @@ -1,3 +0,0 @@ -source/vendors/* -source/js/src/affix.js -source/js/src/scrollspy.js diff --git a/themes/next/.jshintrc b/themes/next/.jshintrc deleted file mode 100644 index a2d0ed3..0000000 --- a/themes/next/.jshintrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "asi": false, - "bitwise": true, - "browser": true, - "camelcase": true, - "curly": true, - "forin": true, - "immed": true, - "latedef": "nofunc", - "maxlen": 120, - "newcap": true, - "noarg": true, - "noempty": true, - "nonew": true, - "predef": [ - "$", - "jQuery", - "NexT", - "CONFIG" - ], - "quotmark": true, - "trailing": true, - "undef": true, - "unused": true, - - "expr": true -} diff --git a/themes/next/README.en.md b/themes/next/README.en.md deleted file mode 100644 index ce1820a..0000000 --- a/themes/next/README.en.md +++ /dev/null @@ -1,213 +0,0 @@ -# NexT - -> NexT is a high quality elegant [Hexo](http://hexo.io) theme. It is crafted from scratch, with love. - - -[Live Preview](http://notes.iissnan.com) - -## Screenshots - -* Desktop -![Desktop Preview](http://iissnan.com/nexus/next/desktop-preview.png) - -* Sidebar - -![Desktop Sidebar Preview](http://iissnan.com/nexus/next/desktop-sidebar-preview.png) - -* Sidebar (Post details page) - -![Desktop Sidebar Preview](http://iissnan.com/nexus/next/desktop-sidebar-toc.png) - -* Mobile - -![Mobile Preview](http://iissnan.com/nexus/next/mobile.png) - - -## Installation - -1. Get it from GitHub - - $ git clone https://github.com/iissnan/hexo-theme-next themes/next - -2. Add it to `_config.yml` - - theme: next - - -## Update - -```shell -cd theme/next -git pull -``` - -## Features - -### Multiple languages support, including: English / Russian / French / German / Simplified Chinese / Traditional Chinese. - -Default language is English. - -```yml -language: en -# language: zh-Hans -# language: fr-FR -# language: zh-hk -# language: zh-tw -# language: ru -# language: ru -# language: de -``` - -Set `language` field as following in site `_config.yml` to change to Chinese. - -```yml -language: zh-Hans -``` - -### Comment support. - -NexT has native support for `DuoShuo` and `Disqus` comment systems. - -Add the following snippets to your `_config.yml`: - -```yml -duoshuo: - enable: true - shortname: your-duoshuo-shortname -``` - -OR - -```yml -disqus: - enable: true - shortname: your-disqus-shortname -``` - -### Tags page. - -> Add a tags page contains all tags in your site. - -- Create a page named `tags` - - hexo new page "tags" - -- Edit tags page, set page type to `tags`. - - title: All tags - date: 2014-12-22 12:39:04 - type: "tags" - -- Add `tags` to theme `_config.yml`: - - menu: - home: / - archives: /archives - tags: /tags - -### Categories page. - -> Add a categories page contains all categories in your site. - -- Create a page named `categories` - - hexo new page "categories" - -- Edit categories page, set page type to `categories`. - - title: All categories - date: 2014-12-22 12:39:04 - type: "categories" - -- Add `categories` to theme `_config.yml`: - - menu: - home: / - archives: /archives - categories: /categories - -### Social Media - -NexT can automatically add links to your Social Media accounts: - -```yml -social: - GitHub: your-github-url - Twitter: your-twitter-url - Weibo: your-weibo-url - DouBan: your-douban-url - ZhiHu: your-zhihu-url -``` - -### Feed link. - -> Show a feed link. - -Set `rss` field in theme's `_config.yml`, as the following value: - -1. `rss: false` will totally disable feed link. -2. `rss: ` use sites' feed link. This is the default option. - - Follow the installation instruction in the plugin's README. After the configuration is done for this plugin, the feed link is ready too. - -3. `rss: http://your-feed-url` set specific feed link. - -### Up to 5 code highlight themes built-in. - -NexT uses [Tomorrow Theme](https://github.com/chriskempson/tomorrow-theme) with 5 themes for you to choose from. -Next use `normal` by default. Have a preview about `normal` and `night`: - -![Tomorrow Normal Preview](http://iissnan.com/nexus/next/tomorrow-normal.png) -![Tomorrow Night Preview](http://iissnan.com/nexus/next/tomorrow-night.png) - -Head over to [Tomorrow Theme](https://github.com/chriskempson/tomorrow-theme) for more details. - -## Configuration - -NexT comes with few configurations. - -```yml - -# Menu configuration. -menu: - home: / - archives: /archives - -# Favicon -favicon: /favicon.ico - -# Avatar (put the image into next/source/images/) -# can be any image format supported by web browsers (JPEG,PNG,GIF,SVG,..) -avatar: /default_avatar.png - -# Code highlight theme -# available: normal | night | night eighties | night blue | night bright -highlight_theme: normal - -# Fancybox for image gallery -fancybox: true - -# Specify the date when the site was setup -since: 2013 - -``` - -## Browser support - -![Browser support](http://iissnan.com/nexus/next/browser-support.png) - - -## Contributing - -Contribution is welcome, feel free to open an issue and fork. Waiting for your pull request. - -[![hexo-image]][hexo-url] -[![bower-image]][bower-url] -[![jquery-image]][jquery-url] - -[hexo-image]: http://img.shields.io/badge/Hexo-2.4+-2BAF2B.svg?style=flat-square -[hexo-url]: http://hexo.io -[bower-image]: http://img.shields.io/badge/Bower-*-2BAF2B.svg?style=flat-square -[bower-url]: http://bower.io -[jquery-image]: https://img.shields.io/badge/jquery-1.9-blue.svg?style=flat-square -[jquery-url]: http://jquery.com/ diff --git a/themes/next/README.md b/themes/next/README.md deleted file mode 100644 index a2b004f..0000000 --- a/themes/next/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# NexT - -> 精于心,简于形 - -在线预览 Preview | NexT 使用文档 | [English Documentation](README.en.md) - -[![Join the chat at https://gitter.im/iissnan/hexo-theme-next](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/iissnan/hexo-theme-next?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -![NexT Schemes](http://iissnan.com/nexus/next/next-schemes.jpg) - - -## 浏览器支持 Browser support - -![Browser support](http://iissnan.com/nexus/next/browser-support.png) - - -## 贡献 Contributing - -接受各种形式的贡献,包括不限于提交问题与需求,修复代码。等待您的`Pull Request`。 - -Any types of contribution are welcome. Thanks. - -## 开发 Development - -NexT 主旨在于简洁优雅且易于使用,所以首先要尽量确保 NexT 的简洁易用性。 - -NexT is built for easily use with elegant appearance. First things first, always keep things simple. - -## [开发历史 Changelog](https://github.com/iissnan/hexo-theme-next/wiki/Changelog) - -[![hexo-image]][hexo-url] -[![bower-image]][bower-url] -[![jquery-image]][jquery-url] -[![velocity-image]][velocity-url] - -[hexo-image]: http://img.shields.io/badge/Hexo-2.4+-2BAF2B.svg?style=flat-square -[hexo-url]: http://hexo.io -[bower-image]: http://img.shields.io/badge/Bower-*-2BAF2B.svg?style=flat-square -[bower-url]: http://bower.io -[jquery-image]: https://img.shields.io/badge/jquery-2.1-2BAF2B.svg?style=flat-square -[jquery-url]: http://jquery.com/ -[velocity-image]: https://img.shields.io/badge/Velocity-1.2-2BAF2B.svg?style=flat-square -[velocity-url]: http://julian.com/research/velocity/ diff --git a/themes/next/_config.yml b/themes/next/_config.yml deleted file mode 100755 index e001458..0000000 --- a/themes/next/_config.yml +++ /dev/null @@ -1,393 +0,0 @@ -# --------------------------------------------------------------- -# Site Information Settings -# --------------------------------------------------------------- - -# Put your favicon.ico into `hexo-site/source/` directory. -favicon: /favicon.ico - -# Set default keywords (Use a comma to separate) -keywords: "Hexo, NexT" - -# Set rss to false to disable feed link. -# Leave rss as empty to use site's feed link. -# Set rss to specific value if you have burned your feed already. -rss: - -# Specify the date when the site was setup -#since: 2015 - -# Canonical, set a canonical link tag in your hexo, you could use it for your SEO of blog. -# See: https://support.google.com/webmasters/answer/139066 -# Tips: Before you open this tag, remeber set up your URL in hexo _config.yml ( ex. url: http://yourdomain.com ) -canonical: true - - -# --------------------------------------------------------------- -# Menu Settings -# --------------------------------------------------------------- - -# When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash (/archives -> archives) -menu: - home: / - archives: /archives - #categories: /categories - tags: /tags - about: /about - #commonweal: /404.html - - -# Enable/Disable menu icons. -# Icon Mapping: -# Map a menu item to a specific FontAwesome icon name. -# Key is the name of menu item and value is the name of FontAwsome icon. Key is case-senstive. -# When an question mask icon presenting up means that the item has no mapping icon. -menu_icons: - enable: true - #KeyMapsToMenuItemKey: NameOfTheIconFromFontAwesome - home: home - about: user - categories: th - tags: tags - archives: archive - commonweal: heartbeat - - - - -# --------------------------------------------------------------- -# Scheme Settings -# --------------------------------------------------------------- - -# Schemes -#scheme: Muse -scheme: Mist -#scheme: Pisces - - -# --------------------------------------------------------------- -# Font Settings -# - Find fonts on Google Fonts (https://www.google.com/fonts) -# - All fonts set here will have the following styles: -# light, light italic, normal, normal intalic, bold, bold italic -# - Be aware that setting too much fonts will cause site running slowly -# - Introduce in 5.0.1 -# --------------------------------------------------------------- -font: - enable: true - - # Uri of fonts host. E.g. //fonts.googleapis.com (Default) - host: - - # Global font settings used on element. - global: - # external: true will load this font family from host. - external: true - family: Lato - - # Font settings for Headlines (h1, h2, h3, h4, h5, h6) - # Fallback to `global` font settings. - headings: - external: true - family: - - # Font settings for posts - # Fallback to `global` font settings. - posts: - external: true - family: - - # Font settings for Logo - # Fallback to `global` font settings. - # The `size` option use `px` as unit - logo: - external: true - family: - size: - - # Font settings for and code blocks. - codes: - external: true - family: - - - - -# --------------------------------------------------------------- -# Sidebar Settings -# --------------------------------------------------------------- - - -# Social Links -# Key is the link label showing to end users. -# Value is the target link (E.g. GitHub: https://github.com/iissnan) -social: - GitHub: https://github.com/monkeylight - -# Social Links Icons -# Icon Mapping: -# Map a menu item to a specific FontAwesome icon name. -# Key is the name of the item and value is the name of FontAwsome icon. Key is case-senstive. -# When an globe mask icon presenting up means that the item has no mapping icon. -social_icons: - enable: true - # Icon Mappings. - # KeyMapsToSocalItemKey: NameOfTheIconFromFontAwesome - GitHub: github - Twitter: twitter - Weibo: weibo - - -# Sidebar Avatar -# in theme directory(source/images): /images/avatar.jpg -# in site directory(source/uploads): /uploads/avatar.jpg -#avatar: - - -# Table Of Contents in the Sidebar -toc: - enable: true - - # Automatically add list number to toc. - number: true - - -# Creative Commons 4.0 International License. -# http://creativecommons.org/ -# Available: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | zero -#creative_commons: by-nc-sa -#creative_commons: - - -sidebar: - # Sidebar Position, available value: left | right - position: left - #position: right - - # Sidebar Display, available value: - # - post expand on posts automatically. Default. - # - always expand for all pages automatically - # - hide expand only when click on the sidebar toggle icon. - # - remove Totally remove sidebar including sidebar toggler. - display: post - #display: always - #display: hide - #display: remove - - -# Blogrolls -#links_title: Links -#links_layout: block -#links_layout: inline -#links: - #Title: http://example.com/ - - -# --------------------------------------------------------------- -# Misc Theme Settings -# --------------------------------------------------------------- - -# Custom Logo. -# !!Only available for Default Scheme currently. -# Options: -# enabled: [true/false] - Replace with specific image -# image: url-of-image - Images's url -custom_logo: - enabled: false - image: - - -# Code Highlight theme -# Available value: -# normal | night | night eighties | night blue | night bright -# https://github.com/chriskempson/tomorrow-theme -highlight_theme: normal - - -# Automatically scroll page to section which is under mark. -scroll_to_more: true - - -# Automatically Excerpt. Not recommand. -# Please use in the post to control excerpt accurately. -auto_excerpt: - enable: false - length: 150 - - -# Wechat Subscriber -#wechat_subscriber: - #enabled: true - #qcode: /path/to/your/wechatqcode ex. /uploads/wechat-qcode.jpg - #description: ex. subscribe to my blog by scanning my public wechat account - - - - -# --------------------------------------------------------------- -# Third Party Services Settings -# --------------------------------------------------------------- - -# MathJax Support -mathjax: - enable: false - cdn: //cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML - - -# Swiftype Search API Key -#swiftype_key: - -# Baidu Analytics ID -#baidu_analytics: - -# Duoshuo ShortName -#duoshuo_shortname: - -# Disqus -#disqus_shortname: - -# Baidu Share -# Available value: -# button | slide -#baidushare: -## type: button - -# Share -#jiathis: -#add_this_id: - -# Share -#duoshuo_share: true - -# Google Webmaster tools verification setting -# See: https://www.google.com/webmasters/ -#google_site_verification: - - -# Google Analytics -#google_analytics: - -# CNZZ count -#cnzz_siteid: - - -# Make duoshuo show UA -# user_id must NOT be null when admin_enable is true! -# you can visit http://dev.duoshuo.com get duoshuo user id. -duoshuo_info: - ua_enable: true - admin_enable: false - user_id: 0 - #admin_nickname: Author - - -# Facebook SDK Support. -# https://github.com/iissnan/hexo-theme-next/pull/410 -facebook_sdk: - enable: false - app_id: # - fb_admin: # - like_button: #true - webmaster: #true - -# Facebook comments plugin -# This plugin depends on Facebook SDK. -# If facebook_sdk.enable is false, Facebook comments plugin is unavailable. -facebook_comments_plugin: - enable: false - num_of_posts: 10 - - -# Show number of visitors to each article. -# You can visit https://leancloud.cn get AppID and AppKey. -leancloud_visitors: - enable: true - app_id: waLFRzRNiaBm1wAv1JV6Q0RR-gzGzoHsz - app_key: xPwAhFX2js7frBv3MrE5sOUN - -# Show PV/UV of the website/page with busuanzi. -# Get more information on http://ibruce.info/2015/04/04/busuanzi/ -busuanzi_count: - # count values only if the other configs are false - enable: false - # custom uv span for the whole site - site_uv: true - site_uv_header: - site_uv_footer: - # custom pv span for the whole site - site_pv: true - site_pv_header: - site_pv_footer: - # custom pv span for one page only - page_pv: true - page_pv_header: - page_pv_footer: - -# Tencent analytics ID -# tencent_analytics: - -# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO -baidu_push: false - - - -#! --------------------------------------------------------------- -#! DO NOT EDIT THE FOLLOWING SETTINGS -#! UNLESS YOU KNOW WHAT YOU ARE DOING -#! --------------------------------------------------------------- - -# Motion -use_motion: true - -# Fancybox -fancybox: true - - -# Script Vendors. -# Set a CDN address for the vendor you want to customize. -# For example -# jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js -# Be aware that you should use the same version as internal ones to avoid potential problems. -vendors: - # Internal path prefix. Please do not edit it. - _internal: vendors - - # Internal version: 2.1.3 - jquery: - - # Internal version: 2.1.5 - # http://fancyapps.com/fancybox/ - fancybox: - fancybox_css: - - # Internal version: 1.0.6 - # https://github.com/ftlabs/fastclick - fastclick: - - # Internal version: 1.9.7 - # https://github.com/tuupola/jquery_lazyload - lazyload: - - # Internal version: 1.2.1 - # http://VelocityJS.org - velocity: - - # Internal version: 1.2.1 - # http://VelocityJS.org - velocity_ui: - - # Internal version: 0.7.9 - # https://faisalman.github.io/ua-parser-js/ - ua_parser: - - # Internal version: 4.4.0 - # http://fontawesome.io/ - fontawesome: - - -# Assets -css: css -js: js -images: images - -# Theme version -version: 5.0.1 diff --git a/themes/next/bower.json b/themes/next/bower.json deleted file mode 100644 index beb4cea..0000000 --- a/themes/next/bower.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "isn-next", - "version": "5.0.0", - "homepage": "https://github.com/iissnan/hexo-theme-next", - "authors": [ - "iissnan " - ], - "description": "High quality and elegant theme for Hexo", - "repository": "https://github.com/iissnan/hexo-theme-next", - "keywords": [ - "hexo", - "notes", - "theme", - "iissnan", - "NexT" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "source/vendors", - "test", - "tests", - "screenshots" - ], - "dependencies": { - "fancybox": "~2.1.5", - "velocity": "~1.2.1", - "jquery": "http://code.jquery.com/jquery-2.1.3.min.js", - "fastclick": "~1.0.6", - "font-awesome": "fontawesome#~4.4.0", - "jquery_lazyload": "jquery.lazyload#~1.9.7", - "ua-parser-js": "~0.7.9" - } -} diff --git a/themes/next/gulpfile.coffee b/themes/next/gulpfile.coffee deleted file mode 100644 index 7e22b20..0000000 --- a/themes/next/gulpfile.coffee +++ /dev/null @@ -1,17 +0,0 @@ -gulp = require('gulp') -jshint = require('gulp-jshint') -stylish = require('jshint-stylish') - -gulp.task 'lint', -> - return gulp.src([ - './source/js/src/utils.js', - './source/js/src/motion.js', - './source/js/src/hook-duoshuo.js' - './source/js/src/bootstrap.js', - './source/js/src/post-details.js', - './source/js/src/schemes/pisces.js' - ]).pipe jshint() - .pipe jshint.reporter(stylish) - - -gulp.task 'default', ['lint'] diff --git a/themes/next/languages/de.yml b/themes/next/languages/de.yml deleted file mode 100644 index 938fa3d..0000000 --- a/themes/next/languages/de.yml +++ /dev/null @@ -1,70 +0,0 @@ -title: - archive: Archiv - category: Kategorie - tag: Tag - -author: Author - -menu: - home: Startseite - archives: Archiv - categories: Kategorien - tags: Tags - about: Über - feed: RSS - search: Suche - -sidebar: - overview: Übersicht - toc: Inhaltsverzeichnis - -post: - posted: Veröffentlicht am - in: in - read_more: Weiterlesen - untitled: Unbenannt - toc_empty: Dieser Artikel hat kein Inhaltsverzeichnis - -page: - totally: Gesamt - tags: tags - -footer: - powered: "Erstellt mit %s" - theme: Theme - -counter: - tag_cloud: - zero: Keine Tags - one: Insgesamt ein Tag - other: "Insgesamt %d Tags" - - categories: - zero: Keine Kategorien - one: Insgesamt eine Kategorie - other: "Insgesamt %d Kategorien" - - archive_posts: - zero: Keine Artikel vorhanden. - one: Ein Artikel. - other: "Insgesamt %d Artikel." - -state: - posts: Artikel - pages: Seiten - tags: Tags - categories: Kategorien - -cheers: - um: Öhm.. - ok: OK - nice: Schön - good: Gut - great: Wunderbar - excellent: Exzellent - -keep_on: Bleib dran. - -symbol: - comma: '. ' - period: ', ' diff --git a/themes/next/languages/default.yml b/themes/next/languages/default.yml deleted file mode 100644 index 109b72c..0000000 --- a/themes/next/languages/default.yml +++ /dev/null @@ -1,70 +0,0 @@ -title: - archive: Archive - category: Category - tag: Tag - -author: Author - -menu: - home: Home - archives: Archives - categories: Categories - tags: Tags - about: About - search: Search - -sidebar: - overview: Overview - toc: Table of Contents - -post: - sticky: Sticky - posted: Posted on - in: In - read_more: Read more - untitled: Untitled - toc_empty: This post does not have a Table of Contents - -page: - totally: Totally - tags: tags - -footer: - powered: "Powered by %s" - theme: Theme - -counter: - tag_cloud: - zero: No tags - one: 1 tag in total - other: "%d tags in total" - - categories: - zero: No categories - one: 1 category in total - other: "%d categories in total" - - archive_posts: - zero: No posts. - one: 1 post. - other: "%d posts in total." - -state: - posts: posts - pages: pages - tags: tags - categories: categories - -cheers: - um: Um.. - ok: OK - nice: Nice - good: Good - great: Great - excellent: Excellent - -keep_on: Keep on posting. - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/en.yml b/themes/next/languages/en.yml deleted file mode 100644 index 18854ea..0000000 --- a/themes/next/languages/en.yml +++ /dev/null @@ -1,71 +0,0 @@ -title: - archive: Archive - category: Category - tag: Tag - -author: Author - -menu: - home: Home - archives: Archives - categories: Categories - tags: Tags - about: About - search: Search - -sidebar: - overview: Overview - toc: Table of Contents - -post: - sticky: Sticky - posted: Posted on - in: In - read_more: Read more - untitled: Untitled - toc_empty: This post does not have a Table of Contents - visitors: visitors - -page: - totally: Totally - tags: tags - -footer: - powered: "Powered by %s" - theme: Theme - -counter: - tag_cloud: - zero: No tags - one: 1 tag in total - other: "%d tags in total" - - categories: - zero: No categories - one: 1 category in total - other: "%d categories in total" - - archive_posts: - zero: No posts. - one: 1 post. - other: "%d posts in total." - -state: - posts: posts - pages: pages - tags: tags - categories: categories - -cheers: - um: Um.. - ok: OK - nice: Nice - good: Good - great: Great - excellent: Excellent - -keep_on: Keep on posting. - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/fr-FR.yml b/themes/next/languages/fr-FR.yml deleted file mode 100644 index df029d1..0000000 --- a/themes/next/languages/fr-FR.yml +++ /dev/null @@ -1,71 +0,0 @@ -title: - archive: Archive - category: Catégorie - tag: Tag - -author: Author - -menu: - home: Accueil - archives: Archives - categories: Categories - tags: Tags - about: A propos - search: recherche - -sidebar: - overview: Ensemble - toc: Table Des Matières - -post: - sticky: Sticky - posted: Posté le - in: In - read_more: Lire la suite - untitled: Non titré - toc_empty: This post does not have a Table of Contents - -page: - totally: Total - tags: tags - -footer: - powered: "Powered by %s" - theme: Thème - -counter: - tag_cloud: - zero: Aucun tags - one: 1 tag au total - other: "%d tags au total" - - categories: - zero: Aucun categories - one: 1 category au total - other: "%d categories au total" - - archive_posts: - zero: Aucun article. - one: 1 article. - other: "%d articles au total." - -state: - posts: articles - pages: pages - tags: tags - categories: categories - - -cheers: - um: Um.. - ok: OK - nice: Jolie - good: Bien - great: Super - excellent: Excellent - -keep_on: Et ca ne fait que commencer. - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/id.yml b/themes/next/languages/id.yml deleted file mode 100644 index 6aac05c..0000000 --- a/themes/next/languages/id.yml +++ /dev/null @@ -1,71 +0,0 @@ -title: - archive: Arsip - category: Kategori - tag: Tag - -author: Penulis - -menu: - home: Beranda - archives: Arsip - categories: Kategori - tags: Tags - about: Tentang - search: Pencarian - -sidebar: - overview: Ikhtisar - toc: Daftar Isi - -post: - sticky: Sticky - posted: Diposting di - in: Di - read_more: Baca lebih - untitled: Tidak ada title - toc_empty: Posting ini tidak memiliki Daftar Isi - visitors: Pengunjung - -page: - totally: Total - tags: tags - -footer: - powered: "Powered by %s" - theme: Tema - -counter: - tag_cloud: - zero: Tidak ada tags - one: 1 total tag - other: "%d total tags" - - categories: - zero: Tidak ada kategori - one: 1 total categori - other: "%d total kategori" - - archive_posts: - zero: Tidak ada posting. - one: 1 posting. - other: "%d total posting." - -state: - posts: posting - pages: halaman - tags: tags - categories: kategori - -cheers: - um: Um.. - ok: OK - nice: Bagus - good: Bagus - great: Besar - excellent: Baik - -keep_on: Terus Posting. - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/ja.yml b/themes/next/languages/ja.yml deleted file mode 100644 index a66bd61..0000000 --- a/themes/next/languages/ja.yml +++ /dev/null @@ -1,70 +0,0 @@ -title: - archive: アーカイブ - category: カテゴリ - tag: タグ - -author: Author - -menu: - home: ホーム - archives: アーカイブ - categories: カテゴリ - tags: タグ - about: About - search: 検索 - -sidebar: - overview: 概要 - toc: 見出し - -post: - sticky: 固定 - posted: 投稿日 - in: In - read_more: 続きを読む - untitled: 無題 - toc_empty: 見出しがありません - -page: - totally: 全ページ - tags: タグ - -footer: - powered: "Powered by %s" - theme: Theme - -counter: - tag_cloud: - zero: タグなし - one: "全 1 タグ" - other: "全 %d タグ" - - categories: - zero: カテゴリなし - one: "全 1 カテゴリ" - other: "全 %d カテゴリ" - - archive_posts: - zero: ポストなし - one: "全 1 ポスト" - other: "全 %d ポスト" - -state: - posts: ポスト - pages: ページ - tags: タグ - categories: カテゴリ - -cheers: - um: うーん - ok: OK - nice: まあまあ - good: いいね - great: すごい - excellent: 最高 - -keep_on: もっと書こう! - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/pt-BR.yml b/themes/next/languages/pt-BR.yml deleted file mode 100644 index b131d6e..0000000 --- a/themes/next/languages/pt-BR.yml +++ /dev/null @@ -1,71 +0,0 @@ -title: - archive: Arquivo - category: Categoria - tag: Tag - -author: Autor - -menu: - home: Home - archives: Arquivos - categories: Categorias - tags: Tags - about: Sobre - search: Pesquisar - -sidebar: - overview: Visão geral - toc: Tabela de conteúdo - -post: - sticky: Sticky - posted: Postado em - in: Em - read_more: Leia mais - untitled: Sem título - toc_empty: Este post não possui tabela de conteúdo - visitors: Visitantes - -page: - totally: Totalmente - tags: tags - -footer: - powered: "Feito com %s" - theme: Tema - -counter: - tag_cloud: - zero: Sem tags - one: 1 tag no total de - other: "%d tags no total de" - - categories: - zero: Sem categoria - one: 1 categoria no total de - other: "%d categoria no total de" - - archive_posts: - zero: Sem posts. - one: 1 post. - other: "%d posts no total." - -state: - posts: Posts - pages: Páginas - tags: Tags - categories: Categorias - -cheers: - um: Uhmmmm... - ok: OK - nice: Bom - good: Muito Bom - great: Ótimo - excellent: Excelente - -keep_on: Continuar no post. - -symbol: - comma: '. ' - period: ', ' diff --git a/themes/next/languages/pt.yml b/themes/next/languages/pt.yml deleted file mode 100644 index b0d9116..0000000 --- a/themes/next/languages/pt.yml +++ /dev/null @@ -1,70 +0,0 @@ -title: - archive: Arquivo - category: Categoria - tag: Tag - -author: Author - -menu: - home: Home - archives: Arquivos - categories: Categorias - tags: Tags - about: Sobre - search: Pesquisa - -sidebar: - overview: Visão Geral - toc: Tabela de Conteúdo - -post: - sticky: Sticky - posted: Postado em - in: Em - read_more: Ler mais - untitled: Sem título - toc_empty: Esta publicação não possui uma tabela de conteúdo - -page: - totally: Totalmente - tags: tags - -footer: - powered: "Desenvolvido com amor com %s" - theme: Tema - -counter: - tag_cloud: - zero: Sem tags - one: 1 tag no total - other: "%d tags no total" - - categories: - zero: Sem categorias - one: 1 categoria no total - other: "%d categorias no total" - - archive_posts: - zero: Sem publicações. - one: 1 post. - other: "%d publicações no total." - -state: - posts: publicações - pages: páginas - tags: tags - categories: categorias - -cheers: - um: Um.. - ok: OK - nice: Legal - good: Bom - great: Grandioso - excellent: Excelente - -keep_on: Mantenha-se publicando! - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/ru.yml b/themes/next/languages/ru.yml deleted file mode 100644 index 089e857..0000000 --- a/themes/next/languages/ru.yml +++ /dev/null @@ -1,79 +0,0 @@ -title: - archive: Архив - category: Категория - tag: Тэг - -author: Author - -menu: - home: Домой - archives: Архив - categories: Категории - tags: Тэги - about: О сайте - search: поиск - -sidebar: - overview: Обзор - toc: Содержание - -post: - sticky: Sticky - posted: отправлено - in: в - read_more: Читать дальше - untitled: Без имени - toc_empty: Этот пост не имеет оглавления - -page: - totally: Всего - tags: тэги - -footer: - powered: "Powered by %s" - theme: Theme - -counter: - tag_cloud: - zero: Нет тэгов - one: 1 тэг - two: "%d тэга всего" - three: "%d тэга всего" - four: "%d тэга всего" - other: "%d тэгов всего" - - categories: - zero: Нет категорий - one: 1 категория - two: "%d категории всего" - three: "%d категории всего" - four: "%d категории всего" - other: "%d категорий всего" - - archive_posts: - zero: Нет записей. - one: 1 запись. - two: "%d записи всего." - three: "%d записи всего." - four: "%d записи всего." - other: "%d записей всего." - -state: - posts: записи - pages: страницы - tags: тэги - categories: категории - -cheers: - um: Эм.. - ok: OK - nice: Неплохо - good: Хорошо - great: Замечательно - excellent: Великолепно - -keep_on: Продолжаю писать. - -symbol: - comma: ', ' - period: '. ' diff --git a/themes/next/languages/zh-Hans.yml b/themes/next/languages/zh-Hans.yml deleted file mode 100644 index 5d7e72b..0000000 --- a/themes/next/languages/zh-Hans.yml +++ /dev/null @@ -1,74 +0,0 @@ -title: - archive: 归档 - category: 分类 - tag: 标签 - -author: 博主 - -menu: - home: 首页 - archives: 归档 - categories: 分类 - tags: 标签 - about: 关于 - search: 搜索 - commonweal: 公益404 - - -sidebar: - overview: 站点概览 - toc: 文章目录 - -post: - sticky: 置顶 - posted: 发表于 - in: 分类于 - visitors: 阅读次数 - read_more: 阅读全文 - untitled: 未命名 - toc_empty: 此文章未包含目录 - -page: - totally: 共有 - tags: 标签 - -footer: - powered: "由 %s 强力驱动" - theme: 主题 - - -counter: - tag_cloud: - zero: 暂无标签 - one: 目前共计 1 个标签 - other: "目前共计 %d 个标签" - - categories: - zero: 暂无分类 - one: 目前共计 1 个分类 - other: "目前共计 %d 个分类" - - archive_posts: - zero: 暂无日志。 - one: 目前共计 1 篇日志。 - other: "目前共计 %d 篇日志。" - -state: - posts: 日志 - pages: 页面 - tags: 标签 - categories: 分类 - -cheers: - um: 嗯.. - ok: OK - nice: 好 - good: 很好 - great: 非常好 - excellent: 太棒了 - -keep_on: 继续努力。 - -symbol: - comma: ', ' - period: '。 ' diff --git a/themes/next/languages/zh-hk.yml b/themes/next/languages/zh-hk.yml deleted file mode 100644 index 2133108..0000000 --- a/themes/next/languages/zh-hk.yml +++ /dev/null @@ -1,73 +0,0 @@ -title: - archive: 歸檔 - category: 分類 - tag: 標籤 - -author: 博主 - -menu: - home: 首頁 - archives: 歸檔 - categories: 分類 - tags: 標籤 - about: 關於 - search: 檢索 - - -sidebar: - overview: 本站概覽 - toc: 文章目錄 - -post: - sticky: 置頂 - posted: 發表於 - in: 分類於 - visitors: 閱讀次數 - read_more: 閱讀全文 - untitled: 未命名 - toc_empty: 此文章未包含目錄 - -page: - totally: 共有 - tags: 標籤 - -footer: - powered: "由 %s 強力驅動" - theme: 主題 - - -counter: - tag_cloud: - zero: 暫無標籤 - one: 目前共有 1 個標籤 - other: "目前共有 %d 個標籤" - - categories: - zero: 暫無分類 - one: 目前共有 1 個分類 - other: "目前共有 %d 個分類" - - archive_posts: - zero: 暫無文章。 - one: 目前共有 1 篇文章。 - other: "目前共有 %d 篇文章。" - -state: - posts: 文章 - pages: 頁面 - tags: 標籤 - categories: 分類 - -cheers: - um: 嗯.. - ok: OK - nice: 好 - good: 很好 - great: 非常好 - excellent: 激爆好 - -keep_on: 繼續努力。 - -symbol: - comma: ', ' - period: '。 ' diff --git a/themes/next/languages/zh-tw.yml b/themes/next/languages/zh-tw.yml deleted file mode 100644 index 0cd53d3..0000000 --- a/themes/next/languages/zh-tw.yml +++ /dev/null @@ -1,73 +0,0 @@ -title: - archive: 歸檔 - category: 分類 - tag: 標籤 - -author: 博主 - -menu: - home: 首頁 - archives: 歸檔 - categories: 分類 - tags: 標籤 - about: 關於 - search: 檢索 - - -sidebar: - overview: 本站概覽 - toc: 文章目錄 - -post: - sticky: 置頂 - posted: 發表於 - in: 分類於 - visitors: 閱讀次數 - read_more: 閱讀全文 - untitled: 未命名 - toc_empty: 此文章未包含目錄 - -page: - totally: 共有 - tags: 標籤 - -footer: - powered: "由 %s 強力驅動" - theme: 主題 - - -counter: - tag_cloud: - zero: 暫無標籤 - one: 目前共計 1 個標籤 - other: "目前共計 %d 個標籤" - - categories: - zero: 暫無分類 - one: 目前共計 1 個分類 - other: "目前共計 %d 個分類" - - archive_posts: - zero: 暫無文章。 - one: 目前共計 1 篇文章。 - other: "目前共計 %d 篇文章。" - -state: - posts: 文章 - pages: 頁面 - tags: 標籤 - categories: 分類 - -cheers: - um: 嗯.. - ok: OK - nice: 好 - good: 很好 - great: 非常好 - excellent: 非常屌 - -keep_on: 繼續努力。 - -symbol: - comma: ', ' - period: '。 ' diff --git a/themes/next/layout/_layout.swig b/themes/next/layout/_layout.swig deleted file mode 100644 index da719fc..0000000 --- a/themes/next/layout/_layout.swig +++ /dev/null @@ -1,76 +0,0 @@ - - -{% set html_class = 'theme-next ' + theme.scheme %} -{% if theme.use_motion %} - {% set html_class = html_class + ' use-motion' %} -{% endif %} - - - - {% include '_partials/head.swig' %} - {% block title %}{% endblock %} - - - - - {% include '_scripts/third-party/analytics.swig' %} - - {% set container_class = "container one-collumn " %} - {% if theme.sidebar.position %} - {% set container_class = container_class + 'sidebar-position-' + theme.sidebar.position %} - {% endif %} - -
-
- - - -
-
-
-
- {% block content %}{% endblock %} -
- {% include '_partials/duoshuo-hot-articles.swig' %} - {% include '_partials/comments.swig' %} -
- {% if theme.sidebar.display !== 'remove' %} - {% block sidebar %}{% endblock %} - {% endif %} -
-
- -
- -
- -
- -
-
- - {% include '_scripts/vendors.swig' %} - {% include '_scripts/commons.swig' %} - - {% set scheme_script = '_scripts/schemes/' + theme.scheme | lower + '.swig' %} - {% include scheme_script %} - - {% block script_extra %}{% endblock %} - - {% include '_scripts/boostrap.swig' %} - - {% include '_scripts/third-party/comments.swig' %} - {% include '_scripts/third-party/tinysou.swig' %} - {% include '_scripts/third-party/localsearch.swig' %} - {% include '_scripts/third-party/mathjax.swig' %} - {% include '_scripts/third-party/lean-analytics.swig' %} - {% include '_scripts/baidu-push.swig' %} - - - diff --git a/themes/next/layout/_macro/post-collapse.swig b/themes/next/layout/_macro/post-collapse.swig deleted file mode 100644 index 2bdb603..0000000 --- a/themes/next/layout/_macro/post-collapse.swig +++ /dev/null @@ -1,34 +0,0 @@ -{% macro render(post) %} - - - -{% endmacro %} diff --git a/themes/next/layout/_macro/post.swig b/themes/next/layout/_macro/post.swig deleted file mode 100644 index 2cb7aae..0000000 --- a/themes/next/layout/_macro/post.swig +++ /dev/null @@ -1,235 +0,0 @@ -{% macro render(post, is_index, post_extra_class) %} - - {% set headlessPost = Array.prototype.indexOf.call(['quote', 'picture'], post.type) > -1 %} - {% set navlessPost = headlessPost %} - - {% set post_class = 'post post-type-' + post.type | default('normal') %} - {% set post_class = post_class + ' ' + post_extra_class | default('') %} - {% if post.sticky > 0 %} - {% set post_class = post_class + ' ' + 'post-sticky' %} - {% endif %} - -
- - {% if not headlessPost %} -
- - {# Not to show title for quote posts that do not have a title #} - {% if not (is_index and post.type === 'quote' and not post.title) %} -

- {# Link posts #} - {% if post.link %} - {% if post.sticky > 0 %} - {{ post.sticky }} - - - - {% endif %} - - {% else %} - {% if is_index %} - {% if post.sticky > 0 %} - - - - {% endif %} - - {% else %} - {{ post.title }} - {% endif %} - {% endif %} -

- {% endif %} - - -
- {% endif %} - - -
- - {# Gallery support #} - {% if post.photos and post.photos.length %} -
- {% set COLUMN_NUMBER = 3 %} - {% for photo in post.photos %} - {% if loop.index0 % COLUMN_NUMBER === 0 %}
{% endif %} - - {% if loop.index0 % COLUMN_NUMBER === 2 %}
{% endif %} - {% endfor %} - - {# Append end tag for `post-gallery-row` when (photos size mod COLUMN_NUMBER) is less than COLUMN_NUMBER #} - {% if post.photos.length % COLUMN_NUMBER > 0 %}
{% endif %} -
- {% endif %} - - {% if is_index %} - {% if post.description %} - {{ post.description }} -
- - {{ __('post.read_more') }} » - -
- {% elif post.excerpt %} - {{ post.excerpt }} -
- - {{ __('post.read_more') }} » - -
- {% elif theme.auto_excerpt.enable %} - {% set content = post.content | striptags %} - {{ content.substring(0, theme.auto_excerpt.length) }} - {% if content.length > theme.auto_excerpt.length %}...{% endif %} - -
- - {{ __('post.read_more') }} » - -
- {% else %} - {% if post.type === 'picture' %} - {{ post.content }} - {% else %} - {{ post.content }} - {% endif %} - {% endif %} - {% else %} - {{ post.content }} - {% endif %} - - -
- {% if not is_index %} - {% include 'wechat-subscriber.swig' %} - {% endif %} -
- -
- {% if not is_index %} - {% include 'reward.swig' %} - {% endif %} -
- -
- {% if post.tags and post.tags.length and not is_index %} - - {% endif %} - - {% if not is_index and (post.prev or post.next) and not navlessPost %} -
-
- {% if post.next %} - - {% endif %} -
- -
- {% if post.prev %} - - {% endif %} -
-
- {% endif %} - - {% set isLast = loop.index % page.per_page === 0 %} - {% if is_index and not isLast %} -
- {% endif %} -
-
- -{% endmacro %} diff --git a/themes/next/layout/_macro/reward.swig b/themes/next/layout/_macro/reward.swig deleted file mode 100644 index d5978c1..0000000 --- a/themes/next/layout/_macro/reward.swig +++ /dev/null @@ -1,22 +0,0 @@ -{% if theme.alipay or theme.wechatpay %} -
-
{{ theme.reward_comment }}
- - -
-{% endif %} diff --git a/themes/next/layout/_macro/sidebar.swig b/themes/next/layout/_macro/sidebar.swig deleted file mode 100644 index e2ac1d9..0000000 --- a/themes/next/layout/_macro/sidebar.swig +++ /dev/null @@ -1,133 +0,0 @@ -{% macro render(is_post) %} - - - -{% endmacro %} diff --git a/themes/next/layout/_macro/wechat-subscriber.swig b/themes/next/layout/_macro/wechat-subscriber.swig deleted file mode 100644 index a0d3a17..0000000 --- a/themes/next/layout/_macro/wechat-subscriber.swig +++ /dev/null @@ -1,6 +0,0 @@ -{% if theme.wechat_subscriber.enabled %} -
- {{ theme.author }} wechat -
{{ theme.wechat_subscriber.description }}
-
-{% endif %} \ No newline at end of file diff --git a/themes/next/layout/_partials/comments.swig b/themes/next/layout/_partials/comments.swig deleted file mode 100644 index ab8f927..0000000 --- a/themes/next/layout/_partials/comments.swig +++ /dev/null @@ -1,21 +0,0 @@ -{% if page.comments %} -
- {% if (theme.duoshuo and theme.duoshuo.shortname) or theme.duoshuo_shortname %} -
-
- {% elseif theme.facebook_sdk.enable and theme.facebook_comments_plugin.enable %} -
-
- {% elseif theme.disqus_shortname %} -
- -
- {% endif %} -
-{% endif %} diff --git a/themes/next/layout/_partials/duoshuo-hot-articles.swig b/themes/next/layout/_partials/duoshuo-hot-articles.swig deleted file mode 100644 index 2d1088d..0000000 --- a/themes/next/layout/_partials/duoshuo-hot-articles.swig +++ /dev/null @@ -1,5 +0,0 @@ -{# 多说热评文章 #} -{% if (theme.duoshuo_hotartical and page.title) %} -

热评文章

-
-{% endif %} diff --git a/themes/next/layout/_partials/footer.swig b/themes/next/layout/_partials/footer.swig deleted file mode 100644 index 66192e3..0000000 --- a/themes/next/layout/_partials/footer.swig +++ /dev/null @@ -1,20 +0,0 @@ - - -
- {{ __('footer.powered', 'Hexo') }} -
- -
- {{ __('footer.theme') }} - - - NexT.{{ theme.scheme }} - -
diff --git a/themes/next/layout/_partials/head.swig b/themes/next/layout/_partials/head.swig deleted file mode 100644 index 41aa767..0000000 --- a/themes/next/layout/_partials/head.swig +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -{# #238, Disable Baidu tranformation #} - - - - -{% if theme.google_site_verification %} - -{% endif %} - - -{% if theme.baidu_site_verification %} - -{% endif %} - - -{% if theme.qihu_site_verification %} - -{% endif %} - - -{% if theme.fancybox %} - {% set fancybox_css_uri = url_for(theme.vendors._internal + '/fancybox/source/jquery.fancybox.css?v=2.1.5') %} - {% if theme.vendors.fancybox_css %} - {% set fancybox_css_uri = theme.vendors.fancybox_css %} - {% endif %} - -{% endif %} - -{% include "./head/external-fonts.swig" %} - -{% set font_awesome_uri = url_for(theme.vendors._internal + '/font-awesome/css/font-awesome.min.css?v=4.4.0') %} -{% if theme.vendors.fontawesome %} - {% set font_awesome_uri = theme.vendors.fontawesome %} -{% endif %} - - - - -{% if page.keywords %} - -{% elif page.tags and page.tags.length %} - -{% elif theme.keywords %} - -{% endif %} - - -{% if theme.rss === '' and config.feed and config.feed.path %} - {% set theme.rss = config.feed.path %} -{% endif %} -{% if theme.rss %} - -{% endif %} - - -{% if theme.favicon %} - -{% endif %} - - -{% if theme.facebook_sdk.enable and theme.facebook_sdk.webmaster %} - - -{% endif %} - - -{{ - open_graph({ - twitter_id: theme.twitter, - google_plus: theme.google_plus, - fb_admins: theme.fb_admins, - fb_app_id: theme.fb_app_id - }) -}} - - -{# Export some HEXO Configurations to Front-End #} - - - -{# Canonical, good for google search engine (SEO) : https://support.google.com/webmasters/answer/139066 #} -{% if theme.canonical %} - -{% endif %} \ No newline at end of file diff --git a/themes/next/layout/_partials/head/external-fonts.swig b/themes/next/layout/_partials/head/external-fonts.swig deleted file mode 100644 index 876e12e..0000000 --- a/themes/next/layout/_partials/head/external-fonts.swig +++ /dev/null @@ -1,51 +0,0 @@ -{% if theme.font.enable %} - - {% set font_config = theme.font %} - {% set font_families = '' %} - {% set font_styles = ':300,300italic,400,400italic,700,700italic' %} - {% set font_found = false %} - - {% if font_config.global.family and font_config.global.external %} - {% set font_families += font_config.global.family + font_styles %} - {% set font_found = true %} - {% endif %} - - {% if font_config.headings.family and font_config.headings.external %} - {% if font_found %} - {% set font_families += '|' %} - {% endif %} - - {% set font_families += font_config.headings.family + font_styles %} - {% endif %} - - {% if font_config.posts.family and font_config.posts.external %} - {% if font_found %} - {% set font_families += '|' %} - {% endif %} - - {% set font_families += font_config.posts.family + font_styles %} - {% endif %} - - {% if font_config.logo.family and font_config.logo.external %} - {% if font_found %} - {% set font_families += '|' %} - {% endif %} - - {% set font_families += font_config.logo.family + font_styles %} - {% endif %} - - {% if font_config.codes.family and font_config.codes.external %} - {% if font_found %} - {% set font_families += '|' %} - {% endif %} - - {% set font_families += font_config.codes.family + font_styles %} - {% endif %} - - {% if font_families !== '' %} - {% set font_families += '&subset=latin,latin-ext' %} - {% set font_host = font_config.host | default('//fonts.googleapis.com') %} - - {% endif %} - -{% endif %} diff --git a/themes/next/layout/_partials/header.swig b/themes/next/layout/_partials/header.swig deleted file mode 100644 index 7b60f6b..0000000 --- a/themes/next/layout/_partials/header.swig +++ /dev/null @@ -1,69 +0,0 @@ -
- {% if theme.custom_logo.image and theme.scheme === 'Muse' %} -
- - {{ config.title }} - -
- {% endif %} - - -

{{ config.subtitle }}

-
- - - - - diff --git a/themes/next/layout/_partials/pagination.swig b/themes/next/layout/_partials/pagination.swig deleted file mode 100644 index 5f96b99..0000000 --- a/themes/next/layout/_partials/pagination.swig +++ /dev/null @@ -1,11 +0,0 @@ -{% if page.prev or page.next %} - -{% endif %} diff --git a/themes/next/layout/_partials/search.swig b/themes/next/layout/_partials/search.swig deleted file mode 100644 index 7b050d9..0000000 --- a/themes/next/layout/_partials/search.swig +++ /dev/null @@ -1,7 +0,0 @@ -{% if theme.swiftype_key %} - {% include 'search/swiftype.swig' %} -{% elseif theme.tinysou_Key %} - {% include 'search/tinysou.swig' %} -{% elseif config.search.path %} - {% include 'search/localsearch.swig' %} -{% endif %} diff --git a/themes/next/layout/_partials/search/localsearch.swig b/themes/next/layout/_partials/search/localsearch.swig deleted file mode 100644 index 169b1b9..0000000 --- a/themes/next/layout/_partials/search/localsearch.swig +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/themes/next/layout/_partials/search/swiftype.swig b/themes/next/layout/_partials/search/swiftype.swig deleted file mode 100644 index 732e0c1..0000000 --- a/themes/next/layout/_partials/search/swiftype.swig +++ /dev/null @@ -1,12 +0,0 @@ -
- -
- - diff --git a/themes/next/layout/_partials/search/tinysou.swig b/themes/next/layout/_partials/search/tinysou.swig deleted file mode 100644 index 2dfa3e3..0000000 --- a/themes/next/layout/_partials/search/tinysou.swig +++ /dev/null @@ -1,3 +0,0 @@ -
- -
diff --git a/themes/next/layout/_partials/share/add-this.swig b/themes/next/layout/_partials/share/add-this.swig deleted file mode 100644 index 430bf8a..0000000 --- a/themes/next/layout/_partials/share/add-this.swig +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/themes/next/layout/_partials/share/baidushare.swig b/themes/next/layout/_partials/share/baidushare.swig deleted file mode 100644 index 19cb0b9..0000000 --- a/themes/next/layout/_partials/share/baidushare.swig +++ /dev/null @@ -1,57 +0,0 @@ -{% if theme.baidushare.type === "button" %} -
- - - - - - - - - - -
- -{% elseif theme.baidushare.type === "slide" %} - -{% endif %} - diff --git a/themes/next/layout/_partials/share/duoshuo_share.swig b/themes/next/layout/_partials/share/duoshuo_share.swig deleted file mode 100644 index bfa26f4..0000000 --- a/themes/next/layout/_partials/share/duoshuo_share.swig +++ /dev/null @@ -1,18 +0,0 @@ -
-
- -
-
-
-
\ No newline at end of file diff --git a/themes/next/layout/_partials/share/jiathis.swig b/themes/next/layout/_partials/share/jiathis.swig deleted file mode 100644 index 6c64a71..0000000 --- a/themes/next/layout/_partials/share/jiathis.swig +++ /dev/null @@ -1,21 +0,0 @@ - -
- - - - - - - - - - - -
- - - diff --git a/themes/next/layout/_scripts/baidu-push.swig b/themes/next/layout/_scripts/baidu-push.swig deleted file mode 100644 index 092f8ec..0000000 --- a/themes/next/layout/_scripts/baidu-push.swig +++ /dev/null @@ -1,4 +0,0 @@ -{% if theme.baidu_push %} - -{% endif %} \ No newline at end of file diff --git a/themes/next/layout/_scripts/boostrap.swig b/themes/next/layout/_scripts/boostrap.swig deleted file mode 100644 index 5e95090..0000000 --- a/themes/next/layout/_scripts/boostrap.swig +++ /dev/null @@ -1,9 +0,0 @@ -{% - set boot_scripts = [ - 'src/bootstrap.js' - ] -%} - -{% for bs in boot_scripts %} - -{% endfor %} diff --git a/themes/next/layout/_scripts/commons.swig b/themes/next/layout/_scripts/commons.swig deleted file mode 100644 index abc2971..0000000 --- a/themes/next/layout/_scripts/commons.swig +++ /dev/null @@ -1,10 +0,0 @@ -{% - set js_commons = [ - 'src/utils.js', - 'src/motion.js' - ] -%} - -{% for common in js_commons %} - -{% endfor %} diff --git a/themes/next/layout/_scripts/pages/post-details.swig b/themes/next/layout/_scripts/pages/post-details.swig deleted file mode 100644 index 6938779..0000000 --- a/themes/next/layout/_scripts/pages/post-details.swig +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/themes/next/layout/_scripts/schemes/mist.swig b/themes/next/layout/_scripts/schemes/mist.swig deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/layout/_scripts/schemes/muse.swig b/themes/next/layout/_scripts/schemes/muse.swig deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/layout/_scripts/schemes/pisces.swig b/themes/next/layout/_scripts/schemes/pisces.swig deleted file mode 100644 index 5119eba..0000000 --- a/themes/next/layout/_scripts/schemes/pisces.swig +++ /dev/null @@ -1,10 +0,0 @@ -{% - set scripts = [ - 'src/affix.js', - 'src/schemes/pisces.js' - ] -%} - -{% for script in scripts %} - -{% endfor %} diff --git a/themes/next/layout/_scripts/third-party/analytics.swig b/themes/next/layout/_scripts/third-party/analytics.swig deleted file mode 100644 index 2dfac69..0000000 --- a/themes/next/layout/_scripts/third-party/analytics.swig +++ /dev/null @@ -1,5 +0,0 @@ -{% include 'analytics/facebook-sdk.swig' %} -{% include 'analytics/google-analytics.swig' %} -{% include 'analytics/baidu-analytics.swig' %} -{% include 'analytics/tencent-analytics.swig' %} -{% include 'analytics/cnzz-analytics.swig' %} diff --git a/themes/next/layout/_scripts/third-party/analytics/baidu-analytics.swig b/themes/next/layout/_scripts/third-party/analytics/baidu-analytics.swig deleted file mode 100644 index 3fd95b2..0000000 --- a/themes/next/layout/_scripts/third-party/analytics/baidu-analytics.swig +++ /dev/null @@ -1,11 +0,0 @@ -{% if theme.baidu_analytics %} - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/analytics/busuanzi-counter.swig b/themes/next/layout/_scripts/third-party/analytics/busuanzi-counter.swig deleted file mode 100644 index d13ebfb..0000000 --- a/themes/next/layout/_scripts/third-party/analytics/busuanzi-counter.swig +++ /dev/null @@ -1,17 +0,0 @@ -{% if theme.busuanzi_count.enable %} - -
- - - - {% if theme.busuanzi_count.site_uv %} - {{ theme.busuanzi_count.site_uv_header }}{{ theme.busuanzi_count.site_uv_footer }} - {% endif %} - - {% if theme.busuanzi_count.site_pv %} - {{ theme.busuanzi_count.site_pv_header }}{{ theme.busuanzi_count.site_pv_footer }} - {% endif %} - -
- -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/analytics/cnzz-analytics.swig b/themes/next/layout/_scripts/third-party/analytics/cnzz-analytics.swig deleted file mode 100644 index 655bc73..0000000 --- a/themes/next/layout/_scripts/third-party/analytics/cnzz-analytics.swig +++ /dev/null @@ -1,7 +0,0 @@ -{% if theme.cnzz_siteid %} - -
- -
- -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/analytics/facebook-sdk.swig b/themes/next/layout/_scripts/third-party/analytics/facebook-sdk.swig deleted file mode 100644 index b51ecef..0000000 --- a/themes/next/layout/_scripts/third-party/analytics/facebook-sdk.swig +++ /dev/null @@ -1,19 +0,0 @@ -{% if theme.facebook_sdk.enable %} - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/analytics/google-analytics.swig b/themes/next/layout/_scripts/third-party/analytics/google-analytics.swig deleted file mode 100644 index f8d6238..0000000 --- a/themes/next/layout/_scripts/third-party/analytics/google-analytics.swig +++ /dev/null @@ -1,10 +0,0 @@ -{% if theme.google_analytics %} - -{% endif %} \ No newline at end of file diff --git a/themes/next/layout/_scripts/third-party/analytics/tencent-analytics.swig b/themes/next/layout/_scripts/third-party/analytics/tencent-analytics.swig deleted file mode 100644 index c2fab35..0000000 --- a/themes/next/layout/_scripts/third-party/analytics/tencent-analytics.swig +++ /dev/null @@ -1,10 +0,0 @@ -{% if theme.tencent_analytics %} - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/comments.swig b/themes/next/layout/_scripts/third-party/comments.swig deleted file mode 100644 index fadd6d0..0000000 --- a/themes/next/layout/_scripts/third-party/comments.swig +++ /dev/null @@ -1,2 +0,0 @@ -{% include './comments/duoshuo.swig' %} -{% include './comments/disqus.swig' %} diff --git a/themes/next/layout/_scripts/third-party/comments/disqus.swig b/themes/next/layout/_scripts/third-party/comments/disqus.swig deleted file mode 100644 index 5e8e58e..0000000 --- a/themes/next/layout/_scripts/third-party/comments/disqus.swig +++ /dev/null @@ -1,26 +0,0 @@ -{% if not (theme.duoshuo and theme.duoshuo.shortname) and not theme.duoshuo_shortname %} - - {% if theme.disqus_shortname %} - - - {% endif %} - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/comments/duoshuo.swig b/themes/next/layout/_scripts/third-party/comments/duoshuo.swig deleted file mode 100644 index ab0b0e6..0000000 --- a/themes/next/layout/_scripts/third-party/comments/duoshuo.swig +++ /dev/null @@ -1,30 +0,0 @@ -{% if (theme.duoshuo and theme.duoshuo.shortname) or theme.duoshuo_shortname %} - - {% if theme.duoshuo %} - {% set duoshuo_shortname = theme.duoshuo.shortname %} - {% else %} - {% set duoshuo_shortname = theme.duoshuo_shortname %} - {% endif %} - - - - {% if theme.duoshuo_info.ua_enable %} - {% if theme.duoshuo_info.admin_enable %} - {% set ua_parser_internal = url_for(theme.vendors._internal) + '/ua-parser-js/dist/ua-parser.min.js?v=0.7.9' %} - - - {% endif %} - {% endif %} - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/lean-analytics.swig b/themes/next/layout/_scripts/third-party/lean-analytics.swig deleted file mode 100644 index 94e5d5b..0000000 --- a/themes/next/layout/_scripts/third-party/lean-analytics.swig +++ /dev/null @@ -1,108 +0,0 @@ -{% if theme.leancloud_visitors.enable %} - - {# custom analytics part create by xiamo #} - - - - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/localsearch.swig b/themes/next/layout/_scripts/third-party/localsearch.swig deleted file mode 100644 index 1bffe50..0000000 --- a/themes/next/layout/_scripts/third-party/localsearch.swig +++ /dev/null @@ -1,130 +0,0 @@ -{% if config.search.path %} - -{% endif %} \ No newline at end of file diff --git a/themes/next/layout/_scripts/third-party/mathjax.swig b/themes/next/layout/_scripts/third-party/mathjax.swig deleted file mode 100644 index 12eefdf..0000000 --- a/themes/next/layout/_scripts/third-party/mathjax.swig +++ /dev/null @@ -1,21 +0,0 @@ -{% if theme.mathjax.enable %} - - - - -{% endif %} diff --git a/themes/next/layout/_scripts/third-party/tinysou.swig b/themes/next/layout/_scripts/third-party/tinysou.swig deleted file mode 100644 index 6e18684..0000000 --- a/themes/next/layout/_scripts/third-party/tinysou.swig +++ /dev/null @@ -1,23 +0,0 @@ -{% if config.tinysou_Key %} - -{% endif %} \ No newline at end of file diff --git a/themes/next/layout/_scripts/vendors.swig b/themes/next/layout/_scripts/vendors.swig deleted file mode 100644 index cf22861..0000000 --- a/themes/next/layout/_scripts/vendors.swig +++ /dev/null @@ -1,23 +0,0 @@ -{# Reset `window.Promise` when it was not a function. #} -{# IE refers the element whose id is `Promise` as `window.Promise`, this causes Velocity throwing an exception #} - - -{% set js_vendors = {} %} -{% set js_vendors.jquery = 'jquery/index.js?v=2.1.3' %} -{% set js_vendors.fastclick = 'fastclick/lib/fastclick.min.js?v=1.0.6' %} -{% set js_vendors.lazyload = 'jquery_lazyload/jquery.lazyload.js?v=1.9.7' %} -{% set js_vendors.velocity = 'velocity/velocity.min.js?v=1.2.1' %} -{% set js_vendors.velocity_ui = 'velocity/velocity.ui.min.js?v=1.2.1' %} - -{% if theme.fancybox %} - {% set js_vendors.fancybox = 'fancybox/source/jquery.fancybox.pack.js?v=2.1.5' %} -{% endif %} - -{% for name, internal in js_vendors %} - {% set internal_script = url_for(theme.vendors._internal) + '/' + internal %} - -{% endfor %} diff --git a/themes/next/layout/archive.swig b/themes/next/layout/archive.swig deleted file mode 100644 index bbc81b4..0000000 --- a/themes/next/layout/archive.swig +++ /dev/null @@ -1,63 +0,0 @@ -{% extends '_layout.swig' %} -{% import '_macro/post-collapse.swig' as post_template %} -{% import '_macro/sidebar.swig' as sidebar_template %} - -{% block title %} {{ __('title.archive') }} | {{ config.title }} {% endblock %} - -{% block page_class %} page-archive {% endblock %} - -{% block content %} - -
- - - - {% set cheers %} - {% set posts_length = site.posts.length %} - {% if posts_length > 210 %} {% set cheers = 'excellent' %} - {% elif posts_length > 130 %} {% set cheers = 'great' %} - {% elif posts_length > 80 %} {% set cheers = 'good' %} - {% elif posts_length > 50 %} {% set cheers = 'nice' %} - {% elif posts_length > 30 %} {% set cheers = 'ok' %} - {% else %} - {% set cheers = 'um' %} - {% endif %} - {{ __('cheers.' + cheers) }}! {{ _p("counter.archive_posts", site.posts.length) }} {{ __('keep_on') }} - - - {% for post in page.posts %} - - {# Show year #} - {% set year %} - {% set post.year = date(post.date, 'YYYY') %} - - {% if post.year !== year %} - {% set year = post.year %} -
-

{{ year }}

-
- {% endif %} - {# endshow #} - - {{ post_template.render(post) }} - - {% endfor %} - -
- - {% include '_partials/pagination.swig' %} - -{% endblock %} - -{% block sidebar %} - {{ sidebar_template.render(false) }} -{% endblock %} - - -{% block script_extra %} - {% if theme.use_motion %} - - {% endif %} -{% endblock %} diff --git a/themes/next/layout/category.swig b/themes/next/layout/category.swig deleted file mode 100644 index b945355..0000000 --- a/themes/next/layout/category.swig +++ /dev/null @@ -1,28 +0,0 @@ -{% extends '_layout.swig' %} -{% import '_macro/post-collapse.swig' as post_template %} -{% import '_macro/sidebar.swig' as sidebar_template %} - -{% block title %} {{ __('title.category') }}: {{ page.category }} | {{ config.title }} {% endblock %} - -{% block content %} - -
-
-

- {{ page.category }} - {{ __('title.category') }} -

-
- - {% for post in page.posts %} - {{ post_template.render(post) }} - {% endfor %} -
- - {% include '_partials/pagination.swig' %} - -{% endblock %} - -{% block sidebar %} - {{ sidebar_template.render(false) }} -{% endblock %} diff --git a/themes/next/layout/index.swig b/themes/next/layout/index.swig deleted file mode 100644 index 219316e..0000000 --- a/themes/next/layout/index.swig +++ /dev/null @@ -1,23 +0,0 @@ -{% extends '_layout.swig' %} -{% import '_macro/post.swig' as post_template %} -{% import '_macro/sidebar.swig' as sidebar_template %} - -{% block title %} {{ config.title }} {% endblock %} - -{% block page_class %} - {% if is_home() %} page-home {% endif %} -{% endblock %} - -{% block content %} -
- {% for post in page.posts %} - {{ post_template.render(post, true) }} - {% endfor %} -
- - {% include '_partials/pagination.swig' %} -{% endblock %} - -{% block sidebar %} - {{ sidebar_template.render(false) }} -{% endblock %} diff --git a/themes/next/layout/page.swig b/themes/next/layout/page.swig deleted file mode 100644 index ef766f0..0000000 --- a/themes/next/layout/page.swig +++ /dev/null @@ -1,47 +0,0 @@ -{% extends '_layout.swig' %} -{% import '_macro/sidebar.swig' as sidebar_template %} - -{% block title %} - {% set page_title_suffix = ' | ' + config.title %} - - {% if page.type === "categories" %} - {{ __('title.category') + page_title_suffix }} - {% elif page.type === "tags" %} - {{ __('title.tag') + page_title_suffix }} - {% else %} - {{ page.title + page_title_suffix }} - {% endif %} -{% endblock %} - -{% block content %} - -
- {# tagcloud page support #} - {% if page.type === "tags" %} -
-
- {{ _p('counter.tag_cloud', site.tags.length) }} -
-
- {{ tagcloud({min_font: 12, max_font: 30, amount: 200, color: true, start_color: '#ccc', end_color: '#111'}) }} -
-
- {% elif page.type === 'categories' %} -
-
- {{ _p('counter.categories', site.categories.length) }} -
-
- {{ list_categories() }} -
-
- {% else %} - {{ page.content }} - {% endif %} -
- -{% endblock %} - -{% block sidebar %} - {{ sidebar_template.render(false) }} -{% endblock %} diff --git a/themes/next/layout/post.swig b/themes/next/layout/post.swig deleted file mode 100644 index 9f12a62..0000000 --- a/themes/next/layout/post.swig +++ /dev/null @@ -1,38 +0,0 @@ -{% extends '_layout.swig' %} -{% import '_macro/post.swig' as post_template %} -{% import '_macro/sidebar.swig' as sidebar_template %} - - -{% block title %} {{ page.title }} | {{ config.title }} {% endblock %} - -{% block page_class %}page-post-detail{% endblock %} - - -{% block content %} - -
- {{ post_template.render(page) }} - -
- {% if theme.jiathis %} - {% include '_partials/share/jiathis.swig' %} - {% elseif theme.baidushare %} - {% include '_partials/share/baidushare.swig' %} - {% elseif theme.add_this_id %} - {% include '_partials/share/add-this.swig' %} - {% elseif theme.duoshuo_shortname and theme.duoshuo_share %} - {% include '_partials/share/duoshuo_share.swig' %} - {% endif %} -
-
- -{% endblock %} - -{% block sidebar %} - {{ sidebar_template.render(true) }} -{% endblock %} - - -{% block script_extra %} - {% include '_scripts/pages/post-details.swig' %} -{% endblock %} diff --git a/themes/next/layout/tag.swig b/themes/next/layout/tag.swig deleted file mode 100644 index b2da253..0000000 --- a/themes/next/layout/tag.swig +++ /dev/null @@ -1,27 +0,0 @@ -{% extends '_layout.swig' %} -{% import '_macro/post-collapse.swig' as post_template %} -{% import '_macro/sidebar.swig' as sidebar_template %} - -{% block title %} {{ __('title.tag') }}: {{ page.tag }} | {{ config.title }} {% endblock %} - -{% block content %} - -
-
-

- {{ page.tag }} - {{ __('title.tag') }} -

-
- - {% for post in page.posts %} - {{ post_template.render(post) }} - {% endfor %} -
- - {% include '_partials/pagination.swig' %} -{% endblock %} - -{% block sidebar %} - {{ sidebar_template.render(false) }} -{% endblock %} diff --git a/themes/next/package.json b/themes/next/package.json deleted file mode 100644 index b443062..0000000 --- a/themes/next/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "hexo-theme-next", - "version": "5.0.0", - "description": "Elegant theme for Hexo", - "main": "index.js", - "directories": { - "test": "test" - }, - "scripts": { - "test": "gulp" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/iissnan/hexo-theme-next.git" - }, - "keywords": [ - "NexT", - "Hexo" - ], - "author": "iissnan ", - "license": "MIT", - "bugs": { - "url": "https://github.com/iissnan/hexo-theme-next/issues" - }, - "homepage": "https://github.com/iissnan/hexo-theme-next#readme", - "devDependencies": { - "coffee-script": "^1.10.0", - "gulp": "^3.9.0", - "gulp-jshint": "^1.12.0", - "jshint-stylish": "^2.1.0" - } -} diff --git a/themes/next/scripts/merge-configs.js b/themes/next/scripts/merge-configs.js deleted file mode 100644 index e022242..0000000 --- a/themes/next/scripts/merge-configs.js +++ /dev/null @@ -1,51 +0,0 @@ -/* global hexo */ - -/** - * Merge configs in _data/next.yml into hexo.theme.config. - * Note: configs in _data/next.yml will override configs in hexo.theme.config. - */ -hexo.on('generateBefore', function () { - if (hexo.locals.get) { - var data = hexo.locals.get('data'); - data && data.next && assign(hexo.theme.config, data.next); - } -}); - - -// https://github.com/sindresorhus/object-assign -function assign(target, source) { - var from; - var keys; - var to = toObject(target); - - for (var s = 1; s < arguments.length; s++) { - from = arguments[s]; - keys = ownEnumerableKeys(Object(from)); - - for (var i = 0; i < keys.length; i++) { - to[keys[i]] = from[keys[i]]; - } - } - - return to; -} - -function toObject(val) { - if (val == null) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function ownEnumerableKeys(obj) { - var keys = Object.getOwnPropertyNames(obj); - - if (Object.getOwnPropertySymbols) { - keys = keys.concat(Object.getOwnPropertySymbols(obj)); - } - - return keys.filter(function (key) { - return Object.prototype.propertyIsEnumerable.call(obj, key); - }); -} diff --git a/themes/next/scripts/tags/center-quote.js b/themes/next/scripts/tags/center-quote.js deleted file mode 100644 index 93c5258..0000000 --- a/themes/next/scripts/tags/center-quote.js +++ /dev/null @@ -1,12 +0,0 @@ -/* global hexo */ -// Usage: {% centerquote %} Something {% endcenterquote %} -// Alias: {% cq %} Something {% endcq %} - -function centerQuote (args, content) { - return '
' + - hexo.render.renderSync({text: content, engine: 'markdown'}) + - '
'; -} - -hexo.extend.tag.register('centerquote', centerQuote, {ends: true}); -hexo.extend.tag.register('cq', centerQuote, {ends: true}); diff --git a/themes/next/scripts/tags/full-image.js b/themes/next/scripts/tags/full-image.js deleted file mode 100644 index 4c426a2..0000000 --- a/themes/next/scripts/tags/full-image.js +++ /dev/null @@ -1,26 +0,0 @@ -/* global hexo */ -// Usage: {% fullimage /path/to/image, alt, title %} -// Alias: {% fi /path/to/image, alt, title %} - -function fullImage(args) { - args = args.join(' ').split(','); - var src = args[0]; - var alt = args[1] || ''; - var title = args[2] || ''; - - if (!src) { - hexo.log.warn('Image src can NOT be empty'); - } - alt = alt.trim(); - title = title.trim(); - - var image = [' 0 && image.push('alt="' + alt + '"'); - title.length > 0 && image.push('title="' + title + '"'); - image.push('/>'); - - return image.join(' '); -} - -hexo.extend.tag.register('fullimage', fullImage); -hexo.extend.tag.register('fi', fullImage); diff --git a/themes/next/scripts/tags/group-pictures.js b/themes/next/scripts/tags/group-pictures.js deleted file mode 100644 index df7774b..0000000 --- a/themes/next/scripts/tags/group-pictures.js +++ /dev/null @@ -1,833 +0,0 @@ -/* global hexo */ -// Usage: {% grouppicture group-layout %}{% endgrouppicture %} -// Alias: {% gp group-layout %}{% endgp %} - -function groupPicture(args, content) { - args = args[0].split('-'); - var group = parseInt(args[0]); - var layout = parseInt(args[1]); - - content = hexo.render.renderSync({text: content, engine: 'markdown'}); - - var pictures = content.match(//g); - - return '
' + - templates.dispatch(pictures, group, layout) + - '
'; -} - -var templates = { - - dispatch: function (pictures, group, layout) { - var fn = 'group' + group + 'Layout' + layout; - fn = templates[fn] || templates.defaults; - return fn.call(templates, pictures); - }, - - /** - * 2-1 - * - * □ - * □ - * - * @param pictures - * @returns {string} - */ - group2Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1) - ]); - }, - - /** - * 2-2 - * - * □ □ - * - * @param pictures - */ - group2Layout2: function (pictures) { - return this.getHTML(pictures); - }, - - /** - * 3-1 - * - * □ □ □ - * - * @param pictures - */ - group3Layout1: function (pictures) { - return this.getHTML(pictures); - }, - - /** - * 3-2 - * - * □ - * □ □ - * - * @param pictures - */ - group3Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1) - ]); - }, - - /** - * 3-3 - * - * □ □ - * □ - * - * @param pictures - */ - group3Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2) - ]); - }, - - /** - * 4-1 - * - * □ - * □ □ - * □ - * - * @param pictures - */ - group4Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3) - ]); - }, - - /** - * 4-2 - * - * □ - * □ □ □ - * - * @param pictures - */ - group4Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1) - ]); - }, - - /** - * 4-3 - * - * □ □ - * □ □ - * - * @param pictures - */ - group4Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2) - ]); - }, - - /** - * 4-4 - * - * □ □ □ - * □ - * - * @param pictures - */ - group4Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3) - ]); - }, - - /** - * 5-1 - * - * □ - * □ □ - * □ □ - * - * @param pictures - */ - group5Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3) - ]); - }, - - /** - * 5-2 - * - * □ □ - * □ - * □ □ - * - * @param pictures - */ - group5Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 3), - pictures.slice(3) - ]); - }, - - /** - * 5-3 - * - * □ □ - * □ □ □ - * - * @param pictures - */ - group5Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2) - ]); - }, - - /** - * 5-4 - * - * □ □ □ - * □ □ - * - * @param pictures - */ - group5Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3) - ]); - }, - - /** - * 6-1 - * - * □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group6Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3) - ]); - }, - - /** - * 6-2 - * - * □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group6Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 4), - pictures.slice(4) - ]); - }, - - /** - * 6-3 - * - * □ □ - * □ - * □ □ □ - * - * @param pictures - */ - group6Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 3), - pictures.slice(3) - ]); - }, - - /** - * 6-4 - * - * □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group6Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 4), - pictures.slice(4) - ]); - }, - - /** - * 6-5 - * - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group6Layout5: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3) - ]); - }, - - /** - * 7-1 - * - * □ - * □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group7Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3, 5), - pictures.slice(5) - ]); - }, - - /** - * 7-2 - * - * □ - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group7Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 4), - pictures.slice(4) - ]); - }, - - /** - * 7-3 - * - * □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group7Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 4), - pictures.slice(4) - ]); - }, - - /** - * 7-4 - * - * □ □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group7Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 5), - pictures.slice(5) - ]); - }, - - /** - * 7-5 - * - * □ □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group7Layout5: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 5), - pictures.slice(5) - ]); - }, - - /** - * 8-1 - * - * □ - * □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group8Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3, 5), - pictures.slice(5) - ]); - }, - - /** - * 8-2 - * - * □ - * □ □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group8Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3, 6), - pictures.slice(6) - ]); - }, - - /** - * 8-3 - * - * □ - * □ □ □ - * □ □ - * □ □ - * @param pictures - */ - group8Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 4), - pictures.slice(4, 6), - pictures.slice(6) - ]); - }, - - /** - * 8-4 - * - * □ □ - * □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group8Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 4), - pictures.slice(4, 6), - pictures.slice(6) - ]); - }, - - /** - * 8-5 - * - * □ □ - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group8Layout5: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 5), - pictures.slice(5) - ]); - }, - - /** - * 8-6 - * - * □ □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group8Layout6: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 5), - pictures.slice(5) - ]); - }, - - /** - * 8-7 - * - * □ □ □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group8Layout7: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 6), - pictures.slice(6) - ]); - }, - - /** - * 9-1 - * - * □ - * □ □ - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group9Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 3), - pictures.slice(3, 6), - pictures.slice(6) - ]); - }, - - /** - * 9-2 - * - * □ - * □ □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group9Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 4), - pictures.slice(4, 6), - pictures.slice(6) - ]); - }, - - /** - * 9-3 - * - * □ □ - * □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group9Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 4), - pictures.slice(4, 6), - pictures.slice(6) - ]); - }, - - /** - * 9-4 - * - * □ □ - * □ □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group9Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 4), - pictures.slice(4, 7), - pictures.slice(7) - ]); - }, - - /** - * 9-5 - * - * □ □ - * □ □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group9Layout5: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 5), - pictures.slice(5, 7), - pictures.slice(7) - ]); - }, - - /** - * 9-6 - * - * □ □ □ - * □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group9Layout6: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 5), - pictures.slice(5, 7), - pictures.slice(7) - ]); - }, - - /** - * 9-7 - * - * □ □ □ - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group9Layout7: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 6), - pictures.slice(6) - ]); - }, - - /** - * 10-1 - * - * □ - * □ □ □ - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group10Layout1: function (pictures) { - return this.getHTML([ - pictures.slice(0, 1), - pictures.slice(1, 4), - pictures.slice(4, 7), - pictures.slice(7) - ]); - }, - - /** - * 10-2 - * - * □ □ - * □ □ - * □ □ □ - * □ □ □ - * - * @param pictures - */ - group10Layout2: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 4), - pictures.slice(4, 7), - pictures.slice(7) - ]); - }, - - /** - * 10-3 - * - * □ □ - * □ □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group10Layout3: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 5), - pictures.slice(5, 7), - pictures.slice(7) - ]); - }, - - /** - * 10-4 - * - * □ □ - * □ □ □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group10Layout4: function (pictures) { - return this.getHTML([ - pictures.slice(0, 2), - pictures.slice(2, 5), - pictures.slice(5, 8), - pictures.slice(8) - ]); - }, - - /** - * 10-5 - * - * □ □ □ - * □ □ - * □ □ - * □ □ □ - * - * @param pictures - */ - group10Layout5: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 5), - pictures.slice(5, 7), - pictures.slice(7) - ]); - }, - - /** - * 10-6 - * - * □ □ □ - * □ □ - * □ □ □ - * □ □ - * - * @param pictures - */ - group10Layout6: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 5), - pictures.slice(5, 8), - pictures.slice(8) - ]); - }, - - /** - * 10-7 - * - * □ □ □ - * □ □ □ - * □ □ - * □ □ - * - * @param pictures - */ - group10Layout7: function (pictures) { - return this.getHTML([ - pictures.slice(0, 3), - pictures.slice(3, 6), - pictures.slice(6, 8), - pictures.slice(8) - ]); - }, - - /** - * Defaults Layout - * - * □ □ □ - * □ □ □ - * ... - * - * @param pictures - */ - defaults: function (pictures) { - var ROW_SIZE = 3; - var rows = pictures.length / ROW_SIZE + 1; - var pictureArr = []; - - for (var i = 0; i < rows; i++) { - pictureArr.push(pictures.slice(i * ROW_SIZE, (i + 1) * ROW_SIZE)); - } - - return this.getHTML(pictureArr); - }, - - getHTML: function (rows) { - var rowHTML = ''; - - for (var i = 0; i < rows.length; i++) { - rowHTML += this.getRowHTML(rows[i]); - } - - return '
' + rowHTML + '
'; - }, - - getRowHTML: function (pictures) { - return ( - '
' + - this.getColumnHTML(pictures) + - '
' - ); - }, - - getColumnHTML: function (pictures) { - var columns = []; - var columnWidth = 100 / pictures.length; - var columnStyle = ' style="width: ' + columnWidth + '%;"'; - - for (var i = 0; i < pictures.length; i++) { - columns.push('
' + pictures[i] + '
'); - } - return columns.join(''); - } -}; - -hexo.extend.tag.register('grouppicture', groupPicture, {ends: true}); -hexo.extend.tag.register('gp', groupPicture, {ends: true}); diff --git a/themes/next/source/css/_common/components/back-to-top.styl b/themes/next/source/css/_common/components/back-to-top.styl deleted file mode 100644 index 81d98bd..0000000 --- a/themes/next/source/css/_common/components/back-to-top.styl +++ /dev/null @@ -1,29 +0,0 @@ -.back-to-top { - box-sizing: border-box; - position: fixed; - bottom: $b2t-position-bottom; - right: $b2t-position-right; - z-index: $zindex-5; - padding: 0 6px; - width: 25px; - background: $b2t-bg-color; - font-size: $b2t-font-size; - opacity: $b2t-opacity; - color: $b2t-color; - cursor: pointer; - text-align: center; - -webkit-transform: translateZ(0); - transition-property: bottom; - the-transition(); - - +mobile() { - display: none; - } - +tablet() { - display: none; - } - - &.back-to-top-on { - bottom: $b2t-position-bottom-on; - } -} diff --git a/themes/next/source/css/_common/components/buttons.styl b/themes/next/source/css/_common/components/buttons.styl deleted file mode 100644 index e0d08f6..0000000 --- a/themes/next/source/css/_common/components/buttons.styl +++ /dev/null @@ -1,28 +0,0 @@ -.btn { - display: inline-block; - padding: 0 20px; - font-size: $btn-default-font-size; - color: $btn-default-color; - background: $btn-default-bg; - border: $btn-default-border-width solid $btn-default-border-color; - text-decoration: none; - border-radius: $btn-default-radius; - transition-property: background-color; - the-transition(); - - &:hover { - border-color: $btn-default-hover-border-color; - color: $btn-default-hover-color; - background: $btn-default-hover-bg; - } -} - -.btn-bar { - display: block; - width: 22px; - height: 2px; - background: $text-color; - border-radius: 1px; - - &+.btn-bar { margin-top: 4px; } -} diff --git a/themes/next/source/css/_common/components/comments.styl b/themes/next/source/css/_common/components/comments.styl deleted file mode 100644 index bf3edb9..0000000 --- a/themes/next/source/css/_common/components/comments.styl +++ /dev/null @@ -1 +0,0 @@ -.comments { margin: 60px 20px 0; } diff --git a/themes/next/source/css/_common/components/components.styl b/themes/next/source/css/_common/components/components.styl deleted file mode 100644 index 6db1707..0000000 --- a/themes/next/source/css/_common/components/components.styl +++ /dev/null @@ -1,16 +0,0 @@ -@import "highlight"; -@import "tags"; - -@import "buttons"; -@import "pagination"; -@import "comments"; -@import "tag-cloud"; -@import "back-to-top"; - -@import "header"; -@import "post"; -@import "sidebar"; -@import "footer"; -@import "third-party"; - -@import "pages"; diff --git a/themes/next/source/css/_common/components/footer/footer.styl b/themes/next/source/css/_common/components/footer/footer.styl deleted file mode 100644 index 550704b..0000000 --- a/themes/next/source/css/_common/components/footer/footer.styl +++ /dev/null @@ -1,39 +0,0 @@ -.footer { - font-size: 14px; - color: $grey-dark; - - img { border: none; } -} - -.footer-inner { text-align: center; } - -.with-love { - display: inline-block; - margin: 0 5px; -} - -.powered-by, -.theme-info { display: inline-block; } - -.powered-by { - margin-right: 10px; - - &::after { - content: "|"; - padding-left: 10px; - } -} - -.cc-license { - margin-top: 10px; - text-align: center; - - .cc-opacity { - opacity: 0.7; - border-bottom: none; - - &:hover { opacity: 0.9; } - } - - img { display: inline-block; } -} diff --git a/themes/next/source/css/_common/components/header/header.styl b/themes/next/source/css/_common/components/header/header.styl deleted file mode 100644 index 01f7f8a..0000000 --- a/themes/next/source/css/_common/components/header/header.styl +++ /dev/null @@ -1,9 +0,0 @@ -.header { background: $head-bg; } - -.header-inner { position: relative; } - - -@import "headerband"; -@import "site-meta"; -@import "site-nav"; -@import "menu"; diff --git a/themes/next/source/css/_common/components/header/headerband.styl b/themes/next/source/css/_common/components/header/headerband.styl deleted file mode 100644 index 382dbd9..0000000 --- a/themes/next/source/css/_common/components/header/headerband.styl +++ /dev/null @@ -1,4 +0,0 @@ -.headband { - height: $headband-height; - background: $headband-bg; -} diff --git a/themes/next/source/css/_common/components/header/menu.styl b/themes/next/source/css/_common/components/header/menu.styl deleted file mode 100644 index f5b1bea..0000000 --- a/themes/next/source/css/_common/components/header/menu.styl +++ /dev/null @@ -1,31 +0,0 @@ -// Menu -// -------------------------------------------------- -.menu { - margin-top: 20px; - padding-left: 0; - text-align: center; -} - -.menu .menu-item { - display: inline-block; - margin: 0 10px; - @media screen and (max-width: 767px) { - margin-top: 10px; - } - - a { - display: block; - font-size: 13px; - text-transform: capitalize; - line-height: inherit; - border-bottom: 1px solid $menu-link-border; - transition-property: border-color; - the-transition(); - - &:hover { border-bottom-color: $menu-link-hover-border; } - } - - .fa { margin-right: 5px; } -} - -.use-motion .menu-item { opacity: 0; } diff --git a/themes/next/source/css/_common/components/header/site-meta.styl b/themes/next/source/css/_common/components/header/site-meta.styl deleted file mode 100644 index efe31ec..0000000 --- a/themes/next/source/css/_common/components/header/site-meta.styl +++ /dev/null @@ -1,48 +0,0 @@ -.site-meta { - margin: 0; - text-align: $site-meta-text-align; - - +mobile() { text-align: center; } -} - -.brand { - position: relative; - display: inline-block; - padding: 0 40px; - color: $brand-color; - background: $brand-bg; - border-bottom: none; - &:hover { color: $brand-hover-color; } -} - -.logo { - display: inline-block; - margin-right: 5px; - line-height: 36px; - vertical-align: top; -} - -.site-title { - display: inline-block; - vertical-align: top; - line-height: 36px; - font-size: $logo-font-size; - font-weight: normal; - font-family: $font-family-logo; -} - -.site-subtitle { - margin-top: 10px; - font-size: $subtitle-font-size; - color: $subtitle-color; -} - -.use-motion { - .brand { opacity: 0; } - - .logo, .site-title, .site-subtitle { - opacity: 0; - position: relative; - top: -10px; - } -} diff --git a/themes/next/source/css/_common/components/header/site-nav.styl b/themes/next/source/css/_common/components/header/site-nav.styl deleted file mode 100644 index c6446e7..0000000 --- a/themes/next/source/css/_common/components/header/site-nav.styl +++ /dev/null @@ -1,28 +0,0 @@ -.site-nav-toggle { - display: none; - position: absolute; - top: 10px; - left: 10px; - +mobile() { - display: block; - } - - button { - margin-top: 2px; - padding: 9px 10px; - background: transparent; - border: none; - } -} - -.site-nav { - +mobile() { - display: none; - margin: 0 -10px; - padding: 0 10px; - clear: both; - border-top: 1px solid $gray-lighter; - } - +tablet() { display: block !important; } - +desktop() { display: block !important; } -} diff --git a/themes/next/source/css/_common/components/highlight/highlight.styl b/themes/next/source/css/_common/components/highlight/highlight.styl deleted file mode 100644 index 5bd633b..0000000 --- a/themes/next/source/css/_common/components/highlight/highlight.styl +++ /dev/null @@ -1,153 +0,0 @@ -// https://github.com/chriskempson/tomorrow-theme - -@require "theme" - -// Placeholder: $code-block -$code-block { - overflow: auto; - margin: 20px 0; - padding: 15px; - font-size $code-font-size; - color: $highlight-foreground; - background: $highlight-background; - line-height: $line-height-code-block; -} - -pre, code { font-family: $code-font-family; } - -code { - padding: 2px 4px; - word-break: break-all; - color: $code-foreground; - background: $code-background; - border-radius: $code-border-radius; - font-size $code-font-size; -} - -pre { - @extend $code-block; - - code { - padding: 0; - color: $highlight-foreground; - background: none; - text-shadow: none; - } -} - -.highlight { - @extend $code-block; - - pre { - border: none; - margin: 0; - padding: 1px; - } - - table { - margin: 0; - width: auto; - border: none; - } - - td { - border: none; - padding: 0; - } - - figcaption { - clearfix(); - font-size: 1em; - color: $highlight-foreground; - line-height: 1em; - margin-bottom: 1em; - - a { - float: right; - color: $highlight-foreground; - - &:hover { border-bottom-color: $highlight-foreground; } - } - } - - .gutter pre { - color: $grey-dim; - text-align: right; - padding-right: 20px; - } - - .line { height: 20px; } -} - - -.gist table { - width: auto; - - td { border: none; } -} - -pre { - - .comment { color: $highlight-comment; } - - .variable - .attribute - .tag - .regexp - .ruby .constant - .xml .tag .title - .xml .pi - .xml .doctype - .html .doctype - .css .id - .css .class - .css .pseudo { - color: $highlight-red; - } - - .number - .preprocessor - .built_in - .literal - .params - .constant - .command { - color: $highlight-orange; - } - - .ruby .class .title - .css .rules .attribute - .string - .value - .inheritance - .header - .ruby .symbol - .xml .cdata - .special - .number - .formula { - color: $highlight-green; - } - - .title - .css .hexcolor { - color: $highlight-aqua; - } - - .function - .python .decorator - .python .title - .ruby .function .title - .ruby .title .keyword - .perl .sub - .javascript .title - .coffeescript .title { - color: $highlight-blue; - } - - .keyword - .javascript .function { - color: $highlight-purple; - } - -} diff --git a/themes/next/source/css/_common/components/highlight/theme.styl b/themes/next/source/css/_common/components/highlight/theme.styl deleted file mode 100644 index 7620430..0000000 --- a/themes/next/source/css/_common/components/highlight/theme.styl +++ /dev/null @@ -1,72 +0,0 @@ -$highlight_theme = hexo-config("highlight_theme") - - -if $highlight_theme == "normal" - $highlight-background = #f7f7f7 - $highlight-current-line = #efefef - $highlight-selection = #d6d6d6 - $highlight-foreground = #4d4d4c - $highlight-comment = #8e908c - $highlight-red = #c82829 - $highlight-orange = #f5871f - $highlight-yellow = #eab700 - $highlight-green = #718c00 - $highlight-aqua = #3e999f - $highlight-blue = #4271ae - $highlight-purple = #8959a8 - -if $highlight_theme == "night" - $highlight-background = #1d1f21 - $highlight-current-line = #282a2e - $highlight-selection = #373b41 - $highlight-foreground = #c5c8c6 - $highlight-comment = #969896 - $highlight-red = #cc6666 - $highlight-orange = #de935f - $highlight-yellow = #f0c674 - $highlight-green = #b5bd68 - $highlight-aqua = #8abeb7 - $highlight-blue = #81a2be - $highlight-purple = #b294bb - -if $highlight_theme == "night eighties" - $highlight-background = #2d2d2d - $highlight-current-line = #393939 - $highlight-selection = #515151 - $highlight-foreground = #cccccc - $highlight-comment = #999999 - $highlight-red = #f2777a - $highlight-orange = #f99157 - $highlight-yellow = #ffcc66 - $highlight-green = #99cc99 - $highlight-aqua = #66cccc - $highlight-blue = #6699cc - $highlight-purple = #cc99cc - -if $highlight_theme == "night blue" - $highlight-background = #002451 - $highlight-current-line = #00346e - $highlight-selection = #003f8e - $highlight-foreground = #ffffff - $highlight-comment = #7285b7 - $highlight-red = #ff9da4 - $highlight-orange = #ffc58f - $highlight-yellow = #ffeead - $highlight-green = #d1f1a9 - $highlight-aqua = #99ffff - $highlight-blue = #bbdaff - $highlight-purple = #ebbbff - -if $highlight_theme == "night bright" - $highlight-background = #000000 - $highlight-current-line = #2a2a2a - $highlight-selection = #424242 - $highlight-foreground = #eaeaea - $highlight-comment = #969896 - $highlight-red = #d54e53 - $highlight-orange = #e78c45 - $highlight-yellow = #e7c547 - $highlight-green = #b9ca4a - $highlight-aqua = #70c0b1 - $highlight-blue = #7aa6da - $highlight-purple = #c397d8 diff --git a/themes/next/source/css/_common/components/pages/archive.styl b/themes/next/source/css/_common/components/pages/archive.styl deleted file mode 100644 index a6f36d8..0000000 --- a/themes/next/source/css/_common/components/pages/archive.styl +++ /dev/null @@ -1,33 +0,0 @@ -.use-motion { - .post { opacity: 0; } -} - -.page-archive { - - .archive-page-counter { - position: relative; - top: 3px; - left: 20px; - - +mobile() { - top: 5px; - } - } - - .posts-collapse { - - .archive-move-on { - position: absolute; - top: 11px; - left: 0; - margin-left: -6px; - width: 10px; - height: 10px; - opacity: 0.5; - background: $black-light; - border: 1px solid white; - - circle(); - } - } -} diff --git a/themes/next/source/css/_common/components/pages/categories.styl b/themes/next/source/css/_common/components/pages/categories.styl deleted file mode 100644 index db3bb10..0000000 --- a/themes/next/source/css/_common/components/pages/categories.styl +++ /dev/null @@ -1,27 +0,0 @@ -.category-all-page { - .category-all-title { text-align: center; } - - .category-all { margin-top: 20px; } - - .category-list { - margin: 0; - padding: 0; - list-style: none; - } - - .category-list-item { margin: 5px 10px; } - - .category-list-count { - color: $grey; - &:before { - display: inline; - content: " (" - } - &:after { - display: inline; - content: ") " - } - } - - .category-list-child { padding-left: 10px; } -} diff --git a/themes/next/source/css/_common/components/pages/pages.styl b/themes/next/source/css/_common/components/pages/pages.styl deleted file mode 100644 index 769d94d..0000000 --- a/themes/next/source/css/_common/components/pages/pages.styl +++ /dev/null @@ -1,5 +0,0 @@ -// Page specific styles - -@import "archive"; -@import "categories"; -@import "post-detail"; diff --git a/themes/next/source/css/_common/components/pages/post-detail.styl b/themes/next/source/css/_common/components/pages/post-detail.styl deleted file mode 100644 index 3f26afd..0000000 --- a/themes/next/source/css/_common/components/pages/post-detail.styl +++ /dev/null @@ -1,6 +0,0 @@ -.page-post-detail { - - .sidebar-toggle-line { background: $sidebar-highlight; } - - .comments { overflow: hidden; } -} diff --git a/themes/next/source/css/_common/components/pagination.styl b/themes/next/source/css/_common/components/pagination.styl deleted file mode 100644 index 43455b0..0000000 --- a/themes/next/source/css/_common/components/pagination.styl +++ /dev/null @@ -1,56 +0,0 @@ -.pagination { - margin: 120px 0 40px; - text-align: center; - border-top: 1px solid $pagination-border; -} - -.page-number-basic { - display: inline-block; - position: relative; - top: -1px; - margin: 0 10px; - padding: 0 10px; - line-height: 30px; - - +mobile() { margin: 0 5px; } -} - -.pagination { - .prev, .next, .page-number { - @extend .page-number-basic; - border-bottom: 0; - border-top: 1px solid $pagination-link-border; - transition-property: border-color; - the-transition(); - - &:hover { border-top-color: $pagination-link-hover-border; } - } - - .space { - @extend .page-number-basic; - padding: 0; - margin: 0; - } - - .prev { margin-left: 0; } - .next { margin-right: 0; } - - .page-number.current { - color: $pagination-active-color; - background: $pagination-active-bg; - border-top-color: $pagination-active-border; - } -} - -@media (max-width: 767px) - .pagination { border-top: none; } - - .pagination { - .prev, .next, .page-number { - margin-bottom: 10px; - border-top: 0; - border-bottom: 1px solid $pagination-link-border; - - &:hover { border-bottom-color: $pagination-link-hover-border; } - } - } diff --git a/themes/next/source/css/_common/components/post/post-collapse.styl b/themes/next/source/css/_common/components/post/post-collapse.styl deleted file mode 100644 index 31daedd..0000000 --- a/themes/next/source/css/_common/components/post/post-collapse.styl +++ /dev/null @@ -1,111 +0,0 @@ -// TODO: Refactor. - -@media (max-width: 767px) { - .posts-collapse { - margin: 0 20px; - - .post-title, .post-meta { - display: block; - width: auto; - text-align: left; - } - } -} - -.posts-collapse { - position: relative; - z-index: $zindex-1; - - &::after { - content: " "; - position: absolute; - top: 20px; - left: 0; - margin-left: -2px; - width: 4px; - height: 100%; - background: $whitesmoke; - z-index: $zindex-bottom; - } - - margin-left: $posts-collapse-left; - +mobile() { margin: 0 20px; } - - .collection-title { - position: relative; - margin: 60px 0; - - h2 { margin-left: 20px; } - - small { color: $grey; } - - &::before { - content: " "; - position: absolute; - left: 0; - top: 50%; - margin-left: -4px; - margin-top: -4px; - width: 8px; - height: 8px; - background: $grey; - circle(); - } - } - - .post { margin: 30px 0; } - - .post-header { - position: relative; - the-transition(); - transition-property: border; - border-bottom: 1px dashed $grey-light; - - &::before { - content: " "; - position: absolute; - left: 0; - top: 12px; - width: 6px; - height: 6px; - margin-left: -4px; - background: $grey; - circle(); - border: 1px solid white; - the-transition(); - transition-property: background; - } - } - - .post-header:hover { - border-bottom-color: $grey-dim; - - &::before { background: $black-deep; } - } - - .post-meta { - position: absolute; - font-size: 12px; - left: 20px; - top: 5px; - } - - .post-comments-count { display: none; } - - .post-title { - margin-left: 60px; - font-size: 16px; - font-weight: normal; - line-height: inherit; - - &::after { - margin-left: 3px; - opacity: 0.6; - } - - a { - color: $grey-dim; - border-bottom: none; - } - } -} diff --git a/themes/next/source/css/_common/components/post/post-eof.styl b/themes/next/source/css/_common/components/post/post-eof.styl deleted file mode 100644 index e430325..0000000 --- a/themes/next/source/css/_common/components/post/post-eof.styl +++ /dev/null @@ -1,17 +0,0 @@ -.posts-expand { - .post-eof { - display: block; - margin: $post-eof-margin-top auto $post-eof-margin-bottom; - width: 8%; - height: 1px; - background: $grey-light; - text-align: center; - } -} - - -.post:last-child { - .post-eof.post-eof.post-eof { - display: none; - } -} diff --git a/themes/next/source/css/_common/components/post/post-expand.styl b/themes/next/source/css/_common/components/post/post-expand.styl deleted file mode 100644 index 16923e0..0000000 --- a/themes/next/source/css/_common/components/post/post-expand.styl +++ /dev/null @@ -1,56 +0,0 @@ -// TODO: Refactor. - -.posts-expand { - padding-top: 40px; -} - -@media (max-width: 767px) { - .posts-expand { - margin: 0 20px; - } - - .post-body { - pre, .highlight { - padding: 10px; - .gutter pre { - padding-right: 10px; - } - } - } -} - -.posts-expand .post-body { - +desktop() { text-align: justify; } - - - h2, h3, h4, h5, h6 { - padding-top: 10px; - - .header-anchor{ - float: right; - margin-left: 10px; - color: $grey-light; - border-bottom-style: none; - visibility: hidden; - - &:hover{ - color: inherit; - } - } - - &:hover .header-anchor{ - visibility: visible; - } - } - - ul li { list-style: circle; } - - img { - box-sizing: border-box; - margin: auto; - padding: 3px; - border: 1px solid $gray-lighter; - } -} - -.posts-expand .fancybox img { margin: 0 auto; } diff --git a/themes/next/source/css/_common/components/post/post-gallery.styl b/themes/next/source/css/_common/components/post/post-gallery.styl deleted file mode 100644 index b2385ae..0000000 --- a/themes/next/source/css/_common/components/post/post-gallery.styl +++ /dev/null @@ -1,23 +0,0 @@ -.post-gallery { - display: table; - table-layout: fixed; - width: 100%; - border-collapse: separate; -} - -.post-gallery-row { display: table-row; } - -.post-gallery .post-gallery-img { - display: table-cell; - text-align: center; - vertical-align: middle; - border: none; -} - -.post-gallery .post-gallery-img img { - max-width: 100%; - max-height: 100%; - border: none; -} - -.fancybox-close, .fancybox-close:hover { border: none; } diff --git a/themes/next/source/css/_common/components/post/post-meta.styl b/themes/next/source/css/_common/components/post/post-meta.styl deleted file mode 100644 index f5e1c17..0000000 --- a/themes/next/source/css/_common/components/post/post-meta.styl +++ /dev/null @@ -1,38 +0,0 @@ -.posts-expand .post-meta { - margin: 3px 0 60px 0; - color: $grey-dark; - font-family: $font-family-posts; - font-size: 12px; - text-align: center; - - .post-category-list { - display: inline-block; - margin: 0; - padding: 3px; - } - .post-category-list-link { color: $grey-dark; } -} - - -.post-meta-item-icon { - display: none; - margin-right: 3px; - +tablet() { - display: inline-block; - } - +mobile() { - display: inline-block; - } -} -.post-meta-item-text { - +tablet() { - display: none; - } - +mobile() { - display: none; - } -} - -.posts-expand .post-comments-count { - +mobile() { display: none; } -} diff --git a/themes/next/source/css/_common/components/post/post-more-link.styl b/themes/next/source/css/_common/components/post/post-more-link.styl deleted file mode 100644 index e8068b0..0000000 --- a/themes/next/source/css/_common/components/post/post-more-link.styl +++ /dev/null @@ -1,14 +0,0 @@ -.post-more-link { - margin-top: 50px; - - .btn { - color: $read-more-color; - font-size: $read-more-font-size; - background: $read-more-bg-color; - border-radius: $read-more-border-radius; - line-height: 2; - } - .btn:hover { - @extend .btn:hover; - } -} diff --git a/themes/next/source/css/_common/components/post/post-nav.styl b/themes/next/source/css/_common/components/post/post-nav.styl deleted file mode 100644 index 9b2985e..0000000 --- a/themes/next/source/css/_common/components/post/post-nav.styl +++ /dev/null @@ -1,36 +0,0 @@ -.post-nav { - overflow: hidden; - margin-top: 60px; - padding: 10px; - white-space: nowrap; - border-top: 1px solid $gainsboro; -} - -.post-nav-item { - display: inline-block; - width: 50%; - white-space: normal; - - a { - position: relative; - display: inline-block; - line-height: 25px; - font-size: 14px; - color: $link-color; - border-bottom: none; - - &:hover { - color: $link-hover-color; - border-bottom: none; - } - - &:active { top: 2px; } - - i { font-size: 12px; } - } - -} - -.post-nav-next {} - -.post-nav-prev { text-align: right; } diff --git a/themes/next/source/css/_common/components/post/post-reward.styl b/themes/next/source/css/_common/components/post/post-reward.styl deleted file mode 100644 index 6eba556..0000000 --- a/themes/next/source/css/_common/components/post/post-reward.styl +++ /dev/null @@ -1,59 +0,0 @@ -#rewardButton { - cursor: pointer; - border: 0; - outline: 0; - border-radius: 100%; - padding: 0; - margin: 0; - letter-spacing: normal; - text-transform: none; - text-indent: 0px; - text-shadow: none; -} -#rewardButton span { - display: inline-block; - width: 80px; - height: 35px; - border-radius: 5px; - color: #fff; - font-weight: 400; - font-style: normal; - font-variant: normal; - font-stretch: normal; - font-size: 18px; - font-family: "Microsoft Yahei"; - background: #F44336; -} -#rewardButton span:hover{ - background: #F7877F; -} -#QR{ - padding-top:20px; -} -#QR a{ - border:0; -} -#QR img{ - width: 180px; - max-width: 100%; - display: inline-block; - margin: 0.8em 2em 0 2em; -} -#wechat:hover p{ - animation: roll 0.1s infinite linear; - -webkit-animation: roll 0.1s infinite linear; - -moz-animation: roll 0.1s infinite linear; -} -#alipay:hover p{ - animation: roll 0.1s infinite linear; - -webkit-animation: roll 0.1s infinite linear; - -moz-animation: roll 0.1s infinite linear; -} -@keyframes roll { - from { - transform(rotateZ(30deg)); - } - to { - transform(rotateZ(-30deg)); - } -} diff --git a/themes/next/source/css/_common/components/post/post-tags.styl b/themes/next/source/css/_common/components/post/post-tags.styl deleted file mode 100644 index 8c04ec7..0000000 --- a/themes/next/source/css/_common/components/post/post-tags.styl +++ /dev/null @@ -1,10 +0,0 @@ -.posts-expand .post-tags { - margin-top: 40px; - text-align: center; - - a { - display: inline-block; - margin-right: 10px; - font-size: 13px; - } -} diff --git a/themes/next/source/css/_common/components/post/post-title.styl b/themes/next/source/css/_common/components/post/post-title.styl deleted file mode 100644 index 0e651dc..0000000 --- a/themes/next/source/css/_common/components/post/post-title.styl +++ /dev/null @@ -1,38 +0,0 @@ -.posts-expand .post-title { - font-size: 26px; - text-align: center; - word-break: break-word; - font-weight: $posts-expand-title-font-weight - - +mobile() { - font-size: 22px; - } -} -.posts-expand .post-title-link { - display: inline-block; - position: relative; - color: $black-light; - border-bottom: none; - line-height: 1.2; - vertical-align: top; - - &::before { - content: ""; - position: absolute; - width: 100%; - height: 2px; - bottom: 0; - left: 0; - background-color: #000; - visibility: hidden; - transform: scaleX(0); - the-transition(); - } - - &:hover::before { - visibility: visible; - transform: scaleX(1); - } - - .fa { font-size: 16px; } -} diff --git a/themes/next/source/css/_common/components/post/post-type.styl b/themes/next/source/css/_common/components/post/post-type.styl deleted file mode 100644 index c3d2510..0000000 --- a/themes/next/source/css/_common/components/post/post-type.styl +++ /dev/null @@ -1,14 +0,0 @@ -// TODO: Refactor. - -.page-home, .page-post-detail { - .post-type-quote { - .post-header, - .post-tags { - display: none; - } - - blockquote { - @extend .blockquote-center - } - } -} diff --git a/themes/next/source/css/_common/components/post/post.styl b/themes/next/source/css/_common/components/post/post.styl deleted file mode 100644 index a364d81..0000000 --- a/themes/next/source/css/_common/components/post/post.styl +++ /dev/null @@ -1,46 +0,0 @@ -.post-body { - font-family: $font-family-posts; - +mobile() { - word-break: break-word; - } -} - -.post-body .fancybox img { - display: block !important; - margin: 0 auto; - cursor: pointer; - cursor: zoom-in; - cursor: -webkit-zoom-in; -} - -.post-body .image-caption { - margin: 10px auto 15px; - text-align: center; - font-size: $font-size-base; - color: $grey-dark; - font-weight: bold; - line-height: 1; -} - -.post-body .figure .caption { - @extend .post-body .image-caption; -} - -.post-sticky-flag { - display: inline-block; - font-size: 16px; - -ms-transform: rotate(30deg); - transform: rotate(30deg); -} - -@import "post-expand"; -@import "post-collapse"; -@import "post-type"; -@import "post-title"; -@import "post-meta"; -@import "post-more-link"; -@import "post-tags"; -@import "post-nav"; -@import "post-eof"; -@import "post-gallery"; -@import "post-reward" if hexo-config('alipay') or hexo-config('wechatpay'); diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl b/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl deleted file mode 100644 index cc63d3c..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-author-links.styl +++ /dev/null @@ -1,21 +0,0 @@ -.links-of-author { margin-top: 20px; } - -.links-of-author a { - display: inline-block; - vertical-align: middle; - margin-right: 10px; - margin-bottom: 10px; - border-bottom-color: $black-light; - font-size: 13px; - - &:before { - display: inline-block; - vertical-align: middle; - margin-right: 3px; - content: " "; - width: 4px; - height: 4px; - border-radius: 50%; - background: rgb(random-color(0, 255) - 50%, random-color(0, 255) - 50%, random-color(0, 255) - 50%); - } -} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-author.styl b/themes/next/source/css/_common/components/sidebar/sidebar-author.styl deleted file mode 100644 index 14ac717..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-author.styl +++ /dev/null @@ -1,22 +0,0 @@ -.site-author-image { - display: block; - margin: 0 auto; - padding: $site-author-image-padding; - max-width: $site-author-image-width; - height: $site-author-image-height; - border: $site-author-image-border-width solid $site-author-image-border-color; -} - -.site-author-name { - margin: $site-author-name-margin; - text-align: $site-author-name-align; - color: $site-author-name-color; - font-weight: $site-author-name-weight; -} - -.site-description { - margin-top: $site-description-margin-top; - text-align: $site-description-align; - font-size: $site-description-font-size; - color: $site-description-color; -} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl deleted file mode 100644 index e1c1ed6..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-blogroll.styl +++ /dev/null @@ -1,15 +0,0 @@ -.links-of-blogroll { font-size: 13px;} - -.links-of-blogroll-title { - margin-top: 20px; - font-size: 14px; - font-weight: $font-weight-bold; -} -.links-of-blogroll-list { - margin: 0; - padding: 0; -} - -.links-of-blogroll-item { - padding: 2px 10px; -} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-feed-link.styl b/themes/next/source/css/_common/components/sidebar/sidebar-feed-link.styl deleted file mode 100644 index b3868a8..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-feed-link.styl +++ /dev/null @@ -1,23 +0,0 @@ -.feed-link { - margin-top: 20px; - - a { - display: inline-block; - padding: 0 15px; - color: rgb(252, 100, 35); - border: 1px solid rgb(252, 100, 35); - border-radius: 4px; - - i { - color: rgb(252, 100, 35); - font-size: 14px; - } - - &:hover { - color:white; - background: rgb(252, 100, 35); - - i { color: white; } - } - } -} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-nav.styl b/themes/next/source/css/_common/components/sidebar/sidebar-nav.styl deleted file mode 100644 index 973eda7..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-nav.styl +++ /dev/null @@ -1,29 +0,0 @@ -// Sidebar Navigation - -.sidebar-nav { - margin: 0 0 20px; - padding-left: 0; -} -.sidebar-nav li { - display: inline-block; - cursor: pointer; - border-bottom: 1px solid transparent; - font-size: 14px; - color: $sidebar-nav-color; - - &:hover { color: $sidebar-nav-hover-color; } -} - -.page-post-detail .sidebar-nav-toc { padding: 0 5px; } - -.page-post-detail .sidebar-nav-overview { margin-left: 10px; } - -.sidebar-nav .sidebar-nav-active { - color: $sidebar-highlight; - border-bottom-color: $sidebar-highlight; - - &:hover { color: $sidebar-highlight; } -} - -.sidebar-panel { display: none; } -.sidebar-panel-active { display: block; } diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl b/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl deleted file mode 100644 index 8d23d3f..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-toc.styl +++ /dev/null @@ -1,59 +0,0 @@ - -.post-toc-empty { - font-size: 14px; - color: $grey-dim; -} - -.post-toc-wrap { overflow: hidden; } - -.post-toc { overflow: auto; } - -.post-toc ol { - margin: 0; - padding: 0 2px 5px 10px; - text-align: left; - list-style: none; - font-size: 14px; - - & > ol { padding-left: 0; } - - a { - the-transition(); - transition-property: all; - color: $toc-link-color; - border-bottom-color: $toc-link-border-color; - - &:hover { - color: $toc-link-hover-color; - border-bottom-color: $toc-link-hover-border-color; - } - } -} - -.post-toc .nav-item { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 1.8; -} - -.post-toc .nav .nav-child { display: none; } - -.post-toc .nav .active > .nav-child { display: block; } - -.post-toc .nav .active-current > .nav-child { - display: block; - & > .nav-item { display: block; } -} - -.post-toc .nav .active > a { - color: $toc-link-active-color; - border-bottom-color: $toc-link-active-border-color; -} - -.post-toc .nav .active-current > a { - color: $toc-link-active-current-color; - &:hover { - color: $toc-link-active-current-border-color; - } -} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl b/themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl deleted file mode 100644 index 1385506..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar-toggle.styl +++ /dev/null @@ -1,34 +0,0 @@ -.sidebar-toggle { - position: fixed; - right: 50px; - bottom: 45px; - width: 15px; - height: 15px; - padding: 5px; - background: $black-deep; - line-height: 0; - z-index: $zindex-5; - cursor: pointer; - -webkit-transform: translateZ(0); - - +tablet() { - display: none; - } - +mobile() { - display: none; - } -} - - - -.sidebar-toggle-line { - position: relative; - display: inline-block; - vertical-align: top; - height: 2px; - width: 100%; - background: white; - margin-top: 3px; - - &:first-child { margin-top: 0; } -} diff --git a/themes/next/source/css/_common/components/sidebar/sidebar.styl b/themes/next/source/css/_common/components/sidebar/sidebar.styl deleted file mode 100644 index e37aa70..0000000 --- a/themes/next/source/css/_common/components/sidebar/sidebar.styl +++ /dev/null @@ -1,42 +0,0 @@ -.sidebar { - position: fixed; - right: 0; - top: 0; - bottom: 0; - - width: 0; - z-index: $zindex-4; - box-shadow: inset 0 2px 6px black; - background: $black-deep; - -webkit-transform: translateZ(0); // http://stackoverflow.com/questions/17079857/position-fixed-broken-in-chrome-with-flash-behind - - a { - color: $grey-dark; - border-bottom-color: $black-light; - &:hover { color: $gainsboro; } - } - - +tablet() { - display: none !important; - } - +mobile() { - display: none !important; - } -} - -.sidebar-inner { - position: relative; - padding: 20px 10px; - color: $grey-dark; - text-align: center; -} - -@import "sidebar-toggle"; -@import "sidebar-author"; -@import "site-state"; -@import "sidebar-feed-link"; -@import "sidebar-author-links"; -@import "sidebar-blogroll.styl"; -@import "sidebar-nav"; -@import "sidebar-toc"; - diff --git a/themes/next/source/css/_common/components/sidebar/site-state.styl b/themes/next/source/css/_common/components/sidebar/site-state.styl deleted file mode 100644 index c05b0ea..0000000 --- a/themes/next/source/css/_common/components/sidebar/site-state.styl +++ /dev/null @@ -1,28 +0,0 @@ -.site-state { - overflow: hidden; - line-height: 1.4; - white-space: nowrap; - text-align: $site-state-align; -} - -.site-state-item { - display: inline-block; - padding: 0 15px; - border-left: 1px solid $site-state-item-border-color; - - &:first-child { border-left: none; } - - a { border-bottom: none; } -} -.site-state-item-count { - display: block; - text-align: center; - color: $site-state-item-count-color; - font-weight: $font-weight-bold; - font-size: $site-state-item-count-font-size; -} - -.site-state-item-name { - font-size: $site-state-item-name-font-size; - color: $site-state-item-name-color; -} diff --git a/themes/next/source/css/_common/components/tag-cloud.styl b/themes/next/source/css/_common/components/tag-cloud.styl deleted file mode 100644 index 30b01c6..0000000 --- a/themes/next/source/css/_common/components/tag-cloud.styl +++ /dev/null @@ -1,8 +0,0 @@ -.tag-cloud { - text-align: center; - - a { - display: inline-block; - margin: 10px; - } -} \ No newline at end of file diff --git a/themes/next/source/css/_common/components/tags/blockquote-center.styl b/themes/next/source/css/_common/components/tags/blockquote-center.styl deleted file mode 100644 index b0f3bcc..0000000 --- a/themes/next/source/css/_common/components/tags/blockquote-center.styl +++ /dev/null @@ -1,33 +0,0 @@ -// Blockquote with all children centered. -.blockquote-center { - position: relative; - margin: 40px 0; - padding: 0; - border-left: none; - text-align: center; - - &::before, &::after { - position: absolute; - content: ' '; - display: block; - width: 100%; - height: 24px; - opacity: 0.2; - background-repeat: no-repeat; - background-position: 0 -6px; - background-size: 22px 22px; - } - &::before { - top: -20px; - background-image: url($center-quote-left); - border-top: 1px solid $grey-light; - } - &::after { - bottom: -20px; - background-image: url($center-quote-right); - border-bottom: 1px solid $grey-light; - background-position: 100% 8px; - } - - p, div { text-align: center; } -} diff --git a/themes/next/source/css/_common/components/tags/full-image.styl b/themes/next/source/css/_common/components/tags/full-image.styl deleted file mode 100644 index 4072359..0000000 --- a/themes/next/source/css/_common/components/tags/full-image.styl +++ /dev/null @@ -1,12 +0,0 @@ -// Expand image to 126% with nagative margin-left/right on Desktop. -.full-image.full-image.full-image { - border: none; - max-width: 100%; - width: auto; - margin: 20px auto; - +desktop() { - max-width: none; - width: 126%; - margin: 0 -13%; - } -} diff --git a/themes/next/source/css/_common/components/tags/group-pictures.styl b/themes/next/source/css/_common/components/tags/group-pictures.styl deleted file mode 100644 index ce1461d..0000000 --- a/themes/next/source/css/_common/components/tags/group-pictures.styl +++ /dev/null @@ -1,35 +0,0 @@ -.post .post-body .group-picture { - img { - box-sizing: border-box; - padding: 0 3px; - border: none; - } -} - -.post .group-picture-row { - overflow: hidden; - margin-top: 6px; - &:first-child { margin-top: 0; } -} - -.post .group-picture-column { float: left; } - -.page-post-detail .post-body .group-picture-column { - float: none; - margin-top: 10px; - width: auto !important; - img { margin: 0 auto; } -} - -.page-archive { - .group-picture-container { overflow: hidden; } - .group-picture-row { - float: left; - &:first-child { margin-top: 6px; } - } - - .group-picture-column { - max-width: 150px; - max-height: 150px; - } -} diff --git a/themes/next/source/css/_common/components/tags/tags.styl b/themes/next/source/css/_common/components/tags/tags.styl deleted file mode 100644 index 451db57..0000000 --- a/themes/next/source/css/_common/components/tags/tags.styl +++ /dev/null @@ -1,3 +0,0 @@ -@import "full-image"; -@import "blockquote-center"; -@import "group-pictures"; diff --git a/themes/next/source/css/_common/components/third-party/baidushare.styl b/themes/next/source/css/_common/components/third-party/baidushare.styl deleted file mode 100644 index fc42b71..0000000 --- a/themes/next/source/css/_common/components/third-party/baidushare.styl +++ /dev/null @@ -1,12 +0,0 @@ -.post-spread { - margin-top: 20px; - text-align: center; -} - -.bdshare-slide-button-box a { border: none; } - -.bdsharebuttonbox { - display: inline-block; - - a { border: none; } -} diff --git a/themes/next/source/css/_common/components/third-party/busuanzi-counter.styl b/themes/next/source/css/_common/components/third-party/busuanzi-counter.styl deleted file mode 100644 index ea378cf..0000000 --- a/themes/next/source/css/_common/components/third-party/busuanzi-counter.styl +++ /dev/null @@ -1,38 +0,0 @@ -if hexo-config("scheme") == Pisces - .busuanzi-count { - &:before { - content: " "; - float: left; - width: 260px; - min-height: 25px; - } - +tablet() { - width: auto; - &:before { display: none; } - } - +mobile() { - width: auto; - &:before { display: none; } - } - } - -.site-uv, -.site-pv, -.page-pv { - display: inline-block; - - .busuanzi-value { - margin: 0 5px; - } -} - -if hexo-config("busuanzi_count.site_pv") and hexo-config("busuanzi_count.site_uv") - .site-uv - { - margin-right: 10px; - - &::after { - content: "|"; - padding-left: 10px; - } - } diff --git a/themes/next/source/css/_common/components/third-party/duoshuo.styl b/themes/next/source/css/_common/components/third-party/duoshuo.styl deleted file mode 100644 index 3359518..0000000 --- a/themes/next/source/css/_common/components/third-party/duoshuo.styl +++ /dev/null @@ -1,290 +0,0 @@ - -.theme-next { - $duoshuoBaseBorderColor = #c7d4e1; - $duoshuoBaseBgColor = #f6f8fa; - - #ds-thread #ds-reset { - color: #555; - } - - #ds-thread #ds-reset .ds-replybox { - margin-bottom: 30px; - } - - #ds-thread #ds-reset .ds-replybox .ds-avatar, #ds-reset .ds-avatar img { - box-shadow: none; - } - - #ds-thread #ds-reset .ds-textarea-wrapper { - border-color: $duoshuoBaseBorderColor; - background: none; - border-top-right-radius: 3px; - border-top-left-radius: 3px; - } - - - #ds-thread #ds-reset .ds-textarea-wrapper textarea { - height: 60px; - } - - #ds-reset .ds-rounded-top { - border-radius: 0; - } - - #ds-thread #ds-reset .ds-post-toolbar { - box-sizing: border-box; - border: 1px solid $duoshuoBaseBorderColor; - background: $duoshuoBaseBgColor; - } - - #ds-thread #ds-reset .ds-post-options { - height: 40px; - border: none; - background: none; - } - - #ds-thread #ds-reset .ds-toolbar-buttons { - top: 11px; - } - - #ds-thread #ds-reset .ds-sync { - top: 5px; - } - - #ds-thread #ds-reset .ds-post-button { - top: 4px; - right: 5px; - width: 90px; - height: 30px; - border: 1px solid #c5ced7; - border-radius: 3px; - background-image: linear-gradient(#fbfbfc, #f5f7f9); - color: #60676d; - } - - #ds-thread #ds-reset .ds-post-button:hover { - background-position: 0 -30px; - color: #60676d; - } - - #ds-thread #ds-reset .ds-comments-info { - padding: 10px 0; - } - - #ds-thread #ds-reset .ds-sort { - display: none; - } - - #ds-thread #ds-reset li.ds-tab a.ds-current { - border: none; - background: $duoshuoBaseBgColor; - color: #60676d; - - &:hover { - background-color: #e9f0f7; - color: #60676d; - } - } - - #ds-thread #ds-reset li.ds-tab a { - border-radius: 2px; - padding: 5px; - } - - #ds-thread #ds-reset .ds-login-buttons p { - color: #999; - line-height: 36px; - } - - #ds-thread #ds-reset .ds-login-buttons .ds-service-list li { - height: 28px; - } - - #ds-thread #ds-reset .ds-service-list a { - background: none; - padding: 5px; - border: 1px solid; - border-radius: 3px; - text-align: center; - - &:hover { - color: #fff; - background: #666; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-weibo { - color: #fc9b00; - border-color: #fc9b00; - - &:hover { - background: #fc9b00; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-qq { - color: #60a3ec; - border-color: #60a3ec; - - &:hover { - background: #60a3ec; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-renren { - color: #2e7ac4; - border-color: #2e7ac4; - - &:hover { - background: #2e7ac4; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-douban { - color: #37994c; - border-color: #37994c; - - &:hover { - background: #37994c; - } - } - #ds-thread #ds-reset .ds-service-list .ds-kaixin { - color: #fef20d; - border-color: #fef20d; - - &:hover { - background: #fef20d; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-netease { - color: #f00; - border-color: #f00; - - &:hover { - background: #f00; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-sohu { - color: #ffcb05; - border-color: #ffcb05; - - &:hover { - background: #ffcb05; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-baidu { - color: #2831e0; - border-color: #2831e0; - - &:hover { - background: #2831e0; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-google { - color: #166bec; - border-color: #166bec; - - &:hover { - background: #166bec; - } - } - - #ds-thread #ds-reset .ds-service-list .ds-weixin { - color: #00CE0D; - border-color: #00CE0D; - - &:hover { - background: #00CE0D; - } - } - #ds-thread #ds-reset .ds-service-list .ds-more-services { - border: none; - &:hover { - background: none; - } - } - -/*duoshuo UA style begin*/ - - #ds-reset .duoshuo-ua-admin { - display: inline-block; - color: red; - } - - #ds-reset .duoshuo-ua-platform, - #ds-reset .duoshuo-ua-browser { - color: #ccc; - - .fa { - display: inline-block; - margin-right: 3px; - } - } - - #ds-reset .duoshuo-ua-separator { - display: inline-block; - margin-left: 5px; - } - - .this_ua { - background-color: #ccc !important; - border-radius: 4px; - padding: 0 5px !important; - margin: 1px 1px !important; - border: 1px solid #BBB !important; - color: #fff; - display: inline-block !important; - } - - .this_ua.admin { - background-color: #d9534f !important; - border-color: #d9534f !important; - } - - .this_ua.platform.iOS, .this_ua.platform.Mac, .this_ua.platform.Windows { - background-color: #39b3d7 !important; - border-color: #46b8da !important; - } - - .this_ua.platform.Linux { - background-color: #3A3A3A !important; - border-color: #1F1F1F !important; - } - - .this_ua.platform.Android { - background-color: #00C47D !important; - border-color: #01B171 !important; - } - - .this_ua.browser.Mobile, .this_ua.browser.Chrome { - background-color: #5cb85c !important; - border-color: #4cae4c !important; - } - - .this_ua.browser.Firefox { - background-color: #f0ad4e !important; - border-color: #eea236 !important; - } - - .this_ua.browser.Maxthon, .this_ua.browser.IE { - background-color: #428bca !important; - border-color: #357ebd !important; - } - - .this_ua.browser.baidu, .this_ua.browser.UCBrowser, .this_ua.browser.Opera { - background-color: #d9534f !important; - border-color: #d43f3a !important; - } - - .this_ua.browser.Android, .this_ua.browser.QQBrowser { - background-color: #78ACE9 !important; - border-color: #4cae4c !important; - } - -/*duoshuo UA style end*/ - -} diff --git a/themes/next/source/css/_common/components/third-party/jiathis.styl b/themes/next/source/css/_common/components/third-party/jiathis.styl deleted file mode 100644 index d501fb5..0000000 --- a/themes/next/source/css/_common/components/third-party/jiathis.styl +++ /dev/null @@ -1,10 +0,0 @@ -.post-spread { - margin-top: 20px; - text-align: center; -} - -.jiathis_style { - display: inline-block; - - a { border: none; } -} \ No newline at end of file diff --git a/themes/next/source/css/_common/components/third-party/localsearch.styl b/themes/next/source/css/_common/components/third-party/localsearch.styl deleted file mode 100644 index 395e65a..0000000 --- a/themes/next/source/css/_common/components/third-party/localsearch.styl +++ /dev/null @@ -1,83 +0,0 @@ -ul.search-result-list { - padding-left: 0px; - margin: 0px 5px 0px 8px; -} -p.search-result { - border-bottom: 1px dashed #ccc; - padding: 5px 0; -} -a.search-result-title { - font-weight: bold; -} -a.search-result { - border-bottom: transparent; - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.search-keyword { - border-bottom: 1px dashed #4088b8; - font-weight: bold; -} -#local-search-result { - height: 90%; - overflow: auto; -} -.popup { - display: none; - position: fixed; - top: 10%; - left: 50%; - width: 700px; - height: 80%; - margin-left: -350px; - padding: 3px 0 0 10px; - background: #fff; - color: #333; - z-index: 9999; - border-radius: 5px; - +mobile() { - padding: 3px; - top: 0; - left: 0; - margin: 0; - width: 100%; - height: 100%; - border-radius: 0px; - } -// box-shadow: 0 0 0 9999px rgba(0,0,0,0.5); -} - -.popoverlay { - position: fixed; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - z-index: 2080; - background-color: rgba(0,0,0,0.3); -} - -#local-search-input { - margin-bottom: 10px; - width: 50%; -} - -.popup-btn-close { - position: absolute; - top: 6px; - right: 14px; - color: #4EBD79; - font-size: 14px; - font-weight: bold; - text-transform: uppercase; - cursor: pointer; -} - -#no-result { - position: absolute; - left: 44%; - top: 42%; - color: #ccc; -} \ No newline at end of file diff --git a/themes/next/source/css/_common/components/third-party/third-party.styl b/themes/next/source/css/_common/components/third-party/third-party.styl deleted file mode 100644 index 6d3606f..0000000 --- a/themes/next/source/css/_common/components/third-party/third-party.styl +++ /dev/null @@ -1,5 +0,0 @@ -@import "duoshuo"; -@import "jiathis"; -@import "baidushare"; -@import "localsearch"; -@import "busuanzi-counter" \ No newline at end of file diff --git a/themes/next/source/css/_common/outline/outline.styl b/themes/next/source/css/_common/outline/outline.styl deleted file mode 100644 index 7337e18..0000000 --- a/themes/next/source/css/_common/outline/outline.styl +++ /dev/null @@ -1,58 +0,0 @@ -// -// Layout -// Note: Must name this file "outline" instead of "layout" -// Or Hexo will use it as template layout. -// ================================================= - - -html, body { height: 100%; } - -.container { - position: relative; - min-height: 100%; -} - - -// Header Section -// -------------------------------------------------- -.header-inner { - margin: 0 auto; - padding: 100px 0 70px; - width: $content-desktop; - - +desktop-large() { - .container & { width: $content-desktop-large; } - } -} - -// Main Section -// -------------------------------------------------- -.main { padding-bottom: $footer-height + $gap-between-main-and-footer; } -.main-inner { - margin: 0 auto; - width: $content-desktop; - - +desktop-large() { - .container & { width: $content-desktop-large; } - } -} - - -// Footer Section -// -------------------------------------------------- -.footer { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - min-height: $footer-height; -} -.footer-inner { - box-sizing: border-box; - margin: 20px auto; - width: $content-desktop; - - +desktop-large() { - .container & { width: $content-desktop-large; } - } -} diff --git a/themes/next/source/css/_common/scaffolding/base.styl b/themes/next/source/css/_common/scaffolding/base.styl deleted file mode 100644 index 9052172..0000000 --- a/themes/next/source/css/_common/scaffolding/base.styl +++ /dev/null @@ -1,103 +0,0 @@ - -::selection { - background: $selection-bg; - color: $selection-color; -} - -body { - position: relative; // Required by scrollspy - font-family: $font-family-base; - font-size: $font-size-base; - line-height: $line-height-base; - color: $text-color; - background: $body-bg-color; - - +mobile() { padding-right: 0 !important; } - +tablet() { padding-right: 0 !important; } - +desktop-large() { font-size: $font-size-large; } -} - -h1, h2, h3, h4, h5, h6 { - margin: 0; - padding: 0; - font-weight: bold; - line-height: 1.5; - font-family: $font-family-headings; -} - -h2, h3, h4, h5, h6 { margin: 20px 0 15px; } - -for headline in (1..6) { - h{headline} { - font-size: $font-size-headings-base - $font-size-headings-step * headline; - } - - +mobile() { - h{headline} { - font-size: $font-size-headings-base - $font-size-headings-step * headline - 4px; - } - } -} - -p { margin: 0 0 25px 0; } - -a { - color: $link-color; - text-decoration: none; - border-bottom: 1px solid $grey-dark; - word-wrap: break-word; - - &:hover { - color: $link-hover-color; - border-bottom-color: $link-decoration-hover-color; - } -} - -ul { list-style: none; } - -blockquote { - margin: 0; - padding: 0; -} - -img { - display: block; - margin: auto; - max-width: 100%; - height: auto; -} - - -hr { - margin: 40px 0; - height: 3px; - border: none; - background-color: $gray-lighter; - background-image: repeating-linear-gradient( - -45deg, - white, - white 4px, - transparent 4px, - transparent 8px - ); -} - -blockquote { - padding: 0 15px; - color: $grey-dim; - border-left: 4px solid $gray-lighter; - - cite::before { - content: "-"; - padding: 0 5px; - } -} - -dt { font-weight: $font-weight-bolder; } - -dd { - margin: 0; - padding: 0; -} - - diff --git a/themes/next/source/css/_common/scaffolding/helpers.styl b/themes/next/source/css/_common/scaffolding/helpers.styl deleted file mode 100644 index 9a1e19c..0000000 --- a/themes/next/source/css/_common/scaffolding/helpers.styl +++ /dev/null @@ -1,85 +0,0 @@ -// -// Helpers -// ================================================= - - - -// Alignment -.text-left { text-align: left; } -.text-center { text-align: center; } -.text-right { text-align: right; } -.text-justify { text-align: justify; } -.text-nowrap { white-space: nowrap; } - - -// Transformation -.text-lowercase { text-transform: lowercase; } -.text-uppercase { text-transform: uppercase; } -.text-capitalize { text-transform: capitalize; } - - -// Center-align a block level element. -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} - - -// Clearfix. http://nicolasgallagher.com/micro-clearfix-hack/ -.clearfix { - clearfix(); -} - -.pullquote { - width: 45%; - - &.left { - float: left; - margin-left: 5px; - margin-right: 10px; - } - - &.right { - float: right; - margin-left: 10px; - margin-right: 5px; - } -} - -.affix.affix.affix { position: fixed; } - -.translation { - margin-top: -20px; - font-size: 14px; - color: $grey-dark; -} - -// https://davidwalsh.name/detect-scrollbar-width -.scrollbar-measure { - width: 100px; - height: 100px; - overflow: scroll; - position: absolute; - top: -9999px; -} - -.use-motion .motion-element { opacity: 0; } - -#local-search-input { - padding: 3px; - border: none; - text-indent: 14px; - border-radius: 0; - width: 140px; - outline: none; - border-bottom: 1px solid $grey-dark; - background: inherit; - opacity: 0.5; - &:focus { opacity: 1; } -} - -.search-icon { - position: absolute; - top: 9px; -} diff --git a/themes/next/source/css/_common/scaffolding/normalize.styl b/themes/next/source/css/_common/scaffolding/normalize.styl deleted file mode 100644 index 81c6f31..0000000 --- a/themes/next/source/css/_common/scaffolding/normalize.styl +++ /dev/null @@ -1,427 +0,0 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ - -/** - * 1. Set default font family to sans-serif. - * 2. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. - */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/** - * Remove default margin. - */ - -body { - margin: 0; -} - -/* HTML5 display definitions - ========================================================================== */ - -/** - * Correct `block` display not defined for any HTML5 element in IE 8/9. - * Correct `block` display not defined for `details` or `summary` in IE 10/11 - * and Firefox. - * Correct `block` display not defined for `main` in IE 11. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} - -/** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. - */ - -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. - */ - -[hidden], -template { - display: none; -} - -/* Links - ========================================================================== */ - -/** - * Remove the gray background color from active links in IE 10. - */ - -a { - background-color: transparent; -} - -/** - * Improve readability when focused and also mouse hovered in all browsers. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. - */ - -abbr[title] { - border-bottom: 1px dotted; -} - -/** - * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. - */ - -b, -strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/** - * Address styling not present in IE 8/9. - */ - -mark { - background: #ff0; - color: #000; -} - -/** - * Address inconsistent and variable font size in all browsers. - */ - -small { - font-size: 80%; -} - -/** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Remove border when inside `a` element in IE 8/9/10. - */ - -img { - border: 0; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Grouping content - ========================================================================== */ - -/** - * Address margin not present in IE 8/9 and Safari. - */ - -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} - -/** - * Contain overflow in all browsers. - */ - -pre { - overflow: auto; -} - -/** - * Address odd `em`-unit font size rendering in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -/* Forms - ========================================================================== */ - -/** - * Known limitation: by default, Chrome and Safari on OS X allow very limited - * styling of `select`, unless a `border` property is set. - */ - -/** - * 1. Correct color not being inherited. - * Known issue: affects color of disabled elements. - * 2. Correct font properties not being inherited. - * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. - */ - -button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ -} - -/** - * Address `overflow` set to `hidden` in IE 8/9/10/11. - */ - -button { - overflow: visible; -} - -/** - * Address inconsistent `text-transform` inheritance for `button` and `select`. - * All other form control elements do not inherit `text-transform` values. - * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. - * Correct `select` style inheritance in Firefox. - */ - -button, -select { - text-transform: none; -} - -/** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. - */ - -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ -} - -/** - * Re-set default cursor for disabled elements. - */ - -button[disabled], -html input[disabled] { - cursor: default; -} - -/** - * Remove inner padding and border in Firefox 4+. - */ - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. - */ - -input { - line-height: normal; -} - -/** - * It's recommended that you don't attempt to style these elements. - * Firefox's implementation doesn't respect box-sizing, padding, or width. - * - * 1. Address box sizing set to `content-box` in IE 8/9/10. - * 2. Remove excess padding in IE 8/9/10. - */ - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Fix the cursor style for Chrome's increment/decrement buttons. For certain - * `font-size` values of the `input`, it causes the cursor style of the - * decrement button to change from `default` to `text`. - */ - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome - * (include `-moz` to future-proof). - */ - -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; -} - -/** - * Remove inner padding and search cancel button in Safari and Chrome on OS X. - * Safari (but not Chrome) clips the cancel button when the search input has - * padding (and `textfield` appearance). - */ - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * Define consistent border, margin, and padding. - */ - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** - * 1. Correct `color` not being inherited in IE 8/9/10/11. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Remove default vertical scrollbar in IE 8/9/10/11. - */ - -textarea { - overflow: auto; -} - -/** - * Don't inherit the `font-weight` (applied by a rule above). - * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. - */ - -optgroup { - font-weight: bold; -} - -/* Tables - ========================================================================== */ - -/** - * Remove most spacing between table cells. - */ - -table { - border-collapse: collapse; - border-spacing: 0; -} - -td, -th { - padding: 0; -} \ No newline at end of file diff --git a/themes/next/source/css/_common/scaffolding/scaffolding.styl b/themes/next/source/css/_common/scaffolding/scaffolding.styl deleted file mode 100644 index 7e7d4bd..0000000 --- a/themes/next/source/css/_common/scaffolding/scaffolding.styl +++ /dev/null @@ -1,8 +0,0 @@ -// -// Scaffolding -// ================================================= - -@import "normalize"; -@import "base"; -@import "helpers"; -@import "tables"; diff --git a/themes/next/source/css/_common/scaffolding/tables.styl b/themes/next/source/css/_common/scaffolding/tables.styl deleted file mode 100644 index c653b81..0000000 --- a/themes/next/source/css/_common/scaffolding/tables.styl +++ /dev/null @@ -1,33 +0,0 @@ -table { - margin: 20px 0; - width: $table-width; - border-collapse: collapse; - border-spacing: 0; - border: 1px solid $table-border-color; - font-size: $table-font-size; - table-layout: fixed; - word-wrap: break-all; -} -table>tbody>tr { - &:nth-of-type(odd) { background-color: $table-row-odd-bg-color; } - &:hover { background-color: $table-row-hover-bg-color; } -} - -caption, th, td { - padding: $table-cell-padding; - text-align: $table-content-alignment; - vertical-align: $table-content-vertical; - font-weight: normal; -} - -th, td { - border-bottom: 3px solid $table-cell-border-bottom-color; - border-right: 1px solid $table-cell-border-right-color; -} - -th { - padding-bottom: 10px; - font-weight: $table-th-font-weight; -} - -td { border-bottom-width: 1px; } diff --git a/themes/next/source/css/_custom/custom.styl b/themes/next/source/css/_custom/custom.styl deleted file mode 100644 index 4abc550..0000000 --- a/themes/next/source/css/_custom/custom.styl +++ /dev/null @@ -1,3 +0,0 @@ -// Custom styles. - -ul { list-style-type: circle; } diff --git a/themes/next/source/css/_mixins/Mist.styl b/themes/next/source/css/_mixins/Mist.styl deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/source/css/_mixins/Muse.styl b/themes/next/source/css/_mixins/Muse.styl deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/source/css/_mixins/Pisces.styl b/themes/next/source/css/_mixins/Pisces.styl deleted file mode 100644 index c0ce1d6..0000000 --- a/themes/next/source/css/_mixins/Pisces.styl +++ /dev/null @@ -1,16 +0,0 @@ -sidebar-inline-links-item() { - float: left; - margin: 5px 0 0; - width: 50%; - - & a { - box-sizing: border-box; - display: inline-block; - margin-right: 0; - margin-bottom: 0; - padding: 0 5px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } -} diff --git a/themes/next/source/css/_mixins/base.styl b/themes/next/source/css/_mixins/base.styl deleted file mode 100644 index 94dc02c..0000000 --- a/themes/next/source/css/_mixins/base.styl +++ /dev/null @@ -1,56 +0,0 @@ -the-transition() { - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transition-delay: 0s; -} - -mobile() { - @media (max-width: 767px) { - {block} - } -} - -tablet() { - @media (min-width: 768px) and (max-width: 991px) { - {block} - } -} - -desktop() { - @media (min-width: 992px) { - {block} - } -} - -desktop-large() { - @media (min-width: 1600px) { - {block} - } -} - -circle() { - border-radius: 50%; -} - -transform() { - -webkit-transform: arguments - -moz-transform: arguments - -ms-transform: arguments - -o-transform: arguments - transform: arguments -} - - -random-color($min, $max) { - return floor(math(0, 'random') * ($max - $min + 1) + $min); -} - -// Clearfix. http://nicolasgallagher.com/micro-clearfix-hack/ -clearfix() { - &:before, - &:after { - content: " "; - display: table; - } - &:after { clear: both; } -} diff --git a/themes/next/source/css/_mixins/custom.styl b/themes/next/source/css/_mixins/custom.styl deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/source/css/_schemes/Mist/_base.styl b/themes/next/source/css/_schemes/Mist/_base.styl deleted file mode 100644 index 97dc4cb..0000000 --- a/themes/next/source/css/_schemes/Mist/_base.styl +++ /dev/null @@ -1,12 +0,0 @@ -// Tags -// -------------------------------------------------- -h1, h2, h3, h4, h5, h6 { margin: 20px 0 10px; } - -p { margin: 0 0 25px 0; } - -a { border-bottom-color: $grey-light; } - -hr { - margin: 20px 0; - height: 2px; -} diff --git a/themes/next/source/css/_schemes/Mist/_header.styl b/themes/next/source/css/_schemes/Mist/_header.styl deleted file mode 100644 index a191649..0000000 --- a/themes/next/source/css/_schemes/Mist/_header.styl +++ /dev/null @@ -1,63 +0,0 @@ -// Header -// -------------------------------------------------- -.header { background: $whitesmoke; } -.header-inner { - padding: 25px 0 20px; - clearfix(); - - +mobile() { - width: auto; - margin-bottom: 50px; - padding: 10px; - } -} - -.site-meta { - float: left; - margin-left: -20px; - line-height: normal; - - +mobile() { - margin-left: 10px; - } - - .brand { - padding: 2px 1px; - background: none; - - +mobile() { display: block; } - } - - .logo { display: none; } - - .site-title { - font-size: 22px; - font-weight: bolder; - - +mobile() { line-height: 34px; } - } -} - - -.logo-line-before, -.logo-line-after { - display: block; - overflow: hidden; - margin: 0 auto; - width: 75%; - - +mobile() { display: none; } - - i { - position: relative; - display: block; - height: 2px; - background: $black-deep; - +mobile() { height: 3px; } - } -} - -.use-motion { - .logo-line-before i { left: -100%; } - .logo-line-after i { right: -100%; } -} diff --git a/themes/next/source/css/_schemes/Mist/_logo.styl b/themes/next/source/css/_schemes/Mist/_logo.styl deleted file mode 100644 index 571b407..0000000 --- a/themes/next/source/css/_schemes/Mist/_logo.styl +++ /dev/null @@ -1 +0,0 @@ -.site-subtitle { display: none; } diff --git a/themes/next/source/css/_schemes/Mist/_menu.styl b/themes/next/source/css/_schemes/Mist/_menu.styl deleted file mode 100644 index fa0cd4e..0000000 --- a/themes/next/source/css/_schemes/Mist/_menu.styl +++ /dev/null @@ -1,46 +0,0 @@ -// Menu -// -------------------------------------------------- -.site-nav-toggle { - position: static; - float: right; -} - - -.menu { - float: right; - margin: 8px 0 0 0; - - +mobile() { - margin: 20px 0 0 0; - padding: 0; - } - - br { display: none; } - - .menu-item { - margin: 0; - +mobile() { display: block; } - } - - .menu-item a { - padding: 0 10px; - background: none; - border: none; - border-radius: 2px; - transition-property: background; - - +mobile() { - text-align: left; - } - - &:hover { background: #e1e1e1; } - } - - a::before { - display: none; - - +mobile() { display: block; } - } - - +mobile() { float: none; } -} diff --git a/themes/next/source/css/_schemes/Mist/_posts-expanded.styl b/themes/next/source/css/_schemes/Mist/_posts-expanded.styl deleted file mode 100644 index 3ba1de5..0000000 --- a/themes/next/source/css/_schemes/Mist/_posts-expanded.styl +++ /dev/null @@ -1,63 +0,0 @@ -// Post Expanded -// -------------------------------------------------- -.posts-expand { - padding-top: 0; - - .post-title, - .post-meta { - text-align: $site-meta-text-align; - +mobile() { text-align: center; } - } - .post-eof { display: none; } - - .post { margin-top: 120px; } - .post:first-child { margin-top: 0; } - - .post-meta { - margin-top: 5px; - margin-bottom: 20px; - } - - .post-title { - position: relative; - font-size: $font-size-headings-base; - font-weight: 400; - +mobile() { font-size: $font-size-headings-smaller; } - +desktop-large() { font-size: $font-size-headings-large; } - } - .post-title:hover:before { background: $black-deep; } - - .post-body img { margin: 0; } - - .post-tags { - text-align: left; - a { - padding: 1px 5px; - background: $whitesmoke; - border-bottom: none; - } - a:hover { background: $grey-light; } - } - .post-nav { margin-top: 40px; } -} - -.post-more-link { - margin-top: 20px; - text-align: left; - - a { - padding: 0; - font-size: $font-size-base; - color: $grey-dim; - background: none; - border: none; - border-bottom: 2px solid $grey-dim; - transition-property: border; - - +mobile() { font-size: $font-size-small; } - +desktop-large() { font-size: $font-size-large; } - - - &:hover { border-bottom-color: $black-deep; } - } -} diff --git a/themes/next/source/css/_schemes/Mist/_search.styl b/themes/next/source/css/_schemes/Mist/_search.styl deleted file mode 100644 index 6cd7b2c..0000000 --- a/themes/next/source/css/_schemes/Mist/_search.styl +++ /dev/null @@ -1,5 +0,0 @@ -// Search -// -------------------------------------------------- -.site-search form { - display: none; -} \ No newline at end of file diff --git a/themes/next/source/css/_schemes/Mist/index.styl b/themes/next/source/css/_schemes/Mist/index.styl deleted file mode 100644 index 7d047f4..0000000 --- a/themes/next/source/css/_schemes/Mist/index.styl +++ /dev/null @@ -1,91 +0,0 @@ -// -// Mist scheme -// ================================================= - -@import "_base"; -@import "outline/outline"; -@import "_header"; -@import "_logo"; -@import "_menu"; -@import "_search.styl"; -@import "_posts-expanded"; -@import "sidebar/sidebar-blogroll"; - - -// Components -// -------------------------------------------------- -.btn { - padding: 0 10px; - border-width: 2px; - border-radius: 0; -} - -.headband { display: none; } - - -// Search -// -------------------------------------------------- -.site-search { - position: relative; - float: right; - margin-top: 5px; - padding-top: 3px; - - +mobile() { - float: none; - padding: 0 10px; - } -} - - -// Page - Container -// -------------------------------------------------- -.container .main-inner { - +mobile() { width: auto; } -} - - -// Page - Post details -// -------------------------------------------------- -.page-post-detail { - .post-title, - .post-meta { text-align: center; } - - .post-title:before { display: none; } - - .post-meta { margin-bottom: 60px; } -} - - -// Pagination -// -------------------------------------------------- -.pagination { - margin: 120px 0 0; - text-align: left; - - +mobile() { - margin: 80px 10px 0; - text-align: center; - } -} - -// Footer -// -------------------------------------------------- -.footer { - margin-top: 80px; - padding: 10px 0; - background: $whitesmoke; - color: $grey-dim; -} -.footer-inner { - margin: 0 auto; - text-align: left; - - +mobile() { - width: auto; - text-align: center; - } -} - -// Helpers -// -------------------------------------------------- diff --git a/themes/next/source/css/_schemes/Mist/outline/outline.styl b/themes/next/source/css/_schemes/Mist/outline/outline.styl deleted file mode 100644 index 12c0bae..0000000 --- a/themes/next/source/css/_schemes/Mist/outline/outline.styl +++ /dev/null @@ -1 +0,0 @@ -.main-inner { margin-top: 80px; } diff --git a/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl deleted file mode 100644 index 8ca48f3..0000000 --- a/themes/next/source/css/_schemes/Mist/sidebar/sidebar-blogroll.styl +++ /dev/null @@ -1 +0,0 @@ -.links-of-blogroll-inline .links-of-blogroll-item{ display: inline-block; } diff --git a/themes/next/source/css/_schemes/Muse/_layout.styl b/themes/next/source/css/_schemes/Muse/_layout.styl deleted file mode 100644 index 93543e1..0000000 --- a/themes/next/source/css/_schemes/Muse/_layout.styl +++ /dev/null @@ -1,3 +0,0 @@ -.header-inner, .container .main-inner, .footer-inner { - +mobile() { width: auto; } -} diff --git a/themes/next/source/css/_schemes/Muse/_logo.styl b/themes/next/source/css/_schemes/Muse/_logo.styl deleted file mode 100644 index 1d0437a..0000000 --- a/themes/next/source/css/_schemes/Muse/_logo.styl +++ /dev/null @@ -1,21 +0,0 @@ -.custom-logo { - .site-meta-headline { text-align: center; } - - .brand { background: none; } - - .site-title { - margin: 10px auto 0; - font-size: 24px; - color: $black-deep; - a { border: none; } - } - - -} - -.custom-logo-image { - margin: 0 auto; - padding: 5px; - max-width: 150px; - background: white; -} diff --git a/themes/next/source/css/_schemes/Muse/_menu.styl b/themes/next/source/css/_schemes/Muse/_menu.styl deleted file mode 100644 index 44db571..0000000 --- a/themes/next/source/css/_schemes/Muse/_menu.styl +++ /dev/null @@ -1,32 +0,0 @@ -.site-nav { - +mobile() { - position: absolute; - left: 0; - top: 52px; - margin: 0; - width: 100%; - padding: 0; - background: white; - border-bottom: 1px solid $gray-lighter; - } -} - -.menu { - +mobile() { text-align: left; } -} -.menu .menu-item { - +mobile() { - display: block; - margin: 0 10px; - vertical-align: top; - } - - br { - +mobile() { display: none; } - } - - a { - +mobile() { padding: 5px 10px; } - } - .fa { margin-right: 0; } -} diff --git a/themes/next/source/css/_schemes/Muse/_search.styl b/themes/next/source/css/_schemes/Muse/_search.styl deleted file mode 100644 index 6cd7b2c..0000000 --- a/themes/next/source/css/_schemes/Muse/_search.styl +++ /dev/null @@ -1,5 +0,0 @@ -// Search -// -------------------------------------------------- -.site-search form { - display: none; -} \ No newline at end of file diff --git a/themes/next/source/css/_schemes/Muse/index.styl b/themes/next/source/css/_schemes/Muse/index.styl deleted file mode 100644 index 35effe8..0000000 --- a/themes/next/source/css/_schemes/Muse/index.styl +++ /dev/null @@ -1,5 +0,0 @@ -@import "_layout.styl"; -@import "_logo.styl"; -@import "_menu.styl"; -@import "_search.styl"; -@import "sidebar/sidebar-blogroll"; diff --git a/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl b/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl deleted file mode 100644 index 8ca48f3..0000000 --- a/themes/next/source/css/_schemes/Muse/sidebar/sidebar-blogroll.styl +++ /dev/null @@ -1 +0,0 @@ -.links-of-blogroll-inline .links-of-blogroll-item{ display: inline-block; } diff --git a/themes/next/source/css/_schemes/Pisces/_brand.styl b/themes/next/source/css/_schemes/Pisces/_brand.styl deleted file mode 100644 index 8b3f02b..0000000 --- a/themes/next/source/css/_schemes/Pisces/_brand.styl +++ /dev/null @@ -1,24 +0,0 @@ -.site-meta { - padding: 20px 0; - color: white; - background: $black-deep; - - +tablet() { - box-shadow: 0 0 16px rgba(0,0,0,0.5); - } - +mobile() { - box-shadow: 0 0 16px rgba(0,0,0,0.5); - } -} - -.brand { - display: block; - padding: 0; - background: none; - - &:hover { color: white; } -} - -.site-subtitle { margin: 0; } - -.site-search form { display: none; } diff --git a/themes/next/source/css/_schemes/Pisces/_full-image.styl b/themes/next/source/css/_schemes/Pisces/_full-image.styl deleted file mode 100644 index c6245aa..0000000 --- a/themes/next/source/css/_schemes/Pisces/_full-image.styl +++ /dev/null @@ -1,7 +0,0 @@ -.full-image.full-image.full-image { - +desktop() { - max-width: none; - width: 118%; - margin: 0 -9%; - } -} diff --git a/themes/next/source/css/_schemes/Pisces/_layout.styl b/themes/next/source/css/_schemes/Pisces/_layout.styl deleted file mode 100644 index 22710a8..0000000 --- a/themes/next/source/css/_schemes/Pisces/_layout.styl +++ /dev/null @@ -1,125 +0,0 @@ -.header { - position: relative; - margin: 0 auto; - width: 960px; - - +tablet() { - width: auto; - } - +mobile() { - width: auto; - } -} - -.header-inner { - position: absolute; - top: 0; - overflow: hidden; - padding: 0; - width: 240px; - background: white; - - +desktop-large() { - .container & { width: 240px; } - } - +tablet() { - position: relative; - width: auto; - } - +mobile() { - position: relative; - width: auto; - } -} - -.main { - clearfix(); - +tablet() { - padding-bottom: 100px; - } - +mobile() { - padding-bottom: 100px; - } -} - -.container .main-inner { - width: $main-desktop; - - +tablet() { - width: auto; - } - +mobile() { - width: auto; - } -} - -.content-wrap { - float: right; - box-sizing: border-box; - padding: $content-desktop-padding; - width: $content-desktop; - background: white; - min-height: 700px; - - +tablet() { - width: 100%; - padding: 20px; - } - +mobile() { - width: 100%; - padding: 20px; - min-height: auto; - } -} - -.sidebar { - position: static; - float: left; - margin-top: 300px; - width: $sidebar-desktop; - background: white; - box-shadow: none; - - +tablet() { - display: none; - } - +mobile() { - display: none; - } -} - -.sidebar-toggle { display: none; } - - -.footer-inner { - width: $main-desktop; - - &:before { - content: " "; - float: left; - width: 260px; - min-height: 50px; - } - - +tablet() { - width: auto; - - &:before { display: none; } - } - +mobile() { - width: auto; - - &:before { display: none; } - } -} - - - -.sidebar-position-right { - .header-inner { right: 0; } - .content-wrap { float: left; } - .sidebar { float: right; } - - .footer-inner:before { float: right; } -} - diff --git a/themes/next/source/css/_schemes/Pisces/_menu.styl b/themes/next/source/css/_schemes/Pisces/_menu.styl deleted file mode 100644 index a0559ea..0000000 --- a/themes/next/source/css/_schemes/Pisces/_menu.styl +++ /dev/null @@ -1,65 +0,0 @@ -.site-nav { - border-top: none; - - +tablet() { - display: none !important; - } -} - -.site-nav-on { - +tablet() { - display: block !important; - } -} - -.menu .menu-item { - display: block; - margin: 0; - list-style: none; - - a { - position: relative; - box-sizing: border-box; - padding: 5px 20px; - text-align: left; - line-height: inherit; - transition-property: background-color; - the-transition(); - - &:hover { - background: #f9f9f9; - border-bottom-color: white; - } - } - - br { display: none; } -} - -.menu-item-active a { - @extend .menu .menu-item a:hover; - - &:after { - content: " "; - position: absolute; - top: 50%; - margin-top: -3px; - right: 15px; - width: 6px; - height: 6px; - border-radius: 50%; - background-color: $grey; - } -} - -.btn-bar { - background-color: white; -} - -.site-nav-toggle { - top: 20px; - left: 20px; - - +tablet() { - display: block; - } -} diff --git a/themes/next/source/css/_schemes/Pisces/_posts.styl b/themes/next/source/css/_schemes/Pisces/_posts.styl deleted file mode 100644 index 498409d..0000000 --- a/themes/next/source/css/_schemes/Pisces/_posts.styl +++ /dev/null @@ -1,5 +0,0 @@ -.post-body { - +mobile() { - text-align: justify; - } -} diff --git a/themes/next/source/css/_schemes/Pisces/_sidebar.styl b/themes/next/source/css/_schemes/Pisces/_sidebar.styl deleted file mode 100644 index d44e9ac..0000000 --- a/themes/next/source/css/_schemes/Pisces/_sidebar.styl +++ /dev/null @@ -1,105 +0,0 @@ -.use-motion .sidebar .motion-element { opacity: 1; } - -.sidebar { - display: none; - right: auto; - bottom: auto; - - // Do NOT delete this line - // or Affix (position: fixed) will not work in Google Chrome. - -webkit-transform: none; -} - - -.sidebar-inner { - box-sizing: border-box; - width: 240px; - color: $text-color; - background: white; - - &.affix { - position: fixed; - top: 0; - } -} - -.site-overview { - margin: 0 2px; - text-align: left; -} - -.site-author { - clearfix(); -} - -.sidebar a { - color: $black-light; - - &:hover { color: $black-deep; } -} - -.links-of-author-item { - a:before { display: none; } - a { - border-bottom: none; - text-decoration: underline; - } -} - -.feed-link { - border-top: 1px dotted $grey-light; - border-bottom: 1px dotted $grey-light; - text-align: center; -} - -.feed-link a { - display: block; - color: $orange; - border: none; - - &:hover { - background: none; - color: darken($orange, 20%); - - i { color: darken($orange, 20%); } - } -} - -.links-of-author { - clearfix(); -} -.links-of-author-item { - sidebar-inline-links-item(); - - a { - display: block; - text-decoration: none; - - &:hover { - border-radius: 4px; - background: $gainsboro; - } - } - - .fa { - margin-right: 2px; - font-size: 16px; - } - .fa-globe { font-size: 15px; } -} - - -.links-of-blogroll { - margin-top: 20px; - padding: 3px 0 0; - border-top: 1px dotted $grey-light; -} -.links-of-blogroll-title { margin-top: 0; } -.links-of-blogroll-item { padding: 0; } -.links-of-blogroll-inline { - clearfix(); - - .links-of-blogroll-item { - sidebar-inline-links-item(); - } -} diff --git a/themes/next/source/css/_schemes/Pisces/index.styl b/themes/next/source/css/_schemes/Pisces/index.styl deleted file mode 100644 index ba24101..0000000 --- a/themes/next/source/css/_schemes/Pisces/index.styl +++ /dev/null @@ -1,8 +0,0 @@ -body { background: #f5f7f9; } - -@import "_full-image"; -@import "_layout"; -@import "_brand"; -@import "_menu"; -@import "_sidebar"; -@import "_posts"; diff --git a/themes/next/source/css/_variables/Mist.styl b/themes/next/source/css/_variables/Mist.styl deleted file mode 100644 index 92def6d..0000000 --- a/themes/next/source/css/_variables/Mist.styl +++ /dev/null @@ -1,13 +0,0 @@ -// Variables of Mist scheme -// ================================================= - -$font-size-headings-base = 26px - -$brand-color = $black-deep -$brand-hover-color = $brand-color - -$site-meta-text-align = left -$posts-collapse-left = 0 - -$read-more-color = $link-color -$read-more-bg-color = transparent diff --git a/themes/next/source/css/_variables/Muse.styl b/themes/next/source/css/_variables/Muse.styl deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/source/css/_variables/Pisces.styl b/themes/next/source/css/_variables/Pisces.styl deleted file mode 100644 index 8f74ca8..0000000 --- a/themes/next/source/css/_variables/Pisces.styl +++ /dev/null @@ -1,62 +0,0 @@ -// Header -// -------------------------------------------------- -$subtitle-color = $gray-lighter - - - -// Posts Expand -// -------------------------------------------------- -$posts-expand-title-font-weight = $font-weight-light - - - -// Sidebar -// -------------------------------------------------- -$sidebar-nav-hover-color = $orange -$sidebar-highlight = $orange - -$site-author-image-width = 120px -$site-author-image-border-width = 1px -$site-author-image-border-color = $gainsboro - -$site-author-name-margin = 0 -$site-author-name-color = $black-deep -$site-author-name-align = center -$site-author-name-weight = $font-weight-bold - -$site-description-font-size = 13px -$site-description-color = $grey-dark -$site-description-margin-top = 0 -$site-description-align = center - -$site-state-item-count-font-size = 16px -$site-state-item-name-font-size = 13px -$site-state-item-name-color = $grey-dark -$site-state-item-border-color = $gainsboro - -$toc-link-color = $grey-dim -$toc-link-border-color = $grey-light -$toc-link-hover-color = black -$toc-link-hover-border-color = black -$toc-link-active-color = $sidebar-highlight -$toc-link-active-border-color = $sidebar-highlight -$toc-link-active-current-color = $sidebar-highlight -$toc-link-active-current-border-color = $sidebar-highlight - - -// Components -// -------------------------------------------------- - -// Button -$read-more-color = $text-color -$read-more-bg-color = white -$read-more-border-radius = 2px -$btn-default-border-color = $text-color -$btn-default-hover-color = white -$btn-default-hover-bg = $black-deep - - -// Back to top -$b2t-opacity = .6 -$b2t-position-bottom = -100px -$b2t-position-bottom-on = 40px diff --git a/themes/next/source/css/_variables/base.styl b/themes/next/source/css/_variables/base.styl deleted file mode 100644 index f57b44a..0000000 --- a/themes/next/source/css/_variables/base.styl +++ /dev/null @@ -1,321 +0,0 @@ -// -// Variables -// ================================================= - - - -// Colors -// colors for use across theme. -// -------------------------------------------------- - -$whitesmoke = #f5f5f5 -$gainsboro = #eee -$gray-lighter = #ddd -$grey-light = #ccc -$grey = #bbb -$grey-dark = #999 -$grey-dim = #666 -$black-light = #555 -$black-dim = #333 -$black-deep = #222 -$red = #ff2a2a -$blue-bright = #87daff -$blue = #0684bd -$blue-deep = #262a30 -$orange = #fc6423 - - - -// Scaffolding -// Settings for some of the most global styles. -// -------------------------------------------------- - -// Global text color on -$text-color = $black-light - -// Global link color. -$link-color = $black-light -$link-hover-color = $black-deep -$link-decoration-color = $grey-light -$link-decoration-hover-color = $black-deep - -// Global border color. -$border-color = $grey-light - -// Background color for -$body-bg-color = white - -// Selection -$selection-bg = $blue-deep -$selection-color = white - - - -// Typography -// Font, line-height, and elements colors. -// -------------------------------------------------- - - -get_font_family(config) { - custom_family = hexo-config('font.' + config + '.family') - return custom_family is a 'string' ? custom_family : null -} - -// Font families. -$font-family-chinese = "PingFang SC", "Microsoft YaHei" - -$font-family-base = $font-family-chinese, sans-serif -$font-family-base = get_font_family('global'), $font-family-chinese, sans-serif if get_font_family('global') - -$font-family-logo = $font-family-base -$font-family-logo = get_font_family('logo'), $font-family-base if get_font_family('logo') - -$font-family-headings = $font-family-base -$font-family-headings = get_font_family('headings'), $font-family-base if get_font_family('headings') - -$font-family-posts = $font-family-base -$font-family-posts = get_font_family('posts'), $font-family-base if get_font_family('posts') - -$font-family-monospace = consolas, Menlo, $font-family-chinese, monospace -$font-family-monospace = get_font_family('codes'), consolas, Menlo, $font-family-chinese, monospace if get_font_family('codes') - -$font-family-icons = 'FontAwesome' - - -// Font Weight -$font-weight-lighter = 200 -$font-weight-light = 300 -$font-weight-normal = 400 -$font-weight-bold = 600 -$font-weight-bolder = 700 - - -// Font size -$font-size-base = 14px -$font-size-small = $font-size-base - 2px -$font-size-smaller = $font-size-base - 4px -$font-size-large = $font-size-base + 2px -$font-size-larger = $font-size-base + 4px - - -// Headings font size -$font-size-headings-step = 2px -$font-size-headings-base = 24px -$font-size-headings-small = $font-size-headings-base - $font-size-headings-step -$font-size-headings-smaller = $font-size-headings-small - $font-size-headings-step -$font-size-headings-large = $font-size-headings-base + $font-size-headings-step -$font-size-headings-larger = $font-size-headings-large + $font-size-headings-step - -// Global line height -$line-height-base = 2 -$line-height-code-block = 1.6 // Can't be less than 1.3 - - - -// Z-index master list -// -------------------------------------------------- -$zindex-bottom = -1 -$zindex-1 = 1010 -$zindex-2 = 1020 -$zindex-3 = 1030 -$zindex-4 = 1040 -$zindex-5 = 1050 - - - -// Table -// -------------------------------------------------- -$table-width = 100% -$table-border-color = $gray-lighter -$table-font-size = 14px -$table-content-alignment = left -$table-content-vertical = middle -$table-th-font-weight = 700 -$table-cell-padding = 8px -$table-cell-border-right-color = $gainsboro -$table-cell-border-bottom-color = $gray-lighter -$table-row-odd-bg-color = #f9f9f9 -$table-row-hover-bg-color = $whitesmoke - - - -// Code & Code Blocks -// -------------------------------------------------- -$code-font-family = $font-family-monospace -$code-font-size = 13px -$code-background = $gainsboro -$code-foreground = $black-light -$code-border-radius = 4px - - - -// Buttons -// -------------------------------------------------- - -$btn-font-weight = normal - -$btn-default-radius = 0 -$btn-default-bg = $black-deep -$btn-default-color = white -$btn-default-font-size = 14px -$btn-default-border-width = 2px -$btn-default-border-color = $black-deep -$btn-default-hover-bg = white -$btn-default-hover-color = $black-deep -$btn-default-hover-border-color = $black-deep - - - -// Pagination -// -------------------------------------------------- - -$pagination-border = $gainsboro - -$pagination-link-bg = transparent -$pagination-link-color = $link-color -$pagination-link-border = $gainsboro - -$pagination-link-hover-bg = transparent -$pagination-link-hover-color = $link-color -$pagination-link-hover-border = $black-deep - -$pagination-active-bg = $grey-light -$pagination-active-color = white -$pagination-active-border = $grey-light - - - -// Layout sizes -// -------------------------------------------------- - -$main-desktop = 960px -$main-desktop-large = 1200px - -$content-desktop = 700px -$content-desktop-large = 900px -$content-desktop-padding = 40px - -$sidebar-desktop = 240px - -$footer-height = 50px - -$gap-between-main-and-footer = 100px - - - -// Headband -// -------------------------------------------------- -$headband-height = 3px -$headband-bg = $black-deep - - - -// Section Header -// Variables for header section elements. -// -------------------------------------------------- - -$head-bg = white - -// Site Meta -$site-meta-text-align = center -$brand-color = white -$brand-hover-color = white -$brand-bg = $black-deep - -$logo-font-size = 20px -$logo-font-size = unit(hexo-config('font.logo.size'), px) if hexo-config('font.logo.size') is a 'unit' - -$site-subtitle-color = $grey-dark -$subtitle-font-size = 13px -$subtitle-color = $grey-dark - -// Menu -$menu-link-border = transparent -$menu-link-hover-border = $black-deep - - - -// Posts Expand -// -------------------------------------------------- -$posts-expand-title-font-weight = $font-weight-normal - - -// Posts Collpase -// -------------------------------------------------- -$posts-collapse-left = 55px -$posts-collapse-left-mobile = 5px - -$read-more-color = white -$read-more-font-size = 14px -$read-more-bg-color = $black-deep -$read-more-border-radius = 0 - - - - -// Sidebar -// Variables for sidebar section elements. -// -------------------------------------------------- -$sidebar-nav-color = $black-light -$sidebar-nav-hover-color = $whitesmoke -$sidebar-highlight = $blue-bright - -$site-author-image-padding = 2px -$site-author-image-width = 96px -$site-author-image-height = auto -$site-author-image-border-width = 2px -$site-author-image-border-color = $black-dim - -$site-author-name-margin = 5px 0 0 -$site-author-name-color = $whitesmoke -$site-author-name-align = center -$site-author-name-weight = normal - -$site-description-font-size = 14px -$site-description-color = $grey-dark -$site-description-margin-top = 5px -$site-description-align = center - -$site-state-align = center -$site-state-item-count-font-size = 18px -$site-state-item-count-color = inherit -$site-state-item-name-font-size = 13px -$site-state-item-name-color = inherit -$site-state-item-border-color = $black-dim - -$toc-link-color = $grey-dark -$toc-link-border-color = $black-light -$toc-link-hover-color = $grey-light -$toc-link-hover-border-color = $grey-light -$toc-link-active-color = $sidebar-highlight -$toc-link-active-border-color = $sidebar-highlight -$toc-link-active-current-color = $sidebar-highlight -$toc-link-active-current-border-color = $sidebar-highlight - - -// Components -// -------------------------------------------------- - -// Back to top -$b2t-opacity = 1 -$b2t-position-bottom = -100px -$b2t-position-bottom-on = 19px -$b2t-position-right = 50px -$b2t-font-size = 12px -$b2t-color = white -$b2t-bg-color = $black-deep - - -// .post-expand .post-eof -// In Muse scheme, margin above and below the post separator -$post-eof-margin-top = 80px // or 160px for more white space -$post-eof-margin-bottom = 60px // or 120px for less white space - - -// Iconography -// Icons SVG Base64 -// -------------------------------------------------- - -// blockquote-center icon -$center-quote-left = '../images/quote-l.svg' -$center-quote-right = '../images/quote-r.svg' diff --git a/themes/next/source/css/_variables/custom.styl b/themes/next/source/css/_variables/custom.styl deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/source/css/main.styl b/themes/next/source/css/main.styl deleted file mode 100644 index d46298d..0000000 --- a/themes/next/source/css/main.styl +++ /dev/null @@ -1,45 +0,0 @@ -// CSS Style Guide: http://codeguide.co/#css - - - -$scheme = hexo-config('scheme') ? hexo-config('scheme') : 'Muse'; -$variables = base $scheme custom; -$mixins = base $scheme custom; - - - -// Variables Layer -// -------------------------------------------------- -for $variable in $variables - @import "_variables/" + $variable - - -// Mixins Layer -// -------------------------------------------------- -for $mixin in $mixins - @import "_mixins/" + $mixin; - - - -// Common Layer -// -------------------------------------------------- - -// Scaffolding -@import "_common/scaffolding"; - -// Layout -@import "_common/outline"; - -// Components -@import "_common/components"; - - -// Schemes Layer -// -------------------------------------------------- -@import "_schemes/" + $scheme; - - - -// Custom Layer -// -------------------------------------------------- -@import "_custom/custom"; diff --git a/themes/next/source/fonts/.gitkeep b/themes/next/source/fonts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/themes/next/source/vendors/fastclick/.bower.json b/themes/next/source/vendors/fastclick/.bower.json deleted file mode 100644 index cfabed7..0000000 --- a/themes/next/source/vendors/fastclick/.bower.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "fastclick", - "main": "lib/fastclick.js", - "ignore": [ - "**/.*", - "component.json", - "package.json", - "Makefile", - "tests", - "examples" - ], - "homepage": "https://github.com/ftlabs/fastclick", - "version": "1.0.6", - "_release": "1.0.6", - "_resolution": { - "type": "version", - "tag": "v1.0.6", - "commit": "2ac7258407619398005ca720596f0d36ce66a6c8" - }, - "_source": "git://github.com/ftlabs/fastclick.git", - "_target": "~1.0.6", - "_originalSource": "fastclick", - "_direct": true -} \ No newline at end of file diff --git a/themes/next/source/vendors/fastclick/README.md b/themes/next/source/vendors/fastclick/README.md deleted file mode 100644 index 074895d..0000000 --- a/themes/next/source/vendors/fastclick/README.md +++ /dev/null @@ -1,140 +0,0 @@ -# FastClick # - -FastClick is a simple, easy-to-use library for eliminating the 300ms delay between a physical tap and the firing of a `click` event on mobile browsers. The aim is to make your application feel less laggy and more responsive while avoiding any interference with your current logic. - -FastClick is developed by [FT Labs](http://labs.ft.com/), part of the Financial Times. - -[Explication en français](http://maxime.sh/2013/02/supprimer-le-lag-des-clics-sur-mobile-avec-fastclick/). - -[日本語で説明](https://developer.mozilla.org/ja/docs/Mozilla/Firefox_OS/Apps/Tips_and_techniques#Make_events_immediate)。 - -## Why does the delay exist? ## - -According to [Google](https://developers.google.com/mobile/articles/fast_buttons): - -> ...mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap. - -## Compatibility ## - -The library has been deployed as part of the [FT Web App](http://app.ft.com/) and is tried and tested on the following mobile browsers: - -* Mobile Safari on iOS 3 and upwards -* Chrome on iOS 5 and upwards -* Chrome on Android (ICS) -* Opera Mobile 11.5 and upwards -* Android Browser since Android 2 -* PlayBook OS 1 and upwards - -## When it isn't needed ## - -FastClick doesn't attach any listeners on desktop browsers. - -Chrome 32+ on Android with `width=device-width` in the [viewport meta tag](https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag) doesn't have a 300ms delay, therefore listeners aren't attached. - -```html - -``` - -Same goes for Chrome on Android (all versions) with `user-scalable=no` in the viewport meta tag. But be aware that `user-scalable=no` also disables pinch zooming, which may be an accessibility concern. - -For IE11+, you can use `touch-action: manipulation;` to disable double-tap-to-zoom on certain elements (like links and buttons). For IE10 use `-ms-touch-action: manipulation`. - -## Usage ## - -Include fastclick.js in your JavaScript bundle or add it to your HTML page like this: - -```html - -``` - -The script must be loaded prior to instantiating FastClick on any element of the page. - -To instantiate FastClick on the `body`, which is the recommended method of use: - -```js -if ('addEventListener' in document) { - document.addEventListener('DOMContentLoaded', function() { - FastClick.attach(document.body); - }, false); -} -``` - -Or, if you're using jQuery: - -```js -$(function() { - FastClick.attach(document.body); -}); -``` - -If you're using Browserify or another CommonJS-style module system, the `FastClick.attach` function will be returned when you call `require('fastclick')`. As a result, the easiest way to use FastClick with these loaders is as follows: - -```js -var attachFastClick = require('fastclick'); -attachFastClick(document.body); -``` - -### Minified ### - -Run `make` to build a minified version of FastClick using the Closure Compiler REST API. The minified file is saved to `build/fastclick.min.js` or you can [download a pre-minified version](http://build.origami.ft.com/bundles/js?modules=fastclick). - -Note: the pre-minified version is built using [our build service](http://origami.ft.com/docs/developer-guide/build-service/) which exposes the `FastClick` object through `Origami.fastclick` and will have the Browserify/CommonJS API (see above). - -```js -var attachFastClick = Origami.fastclick; -attachFastClick(document.body); -``` - -### AMD ### - -FastClick has AMD (Asynchronous Module Definition) support. This allows it to be lazy-loaded with an AMD loader, such as [RequireJS](http://requirejs.org/). Note that when using the AMD style require, the full `FastClick` object will be returned, _not_ `FastClick.attach` - -```js -var FastClick = require('fastclick'); -FastClick.attach(document.body, options); -``` - -### Package managers ### - -You can install FastClick using [Component](https://github.com/component/component), [npm](https://npmjs.org/package/fastclick) or [Bower](http://bower.io/). - -For Ruby, there's a third-party gem called [fastclick-rails](http://rubygems.org/gems/fastclick-rails). For .NET there's a [NuGet package](http://nuget.org/packages/FastClick). - -## Advanced ## - -### Ignore certain elements with `needsclick` ### - -Sometimes you need FastClick to ignore certain elements. You can do this easily by adding the `needsclick` class. -```html -Ignored by FastClick -``` - -#### Use case 1: non-synthetic click required #### - -Internally, FastClick uses `document.createEvent` to fire a synthetic `click` event as soon as `touchend` is fired by the browser. It then suppresses the additional `click` event created by the browser after that. In some cases, the non-synthetic `click` event created by the browser is required, as described in the [triggering focus example](http://ftlabs.github.com/fastclick/examples/focus.html). - -This is where the `needsclick` class comes in. Add the class to any element that requires a non-synthetic click. - -#### Use case 2: Twitter Bootstrap 2.2.2 dropdowns #### - -Another example of when to use the `needsclick` class is with dropdowns in Twitter Bootstrap 2.2.2. Bootstrap add its own `touchstart` listener for dropdowns, so you want to tell FastClick to ignore those. If you don't, touch devices will automatically close the dropdown as soon as it is clicked, because both FastClick and Bootstrap execute the synthetic click, one opens the dropdown, the second closes it immediately after. - -```html -Dropdown -``` - -## Examples ## - -FastClick is designed to cope with many different browser oddities. Here are some examples to illustrate this: - -* [basic use](http://ftlabs.github.com/fastclick/examples/layer.html) showing the increase in perceived responsiveness -* [triggering focus](http://ftlabs.github.com/fastclick/examples/focus.html) on an input element from a `click` handler -* [input element](http://ftlabs.github.com/fastclick/examples/input.html) which never receives clicks but gets fast focus - -## Tests ## - -There are no automated tests. The files in `tests/` are manual reduced test cases. We've had a think about how best to test these cases, but they tend to be very browser/device specific and sometimes subjective which means it's not so trivial to test. - -## Credits and collaboration ## - -FastClick is maintained by [Rowan Beentje](http://twitter.com/rowanbeentje), [Matthew Caruana Galizia](http://twitter.com/mcaruanagalizia) and [Matthew Andrews](http://twitter.com/andrewsmatt) at [FT Labs](http://labs.ft.com). All open source code released by FT Labs is licenced under the MIT licence. We welcome comments, feedback and suggestions. Please feel free to raise an issue or pull request. diff --git a/themes/next/source/vendors/fastclick/bower.json b/themes/next/source/vendors/fastclick/bower.json deleted file mode 100644 index 18e1abd..0000000 --- a/themes/next/source/vendors/fastclick/bower.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "fastclick", - "main": "lib/fastclick.js", - "ignore": [ - "**/.*", - "component.json", - "package.json", - "Makefile", - "tests", - "examples" - ] -} diff --git a/themes/next/source/vendors/font-awesome/.bower.json b/themes/next/source/vendors/font-awesome/.bower.json deleted file mode 100644 index 0a17592..0000000 --- a/themes/next/source/vendors/font-awesome/.bower.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "font-awesome", - "description": "Font Awesome", - "keywords": [], - "homepage": "http://fontawesome.io", - "dependencies": {}, - "devDependencies": {}, - "license": [ - "OFL-1.1", - "MIT", - "CC-BY-3.0" - ], - "main": [ - "less/font-awesome.less", - "scss/font-awesome.scss" - ], - "ignore": [ - "*/.*", - "*.json", - "src", - "*.yml", - "Gemfile", - "Gemfile.lock", - "*.md" - ], - "version": "4.4.0", - "_release": "4.4.0", - "_resolution": { - "type": "version", - "tag": "v4.4.0", - "commit": "f2cc73da12f0e6d828bc2daaa72bff457067bf39" - }, - "_source": "git://github.com/FortAwesome/Font-Awesome.git", - "_target": "~4.4.0", - "_originalSource": "fontawesome", - "_direct": true -} \ No newline at end of file diff --git a/themes/next/source/vendors/font-awesome/.gitignore b/themes/next/source/vendors/font-awesome/.gitignore deleted file mode 100644 index 39c4f20..0000000 --- a/themes/next/source/vendors/font-awesome/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -*.pyc -*.egg-info -*.db -*.db.old -*.swp -*.db-journal - -.coverage -.DS_Store -.installed.cfg -_gh_pages/* - -.idea/* -.svn/* -src/website/static/* -src/website/media/* - -bin -cfcache -develop-eggs -dist -downloads -eggs -parts -tmp -.sass-cache -node_modules - -src/website/settingslocal.py -stunnel.log - -.ruby-version -.bundle diff --git a/themes/next/source/vendors/font-awesome/.npmignore b/themes/next/source/vendors/font-awesome/.npmignore deleted file mode 100644 index 54a691f..0000000 --- a/themes/next/source/vendors/font-awesome/.npmignore +++ /dev/null @@ -1,42 +0,0 @@ -*.pyc -*.egg-info -*.db -*.db.old -*.swp -*.db-journal - -.coverage -.DS_Store -.installed.cfg -_gh_pages/* - -.idea/* -.svn/* -src/website/static/* -src/website/media/* - -bin -cfcache -develop-eggs -dist -downloads -eggs -parts -tmp -.sass-cache -node_modules - -src/website/settingslocal.py -stunnel.log - -.ruby-version - -# don't need these in the npm package. -src/ -_config.yml -bower.json -component.json -composer.json -CONTRIBUTING.md -Gemfile -Gemfile.lock diff --git a/themes/next/source/vendors/font-awesome/bower.json b/themes/next/source/vendors/font-awesome/bower.json deleted file mode 100644 index 9e21126..0000000 --- a/themes/next/source/vendors/font-awesome/bower.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "font-awesome", - "description": "Font Awesome", - "keywords": [], - "homepage": "http://fontawesome.io", - "dependencies": {}, - "devDependencies": {}, - "license": ["OFL-1.1", "MIT", "CC-BY-3.0"], - "main": [ - "less/font-awesome.less", - "scss/font-awesome.scss" - ], - "ignore": [ - "*/.*", - "*.json", - "src", - "*.yml", - "Gemfile", - "Gemfile.lock", - "*.md" - ] -} diff --git a/themes/next/source/vendors/jquery/.bower.json b/themes/next/source/vendors/jquery/.bower.json deleted file mode 100644 index 30b67e0..0000000 --- a/themes/next/source/vendors/jquery/.bower.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "jquery", - "_cacheHeaders": { - "ETag": "\"5492efef-14960\"", - "Last-Modified": "Thu, 18 Dec 2014 15:17:03 GMT", - "Content-Length": "84320", - "Content-Type": "application/x-javascript" - }, - "_release": "e-tag:5492efef-", - "main": "index.js", - "_source": "http://code.jquery.com/jquery-2.1.3.min.js", - "_target": "*", - "_originalSource": "http://code.jquery.com/jquery-2.1.3.min.js", - "_direct": true -} \ No newline at end of file diff --git a/themes/next/source/vendors/jquery_lazyload/.bower.json b/themes/next/source/vendors/jquery_lazyload/.bower.json deleted file mode 100644 index 9999f39..0000000 --- a/themes/next/source/vendors/jquery_lazyload/.bower.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "jquery_lazyload", - "version": "1.9.7", - "homepage": "http://www.appelsiini.net/projects/lazyload", - "authors": [ - "Mika Tuupola " - ], - "description": "jQuery plugin for lazy loading images", - "main": [ - "jquery.lazyload.js", - "jquery.scrollstop.js" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "**/*.min.js", - "**/*.html", - "**/*.textile", - "Gruntfile.js", - "lazyload.jquery.json", - "package.json", - "node_modules", - "bower_components", - "test", - "img" - ], - "_release": "1.9.7", - "_resolution": { - "type": "version", - "tag": "1.9.7", - "commit": "218e50eb4999fe59ac94b939a65c8c988d1d420b" - }, - "_source": "git://github.com/tuupola/jquery_lazyload.git", - "_target": "~1.9.7", - "_originalSource": "jquery.lazyload", - "_direct": true -} \ No newline at end of file diff --git a/themes/next/source/vendors/jquery_lazyload/CONTRIBUTING.md b/themes/next/source/vendors/jquery_lazyload/CONTRIBUTING.md deleted file mode 100644 index 4a5fb22..0000000 --- a/themes/next/source/vendors/jquery_lazyload/CONTRIBUTING.md +++ /dev/null @@ -1,39 +0,0 @@ -# Contributing to Lazy Load - -## Only one feature or change per pull request - -Make pull requests only one feature or change at the time. For example you have fixed a bug. You also have optimized some code. Optimization is not related to a bug. These should be submitted as separate pull requests. This way I can easily choose what to include. It is also easier to understand the code changes. Commit messages should be descriptive and full sentences. - -Do not commit minified versions. Do not touch the version number. Make the pull requests against [1.9.x branch](https://github.com/tuupola/jquery_lazyload/commits/1.9.x). - -## Write meaningful commit messages - -Proper commit message is full sentence. It starts with capital letter but does not end with period. Headlines do not end with period. The GitHub default `Update filename.js` is not enough. When needed include also longer explanation what the commit does. - -``` -Capitalized, short (50 chars or less) summary - -More detailed explanatory text, if necessary. Wrap it to about 72 -characters or so. In some contexts, the first line is treated as the -subject of an email and the rest of the text as the body. The blank -line separating the summary from the body is critical (unless you omit -the body entirely); tools like rebase can get confused if you run the -two together. -``` - -When in doubt see Tim Pope's blogpost [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) - -## Follow the existing coding standards - -When contributing to open source project it is polite to follow the original authors coding standars. They might be different than yours. It is not a holy war. Just follow then original. - -```javascript -var snake_case = "something"; - -function camelCase(options) { -} - -if (true !== false) { - console.log("here be dragons"); -} -``` diff --git a/themes/next/source/vendors/jquery_lazyload/README.md b/themes/next/source/vendors/jquery_lazyload/README.md deleted file mode 100644 index a9626ee..0000000 --- a/themes/next/source/vendors/jquery_lazyload/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Lazy Load Plugin for jQuery - -Lazy Load delays loading of images in long web pages. Images outside of viewport wont be loaded before user scrolls to them. This is opposite of image preloading. - -Using Lazy Load on long web pages containing many large images makes the page load faster. Browser will be in ready state after loading visible images. In some cases it can also help to reduce server load. - -Lazy Load is inspired by [YUI ImageLoader](http://developer.yahoo.com/yui/imageloader/) Utility by Matt Mlinac. - -## How to Use? - -Lazy Load depends on jQuery. Include them both in end of your HTML code: - -```html - - -``` - -You must alter your HTML code. URL of the real image must be put into data-original attribute. It is good idea to give Lazy Loaded image a specific class. This way you can easily control which images plugin is binded to. Note that you should have width and height attributes in your image tag. - -```html - -``` - -then in your code do: - -```js -$("img.lazy").lazyload(); -``` - -This causes all images of class lazy to be lazy loaded. - -More information on [Lazy Load](http://www.appelsiini.net/projects/lazyload) project page. - -## Install - -You can install with [bower](http://bower.io/) or [npm](https://www.npmjs.com/). - - -```sh -$ bower install jquery.lazyload -$ npm install jquery-lazyload -``` - - -# License - -All code licensed under the [MIT License](http://www.opensource.org/licenses/mit-license.php). All images licensed under [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/deed.en_US). In other words you are basically free to do whatever you want. Just don't remove my name from the source. - diff --git a/themes/next/source/vendors/jquery_lazyload/bower.json b/themes/next/source/vendors/jquery_lazyload/bower.json deleted file mode 100644 index 929d3c4..0000000 --- a/themes/next/source/vendors/jquery_lazyload/bower.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "jquery_lazyload", - "version": "1.9.4", - "homepage": "http://www.appelsiini.net/projects/lazyload", - "authors": [ - "Mika Tuupola " - ], - "description": "jQuery plugin for lazy loading images", - "main": [ - "jquery.lazyload.js", - "jquery.scrollstop.js" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "**/*.min.js", - "**/*.html", - "**/*.textile", - "Gruntfile.js", - "lazyload.jquery.json", - "package.json", - "node_modules", - "bower_components", - "test", - "img" - ] -} diff --git a/themes/next/source/vendors/velocity/.bower.json b/themes/next/source/vendors/velocity/.bower.json deleted file mode 100644 index 8fb3b04..0000000 --- a/themes/next/source/vendors/velocity/.bower.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "velocity", - "version": "1.2.2", - "homepage": "http://velocityjs.org", - "authors": [ - { - "name": "Julian Shapiro", - "homepage": "http://julian.com/" - } - ], - "description": "Accelerated JavaScript animation.", - "main": [ - "./velocity.js", - "./velocity.ui.js" - ], - "keywords": [ - "animation", - "jquery", - "animate", - "lightweight", - "smooth", - "ui", - "velocity.js", - "velocityjs", - "javascript" - ], - "license": "MIT", - "ignore": [ - "*.json", - "!/bower.json", - "LICENSE", - "*.md" - ], - "dependencies": { - "jquery": "*" - }, - "repository": { - "type": "git", - "url": "http://github.com/julianshapiro/velocity.git" - }, - "_release": "1.2.2", - "_resolution": { - "type": "version", - "tag": "1.2.2", - "commit": "6b227928631aab5694255df3c219736c4c02449d" - }, - "_source": "git://github.com/julianshapiro/velocity.git", - "_target": "~1.2.1", - "_originalSource": "velocity" -} \ No newline at end of file diff --git a/themes/next/source/vendors/velocity/bower.json b/themes/next/source/vendors/velocity/bower.json deleted file mode 100644 index 768ee61..0000000 --- a/themes/next/source/vendors/velocity/bower.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "velocity", - "version": "1.2.2", - "homepage": "http://velocityjs.org", - "authors": [ - { "name" : "Julian Shapiro", - "homepage" : "http://julian.com/" - } - ], - "description": "Accelerated JavaScript animation.", - "main": [ "./velocity.js", "./velocity.ui.js"], - "keywords": [ - "animation", - "jquery", - "animate", - "lightweight", - "smooth", - "ui", - "velocity.js", - "velocityjs", - "javascript" - ], - "license": "MIT", - "ignore": [ - "*.json", - "!/bower.json", - "LICENSE", - "*.md" - ], - "dependencies": { - "jquery": "*" - }, - "repository" : - { - "type" : "git", - "url" : "http://github.com/julianshapiro/velocity.git" - } -} \ No newline at end of file diff --git a/themes/next/test/.jshintrc b/themes/next/test/.jshintrc deleted file mode 100644 index b005011..0000000 --- a/themes/next/test/.jshintrc +++ /dev/null @@ -1,24 +0,0 @@ -{ - "curly": true, - "eqnull": true, - "eqeqeq": true, - "undef": true, - "newcap": true, - "undef": true, - "unused": true, - "laxcomma": false, - "asi": false, - "expr": true, - "loopfunc": false, - "strict": false, - - "globals": { - "define": true, - "require": true, - "it": true, - "module": true, - "describe": true, - "window": true, - "$": true - } -} diff --git a/themes/next/test/helpers.js b/themes/next/test/helpers.js deleted file mode 100644 index 83f51d0..0000000 --- a/themes/next/test/helpers.js +++ /dev/null @@ -1,133 +0,0 @@ -define([ - 'intern!object', - 'intern/chai!assert', - 'intern/order!source/js/helpers.js' -], function (registerSuite, assert) { - registerSuite({ - name: 'helpers', - - beforeEach: function () { - window = { - navigator: { - userAgent: '' - } - }; - screen = { - width: 0 - }; - - minic = { - desktop: function (screenWidth) { - window.navigator.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'; - screen.width = screenWidth || 992; - }, - tablet: function (screenWidth) { - window.navigator.userAgent = 'Mozilla/5.0 (iPad; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5'; - screen.width = screenWidth || 750; - }, - mobile: function (screenWidth) { - window.navigator.userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4'; - screen.width = screenWidth || 767; - } - }; - }, - - '#hasMobileUA': { - 'should be true': function () { - minic.mobile(); - assert.isTrue( hasMobileUA() ); - minic.tablet(); - assert.isTrue( hasMobileUA() ); - }, - - 'should be false': function () { - minic.desktop(); - assert.isFalse( hasMobileUA() ); - } - }, - - - '#isDesktop': { - 'should be true': function () { - minic.desktop(992); - assert.isTrue( isDesktop() ); - - minic.desktop(1200); - assert.isTrue( isDesktop() ); - }, - 'should be false': function () { - minic.mobile(); - assert.isFalse( isDesktop() ); - - minic.tablet(992); - assert.isFalse( isDesktop() ); - } - }, - - '#isTablet': { - 'should be true': function () { - minic.tablet(900); - assert.isTrue( isTablet() ); - - minic.tablet(780); - assert.isTrue( isTablet() ); - }, - 'should be false': function () { - minic.desktop(500); - assert.isFalse( isTablet() ); - - minic.tablet(1000); - assert.isFalse( isTablet() ); - - minic.tablet(500); - assert.isFalse( isTablet() ); - } - }, - - '#isMobile': { - 'should be true': function () { - minic.mobile(); - assert.isTrue( isMobile() ); - - minic.mobile(700); - assert.isTrue( isMobile() ); - }, - 'should be false': function () { - minic.desktop(); - assert.isFalse( isMobile() ); - - minic.tablet(); - assert.isFalse( isMobile() ); - - minic.mobile(1000); - assert.isFalse( isMobile() ); - } - }, - - '#escapeSelector': function () { - var selectors = ['(something', '.something', '$something']; - selectors.forEach(function (s) { - assert.equal( escapeSelector(s), '\\' + s ); - }); - }, - - '#displaySidebar': function () {}, - - '#isMist': { - beforeEach: function () { - CONFIG = { - scheme: '' - }; - }, - 'should be true': function () { - CONFIG.scheme = 'Mist'; - assert.isTrue( isMist() ); - }, - 'should be false': function () { - CONFIG.scheme = 'Minimal'; - assert.isFalse( isMist() ); - } - } - - }); -}); diff --git a/themes/next/test/intern.js b/themes/next/test/intern.js deleted file mode 100644 index db115c7..0000000 --- a/themes/next/test/intern.js +++ /dev/null @@ -1,65 +0,0 @@ -// Learn more about configuring this file at . -// These default settings work OK for most people. The options that *must* be changed below are the -// packages, suites, excludeInstrumentation, and (if you want functional tests) functionalSuites. -define({ - // The port on which the instrumenting proxy will listen - proxyPort: 9000, - - // A fully qualified URL to the Intern proxy - proxyUrl: 'http://localhost:9000/', - - // Default desired capabilities for all environments. Individual capabilities can be overridden by any of the - // specified browser environments in the `environments` array below as well. See - // https://code.google.com/p/selenium/wiki/DesiredCapabilities for standard Selenium capabilities and - // https://saucelabs.com/docs/additional-config#desired-capabilities for Sauce Labs capabilities. - // Note that the `build` capability will be filled in with the current commit ID from the Travis CI environment - // automatically - capabilities: { - 'selenium-version': '2.41.0' - }, - - // Browsers to run integration testing against. Note that version numbers must be strings if used with Sauce - // OnDemand. Options that will be permutated are browserName, version, platform, and platformVersion; any other - // capabilities options specified for an environment will be copied as-is - environments: [ - { browserName: 'internet explorer', version: '11', platform: 'Windows 8.1' }, - { browserName: 'internet explorer', version: '10', platform: 'Windows 8' }, - { browserName: 'internet explorer', version: '9', platform: 'Windows 7' }, - { browserName: 'firefox', version: '28', platform: [ 'OS X 10.9', 'Windows 7', 'Linux' ] }, - { browserName: 'chrome', version: '34', platform: [ 'OS X 10.9', 'Windows 7', 'Linux' ] }, - { browserName: 'safari', version: '6', platform: 'OS X 10.8' }, - { browserName: 'safari', version: '7', platform: 'OS X 10.9' } - ], - - // Maximum number of simultaneous integration tests that should be executed on the remote WebDriver service - maxConcurrency: 3, - - // Name of the tunnel class to use for WebDriver tests - tunnel: 'SauceLabsTunnel', - - // The desired AMD loader to use when running unit tests (client.html/client.js). Omit to use the default Dojo - // loader - useLoader: { - 'host-node': 'dojo/dojo', - 'host-browser': 'node_modules/dojo/dojo.js' - }, - - // Configuration options for the module loader; any AMD configuration options supported by the specified AMD loader - // can be used here - loader: { - // Packages that should be registered with the loader in each testing environment - packages: [ { name: 'next', location: '.' } ] - }, - - // Non-functional test suite(s) to run in each browser - suites: [ - /* 'myPackage/tests/foo', 'myPackage/tests/bar' */ - 'tests/helpers' - ], - - // Functional test suite(s) to run in each browser once non-functional tests are completed - functionalSuites: [ /* 'myPackage/tests/functional' */ ], - - // A regular expression matching URLs to files that should not be included in code coverage analysis - excludeInstrumentation: /^(?:tests|node_modules)\// -}); diff --git a/themes/next/source/uploads/avatar.jpg b/uploads/avatar.jpg similarity index 100% rename from themes/next/source/uploads/avatar.jpg rename to uploads/avatar.jpg diff --git a/themes/next/source/vendors/fancybox/source/blank.gif b/vendors/fancybox/source/blank.gif similarity index 100% rename from themes/next/source/vendors/fancybox/source/blank.gif rename to vendors/fancybox/source/blank.gif diff --git a/themes/next/source/vendors/fancybox/source/fancybox_loading.gif b/vendors/fancybox/source/fancybox_loading.gif similarity index 100% rename from themes/next/source/vendors/fancybox/source/fancybox_loading.gif rename to vendors/fancybox/source/fancybox_loading.gif diff --git a/themes/next/source/vendors/fancybox/source/fancybox_loading@2x.gif b/vendors/fancybox/source/fancybox_loading@2x.gif similarity index 100% rename from themes/next/source/vendors/fancybox/source/fancybox_loading@2x.gif rename to vendors/fancybox/source/fancybox_loading@2x.gif diff --git a/themes/next/source/vendors/fancybox/source/fancybox_overlay.png b/vendors/fancybox/source/fancybox_overlay.png similarity index 100% rename from themes/next/source/vendors/fancybox/source/fancybox_overlay.png rename to vendors/fancybox/source/fancybox_overlay.png diff --git a/themes/next/source/vendors/fancybox/source/fancybox_sprite.png b/vendors/fancybox/source/fancybox_sprite.png similarity index 100% rename from themes/next/source/vendors/fancybox/source/fancybox_sprite.png rename to vendors/fancybox/source/fancybox_sprite.png diff --git a/themes/next/source/vendors/fancybox/source/fancybox_sprite@2x.png b/vendors/fancybox/source/fancybox_sprite@2x.png similarity index 100% rename from themes/next/source/vendors/fancybox/source/fancybox_sprite@2x.png rename to vendors/fancybox/source/fancybox_sprite@2x.png diff --git a/themes/next/source/vendors/fancybox/source/helpers/fancybox_buttons.png b/vendors/fancybox/source/helpers/fancybox_buttons.png similarity index 100% rename from themes/next/source/vendors/fancybox/source/helpers/fancybox_buttons.png rename to vendors/fancybox/source/helpers/fancybox_buttons.png diff --git a/themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-buttons.css b/vendors/fancybox/source/helpers/jquery.fancybox-buttons.css similarity index 100% rename from themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-buttons.css rename to vendors/fancybox/source/helpers/jquery.fancybox-buttons.css diff --git a/themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-buttons.js b/vendors/fancybox/source/helpers/jquery.fancybox-buttons.js similarity index 100% rename from themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-buttons.js rename to vendors/fancybox/source/helpers/jquery.fancybox-buttons.js diff --git a/themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-media.js b/vendors/fancybox/source/helpers/jquery.fancybox-media.js similarity index 100% rename from themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-media.js rename to vendors/fancybox/source/helpers/jquery.fancybox-media.js diff --git a/themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-thumbs.css b/vendors/fancybox/source/helpers/jquery.fancybox-thumbs.css similarity index 100% rename from themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-thumbs.css rename to vendors/fancybox/source/helpers/jquery.fancybox-thumbs.css diff --git a/themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-thumbs.js b/vendors/fancybox/source/helpers/jquery.fancybox-thumbs.js similarity index 100% rename from themes/next/source/vendors/fancybox/source/helpers/jquery.fancybox-thumbs.js rename to vendors/fancybox/source/helpers/jquery.fancybox-thumbs.js diff --git a/themes/next/source/vendors/fancybox/source/jquery.fancybox.css b/vendors/fancybox/source/jquery.fancybox.css similarity index 100% rename from themes/next/source/vendors/fancybox/source/jquery.fancybox.css rename to vendors/fancybox/source/jquery.fancybox.css diff --git a/themes/next/source/vendors/fancybox/source/jquery.fancybox.js b/vendors/fancybox/source/jquery.fancybox.js old mode 100755 new mode 100644 similarity index 100% rename from themes/next/source/vendors/fancybox/source/jquery.fancybox.js rename to vendors/fancybox/source/jquery.fancybox.js diff --git a/themes/next/source/vendors/fancybox/source/jquery.fancybox.pack.js b/vendors/fancybox/source/jquery.fancybox.pack.js old mode 100755 new mode 100644 similarity index 100% rename from themes/next/source/vendors/fancybox/source/jquery.fancybox.pack.js rename to vendors/fancybox/source/jquery.fancybox.pack.js diff --git a/themes/next/source/vendors/fastclick/LICENSE b/vendors/fastclick/LICENSE similarity index 100% rename from themes/next/source/vendors/fastclick/LICENSE rename to vendors/fastclick/LICENSE diff --git a/vendors/fastclick/README.html b/vendors/fastclick/README.html new file mode 100644 index 0000000..c9ab89c --- /dev/null +++ b/vendors/fastclick/README.html @@ -0,0 +1,70 @@ +

FastClick

FastClick is a simple, easy-to-use library for eliminating the 300ms delay between a physical tap and the firing of a click event on mobile browsers. The aim is to make your application feel less laggy and more responsive while avoiding any interference with your current logic.

+

FastClick is developed by FT Labs, part of the Financial Times.

+

Explication en français.

+

日本語で説明

+

Why does the delay exist?

According to Google:

+
+

…mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap.

+
+

Compatibility

The library has been deployed as part of the FT Web App and is tried and tested on the following mobile browsers:

+
    +
  • Mobile Safari on iOS 3 and upwards
  • +
  • Chrome on iOS 5 and upwards
  • +
  • Chrome on Android (ICS)
  • +
  • Opera Mobile 11.5 and upwards
  • +
  • Android Browser since Android 2
  • +
  • PlayBook OS 1 and upwards
  • +
+

When it isn’t needed

FastClick doesn’t attach any listeners on desktop browsers.

+

Chrome 32+ on Android with width=device-width in the viewport meta tag doesn’t have a 300ms delay, therefore listeners aren’t attached.

+
<meta name="viewport" content="width=device-width, initial-scale=1">
+
+

Same goes for Chrome on Android (all versions) with user-scalable=no in the viewport meta tag. But be aware that user-scalable=no also disables pinch zooming, which may be an accessibility concern.

+

For IE11+, you can use touch-action: manipulation; to disable double-tap-to-zoom on certain elements (like links and buttons). For IE10 use -ms-touch-action: manipulation.

+

Usage

Include fastclick.js in your JavaScript bundle or add it to your HTML page like this:

+
<script type='application/javascript' src='/path/to/fastclick.js'></script>
+
+

The script must be loaded prior to instantiating FastClick on any element of the page.

+

To instantiate FastClick on the body, which is the recommended method of use:

+
if ('addEventListener' in document) {
+    document.addEventListener('DOMContentLoaded', function() {
+        FastClick.attach(document.body);
+    }, false);
+}
+
+

Or, if you’re using jQuery:

+
$(function() {
+    FastClick.attach(document.body);
+});
+
+

If you’re using Browserify or another CommonJS-style module system, the FastClick.attach function will be returned when you call require('fastclick'). As a result, the easiest way to use FastClick with these loaders is as follows:

+
var attachFastClick = require('fastclick');
+attachFastClick(document.body);
+
+

Minified

Run make to build a minified version of FastClick using the Closure Compiler REST API. The minified file is saved to build/fastclick.min.js or you can download a pre-minified version.

+

Note: the pre-minified version is built using our build service which exposes the FastClick object through Origami.fastclick and will have the Browserify/CommonJS API (see above).

+
var attachFastClick = Origami.fastclick;
+attachFastClick(document.body);
+
+

AMD

FastClick has AMD (Asynchronous Module Definition) support. This allows it to be lazy-loaded with an AMD loader, such as RequireJS. Note that when using the AMD style require, the full FastClick object will be returned, not FastClick.attach

+
var FastClick = require('fastclick');
+FastClick.attach(document.body, options);
+
+

Package managers

You can install FastClick using Component, npm or Bower.

+

For Ruby, there’s a third-party gem called fastclick-rails. For .NET there’s a NuGet package.

+

Advanced

Ignore certain elements with needsclick

Sometimes you need FastClick to ignore certain elements. You can do this easily by adding the needsclick class.

+
<a class="needsclick">Ignored by FastClick</a>
+
+

Use case 1: non-synthetic click required

Internally, FastClick uses document.createEvent to fire a synthetic click event as soon as touchend is fired by the browser. It then suppresses the additional click event created by the browser after that. In some cases, the non-synthetic click event created by the browser is required, as described in the triggering focus example.

+

This is where the needsclick class comes in. Add the class to any element that requires a non-synthetic click.

+

Use case 2: Twitter Bootstrap 2.2.2 dropdowns

Another example of when to use the needsclick class is with dropdowns in Twitter Bootstrap 2.2.2. Bootstrap add its own touchstart listener for dropdowns, so you want to tell FastClick to ignore those. If you don’t, touch devices will automatically close the dropdown as soon as it is clicked, because both FastClick and Bootstrap execute the synthetic click, one opens the dropdown, the second closes it immediately after.

+
<a class="dropdown-toggle needsclick" data-toggle="dropdown">Dropdown</a>
+
+

Examples

FastClick is designed to cope with many different browser oddities. Here are some examples to illustrate this:

+ +

Tests

There are no automated tests. The files in tests/ are manual reduced test cases. We’ve had a think about how best to test these cases, but they tend to be very browser/device specific and sometimes subjective which means it’s not so trivial to test.

+

Credits and collaboration

FastClick is maintained by Rowan Beentje, Matthew Caruana Galizia and Matthew Andrews at FT Labs. All open source code released by FT Labs is licenced under the MIT licence. We welcome comments, feedback and suggestions. Please feel free to raise an issue or pull request.

diff --git a/vendors/fastclick/bower.json b/vendors/fastclick/bower.json new file mode 100644 index 0000000..cdbbf93 --- /dev/null +++ b/vendors/fastclick/bower.json @@ -0,0 +1 @@ +{"name":"fastclick","main":"lib/fastclick.js","ignore":["**/.*","component.json","package.json","Makefile","tests","examples"]} \ No newline at end of file diff --git a/themes/next/source/vendors/fastclick/lib/fastclick.js b/vendors/fastclick/lib/fastclick.js similarity index 100% rename from themes/next/source/vendors/fastclick/lib/fastclick.js rename to vendors/fastclick/lib/fastclick.js diff --git a/themes/next/source/vendors/fastclick/lib/fastclick.min.js b/vendors/fastclick/lib/fastclick.min.js similarity index 100% rename from themes/next/source/vendors/fastclick/lib/fastclick.min.js rename to vendors/fastclick/lib/fastclick.min.js diff --git a/themes/next/source/vendors/font-awesome/HELP-US-OUT.txt b/vendors/font-awesome/HELP-US-OUT.txt similarity index 100% rename from themes/next/source/vendors/font-awesome/HELP-US-OUT.txt rename to vendors/font-awesome/HELP-US-OUT.txt diff --git a/vendors/font-awesome/bower.json b/vendors/font-awesome/bower.json new file mode 100644 index 0000000..772570a --- /dev/null +++ b/vendors/font-awesome/bower.json @@ -0,0 +1 @@ +{"name":"font-awesome","description":"Font Awesome","keywords":[],"homepage":"http://fontawesome.io","dependencies":{},"devDependencies":{},"license":["OFL-1.1","MIT","CC-BY-3.0"],"main":["less/font-awesome.less","scss/font-awesome.scss"],"ignore":["*/.*","*.json","src","*.yml","Gemfile","Gemfile.lock","*.md"]} \ No newline at end of file diff --git a/themes/next/source/vendors/font-awesome/css/font-awesome.css b/vendors/font-awesome/css/font-awesome.css similarity index 100% rename from themes/next/source/vendors/font-awesome/css/font-awesome.css rename to vendors/font-awesome/css/font-awesome.css diff --git a/themes/next/source/vendors/font-awesome/css/font-awesome.css.map b/vendors/font-awesome/css/font-awesome.css.map similarity index 100% rename from themes/next/source/vendors/font-awesome/css/font-awesome.css.map rename to vendors/font-awesome/css/font-awesome.css.map diff --git a/themes/next/source/vendors/font-awesome/css/font-awesome.min.css b/vendors/font-awesome/css/font-awesome.min.css similarity index 100% rename from themes/next/source/vendors/font-awesome/css/font-awesome.min.css rename to vendors/font-awesome/css/font-awesome.min.css diff --git a/themes/next/source/vendors/font-awesome/fonts/FontAwesome.otf b/vendors/font-awesome/fonts/FontAwesome.otf similarity index 100% rename from themes/next/source/vendors/font-awesome/fonts/FontAwesome.otf rename to vendors/font-awesome/fonts/FontAwesome.otf diff --git a/themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.eot b/vendors/font-awesome/fonts/fontawesome-webfont.eot similarity index 100% rename from themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.eot rename to vendors/font-awesome/fonts/fontawesome-webfont.eot diff --git a/themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.svg b/vendors/font-awesome/fonts/fontawesome-webfont.svg similarity index 100% rename from themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.svg rename to vendors/font-awesome/fonts/fontawesome-webfont.svg diff --git a/themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.ttf b/vendors/font-awesome/fonts/fontawesome-webfont.ttf similarity index 100% rename from themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.ttf rename to vendors/font-awesome/fonts/fontawesome-webfont.ttf diff --git a/themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.woff b/vendors/font-awesome/fonts/fontawesome-webfont.woff similarity index 100% rename from themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.woff rename to vendors/font-awesome/fonts/fontawesome-webfont.woff diff --git a/themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.woff2 b/vendors/font-awesome/fonts/fontawesome-webfont.woff2 similarity index 100% rename from themes/next/source/vendors/font-awesome/fonts/fontawesome-webfont.woff2 rename to vendors/font-awesome/fonts/fontawesome-webfont.woff2 diff --git a/themes/next/source/vendors/jquery/index.js b/vendors/jquery/index.js similarity index 100% rename from themes/next/source/vendors/jquery/index.js rename to vendors/jquery/index.js diff --git a/vendors/jquery_lazyload/CONTRIBUTING.html b/vendors/jquery_lazyload/CONTRIBUTING.html new file mode 100644 index 0000000..c732c08 --- /dev/null +++ b/vendors/jquery_lazyload/CONTRIBUTING.html @@ -0,0 +1,22 @@ +

Contributing to Lazy Load

Only one feature or change per pull request

Make pull requests only one feature or change at the time. For example you have fixed a bug. You also have optimized some code. Optimization is not related to a bug. These should be submitted as separate pull requests. This way I can easily choose what to include. It is also easier to understand the code changes. Commit messages should be descriptive and full sentences.

+

Do not commit minified versions. Do not touch the version number. Make the pull requests against 1.9.x branch.

+

Write meaningful commit messages

Proper commit message is full sentence. It starts with capital letter but does not end with period. Headlines do not end with period. The GitHub default Update filename.js is not enough. When needed include also longer explanation what the commit does.

+
Capitalized, short (50 chars or less) summary
+
+More detailed explanatory text, if necessary.  Wrap it to about 72
+characters or so.  In some contexts, the first line is treated as the
+subject of an email and the rest of the text as the body.  The blank
+line separating the summary from the body is critical (unless you omit
+the body entirely); tools like rebase can get confused if you run the
+two together.
+

When in doubt see Tim Pope’s blogpost A Note About Git Commit Messages

+

Follow the existing coding standards

When contributing to open source project it is polite to follow the original authors coding standars. They might be different than yours. It is not a holy war. Just follow then original.

+
var snake_case = "something";
+
+function camelCase(options) {
+}
+
+if (true !== false) {
+    console.log("here be dragons");
+}
+
diff --git a/vendors/jquery_lazyload/README.html b/vendors/jquery_lazyload/README.html new file mode 100644 index 0000000..a24769b --- /dev/null +++ b/vendors/jquery_lazyload/README.html @@ -0,0 +1,20 @@ +

Lazy Load Plugin for jQuery

Lazy Load delays loading of images in long web pages. Images outside of viewport wont be loaded before user scrolls to them. This is opposite of image preloading.

+

Using Lazy Load on long web pages containing many large images makes the page load faster. Browser will be in ready state after loading visible images. In some cases it can also help to reduce server load.

+

Lazy Load is inspired by YUI ImageLoader Utility by Matt Mlinac.

+

How to Use?

Lazy Load depends on jQuery. Include them both in end of your HTML code:

+
<script src="jquery.js" type="text/javascript"></script>
+<script src="jquery.lazyload.js" type="text/javascript"></script>
+
+

You must alter your HTML code. URL of the real image must be put into data-original attribute. It is good idea to give Lazy Loaded image a specific class. This way you can easily control which images plugin is binded to. Note that you should have width and height attributes in your image tag.

+
<img class="lazy" data-original="img/example.jpg" width="640" height="480">
+
+

then in your code do:

+
$("img.lazy").lazyload();
+
+

This causes all images of class lazy to be lazy loaded.

+

More information on Lazy Load project page.

+

Install

You can install with bower or npm.

+
$ bower install jquery.lazyload
+$ npm install jquery-lazyload
+
+

License

All code licensed under the MIT License. All images licensed under Creative Commons Attribution 3.0 Unported License. In other words you are basically free to do whatever you want. Just don’t remove my name from the source.

diff --git a/vendors/jquery_lazyload/bower.json b/vendors/jquery_lazyload/bower.json new file mode 100644 index 0000000..6ffd9bc --- /dev/null +++ b/vendors/jquery_lazyload/bower.json @@ -0,0 +1 @@ +{"name":"jquery_lazyload","version":"1.9.4","homepage":"http://www.appelsiini.net/projects/lazyload","authors":["Mika Tuupola "],"description":"jQuery plugin for lazy loading images","main":["jquery.lazyload.js","jquery.scrollstop.js"],"license":"MIT","ignore":["**/.*","**/*.min.js","**/*.html","**/*.textile","Gruntfile.js","lazyload.jquery.json","package.json","node_modules","bower_components","test","img"]} \ No newline at end of file diff --git a/themes/next/source/vendors/jquery_lazyload/jquery.lazyload.js b/vendors/jquery_lazyload/jquery.lazyload.js similarity index 100% rename from themes/next/source/vendors/jquery_lazyload/jquery.lazyload.js rename to vendors/jquery_lazyload/jquery.lazyload.js diff --git a/themes/next/source/vendors/jquery_lazyload/jquery.scrollstop.js b/vendors/jquery_lazyload/jquery.scrollstop.js similarity index 100% rename from themes/next/source/vendors/jquery_lazyload/jquery.scrollstop.js rename to vendors/jquery_lazyload/jquery.scrollstop.js diff --git a/themes/next/source/vendors/ua-parser-js/dist/ua-parser.min.js b/vendors/ua-parser-js/dist/ua-parser.min.js similarity index 100% rename from themes/next/source/vendors/ua-parser-js/dist/ua-parser.min.js rename to vendors/ua-parser-js/dist/ua-parser.min.js diff --git a/themes/next/source/vendors/ua-parser-js/dist/ua-parser.pack.js b/vendors/ua-parser-js/dist/ua-parser.pack.js similarity index 100% rename from themes/next/source/vendors/ua-parser-js/dist/ua-parser.pack.js rename to vendors/ua-parser-js/dist/ua-parser.pack.js diff --git a/vendors/velocity/bower.json b/vendors/velocity/bower.json new file mode 100644 index 0000000..bf66fe8 --- /dev/null +++ b/vendors/velocity/bower.json @@ -0,0 +1 @@ +{"name":"velocity","version":"1.2.2","homepage":"http://velocityjs.org","authors":[{"name":"Julian Shapiro","homepage":"http://julian.com/"}],"description":"Accelerated JavaScript animation.","main":["./velocity.js","./velocity.ui.js"],"keywords":["animation","jquery","animate","lightweight","smooth","ui","velocity.js","velocityjs","javascript"],"license":"MIT","ignore":["*.json","!/bower.json","LICENSE","*.md"],"dependencies":{"jquery":"*"},"repository":{"type":"git","url":"http://github.com/julianshapiro/velocity.git"}} \ No newline at end of file diff --git a/themes/next/source/vendors/velocity/velocity.js b/vendors/velocity/velocity.js similarity index 99% rename from themes/next/source/vendors/velocity/velocity.js rename to vendors/velocity/velocity.js index 7c2f996..c423285 100644 --- a/themes/next/source/vendors/velocity/velocity.js +++ b/vendors/velocity/velocity.js @@ -1,405 +1,405 @@ /*! VelocityJS.org (1.2.2). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */ -/************************* - Velocity jQuery Shim -*************************/ - -/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ - -/* This file contains the jQuery functions that Velocity relies on, thereby removing Velocity's dependency on a full copy of jQuery, and allowing it to work in any environment. */ -/* These shimmed functions are only used if jQuery isn't present. If both this shim and jQuery are loaded, Velocity defaults to jQuery proper. */ -/* Browser support: Using this shim instead of jQuery proper removes support for IE8. */ - -;(function (window) { - /*************** - Setup - ***************/ - - /* If jQuery is already loaded, there's no point in loading this shim. */ - if (window.jQuery) { - return; - } - - /* jQuery base. */ - var $ = function (selector, context) { - return new $.fn.init(selector, context); - }; - - /******************** - Private Methods - ********************/ - - /* jQuery */ - $.isWindow = function (obj) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }; - - /* jQuery */ - $.type = function (obj) { - if (obj == null) { - return obj + ""; - } - - return typeof obj === "object" || typeof obj === "function" ? - class2type[toString.call(obj)] || "object" : - typeof obj; - }; - - /* jQuery */ - $.isArray = Array.isArray || function (obj) { - return $.type(obj) === "array"; - }; - - /* jQuery */ - function isArraylike (obj) { - var length = obj.length, - type = $.type(obj); - - if (type === "function" || $.isWindow(obj)) { - return false; - } - - if (obj.nodeType === 1 && length) { - return true; - } - - return type === "array" || length === 0 || typeof length === "number" && length > 0 && (length - 1) in obj; - } - - /*************** - $ Methods - ***************/ - - /* jQuery: Support removed for IE<9. */ - $.isPlainObject = function (obj) { - var key; - - if (!obj || $.type(obj) !== "object" || obj.nodeType || $.isWindow(obj)) { - return false; - } - - try { - if (obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) { - return false; - } - } catch (e) { - return false; - } - - for (key in obj) {} - - return key === undefined || hasOwn.call(obj, key); - }; - - /* jQuery */ - $.each = function(obj, callback, args) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike(obj); - - if (args) { - if (isArray) { - for (; i < length; i++) { - value = callback.apply(obj[i], args); - - if (value === false) { - break; - } - } - } else { - for (i in obj) { - value = callback.apply(obj[i], args); - - if (value === false) { - break; - } - } - } - - } else { - if (isArray) { - for (; i < length; i++) { - value = callback.call(obj[i], i, obj[i]); - - if (value === false) { - break; - } - } - } else { - for (i in obj) { - value = callback.call(obj[i], i, obj[i]); - - if (value === false) { - break; - } - } - } - } - - return obj; - }; - - /* Custom */ - $.data = function (node, key, value) { - /* $.getData() */ - if (value === undefined) { - var id = node[$.expando], - store = id && cache[id]; - - if (key === undefined) { - return store; - } else if (store) { - if (key in store) { - return store[key]; - } - } - /* $.setData() */ - } else if (key !== undefined) { - var id = node[$.expando] || (node[$.expando] = ++$.uuid); - - cache[id] = cache[id] || {}; - cache[id][key] = value; - - return value; - } - }; - - /* Custom */ - $.removeData = function (node, keys) { - var id = node[$.expando], - store = id && cache[id]; - - if (store) { - $.each(keys, function(_, key) { - delete store[key]; - }); - } - }; - - /* jQuery */ - $.extend = function () { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - if (typeof target === "boolean") { - deep = target; - - target = arguments[i] || {}; - i++; - } - - if (typeof target !== "object" && $.type(target) !== "function") { - target = {}; - } - - if (i === length) { - target = this; - i--; - } - - for (; i < length; i++) { - if ((options = arguments[i]) != null) { - for (name in options) { - src = target[name]; - copy = options[name]; - - if (target === copy) { - continue; - } - - if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && $.isArray(src) ? src : []; - - } else { - clone = src && $.isPlainObject(src) ? src : {}; - } - - target[name] = $.extend(deep, clone, copy); - - } else if (copy !== undefined) { - target[name] = copy; - } - } - } - } - - return target; - }; - - /* jQuery 1.4.3 */ - $.queue = function (elem, type, data) { - function $makeArray (arr, results) { - var ret = results || []; - - if (arr != null) { - if (isArraylike(Object(arr))) { - /* $.merge */ - (function(first, second) { - var len = +second.length, - j = 0, - i = first.length; - - while (j < len) { - first[i++] = second[j++]; - } - - if (len !== len) { - while (second[j] !== undefined) { - first[i++] = second[j++]; - } - } - - first.length = i; - - return first; - })(ret, typeof arr === "string" ? [arr] : arr); - } else { - [].push.call(ret, arr); - } - } - - return ret; - } - - if (!elem) { - return; - } - - type = (type || "fx") + "queue"; - - var q = $.data(elem, type); - - if (!data) { - return q || []; - } - - if (!q || $.isArray(data)) { - q = $.data(elem, type, $makeArray(data)); - } else { - q.push(data); - } - - return q; - }; - - /* jQuery 1.4.3 */ - $.dequeue = function (elems, type) { - /* Custom: Embed element iteration. */ - $.each(elems.nodeType ? [ elems ] : elems, function(i, elem) { - type = type || "fx"; - - var queue = $.queue(elem, type), - fn = queue.shift(); - - if (fn === "inprogress") { - fn = queue.shift(); - } - - if (fn) { - if (type === "fx") { - queue.unshift("inprogress"); - } - - fn.call(elem, function() { - $.dequeue(elem, type); - }); - } - }); - }; - - /****************** - $.fn Methods - ******************/ - - /* jQuery */ - $.fn = $.prototype = { - init: function (selector) { - /* Just return the element wrapped inside an array; don't proceed with the actual jQuery node wrapping process. */ - if (selector.nodeType) { - this[0] = selector; - - return this; - } else { - throw new Error("Not a DOM node."); - } - }, - - offset: function () { - /* jQuery altered code: Dropped disconnected DOM node checking. */ - var box = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : { top: 0, left: 0 }; - - return { - top: box.top + (window.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0), - left: box.left + (window.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0) - }; - }, - - position: function () { - /* jQuery */ - function offsetParent() { - var offsetParent = this.offsetParent || document; - - while (offsetParent && (!offsetParent.nodeType.toLowerCase === "html" && offsetParent.style.position === "static")) { - offsetParent = offsetParent.offsetParent; - } - - return offsetParent || document; - } - - /* Zepto */ - var elem = this[0], - offsetParent = offsetParent.apply(elem), - offset = this.offset(), - parentOffset = /^(?:body|html)$/i.test(offsetParent.nodeName) ? { top: 0, left: 0 } : $(offsetParent).offset() - - offset.top -= parseFloat(elem.style.marginTop) || 0; - offset.left -= parseFloat(elem.style.marginLeft) || 0; - - if (offsetParent.style) { - parentOffset.top += parseFloat(offsetParent.style.borderTopWidth) || 0 - parentOffset.left += parseFloat(offsetParent.style.borderLeftWidth) || 0 - } - - return { - top: offset.top - parentOffset.top, - left: offset.left - parentOffset.left - }; - } - }; - - /********************** - Private Variables - **********************/ - - /* For $.data() */ - var cache = {}; - $.expando = "velocity" + (new Date().getTime()); - $.uuid = 0; - - /* For $.queue() */ - var class2type = {}, - hasOwn = class2type.hasOwnProperty, - toString = class2type.toString; - - var types = "Boolean Number String Function Array Date RegExp Object Error".split(" "); - for (var i = 0; i < types.length; i++) { - class2type["[object " + types[i] + "]"] = types[i].toLowerCase(); - } - - /* Makes $(node) possible, without having to call init. */ - $.fn.init.prototype = $.fn; - - /* Globalize Velocity onto the window, and assign its Utilities property. */ - window.Velocity = { Utilities: $ }; +/************************* + Velocity jQuery Shim +*************************/ + +/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ + +/* This file contains the jQuery functions that Velocity relies on, thereby removing Velocity's dependency on a full copy of jQuery, and allowing it to work in any environment. */ +/* These shimmed functions are only used if jQuery isn't present. If both this shim and jQuery are loaded, Velocity defaults to jQuery proper. */ +/* Browser support: Using this shim instead of jQuery proper removes support for IE8. */ + +;(function (window) { + /*************** + Setup + ***************/ + + /* If jQuery is already loaded, there's no point in loading this shim. */ + if (window.jQuery) { + return; + } + + /* jQuery base. */ + var $ = function (selector, context) { + return new $.fn.init(selector, context); + }; + + /******************** + Private Methods + ********************/ + + /* jQuery */ + $.isWindow = function (obj) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }; + + /* jQuery */ + $.type = function (obj) { + if (obj == null) { + return obj + ""; + } + + return typeof obj === "object" || typeof obj === "function" ? + class2type[toString.call(obj)] || "object" : + typeof obj; + }; + + /* jQuery */ + $.isArray = Array.isArray || function (obj) { + return $.type(obj) === "array"; + }; + + /* jQuery */ + function isArraylike (obj) { + var length = obj.length, + type = $.type(obj); + + if (type === "function" || $.isWindow(obj)) { + return false; + } + + if (obj.nodeType === 1 && length) { + return true; + } + + return type === "array" || length === 0 || typeof length === "number" && length > 0 && (length - 1) in obj; + } + + /*************** + $ Methods + ***************/ + + /* jQuery: Support removed for IE<9. */ + $.isPlainObject = function (obj) { + var key; + + if (!obj || $.type(obj) !== "object" || obj.nodeType || $.isWindow(obj)) { + return false; + } + + try { + if (obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) { + return false; + } + } catch (e) { + return false; + } + + for (key in obj) {} + + return key === undefined || hasOwn.call(obj, key); + }; + + /* jQuery */ + $.each = function(obj, callback, args) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike(obj); + + if (args) { + if (isArray) { + for (; i < length; i++) { + value = callback.apply(obj[i], args); + + if (value === false) { + break; + } + } + } else { + for (i in obj) { + value = callback.apply(obj[i], args); + + if (value === false) { + break; + } + } + } + + } else { + if (isArray) { + for (; i < length; i++) { + value = callback.call(obj[i], i, obj[i]); + + if (value === false) { + break; + } + } + } else { + for (i in obj) { + value = callback.call(obj[i], i, obj[i]); + + if (value === false) { + break; + } + } + } + } + + return obj; + }; + + /* Custom */ + $.data = function (node, key, value) { + /* $.getData() */ + if (value === undefined) { + var id = node[$.expando], + store = id && cache[id]; + + if (key === undefined) { + return store; + } else if (store) { + if (key in store) { + return store[key]; + } + } + /* $.setData() */ + } else if (key !== undefined) { + var id = node[$.expando] || (node[$.expando] = ++$.uuid); + + cache[id] = cache[id] || {}; + cache[id][key] = value; + + return value; + } + }; + + /* Custom */ + $.removeData = function (node, keys) { + var id = node[$.expando], + store = id && cache[id]; + + if (store) { + $.each(keys, function(_, key) { + delete store[key]; + }); + } + }; + + /* jQuery */ + $.extend = function () { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + if (typeof target === "boolean") { + deep = target; + + target = arguments[i] || {}; + i++; + } + + if (typeof target !== "object" && $.type(target) !== "function") { + target = {}; + } + + if (i === length) { + target = this; + i--; + } + + for (; i < length; i++) { + if ((options = arguments[i]) != null) { + for (name in options) { + src = target[name]; + copy = options[name]; + + if (target === copy) { + continue; + } + + if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && $.isArray(src) ? src : []; + + } else { + clone = src && $.isPlainObject(src) ? src : {}; + } + + target[name] = $.extend(deep, clone, copy); + + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + } + + return target; + }; + + /* jQuery 1.4.3 */ + $.queue = function (elem, type, data) { + function $makeArray (arr, results) { + var ret = results || []; + + if (arr != null) { + if (isArraylike(Object(arr))) { + /* $.merge */ + (function(first, second) { + var len = +second.length, + j = 0, + i = first.length; + + while (j < len) { + first[i++] = second[j++]; + } + + if (len !== len) { + while (second[j] !== undefined) { + first[i++] = second[j++]; + } + } + + first.length = i; + + return first; + })(ret, typeof arr === "string" ? [arr] : arr); + } else { + [].push.call(ret, arr); + } + } + + return ret; + } + + if (!elem) { + return; + } + + type = (type || "fx") + "queue"; + + var q = $.data(elem, type); + + if (!data) { + return q || []; + } + + if (!q || $.isArray(data)) { + q = $.data(elem, type, $makeArray(data)); + } else { + q.push(data); + } + + return q; + }; + + /* jQuery 1.4.3 */ + $.dequeue = function (elems, type) { + /* Custom: Embed element iteration. */ + $.each(elems.nodeType ? [ elems ] : elems, function(i, elem) { + type = type || "fx"; + + var queue = $.queue(elem, type), + fn = queue.shift(); + + if (fn === "inprogress") { + fn = queue.shift(); + } + + if (fn) { + if (type === "fx") { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + $.dequeue(elem, type); + }); + } + }); + }; + + /****************** + $.fn Methods + ******************/ + + /* jQuery */ + $.fn = $.prototype = { + init: function (selector) { + /* Just return the element wrapped inside an array; don't proceed with the actual jQuery node wrapping process. */ + if (selector.nodeType) { + this[0] = selector; + + return this; + } else { + throw new Error("Not a DOM node."); + } + }, + + offset: function () { + /* jQuery altered code: Dropped disconnected DOM node checking. */ + var box = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : { top: 0, left: 0 }; + + return { + top: box.top + (window.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0), + left: box.left + (window.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0) + }; + }, + + position: function () { + /* jQuery */ + function offsetParent() { + var offsetParent = this.offsetParent || document; + + while (offsetParent && (!offsetParent.nodeType.toLowerCase === "html" && offsetParent.style.position === "static")) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || document; + } + + /* Zepto */ + var elem = this[0], + offsetParent = offsetParent.apply(elem), + offset = this.offset(), + parentOffset = /^(?:body|html)$/i.test(offsetParent.nodeName) ? { top: 0, left: 0 } : $(offsetParent).offset() + + offset.top -= parseFloat(elem.style.marginTop) || 0; + offset.left -= parseFloat(elem.style.marginLeft) || 0; + + if (offsetParent.style) { + parentOffset.top += parseFloat(offsetParent.style.borderTopWidth) || 0 + parentOffset.left += parseFloat(offsetParent.style.borderLeftWidth) || 0 + } + + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + } + }; + + /********************** + Private Variables + **********************/ + + /* For $.data() */ + var cache = {}; + $.expando = "velocity" + (new Date().getTime()); + $.uuid = 0; + + /* For $.queue() */ + var class2type = {}, + hasOwn = class2type.hasOwnProperty, + toString = class2type.toString; + + var types = "Boolean Number String Function Array Date RegExp Object Error".split(" "); + for (var i = 0; i < types.length; i++) { + class2type["[object " + types[i] + "]"] = types[i].toLowerCase(); + } + + /* Makes $(node) possible, without having to call init. */ + $.fn.init.prototype = $.fn; + + /* Globalize Velocity onto the window, and assign its Utilities property. */ + window.Velocity = { Utilities: $ }; })(window); /****************** diff --git a/themes/next/source/vendors/velocity/velocity.min.js b/vendors/velocity/velocity.min.js similarity index 100% rename from themes/next/source/vendors/velocity/velocity.min.js rename to vendors/velocity/velocity.min.js diff --git a/themes/next/source/vendors/velocity/velocity.ui.js b/vendors/velocity/velocity.ui.js similarity index 100% rename from themes/next/source/vendors/velocity/velocity.ui.js rename to vendors/velocity/velocity.ui.js diff --git a/themes/next/source/vendors/velocity/velocity.ui.min.js b/vendors/velocity/velocity.ui.min.js similarity index 100% rename from themes/next/source/vendors/velocity/velocity.ui.min.js rename to vendors/velocity/velocity.ui.min.js