-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
245 lines (205 loc) · 24.3 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Moajs</title>
<subtitle>A fast, simple & powerful web framework powered by Node.js.</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="https://moajs.org/"/>
<updated>2016-09-16T03:08:33.000Z</updated>
<id>https://moajs.org/</id>
<author>
<name>i5ting</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>Hexo 3.2 Released</title>
<link href="https://moajs.org/news/2016/02/28/hexo-3-2-released/"/>
<id>https://moajs.org/news/2016/02/28/hexo-3-2-released/</id>
<published>2016-02-28T00:00:00.000Z</published>
<updated>2016-09-16T03:08:33.000Z</updated>
<content type="html"><![CDATA[<p>It has been a long time that Hexo is poor at handling large website. (<a href="https://github.com/hexojs/hexo/issues/710" target="_blank" rel="external">#710</a>, <a href="https://github.com/hexojs/hexo/issues/1124" target="_blank" rel="external">#1124</a>, <a href="https://github.com/hexojs/hexo/issues/283" target="_blank" rel="external">#283</a>, <a href="https://github.com/hexojs/hexo/issues/1187" target="_blank" rel="external">#1187</a>, <a href="https://github.com/hexojs/hexo/issues/550" target="_blank" rel="external">#550</a>, <a href="https://github.com/hexojs/hexo/issues/1769" target="_blank" rel="external">#1769</a>, etc.) We tried hard to solve this problem and there’re several improvements in Hexo 3.2.</p>
<h2 id="It’s-all-about-speed"><a href="#It’s-all-about-speed" class="headerlink" title="It’s all about speed"></a>It’s all about speed</h2><h3 id="Caching-rendered-contents"><a href="#Caching-rendered-contents" class="headerlink" title="Caching rendered contents"></a>Caching rendered contents</h3><p>Rendered contents are cached in the warehouse. This saves a lot of time and made hot processing (2nd-time processing) <strong>1.7x faster</strong>.</p>
<table>
<thead>
<tr>
<th>Version</th>
<th>3.1</th>
<th>3.2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cold processing</td>
<td>6.094s</td>
<td>6.454s</td>
</tr>
<tr>
<td>Hot processing</td>
<td>5.154s</td>
<td>3.002s</td>
</tr>
</tbody>
</table>
<h3 id="Lazy-load-language-files-of-highlight-js"><a href="#Lazy-load-language-files-of-highlight-js" class="headerlink" title="Lazy load language files of highlight.js"></a>Lazy load language files of highlight.js</h3><p><a href="https://github.com/hexojs/hexo/issues/1036" target="_blank" rel="external">highlight.js is slow</a>. Especially when it try to detect the language. Lazy load language files make processing faster and don’t have to load bunch of unused language files. However there’re some limitations:</p>
<ul>
<li>Auto detect must be disabled.</li>
<li>You have to specify language in code block.</li>
</ul>
<p>You can set auto detect disabled in <code>_config.yml</code>.</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><div class="line"><span class="attr">highlight:</span></div><div class="line"><span class="attr"> auto_detect:</span> <span class="literal">false</span></div></pre></td></tr></table></figure>
<h3 id="Templates-precompilation"><a href="#Templates-precompilation" class="headerlink" title="Templates precompilation"></a>Templates precompilation</h3><p>Theme templates are precompiled if possible. It makes generation speed <strong>2x faster</strong>.</p>
<table>
<thead>
<tr>
<th>Version</th>
<th>3.1</th>
<th>3.2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cold generation</td>
<td>27.2s</td>
<td>13.6s</td>
</tr>
<tr>
<td>Hot generation</td>
<td>24.4s</td>
<td>12.6s</td>
</tr>
</tbody>
</table>
<p>The following renderers have already supported this feature.</p>
<ul>
<li><a href="https://github.com/hexojs/hexo-renderer-ejs" target="_blank" rel="external">hexo-renderer-ejs</a></li>
<li><a href="https://github.com/hexojs/hexo-renderer-jade" target="_blank" rel="external">hexo-renderer-jade</a></li>
<li><a href="https://github.com/hexojs/hexo-renderer-swig" target="_blank" rel="external">hexo-renderer-swig</a></li>
</ul>
<p>And it’s easy to implement precompilation for renderers. Just add a <code>compile</code> function to the renderer. Take EJS renderer for example:</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line"><span class="keyword">var</span> ejs = <span class="built_in">require</span>(<span class="string">'ejs'</span>);</div><div class="line"><span class="keyword">var</span> assign = <span class="built_in">require</span>(<span class="string">'object-assign'</span>);</div><div class="line"></div><div class="line"><span class="function"><span class="keyword">function</span> <span class="title">ejsRenderer</span>(<span class="params">data, locals</span>) </span>{</div><div class="line"> <span class="keyword">return</span> ejs.render(data.text, assign({filename: data.path}, locals));</div><div class="line">}</div><div class="line"></div><div class="line">ejsRenderer.compile = <span class="function"><span class="keyword">function</span>(<span class="params">data</span>) </span>{</div><div class="line"> <span class="keyword">return</span> ejs.compile(data.text, {</div><div class="line"> filename: data.path</div><div class="line"> });</div><div class="line">};</div><div class="line"></div><div class="line"><span class="built_in">module</span>.exports = ejsRenderer;</div></pre></td></tr></table></figure>
<h2 id="Include-exclude-source-files"><a href="#Include-exclude-source-files" class="headerlink" title="Include/exclude source files"></a>Include/exclude source files</h2><p>You can include/exclude specified source files in <code>_config.yml</code>.</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><div class="line"><span class="attr">include:</span></div><div class="line"><span class="bullet"> -</span> .htaccess</div><div class="line"></div><div class="line"><span class="attr">exclude:</span></div><div class="line"><span class="bullet"> -</span> tmp/**/*</div></pre></td></tr></table></figure>
<p>More info: <a href="https://github.com/hexojs/hexo/releases" target="_blank" rel="external">changelog</a>, <a href="https://docs.google.com/spreadsheets/d/1nLW3fPCtrkfMolz8UnUiKq5lqys6bIcZqrfksuvQHA0/edit?usp=sharing" target="_blank" rel="external">benchmark results</a>.</p>
]]></content>
<summary type="html">
<p>It has been a long time that Hexo is poor at handling large website. (<a href="https://github.com/hexojs/hexo/issues/710" target="_blank"
</summary>
</entry>
<entry>
<title>Hexo 3.0 Released</title>
<link href="https://moajs.org/news/2015/03/05/hexo-3-0-released/"/>
<id>https://moajs.org/news/2015/03/05/hexo-3-0-released/</id>
<published>2015-03-05T00:00:00.000Z</published>
<updated>2016-09-16T03:08:33.000Z</updated>
<content type="html"><![CDATA[<p>Hexo 3.0 has finally come out! After four beta and four RC versions, Hexo 3 become more stable and more powerful. Thanks for the contributors and testers! </p>
<h2 id="What’s-Changed"><a href="#What’s-Changed" class="headerlink" title="What’s Changed?"></a>What’s Changed?</h2><p>There’re many improvements in Hexo 3. Better performance, API is easier to use, higher coverage, etc. Here’re some notable changes:</p>
<ul>
<li><strong><a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0#new-cli" target="_blank" rel="external">New CLI</a></strong>: Command line interface is separated into a stand-alone module: <a href="https://github.com/hexojs/hexo-cli" target="_blank" rel="external">hexo-cli</a></li>
<li><strong><a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0#slimmer-core-module" target="_blank" rel="external">Slimmer Core Module</a></strong>: Generators, deployers and server are also separated from the main module.</li>
<li><strong><a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0#new-generator-api" target="_blank" rel="external">New Generator API</a></strong>: Generator API changed a lot in Hexo 3.</li>
<li><strong><a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0#render-pipeline-changed" target="_blank" rel="external">Include Assets in a Post</a></strong>: Serveral useful tag plugins are added in Hexo 3: <code>post_path</code>, <code>post_link</code>, <code>asset_path</code>, <code>asset_link</code>, <code>asset_img</code>.</li>
<li><strong><a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0#async-tag-plugins" target="_blank" rel="external">Async Tag Plugins</a></strong>: Tag plugins can do async jobs now!</li>
<li><strong><a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0#timezone-support" target="_blank" rel="external">Timezone Support</a></strong>: You can define the timezone of your site now.</li>
</ul>
<p>More info: <a href="https://github.com/hexojs/hexo/wiki/Breaking-Changes-in-Hexo-3.0" target="_blank" rel="external">Breaking Changes in Hexo 3.0</a>, <a href="https://github.com/hexojs/hexo/releases" target="_blank" rel="external">changelog</a></p>
<h2 id="How-to-Update"><a href="#How-to-Update" class="headerlink" title="How to Update?"></a>How to Update?</h2><ol>
<li><p>Modify <code>package.json</code>.</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><div class="line">{</div><div class="line"> "hexo": {</div><div class="line"> "version": ""</div><div class="line"> }</div><div class="line">}</div></pre></td></tr></table></figure>
</li>
<li><p>Install <a href="https://github.com/hexojs/hexo-cli" target="_blank" rel="external">hexo-cli</a>. If any error occurred, try to remove hexo first.</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><div class="line">$ npm install hexo-cli -g</div></pre></td></tr></table></figure>
</li>
<li><p>Install Hexo.</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><div class="line">$ npm install hexo --save</div></pre></td></tr></table></figure>
</li>
<li><p>Install plugins. You don’t have to install all the following plugins. It depends on your need.</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><div class="line">$ npm install hexo-server --save</div><div class="line">$ npm install hexo-generator-index --save</div><div class="line">$ npm install hexo-generator-archive --save</div><div class="line">$ npm install hexo-generator-category --save</div><div class="line">$ npm install hexo-generator-tag --save</div><div class="line">$ npm install hexo-deployer-git --save</div><div class="line">$ npm install hexo-deployer-heroku --save</div><div class="line">$ npm install hexo-deployer-rsync --save</div><div class="line">$ npm install hexo-deployer-openshift --save</div></pre></td></tr></table></figure>
</li>
<li><p>Update plugins. Especially generators and filters. Since the API has breaking changes in Hexo 3.</p>
</li>
</ol>
<p>More info: <a href="https://github.com/hexojs/hexo/wiki/Migrating-from-2.x-to-3.0" target="_blank" rel="external">Migration from 2.x to 3.0</a></p>
]]></content>
<summary type="html">
<p>Hexo 3.0 has finally come out! After four beta and four RC versions, Hexo 3 become more stable and more powerful. Thanks for the contribu
</summary>
</entry>
<entry>
<title>New Documentation and Registry</title>
<link href="https://moajs.org/news/2015/02/27/new-documentation-and-registry/"/>
<id>https://moajs.org/news/2015/02/27/new-documentation-and-registry/</id>
<published>2015-02-27T00:00:00.000Z</published>
<updated>2016-09-16T03:08:33.000Z</updated>
<content type="html"><![CDATA[<p>The Hexo site has just been updated and changed to a brand new theme. The documentation is also updated and more detailed. Some handy features will make your browsing more convenient.</p>
<h2 id="Official-Registry"><a href="#Official-Registry" class="headerlink" title="Official Registry"></a>Official Registry</h2><p>Besides the new theme, a official registry for plugins and themes finally comes. The registry makes you easier to browse and search plugins. And you can preview themes with screenshots.</p>
<h3 id="How-to-add-my-plugin-theme-to-the-registry"><a href="#How-to-add-my-plugin-theme-to-the-registry" class="headerlink" title="How to add my plugin/theme to the registry?"></a>How to add my plugin/theme to the registry?</h3><p>See the following articles for more info. Your plugin/theme will be published to the registry once the pull request is merged.</p>
<ul>
<li><a href="/docs/themes.html#Publishing">Publish a theme</a></li>
<li><a href="/docs/plugins.html#Publishing">Publish a plugin</a></li>
</ul>
<h2 id="Localization"><a href="#Localization" class="headerlink" title="Localization"></a>Localization</h2><p>We have add two new languages of documentation: <a href="/zh-tw/">Tranditional Chinese (正體中文)</a> and <a href="/zh-cn/">Simplified Chinese (简体中文)</a>. Thanks to <a href="https://github.com/pinggod" target="_blank" rel="external">pinggod</a> for the Simplified Chinese translation. We very welcome you to help us translating and make more people easier to get started with Hexo! For more info, see <a href="/docs/contributing.html#Translating">translating documentation</a>.</p>
<h2 id="Where’s-API-Documentation"><a href="#Where’s-API-Documentation" class="headerlink" title="Where’s API Documentation?"></a>Where’s API Documentation?</h2><p>The API documentation is hidden so far. Please be patient. I’m updating it now. The new API doc will be released in a few days.</p>
]]></content>
<summary type="html">
<p>The Hexo site has just been updated and changed to a brand new theme. The documentation is also updated and more detailed. Some handy fea
</summary>
</entry>
<entry>
<title>Hexo 2.8 Released</title>
<link href="https://moajs.org/news/2014/07/13/hexo-2-8-released/"/>
<id>https://moajs.org/news/2014/07/13/hexo-2-8-released/</id>
<published>2014-07-13T00:00:00.000Z</published>
<updated>2016-09-16T03:08:33.000Z</updated>
<content type="html"><![CDATA[<p>Hexo 2.8 was rewritten, brings you better performance and many improvements. The following is the highlights in this version. You can check <a href="https://github.com/hexojs/hexo/releases/tag/2.8.0" target="_blank" rel="external">detail</a> on GitHub.</p>
<h2 id="Faster-Processing-Speed"><a href="#Faster-Processing-Speed" class="headerlink" title="Faster Processing Speed"></a>Faster Processing Speed</h2><p>Before Hexo 2.8, all source files have to be processed each time you use Hexo. In Hexo 2.8, the entire database will be saved to <code>db.json</code> so Hexo don’t have to process all files again. Also, a new data type “<strong>skip</strong>“ was added for processors to detect whether a file was changed or not.</p>
<p>Generating was also changed in Hexo 2.8. You can check the elapsed time of each file in console now. However, I found multi-process generating didn’t affect generating speed a lot. Thus, <code>multi_thread</code> and <code>max_open_file</code> setting are deprecated in Hexo 2.8.</p>
<img src="/news/2014/07/13/hexo-2-8-released/generate-console.png" alt="generate-console.png" title="">
<h2 id="Draft-Publish"><a href="#Draft-Publish" class="headerlink" title="Draft Publish"></a>Draft Publish</h2><p>You don’t have to enter full file name to publish a post anymore. Draft publish system is rewritten in Hexo 2.8. <code>new_post_name</code> setting will be applied until drafts are published. Besides, you can choose which layout to apply when publishing.</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><div class="line">$ hexo publish [layout] <filename></div></pre></td></tr></table></figure>
<p>A new API <code>post.publish</code> was added to help you publish drafts more easily.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line">hexo.post.publish({slug: <span class="string">'hello-world'</span>, layout: <span class="string">'post'</span>}, <span class="function"><span class="keyword">function</span>(<span class="params">err, target</span>)</span>{</div><div class="line"> <span class="comment">// ...</span></div><div class="line">});</div></pre></td></tr></table></figure>
<h2 id="Permalink"><a href="#Permalink" class="headerlink" title="Permalink"></a>Permalink</h2><p>File name and permalink now share a more universal variable system. Every variables in file name can also be read in permalink. Here’s a config for example:</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><div class="line"><span class="attr">permalink:</span> :type/:title/</div><div class="line"><span class="attr">new_post_name:</span> :type/:title.md</div></pre></td></tr></table></figure>
<p>When you create a post, the post will be saved to <code>source/_posts/test/Hello-World.md</code> and the URL will be <code>http://localhost:4000/test/Hello-World/</code>.</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><div class="line">$ hexo new <span class="string">"Hello World"</span> --type <span class="built_in">test</span></div></pre></td></tr></table></figure>
<h2 id="Multi-language-Support"><a href="#Multi-language-Support" class="headerlink" title="Multi-language Support"></a>Multi-language Support</h2><p>With the new permalink introduced in the previous section, it’s much easier to create a multi-language site. For example:</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><div class="line"><span class="attr">permalink:</span> :lang/:title/</div><div class="line"><span class="attr">new_post_name:</span> :lang/:title.md</div></pre></td></tr></table></figure>
<p>Then you can create a post with <code>--lang</code> option:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><div class="line">$ hexo new <span class="string">"Hello World"</span> --lang en</div><div class="line"><span class="comment"># => This post will be saved to source/_posts/en/Hello-World.md</span></div><div class="line"><span class="comment"># => URL: http://localhost:4000/en/Hello-World/</span></div><div class="line"></div><div class="line">$ hexo new <span class="string">"你好世界"</span> --lang tw</div><div class="line"><span class="comment"># => This post will be saved to source/_posts/tw/你好世界.md</span></div><div class="line"><span class="comment"># => URL: http://localhost:4000/tw/你好世界/</span></div></pre></td></tr></table></figure>
<p>You can define the default value of permalink variables in <code>permalink_defaults</code> setting. For example, we define the defualt language as English.</p>
<figure class="highlight yaml"><table><tr><td class="code"><pre><div class="line"><span class="attr">permalink_defaults:</span></div><div class="line"><span class="attr"> lang:</span> en</div></pre></td></tr></table></figure>]]></content>
<summary type="html">
<p>Hexo 2.8 was rewritten, brings you better performance and many improvements. The following is the highlights in this version. You can che
</summary>
</entry>
<entry>
<title>Hexo 2.7 Released</title>
<link href="https://moajs.org/news/2014/06/14/hexo-2-7-released/"/>
<id>https://moajs.org/news/2014/06/14/hexo-2-7-released/</id>
<published>2014-06-14T00:00:00.000Z</published>
<updated>2016-09-16T03:08:33.000Z</updated>
<content type="html"><![CDATA[<p>Hexo 2.7 has been released with three new features. I’m going to introduce them below.</p>
<h2 id="Fragment-Caching"><a href="#Fragment-Caching" class="headerlink" title="Fragment Caching"></a>Fragment Caching</h2><p>Although Hexo is fast, it may become slow if you have thousands of source files or complicated categories or tags. Before the data model upgraded, I borrowed a feature from Ruby on Rails: <strong>Fragment Caching</strong>.</p>
<p>Fragment Caching saves contents within a fragment and serves the cache when the next request come in. A fragment will only be processed once. It can reduce database queries and decrease generation time significantly. For instance, a Hexo site with 300+ source files needs 6 minutes to generate. In Hexo 2.7, it only need 10 seconds!</p>
<p>It can be used in header, footer, sidebar or static contents that won’t be changed during generating. For example:</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line"><%- fragment_cache(<span class="string">'header'</span>, <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{</div><div class="line"> <span class="keyword">return</span> <span class="string">'<header></header>'</span>;</div><div class="line">}); %></div></pre></td></tr></table></figure>
<p>By using <code>fragment_cache</code> helper, contents in the function will be cached.</p>
<p>Partial helper also supports Fragment Caching, you only need to add a <code>{cache: true}</code> option when using partial.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line"><%- partial(<span class="string">'header'</span>, {}, {cache: <span class="literal">true</span>}) %></div></pre></td></tr></table></figure>
<p><a href="https://github.com/hexojs/hexo-theme-landscape" target="_blank" rel="external">Landscape</a> is updated and supports Fragment Caching now. You can check <a href="https://github.com/hexojs/hexo-theme-landscape/commit/d2aedda61571d6994eb72d784ceda2f59d2a8631" target="_blank" rel="external">this commit</a> to see what’s changed.</p>
<h2 id="Relative-Link"><a href="#Relative-Link" class="headerlink" title="Relative Link"></a>Relative Link</h2><p>Relative Link is supported since Hexo 2.7. But your theme needs some modifications to support it. However, it’s not as hard as you think. You just need to replace the following contents in templates</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line"><%- config.root %><%- path %></div></pre></td></tr></table></figure>
<p>with <code>url_for</code> helper.</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line"><%- url_for(path) %></div></pre></td></tr></table></figure>
<p><code>url_for</code> helper will add <code>config.root</code> automatically for you. If you enable <code>relative_link</code> setting, it’ll add a relative path.</p>
<p><a href="https://github.com/hexojs/hexo-theme-landscape" target="_blank" rel="external">Landscape</a> is updated for Relative Link. You can check <a href="https://github.com/hexojs/hexo-theme-landscape/commit/d29cbb83356373af27e7b98643f29a27804364af" target="_blank" rel="external">this commit</a> to see what’s changed.</p>
<h2 id="Server-Middleware"><a href="#Server-Middleware" class="headerlink" title="Server Middleware"></a>Server Middleware</h2><p>Server Middleware would be familiar if you have ever used <a href="http://www.senchalabs.org/connect/" target="_blank" rel="external">Connect</a> or <a href="http://expressjs.com/" target="_blank" rel="external">Express</a> before. <a href="http://www.senchalabs.org/connect/" target="_blank" rel="external">Connect</a> passes a request through functions called <strong>middleware</strong>. You can make response to the coming in request in middleware.</p>
<p>In Hexo, middleware is served as a type of filter. You can add middleware by registering a new filter. For example:</p>
<figure class="highlight js"><table><tr><td class="code"><pre><div class="line">hexo.extend.filter.register(<span class="string">'server_middleware'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">app</span>)</span>{</div><div class="line"> app.use(<span class="function"><span class="keyword">function</span>(<span class="params">req, res, next</span>)</span>{</div><div class="line"> res.setHeader(<span class="string">'X-Powered-By'</span>, <span class="string">'Hexo'</span>);</div><div class="line"> next();</div><div class="line"> });</div><div class="line">});</div></pre></td></tr></table></figure>
<p>This middleware add a header <code>X-Powered-By</code> and passes the request to the next middleware.</p>
]]></content>
<summary type="html">
<p>Hexo 2.7 has been released with three new features. I’m going to introduce them below.</p>
<h2 id="Fragment-Caching"><a href="#Fragment-C
</summary>
</entry>
</feed>