mirror of https://gitlab.com/curben/blog
feat: 'updated_option' config
- post.updated will be null if not set in front-matter - https://github.com/hexojs/hexo/pull/4278
This commit is contained in:
parent
0752e3382c
commit
d0ac052b59
|
@ -9,7 +9,7 @@
|
|||
- Installed [hexo-nofollow](https://github.com/curbengh/hexo-nofollow) for SEO purpose to prevent search engines from following external links.
|
||||
- Installed [hexo-yam](https://github.com/curbengh/hexo-yam) to pre-compress static assets (html, css, js and svg).
|
||||
- [copy-button.js](/scripts/copy-button.js) - A [filter](https://hexo.io/api/filter) plugin to add a copy button to each code block.
|
||||
- [feed](/scripts/feed) - A generator plugin to generate [an RSS feed](https://en.wikipedia.org/wiki/Web_feed). Modified from [hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed) to use `post.lastUpdated` instead of `post.updated`.
|
||||
- [feed](/scripts/feed) - A generator plugin to generate [an RSS feed](https://en.wikipedia.org/wiki/Web_feed). Modified from [hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed) to use `post.updated` instead of `post.updated`.
|
||||
- [heading-link.js](/scripts/heading-link.js) - A filter plugin to add a link button next to each heading.
|
||||
- [image.js](/scripts/image.js) - A [tag](https://hexo.io/api/tag) plugin to easily embed images in a post with responsive image support.
|
||||
- [link.js](/scripts/link.js) - A [helper](https://hexo.io/api/helper) plugin to add a link. Modified from [link_to.js](https://github.com/hexojs/hexo/blob/master/lib/plugins/helper/link_to.js) to remove title attribute and 'external' option.
|
||||
|
@ -25,6 +25,7 @@ The following are the major changes I made compared to the upstream.
|
|||
- Removed unused packages, [hexo-generator-category](https://github.com/hexojs/hexo-generator-category) and [hexo-renderer-stylus](https://github.com/hexojs/hexo-renderer-stylus) from the [default packages](https://github.com/hexojs/hexo-starter/blob/571320ba41a83e065d7560e050eb3fa63ad74a57/package.json#L9-L17).
|
||||
- Replaced the bundled Landscape theme with Typing theme.
|
||||
- Add `lastUpdated` to the front-matter to manually set updated time of a post, instead of using `post.updated`.
|
||||
* This is no longer necessary, thanks to [`updated_option`](https://github.com/hexojs/hexo/pull/4278) feature.
|
||||
|
||||
### [Chameleon theme](/themes/chameleon)
|
||||
Chameleon is a fork of [Typing](https://github.com/geekplux/hexo-theme-typing) theme, rewrote from scratch with the following changes/features:
|
||||
|
|
|
@ -63,6 +63,7 @@ tag_map:
|
|||
## http://momentjs.com/docs/#/displaying/format/
|
||||
date_format: YYYY-MM-DD
|
||||
time_format: HH:mm:ss
|
||||
updated_option: empty
|
||||
|
||||
# Pagination
|
||||
## Set per_page to 0 to disable pagination
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Firefox, Cross-Origin and AliExpress
|
||||
excerpt: AliExpress login doesn't show up on Firefox when there is a strict cross-origin policy.
|
||||
date: 2019-02-28
|
||||
lastUpdated: 2019-04-29
|
||||
updated: 2019-04-29
|
||||
tags:
|
||||
- firefox
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "Setup Caddy as a reverse proxy on NixOS (Part 1: Installation)"
|
||||
excerpt: "Part 1: Installing NixOS"
|
||||
date: 2020-02-23
|
||||
lastUpdated: 2020-04-22
|
||||
updated: 2020-04-22
|
||||
tags:
|
||||
- server
|
||||
- linux
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "Setup Caddy as a reverse proxy on NixOS (Part 2: Hardening)"
|
||||
excerpt: "Part 2: Securing NixOS"
|
||||
date: 2020-03-04
|
||||
lastUpdated: 2020-04-22
|
||||
updated: 2020-04-22
|
||||
tags:
|
||||
- server
|
||||
- linux
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "Setup Caddy as a reverse proxy on NixOS (Part 3: Caddy)"
|
||||
excerpt: "Part 3: Configure Caddy"
|
||||
date: 2020-03-14
|
||||
lastUpdated: 2020-04-08
|
||||
updated: 2020-04-08
|
||||
tags:
|
||||
- server
|
||||
- linux
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Upgrading Caddy reverse proxy from v1 to v2 syntax
|
||||
excerpt: route, strip_prefix, rewrite
|
||||
date: 2020-05-23
|
||||
lastUpdated: 2020-06-21
|
||||
updated: 2020-06-21
|
||||
tags:
|
||||
- server
|
||||
- caddy
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Edit multiple questions on LimeSurvey
|
||||
excerpt: List Questions view allows you to edit multiple questions at the same time.
|
||||
date: 2018-10-18
|
||||
lastUpdated: 2018-10-26
|
||||
updated: 2018-10-26
|
||||
tags:
|
||||
- stats
|
||||
- limesurvey
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Access Facebook/Instagram/Whatsapp/Google in China
|
||||
excerpt: Data roaming, commercial VPN provider to rolling your own VPN.
|
||||
date: 2018-12-31
|
||||
lastUpdated: 2019-10-23
|
||||
updated: 2019-10-23
|
||||
tags:
|
||||
- censorship
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Firefox Multi-Account Containers
|
||||
excerpt: Separate website cookies in a single session
|
||||
date: 2019-08-12
|
||||
lastUpdated: 2019-08-27
|
||||
updated: 2019-08-27
|
||||
tags:
|
||||
- firefox
|
||||
- privacy
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: How to run more than one Firefox instance
|
||||
excerpt: Using Firefox profiles, you can use more than two instances.
|
||||
date: 2019-04-07
|
||||
lastUpdated: 2019-08-09
|
||||
updated: 2019-08-09
|
||||
tags:
|
||||
- firefox
|
||||
- privacy
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Using Git and Git+SSH in GitLab CI
|
||||
excerpt: Guides and potential pitfalls
|
||||
date: 2019-10-03
|
||||
lastUpdated: 2020-04-18
|
||||
updated: 2020-04-18
|
||||
tags:
|
||||
- gitlab
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: GNU vs BusyBox Unix tools
|
||||
excerpt: Alpine uses BusyBox while Ubuntu uses GNU tools, and they behave differently.
|
||||
date: 2018-10-13
|
||||
lastUpdated: 2018-10-31
|
||||
updated: 2018-10-31
|
||||
tags:
|
||||
- linux
|
||||
- alpine
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: How to create a Hexo blog on GitLab Pages
|
||||
excerpt: Create a website/blog using Hexo on GitLab Pages for free using this detailed guide.
|
||||
date: 2018-09-21
|
||||
lastUpdated: 2018-11-10
|
||||
updated: 2018-11-10
|
||||
tags:
|
||||
- hexo
|
||||
- gitlab
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: How to remove Windows 10 default apps
|
||||
excerpt: How to get rid of these bloatware.
|
||||
date: 2018-09-26
|
||||
lastUpdated: 2019-03-01
|
||||
updated: 2019-03-01
|
||||
tags:
|
||||
- windows
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "How to make your website available over I2P Eepsite on NixOS"
|
||||
excerpt: "A guide on I2P Eepsite on NixOS"
|
||||
date: 2020-03-21
|
||||
lastUpdated: 2020-04-22
|
||||
updated: 2020-04-22
|
||||
tags:
|
||||
- server
|
||||
- linux
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Make Hexo blog smaller
|
||||
excerpt: Static site serves html, css, javascript and images. These files can be compressed to reduce bandwidth and speed up the website.
|
||||
date: 2018-09-28
|
||||
lastUpdated: 2018-10-06
|
||||
updated: 2018-10-06
|
||||
tags:
|
||||
- hexo
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: microG, a replacement for the proprietary Google Play Services
|
||||
excerpt: The core of the Android OS is open source, but much of the core apps, libraries and APIs are proprietary.
|
||||
date: 2019-01-12
|
||||
lastUpdated: 2019-04-30
|
||||
updated: 2019-04-30
|
||||
tags:
|
||||
- android
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Recommended open-source Android apps
|
||||
excerpt: Apps I'm currently using and recommend to everyone.
|
||||
date: 2019-01-07
|
||||
lastUpdated: 2020-04-15
|
||||
updated: 2020-04-15
|
||||
tags:
|
||||
- android
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Secure node modules with Snyk
|
||||
excerpt: The package dependency on Node can cause security issue. Here's how to use Snyk to mitigate it.
|
||||
date: 2018-10-01
|
||||
lastUpdated: 2019-06-11
|
||||
updated: 2019-06-11
|
||||
tags:
|
||||
- node
|
||||
- snyk
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Snyk failed to patch in Alpine docker
|
||||
excerpt: Synk depends on GNU version of patch utility.
|
||||
date: 2018-10-31
|
||||
lastUpdated: 2019-03-09
|
||||
updated: 2019-03-09
|
||||
tags:
|
||||
- snyk
|
||||
- linux
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Change spellcheck language in Ghostwriter
|
||||
excerpt: It supports Hunspell dictionaries for spellcheck of other languages.
|
||||
date: 2018-10-14
|
||||
lastUpdated: 2019-06-06
|
||||
updated: 2019-06-06
|
||||
tags:
|
||||
- markdown
|
||||
---
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "How to make your website available over Tor hidden service on NixOS"
|
||||
excerpt: "A guide on Tor hidden service on NixOS"
|
||||
date: 2020-03-16
|
||||
lastUpdated: 2020-04-22
|
||||
updated: 2020-04-22
|
||||
tags:
|
||||
- server
|
||||
- linux
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: About
|
||||
layout: page
|
||||
date: 2019-09-20
|
||||
lastUpdated: 2020-02-19
|
||||
updated: 2020-02-19
|
||||
---
|
||||
|
||||
## Projects
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
</div>
|
||||
<footer class="article-footer">
|
||||
<ul class="article-meta">
|
||||
<% if (post.lastUpdated) { %>
|
||||
<% if (post.updated) { %>
|
||||
<li>
|
||||
<span class="label"><%= __('date_updated') %>:</span>
|
||||
<%- partial('post/updated-date') %>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<%/* User-specified updated date */%>
|
||||
<%/* default post.updated is (almost) always is the time 'hexo generate' is executed */%>
|
||||
<time class="dt-updated" datetime="<%= date(post.lastUpdated, 'YYYY-MM-DD[T00:00:00.000Z]') %>" itemprop="dateModified"><%= date(post.lastUpdated, 'D MMM YYYY') %></time>
|
||||
<time class="dt-updated" datetime="<%= date(post.updated, 'YYYY-MM-DD[T00:00:00.000Z]') %>" itemprop="dateModified"><%= date(post.updated, 'D MMM YYYY') %></time>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link href="{{ feed_url | uriencode }}" rel="self"/>
|
||||
{% if config.feed.hub %}<link href="{{ config.feed.hub | uriencode }}" rel="hub"/>{% endif %}
|
||||
<link href="{{ url | uriencode }}"/>
|
||||
<updated>{{ posts.first().updated.toISOString() }}</updated>
|
||||
<updated>{% if posts.first().updated %}{{ posts.first().updated | date }}{% else %}{{ posts.first().date | date }}{% endif %}</updated>
|
||||
<id>{{ url | uriencode }}</id>
|
||||
{% if config.author %}
|
||||
<author>
|
||||
|
@ -21,7 +21,7 @@
|
|||
<link href="{{ post.permalink }}"/>
|
||||
<id>{{ post.permalink }}</id>
|
||||
<published>{{ post.date.toISOString() }}</published>
|
||||
<updated>{% if post.lastUpdated %}{{ post.lastUpdated | date }}{% else %}{{ post.date | date }}{% endif %}</updated>
|
||||
<updated>{% if post.updated %}{{ post.updated | date }}{% else %}{{ post.date | date }}{% endif %}</updated>
|
||||
{% if config.feed.content and post.content %}
|
||||
<content type="html"><![CDATA[{{ post.content | noControlChars | safe }}]]></content>
|
||||
{% endif %}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/*
|
||||
* Modified from the hexo version,
|
||||
* https://github.com/hexojs/hexo-generator-feed
|
||||
* to use post.lastUpdated and remove timezone
|
||||
* to remove timezone
|
||||
*/
|
||||
|
||||
const { extname } = require('path')
|
||||
|
|
|
@ -38,7 +38,7 @@ function openGraphHelper () {
|
|||
const screenshot = '/screenshot/' + prettyUrls(this.path, config.pretty_urls)
|
||||
const siteName = config.title || ''
|
||||
const published = page.date || ''
|
||||
const updated = page.lastUpdated || ''
|
||||
const updated = page.updated || ''
|
||||
const language = config.language.replace('-', '_')
|
||||
let result = ''
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
{% for post in posts %}
|
||||
<url>
|
||||
<loc>{{ post.permalink }}</loc>
|
||||
{% if post.lastUpdated() %}
|
||||
<lastmod>{{ post.lastUpdated() }}</lastmod>
|
||||
{% if post.updated %}
|
||||
<lastmod>{{ post.updated }}</lastmod>
|
||||
{% elif post.date %}
|
||||
<lastmod>{{ post.date }}</lastmod>
|
||||
{% endif %}
|
||||
|
|
|
@ -33,10 +33,7 @@ module.exports = function (locals) {
|
|||
.map((post) => ({
|
||||
...post,
|
||||
date: moment(post.date).format('YYYY-MM-DD[T00:00:00.000Z]'),
|
||||
lastUpdated: () => {
|
||||
if (post.lastUpdated) return moment(post.lastUpdated).format('YYYY-MM-DD[T00:00:00.000Z]')
|
||||
else return false
|
||||
}
|
||||
updated: post.updated ? moment(post.updated).format('YYYY-MM-DD[T00:00:00.000Z]') : false
|
||||
}))
|
||||
|
||||
// configuration dictionary
|
||||
|
|
Loading…
Reference in New Issue