2016-07-14 Jamling
引言 有感于hexo高级教程实在太少,当初本人在开发Nova主题时,曾遇到过不少坑,为填这些坑,较为深入地学习了hexo源码,又自学了不少node.js知识,才总算将这些坑基本填完。本着人人为我,我为人人的分享精神,特开一hexo高级教程专题,希望广大hexo爱好者拍砖~ 本系列的定位为高级教程,所以要求读者具备以下知识或技能: 前端技术:前端基础知识不用说了,必须要具备的比如HTML,CSS,Javascript,Node.js。如果知识储备不足,推荐去W3C School好好学习。 hexo模板:hexo中的layout模板都是使用某个具体的模板引擎写的,模板引擎有swig,ejs,jade等。layout可以视为MVC模 继续阅读 »
2016-07-18 Jamling
引言 {% blockquote hexo.io https://hexo.io/zh-cn/docs/plugins.html 插件 %} Hexo 有强大的插件系统,使您能轻松扩展功能而不用修改核心模块的源码。在 Hexo 中有两种形式的插件: 脚本(Scripts) 如果您的代码很简单,建议您编写脚本,您只需要把 JavaScript 文件放到 scripts 文件夹,在启动时就会自动载入。 插件(Packages) 如果您的代码较复杂,或是您想要发布到 NPM 上,建议您编写插件。首先,在 node_modules 文件夹中建立文件夹,文件夹名称开头必须为 hexo-,如此一来 Hexo 才会在启动时载入否则 He 继续阅读 »
2016-07-21 Jamling
痛点 从2013年开始,本人开始活跃于github,以前托管于sourceforge、svn spot和oschina的开源项目,陆续迁移到了github。此前,我一直使用的是wiki系统来维护相关开源项目的文档及下载等。那时,Markdown还没有现在这么流行,在sourceforge等网站,我几乎不放文档。但迁移到github后,将之前的wiki页面渐渐转成了Markdown页面。在迁移到github之后,我比较重视文档,源代码的修改,有可能需要更新文档。此前wiki网站因为访问太慢,空间也不是特别稳定,在今年终于决定放弃维护,转而使用github pages功能来托管这些项目文档。 github pages是一个静态空间, 继续阅读 »
2016-07-21 Jamling
简介 带过滤功能的Hexo首页生成器插件。在官方的首页生成器基础上添加了过滤指定分类/标签的功能。比如,在首页只显示指定分类下面的文章列表。 English 安装 bash $ npm install hexo-generator-index2 --save $ npm uninstall hexo-generator-index --save 配置 ``` yaml index_generator: per_page: 10 order_by: -date include: - category Web # 只包含Web分类下的文章 exclude: - tag Hexo # 不包含标 继续阅读 »
2016-08-10 Jamling
之前本站介绍了《Highlight.js 添加代码行号》和《Hexo高级教程之代码高亮》算是对Hexo的代码高亮有比较深的了解了。所以萌生出了写一个 Hexo的静态代码高亮插件的想法。在原来代码高亮的基础上,允许添加代码提示及相关元数据,比如代码链接,代码标题。 注:阅读本文需要一定的前端基础知识。 Hexo自带高亮 Hexo中插入代码有两种写法。一种叫Code Block plain {% codeblock [title] [lang:language] [url] [link text] %} code snippet {% endcodeblock %} 还有一种是Backtick Code Block {% ra 继续阅读 »
2016-04-26 AnnatarHe
最近一直在看Node API 还有几本书。顺便看了下Koa源码。 略有心得,记下。 Native node server 之前的node官网在首页写出了一段非常简单的构建http服务的代码。 import http from 'http' 继续阅读 »
2016-10-17 Alex Sun
参考文章 iOS学习笔记——HTTPS原理篇 HTTPS工作原理和TCP握手机制 图解SSL/TLS协议 How to Use SSL/TLS with Node.js 在上一篇博文《Node核心模块之crypto》中,提到了加密(摘要,加密解密,签名等)的四种常见类型: Hash(哈希) HMAC(基于哈希的消息认证码) 加密,解密 签名,验证 HTTPS的整个过程和以上几种方法密切相关。 CA证书 CA 即 Certificate Authority (数字证书认证机构),CA证书的签发以及验证包含以下三方: CA Server Client 过程包括: Server生成一对公钥和私钥 Server将公钥以及域名等信 继续阅读 »
2017-02-19 令狐葱
node程序的调试向来是比较令人头疼的问题,不过Chrome DevTools在去年已经可以支持node程序的调试,虽然不像使用Eclipse调试Java程序那么方便功能那么强大,但是也算是提供了一个便捷的途径来帮助我们快速的定位node程序的问题。 这个功能是在Google I/O 2016上正式发布的,可以通过这里的视频(youtube,需翻墙)了解更多信息。 使用步骤记录如下: 安装最新的Node 要支持这项功能,需要node.js的版本在6.3.0以上。如果版本较低,将会提示不支持该功能。在Mac上你可以使用nvm来切换node的版本,具体请自行google之。 ➜ wx node --inspect -- 继续阅读 »
2016-09-06 Jamling
简介 注册Travis-CI都N长时间了,但是一直没有使用它来构建。今天先使用它构建了两个小的node.js项目,还算顺序,然后使用它来构建[QuickAF],没有想到竟然是一条如此艰辛的路!特地将构建过程记录如下。 more 继续阅读 »
2019-01-06 Xie Jingyi
rustup v.s. cargo cargo 是 Rust 最底层的包管理器,类似 npm 或 pip。 rustup 是 Rust 的工具链管理器,允许开发者在多个不同版本的工具间切换。所谓工具不仅包括 rustc 和 cargo,还包括 rustfmt、racer 等一系列辅助开发的模块。类似于 Anaconda、Pipenv 之于 Python,或是 n 之于 Node.js。 Rust 的工具链默认存在于 ~/.cargo/bin 中,rustup 会用代理脚本覆盖其中的可执行文件,从而用户可以通过命令行标志方便地切换版本。 stable v.s. beta v.s. nightly Rust 官方默认提供三个通 继续阅读 »