置顶文章
为什么程序员都是夜猫子?
一种很流行的说法是,程序员是把 咖啡因 转化成 程序代码 的机器。 说的是实情,随便问一个程序员,问他什么时候工作最有状态,估计他很有可能说是深夜。有人稍微早一点,有人更晚。有一种流行的趋势是凌晨 4 点起床,在破晓之前这段时间里做一些事情。而另一些人喜欢凌晨 4 点才睡觉。 所有这些的主要目的是躲避打搅。但是你把自己反锁在屋里不就行了?为什么对夜晚情有独钟? 我想,这事归纳下来有 3 点: 工人的时间表 疲倦的大脑 明亮的电脑屏幕 # 工人的时间表 Paul Graham 在 2009 年写了一篇关于 工人的时间表 的文章 —— 主要是说这个世界 (主要)...
more...精选分类
C++
设计模式
二进制杂谈
Lua
Sublime
LeetCode
文章列表
Shoka主题: 文章添加转载标记
# 引言 尊重原创,为 Shoka 主题添加文章转载标记 —— 在主页文章缩略信息头部 segments 和 正文头部添加转载信息 # 实现 主要利用 文章 Front-matter 标记转载信息,在生成发布文章时进行解析添加相关转载信息 关于 Front-matter 标记的约定 以 || 作为分割,分为左右两部分 第一部分:代表链接显示的文本内容已经指向超链接时显示的文本内容 第二部分:代表链接网址 注意:可以只有第一部分,那么链接文本和网址均使用这一部分的内容,如果链接网址非 http 开头,默认转载链接不可追溯,使用 reprint_unable_trace_source...
more...Shoka主题: 文章添加实效性提示
# 引言 为 Shoka 主题添加文章实效性提示 —— 文章发表时间过久,部分内容实际上可能以及过时,需要在显眼处给出浏览者实效性提示。 # 主题集成 需要修改的文件列表如下,相对于 Shoka 主题根目录 # theme/shoka shoka 主题目录├── _config.yml├── languages│ ├── en.yml│ ├── ja.yml│ ├── zh-CN.yml│ ├── zh-HK.yml│ └── zh-TW.yml├── layout│ └── _partials│ └── layout.njk├── scripts│ └── generaters│ └──...
more...Shoka主题: 去jsDelivr依赖之资源本地化
# 引言 cdn.jsdelivr.net 知名的免费 cdn 服务提供商,在去年年底由于大陆域名备案的问题,国内 cdn 解析异常时常无法连接到服务器 尤其是重度依赖 jsDelivr 的 Shoka 主题,在这种情况下由于资源无法加载完成导致网页卡顿,显示效果异常等一系列问题 于是决定探索资源本地化方案去除对 jsDelivr 的依赖 截止到目前国内的 cdn.jsdelivr.net 的 DNS 污染貌似已经解除了,不过资源本地化还是有很多好处的,记录下过程权当自己的备忘了。 # 资源本地化 # jsDelivr 依赖热点 Shoka 主题用到了不少第三方组件,全部基于...
more...Shoka主题: 自定义过滤器重定向资源文件夹图片相对路径引用
# 引言 Hexo 资源文件夹 启用后, Markdown 采取相对路径引用图片以便于本地预览 和 Hexo 发布时资源路径重定向冲突。 本文主要解决两者之间的冲突,使得二者能够兼得. # 需求整理 # Hexo 资源文件夹 如果你的 Hexo 项目中只有少量图片,那最简单的方法就是将它们放在 source/images 文件夹中。然后通过类似于 ![](/images/image.jpg) 的方法访问它们。 但是这样不利于 维护 也不够 优雅, Hexo 资源文件夹就主要解决了这个痛点,资源( Asset )代表 source 文件夹中除了文章以外的所有文件,例如图片、 CSS 、 JS...
more...Shoka主题: 文章更新历史记录时间轴
# 引言 灵感来源于主题文章 归档 的时间轴效果,用同样时间轴的方式对文章修订记录进行展示 # 实现 时间轴的实现,采用集成到主题的方式,使用文章 Front-matter 记录历史信息,在 Hexo 渲染时,读取信息,解析成时间轴对应的 HTML 文本段 # 时间轴 css 样式 直接 Copy 主题的归档样式。 f12 查看样式,找到主题对应的归档时间轴样式在文件 themes/shoka/source/css/_common/pages/collapse.styl 内。 同级目录 post 下新建一个 historytimeline.styl...
more...Hexo: 标签云TagCloud标签文章数量数字角标
# 引言 多出去看看,见的多了,就知道该折腾啥了~ Demo 地址, Click here! 没错,这是一个闲逛其他博主的博客时,逛出来的一个需求 🤣 最近重启了自己的个人博客,告别了 WordPress 拥抱了 Hexo ,机缘巧合之下用上了 Shoka 主题,在作者的博客扒拉食用指南时,进入了 灵香轩 (Lavender) 的站点,当看到了他主题的标签云时 (比原主题的标签云更得劲儿,效果丰富还显示了标签对应文章数量),只剩下了四个字,我也想要~ 由于在 Lavender 的站点和网上都没有找到相关教程,于是乎开始了自己的 逆向之旅,再然后就有了这篇文章。 # 逆向工程 F12...
more...Hexo: 自定义过滤器重定向资源文件夹图片相对路径引用
# 引言 Hexo 资源文件夹 启用后,使得文章图片等外挂资源可以按文件夹和文章对应。 Hexo 若正常发布,需要 {% asset_img slug [title] %} 引入图片,或者 [](image file name) ,无法在本地 markdwon 书写时预览 Markdown 若正常预览, 引入图片需要采用 [相对路径]{.blue} , Hexo 发布时则 图片链接 异常 本文主要解决两者之间的冲突,使得二者能够兼得. # 实现 本地编写仍然采用方便预览的相对路径引入方式, 编写 Hexo 过滤器,在文章渲染结束后,将 img 的 资源路径 进行替换 'use...
more...Hexo: 使用gulp压缩博客文件
# 引言 查看 Hexo 生成的博客文件往往会发现其中存在大量的空格与空行,这虽然不影响页面显示,但是无形中会增加页面文件的大小 实际上不止空白,这些由 Hexo 生成的文件中还有很多能够被优化以减小大小的地方,而要提高网站访问速度,减小资源文件的大小一直是最有效的手段之一 (尤其是图片压缩)。 gulp 是一个自动化构建工具,一般用于开发过程中执行一些常见任务,它有很多社区提供的强大插件可供使用,极大的简化了任务处理流程。在这里我们用它来对 Hexo 生成的博客文件进行压缩优化处理。 # gulp 工作流构建 # 环境 本地环境如下 hexo: 6.2.0hexo-cli:...
more...Hexo: 文章加密
# 引言 终于又重启博客了,平时开发折腾过程中遇到的一些问题,感觉不错的会发布到博客中。 但是有些文章如果存在隐私内容,或者不打算公开的话,就不能放在博客中了,但是一些文章挂在网页上又可以方便自己查看,于是折腾了下 Hexo 的文章加密 # 调研 以前用 wordpress 的时候,也折腾过类似的需求,由于是 动态网站,所以其实还是比较方便的,这一次使用了 Hexo 这个 静态博客 框架,说实话我都怀疑有没有可行的方案🤣🤣🤣 不过好在还是找到了一个 Hexo 插件 hexo-blog-encrypt 能够实现文章加密的需求 # 插件安装 使用如下命令安装 npm install...
more...