<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Hexo on Eason Yang&#39;s Blog</title>
    <link>https://easonyang.com/tags/hexo/</link>
    <description>Recent content in Hexo on Eason Yang&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 01 Aug 2021 20:07:59 +0000</lastBuildDate>
    <atom:link href="https://easonyang.com/tags/hexo/atom.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>简易增强版hexo-theme-even</title>
      <link>https://easonyang.com/2021/08/01/enhanced-hexo-theme-even/</link>
      <pubDate>Sun, 01 Aug 2021 20:07:59 +0000</pubDate>
      <guid>https://easonyang.com/2021/08/01/enhanced-hexo-theme-even/</guid>
      <description>&lt;p&gt;Even 主题的简洁深得我心，它也是本博客当前的主题。不过有许多常用功能在原主题中并未直接支持，因此就自己 fork 后动手做了些小的体验优化和功能实现，供有类似功能需要的朋友直接使用。优化的部分思路可以参考&lt;a href=&#34;https://easonyang.com/2021/07/06/a-better-hexo-theme-even/&#34;&gt;前文&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;当然我只做了很小的一部分优化，主题作者 &lt;a href=&#34;https://github.com/ahonn&#34;&gt;Yuexun Jiang&lt;/a&gt; 的主题代码创建和维护才是最核心的贡献。后续我也会通过 PR 的形式将本文内容中的通用部分提交到原主题中。&lt;/p&gt;&#xA;&lt;p&gt;下文为增强版 even 主题的中文使用说明。&lt;/p&gt;</description>
    </item>
    <item>
      <title>静态博客的同步和备份方案</title>
      <link>https://easonyang.com/2021/07/10/how-to-sync-and-backup-a-static-blog/</link>
      <pubDate>Sat, 10 Jul 2021 16:36:49 +0000</pubDate>
      <guid>https://easonyang.com/2021/07/10/how-to-sync-and-backup-a-static-blog/</guid>
      <description>&lt;p&gt;目前在非工作场景下，我经常会在手头的 MBP 16 和 MBA M1 间切换，切换的时机大概就是按照就近原则，哪台离我物理距离近就用哪台。但由于我的博客是基于 Hexo 搭建的静态博客，所以在写博客时，两台设备间博客配置和文章内容的同步问题就尤为让人头疼。本文就分享下我是如何解决静态博客的多设备同步和备份问题的。&lt;/p&gt;</description>
    </item>
    <item>
      <title>记hexo-theme-even主题优化</title>
      <link>https://easonyang.com/2021/07/06/a-better-hexo-theme-even/</link>
      <pubDate>Tue, 06 Jul 2021 01:04:28 +0000</pubDate>
      <guid>https://easonyang.com/2021/07/06/a-better-hexo-theme-even/</guid>
      <description>&lt;p&gt;最近经常看到 Hugo 用户使用 &lt;a href=&#34;https://themes.gohugo.io/themes/hugo-theme-even/&#34;&gt;hugo-theme-even&lt;/a&gt; 主题搭建的博客，简洁的外观和明亮的配色很快吸引了我。随手一搜发现 Hexo 下也有同款主题，就马上给本博客换上了。不过对我个人而言，这款简洁的主题的一些小细节不能使我满意，于是就动手做了些小优化。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用Python与LeanCloud统计Disqus评论数量</title>
      <link>https://easonyang.com/2017/01/20/use-python-and-leancloud-to-manage-disqus-comments/</link>
      <pubDate>Fri, 20 Jan 2017 10:35:39 +0000</pubDate>
      <guid>https://easonyang.com/2017/01/20/use-python-and-leancloud-to-manage-disqus-comments/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;由于 Disqus 在国内访问困难，Hexo NexT 主题每每尝试加载文章评论数时都会严重拖慢页面加载速度。除了期望读者能够使用一些其他的方法访问网站，其实站长和博主们还可以主动采取一些措施来解决这一问题。本文另辟蹊径，不借助 Nginx 的反向代理，而是使用 Disqus 和 LeanCloud 的公共 API 来曲径救国。使用 LeanCloud 的原因是 Hexo NexT 主题可以很方便地设置使用 LeanCloud 来统计访问数，所以从减少访问数、减轻服务器负载和资源合理利用等角度，再进一步地使用 LeanCloud 来存储评论数量数据。&lt;/p&gt;&#xA;&lt;h2 id=&#34;准备&#34;&gt;准备&lt;/h2&gt;&#xA;&lt;h3 id=&#34;注册并初始化-leancloud&#34;&gt;注册并初始化 LeanCloud&lt;/h3&gt;&#xA;&lt;p&gt;参见 &lt;a href=&#34;http://www.jeyzhang.com/hexo-next-add-post-views.html&#34;&gt;《Hexo的NexT主题个性化：添加文章阅读量》&lt;/a&gt; 一文中的 &lt;a href=&#34;http://www.jeyzhang.com/hexo-next-add-post-views.html#%E9%85%8D%E7%BD%AELeanCloud&#34;&gt;配置 LeanCloud 部分&lt;/a&gt; ，注册 LeanCloud 并初始化应用。此后，我们的博客中每篇文章的信息已经通过参考文章中的方法保存到了同一张表中，因此我们只需要对这张表添加几个字段，就可以在实现本文目的的同时，避免使用 LeanCloud API 分别查询两个表的数据所带来的不必要的请求。Counter 表的字段如下图：&lt;/p&gt;</description>
    </item>
    <item>
      <title>为Hexo NexT主题添加字数统计功能</title>
      <link>https://easonyang.com/2016/11/05/add-word-count-to-hexo-next/</link>
      <pubDate>Sat, 05 Nov 2016 23:25:30 +0000</pubDate>
      <guid>https://easonyang.com/2016/11/05/add-word-count-to-hexo-next/</guid>
      <description>&lt;h2 id=&#34;安装-hexo-wordcount-插件&#34;&gt;安装 hexo-wordcount 插件&lt;/h2&gt;&#xA;&lt;p&gt;首先在博客目录下使用 npm 安装插件：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install hexo-wordcount --save&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;修改配置文件&#34;&gt;修改配置文件&lt;/h2&gt;&#xA;&lt;p&gt;为了方便地开启和关闭字数统计功能，我们需要在配置文件（站点配置文件或主题配置文件均可）中添加一个键值对：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 开启字数统计&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;word_count&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 关闭字数统计&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# word_count: false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;修改主题-swig-布局&#34;&gt;修改主题 swig 布局&lt;/h2&gt;&#xA;&lt;h3 id=&#34;修改-postswig&#34;&gt;修改 post.swig&lt;/h3&gt;&#xA;&lt;p&gt;为了能在文章信息处显示字数，我们需要修改 &lt;code&gt;themes/next/layout/_macro/post.swig&lt;/code&gt;，在 class 为 &lt;code&gt;post-mata&lt;/code&gt; 的 div 中的添加如下内容：&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用Nginx反代Google Fonts</title>
      <link>https://easonyang.com/2016/08/06/use-nginx-to-proxy-google-fonts/</link>
      <pubDate>Sat, 06 Aug 2016 23:33:55 +0000</pubDate>
      <guid>https://easonyang.com/2016/08/06/use-nginx-to-proxy-google-fonts/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;&lt;del&gt; 虽然 360 有免费的 Google Fonts 等的代理服务，但却只支持 HTTP ，对于使用 HTTPS 的站点来说使用还是有些麻烦的，而且这个 CDN 在不同网络下似乎有些不太稳定。&lt;/del&gt; 360 的免费 CDN 已经迁移到了 &lt;a href=&#34;https://cdn.baomitu.com/&#34;&gt;https://cdn.baomitu.com/&lt;/a&gt; ，支持 HTTPS 和 HTTP2 ，经测试国内国外访问速度都很好。而为了解决本站的字体问题，果断使用 Nginx 反代 Google Fonts。Nginx 配置文件如下。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使腾讯404公益页面支持HTTPS</title>
      <link>https://easonyang.com/2016/08/06/set-tencent-lostchild-404-page-for-ssl/</link>
      <pubDate>Sat, 06 Aug 2016 22:55:08 +0000</pubDate>
      <guid>https://easonyang.com/2016/08/06/set-tencent-lostchild-404-page-for-ssl/</guid>
      <description>&lt;h2 id=&#34;更新&#34;&gt;更新：&lt;/h2&gt;&#xA;&lt;p&gt;经评论提醒，我才发现腾讯的 404 公益页面的数据源和页面样式已经有所更新。对于我们希望使其支持 HTTPS 的使用者而言，要做的也再不仅仅是简单的替换。&lt;/p&gt;&#xA;&lt;h3 id=&#34;替换-url&#34;&gt;替换 URL&lt;/h3&gt;&#xA;&lt;p&gt;除了需要把原来的 &lt;code&gt;qzonestyle.gtimg.cn/qzone_v6/lostchild&lt;/code&gt; 替换为 &lt;code&gt;qzone.qq.com/gy/404&lt;/code&gt; 外，还需要将 &lt;code&gt;page.js&lt;/code&gt; 中的众多 HTTP 开头的 URL 修改为 HTTPS。&lt;/p&gt;&#xA;&lt;p&gt;简单的替换之后，我们会发现从 data.js 中获取的图片地址仍然是一个 HTTP 链接，此时需要修改用来格式化数据的 &lt;code&gt;resolveData(d)&lt;/code&gt; 函数，在 for 循环中添加：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;child_pic&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;].&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;child_pic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sr&#34;&gt;/^http/&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;设置返回按钮&#34;&gt;设置返回按钮&lt;/h3&gt;&#xA;&lt;p&gt;此外，我们可以在官网的说明页面中看到公益 404 更新之后提供了例如「返回首页」这样的实用功能，分析一下 page.js 的代码，不难发现其实现方法是遍历了所有 script 标签然后获取指定标签上的指定属性值，因此我们只要将 &lt;code&gt;homePageUrl&lt;/code&gt; 和 &lt;code&gt;homePageName&lt;/code&gt; 属性添加到我们自己指定的 data.js 的 script 标签（原代码中指定的是 search_children.js 的 script 标签）上即可。&lt;/p&gt;&#xA;&lt;h3 id=&#34;问题&#34;&gt;问题&lt;/h3&gt;&#xA;&lt;p&gt;在 &lt;code&gt;page.js&lt;/code&gt; 的原代码中，我看到了一个访问 &lt;code&gt;http://boss.qzone.qq.com/fcg-bin/fcg_zone_info&lt;/code&gt; 的请求，获取的数据似乎是访问者的某些信息，目前未发现这些数据对 404 页面有何影响，另一方面该网站也不支持 HTTPS 访问，因此本文选择将这个请求注释掉。&lt;/p&gt;</description>
    </item>
    <item>
      <title>关于Hexo与其主题NexT的若干小问题与解决</title>
      <link>https://easonyang.com/2016/08/03/tips-for-hexo-and-hexo-next/</link>
      <pubDate>Wed, 03 Aug 2016 16:46:52 +0000</pubDate>
      <guid>https://easonyang.com/2016/08/03/tips-for-hexo-and-hexo-next/</guid>
      <description>&lt;h1 id=&#34;hexo&#34;&gt;Hexo&lt;/h1&gt;&#xA;&lt;h2 id=&#34;修改默认文章及草稿模板&#34;&gt;修改默认文章及草稿模板&lt;/h2&gt;&#xA;&lt;p&gt;默认情况下，我们使用 &lt;code&gt;hexo new draft xxx&lt;/code&gt; 或 &lt;code&gt;hexo new post xxx&lt;/code&gt; 创建的 md 文件中只有 title 、date 两个信息，常用的 tags 和 categories 等是没有的，只能在每个文件中手动添加，很是麻烦。要解决这个问题，只需要打开 Hexo 目录下的 &lt;code&gt;\scaffolds\post.md&lt;/code&gt; 和  &lt;code&gt;\scaffolds\post.md&lt;/code&gt; ，将内容修改为：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;title: {{ title }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;date: {{ date }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;updated: {{ date }}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tags:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;categories:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;keywords:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;这里除了 tags 和 categories 还添加了 updated （更新时间）和 keywords （关键字，用于自定义 SEO 关键字，留空的话则会使用 Hexo 默认设置）。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
