mirror of https://gitlab.com/curben/blog
fix(sitemap): use post.lastUpdated
* post.updated = execution time of 'hexo generate' * use moment.format() instead of Date.toISOString() to avoid timezone conversion - Use '[T00:00:00.000Z]' to ignore time, instead of '[T]HH:mm:ss.sss[Z]' - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
This commit is contained in:
parent
fba0d3deab
commit
8717b52283
|
@ -3,10 +3,10 @@
|
||||||
{% for post in posts %}
|
{% for post in posts %}
|
||||||
<url>
|
<url>
|
||||||
<loc>{{ post.permalink | uriencode }}</loc>
|
<loc>{{ post.permalink | uriencode }}</loc>
|
||||||
{% if post.updated %}
|
{% if post.lastUpdated() %}
|
||||||
<lastmod>{{ post.updated.toISOString() }}</lastmod>
|
<lastmod>{{ post.lastUpdated() }}</lastmod>
|
||||||
{% elif post.date %}
|
{% elif post.date %}
|
||||||
<lastmod>{{ post.date.toISOString() }}</lastmod>
|
<lastmod>{{ post.date }}</lastmod>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</url>
|
</url>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
const nanomatch = require('nanomatch')
|
const nanomatch = require('nanomatch')
|
||||||
const template = require('./template')
|
const template = require('./template')
|
||||||
|
const moment = require('moment')
|
||||||
|
|
||||||
module.exports = function (locals) {
|
module.exports = function (locals) {
|
||||||
const config = this.config
|
const config = this.config
|
||||||
|
@ -18,11 +19,16 @@ module.exports = function (locals) {
|
||||||
return post.sitemap !== false && !isMatch(post.source, skipRenderList)
|
return post.sitemap !== false && !isMatch(post.source, skipRenderList)
|
||||||
})
|
})
|
||||||
.sort((a, b) => {
|
.sort((a, b) => {
|
||||||
return b.updated - a.updated
|
return b.date - a.date
|
||||||
})
|
})
|
||||||
.map((post) => ({
|
.map((post) => ({
|
||||||
...post,
|
...post,
|
||||||
permalink: post.permalink.replace('index.html', '')
|
permalink: post.permalink.replace('index.html', ''),
|
||||||
|
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
|
||||||
|
}
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// configuration dictionary
|
// configuration dictionary
|
||||||
|
@ -30,7 +36,7 @@ module.exports = function (locals) {
|
||||||
config: config,
|
config: config,
|
||||||
posts: posts,
|
posts: posts,
|
||||||
// add the sNow variable for creation of the home page and potential tags/cats
|
// add the sNow variable for creation of the home page and potential tags/cats
|
||||||
sNow: new Date().toISOString()
|
sNow: moment().format('YYYY-MM-DD[T00:00:00.000Z]')
|
||||||
}
|
}
|
||||||
|
|
||||||
// add tags array available in the template
|
// add tags array available in the template
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
'use strict'
|
||||||
|
/* global hexo */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add sitemap.xml
|
* Add sitemap.xml
|
||||||
* Based on https://github.com/hexojs/hexo-generator-sitemap/pull/26
|
* Based on https://github.com/hexojs/hexo-generator-sitemap/pull/26
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* global hexo */
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
const pathFn = require('path')
|
const pathFn = require('path')
|
||||||
|
|
||||||
const config = hexo.config.sitemap = Object.assign({
|
const config = hexo.config.sitemap = Object.assign({
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
const pathFn = require('path')
|
const pathFn = require('path')
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
let sitemapTmpl = ""
|
let sitemapTmpl = ''
|
||||||
|
|
||||||
module.exports = function (config) {
|
module.exports = function (config) {
|
||||||
if (sitemapTmpl) return sitemapTmpl
|
if (sitemapTmpl) return sitemapTmpl
|
||||||
|
|
Loading…
Reference in New Issue