提交 33830078 编写于 作者: 李少辉-开发者's avatar 李少辉-开发者 🎧

add sitemap merge script

Signed-off-by: 李少辉-开发者's avatarlish <lish@csdn.net>
上级 3bafeb3e
此差异已折叠。
......@@ -20,9 +20,11 @@
"deploy": "hexo deploy",
"clear": "rimraf public/ db.json",
"cp-seo-files": "cp -r seo/*.* public/",
"merge-sitemap": ""
"merge-sitemap": "node sitemap-merge.js"
},
"dependencies": {
"xml2js": "^0.4.23"
},
"dependencies": {},
"devDependencies": {
"cross-env": "^7.0.3",
"hexo": "^5.3.0",
......
......@@ -15,8 +15,8 @@
<meta property="og:site_name" content="开源百科">
<meta property="og:description" content="html { font-family: PingFang SC,helvetica neue,hiragino sans gb,arial,microsoft yahei ui,microsoft yahei,simsun,sans-serif; } body { background-color: #f2f2f2; } .navbar-fixed {">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2022-03-28T13:44:05.074Z">
<meta property="article:modified_time" content="2022-03-28T13:44:05.074Z">
<meta property="article:published_time" content="2022-04-01T09:59:39.490Z">
<meta property="article:modified_time" content="2022-04-01T09:59:39.490Z">
<meta property="article:author" content="GitCode.net">
<meta name="twitter:card" content="summary">
......
......@@ -11,7 +11,7 @@
<url>
<loc>https://docs.gitcode.net/</loc>
<lastmod>2022-03-28T13:44:05.074Z</lastmod>
<lastmod>2022-04-01T09:59:39.490Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
......
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="sitemap.xsl"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://docs.gitcode.net/page-sitemap.xml</loc>
<lastmod>2022-03-31T13:44:05.074Z</lastmod>
</sitemap>
<sitemap>
<loc>https://docs.gitcode.net/spring/guide/sitemap.xml</loc>
<lastmod>2022-03-31T13:44:05.074Z</lastmod>
</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Hexo SEO Friendly Sitemap Generator -->
<sitemap>
<loc>https://docs.gitcode.net/page-sitemap.xml</loc>
<lastmod>2022-04-01T09:59:39.490Z</lastmod>
</sitemap>
<sitemap>
<loc>https://docs.gitcode.net/spring/guide/sitemap.xml</loc>
<lastmod>"2022-04-01T10:27:44.390Z"</lastmod>
</sitemap>
</sitemapindex>
\ No newline at end of file
const fs = require('fs');
const xml2js = require('xml2js');
const parser = new xml2js.Parser({ignoreAttrs: false});
const builder = new xml2js.Builder();
const sitemap_path = "./public/sitemap.xml"
const allowed_sitemaps = [
'https://docs.gitcode.net/spring/guide/sitemap.xml'
]
// 读取xml 文件内容
function get_sitemap_content(sitemap_path){
return fs.readFileSync(sitemap_path)
}
// 解析xml
function parse_sitemap_content(sitemap_string){
return new Promise(function(resolve, reject){
parser.parseStringPromise(sitemap_string).then(function(sitemap_content){
resolve(sitemap_content)
}).catch(function(err){
reject(err)
})
})
}
// build xml
function build_sitemap_from_json_content(sitemap_json){
return new Promise(function(resolve, reject){
var xml = builder.buildObject(sitemap_json);
resolve(xml)
})
}
// 保存到文件
function write_to_file(path, content){
fs.writeFileSync(path, content)
}
var sitemap_string = get_sitemap_content(sitemap_path)
parse_sitemap_content(sitemap_string).then(function(sitemap_json){
allowed_sitemaps.forEach(function(item){
sitemap_json.sitemapindex.sitemap.push({
loc: [ item ],
lastmod: [ JSON.stringify(new Date()) ]
})
})
return build_sitemap_from_json_content(sitemap_json)
}).then(function(xml){
write_to_file(sitemap_path, xml)
console.log('Done')
}).catch(function(err){
console.log(err)
})
https://docs.gitcode.net/spring
https://docs.gitcode.net/spring/guide
https://docs.gitcode.net/k8s
https://docs.gitcode.net/k8s/guide
https://docs.gitcode.net/mysql
https://docs.gitcode.net/mysql/guide
https://docs.gitcode.net/pg
https://docs.gitcode.net/pg/guide
https://docs.gitcode.net/mongodb
https://docs.gitcode.net/mongodb/guide
\ No newline at end of file
https://docs.gitcode.net/spring/sitemap.xml
https://docs.gitcode.net/spring/guide/sitemap.xml
https://docs.gitcode.net/k8s/sitemap.xml
https://docs.gitcode.net/k8s/guide/sitemap.xml
https://docs.gitcode.net/mysql/sitemap.xml
https://docs.gitcode.net/mysql/guide/sitemap.xml
https://docs.gitcode.net/pg/sitemap.xml
https://docs.gitcode.net/pg/guide/sitemap.xml
https://docs.gitcode.net/mongodb/sitemap.xml
https://docs.gitcode.net/mongodb/guide/sitemap.xml
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册