mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-25 23:17:06 +02:00
Move Docusaurus 1 files into directory (#966)
* Move Docusaurus 1 into v1 directory * Update Circle CI commands for new v1 dir * Remove OC * Fix tests
This commit is contained in:
parent
9d4a5d5359
commit
f2927a9fc4
291 changed files with 7591 additions and 6532 deletions
94
v1/lib/server/sitemap.js
Normal file
94
v1/lib/server/sitemap.js
Normal file
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* Copyright (c) 2017-present, Facebook, Inc.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
const fs = require('fs-extra');
|
||||
|
||||
const glob = require('glob');
|
||||
|
||||
const CWD = process.cwd();
|
||||
|
||||
const sitemap = require('sitemap');
|
||||
const utils = require('../core/utils');
|
||||
|
||||
const siteConfig = require(`${CWD}/siteConfig.js`);
|
||||
|
||||
const readMetadata = require('./readMetadata.js');
|
||||
|
||||
readMetadata.generateMetadataDocs();
|
||||
const Metadata = require('../core/metadata.js');
|
||||
|
||||
readMetadata.generateMetadataBlog();
|
||||
const MetadataBlog = require('../core/MetadataBlog.js');
|
||||
|
||||
module.exports = function(callback) {
|
||||
console.log('sitemap.js triggered...');
|
||||
|
||||
const files = glob.sync(`${CWD}/pages/en/**/*.js`);
|
||||
|
||||
// English-only is the default.
|
||||
let enabledLanguages = [
|
||||
{
|
||||
enabled: true,
|
||||
name: 'English',
|
||||
tag: 'en',
|
||||
},
|
||||
];
|
||||
|
||||
// If we have a languages.js file, get all the enabled languages in there
|
||||
if (fs.existsSync(`${CWD}/languages.js`)) {
|
||||
const languages = require(`${CWD}/languages.js`);
|
||||
enabledLanguages = languages.filter(lang => lang.enabled);
|
||||
}
|
||||
|
||||
// Create a url mapping to all the enabled languages files
|
||||
const urls = files.map(file => {
|
||||
let url = file.split('/pages/en')[1];
|
||||
url = siteConfig.cleanUrl
|
||||
? url.replace(/\.js$/, '')
|
||||
: url.replace(/\.js$/, '.html');
|
||||
const links = enabledLanguages.map(lang => {
|
||||
const langUrl = lang.tag + url;
|
||||
return {lang: lang.tag, url: langUrl};
|
||||
});
|
||||
return {url, changefreq: 'weekly', priority: 0.5, links};
|
||||
});
|
||||
|
||||
MetadataBlog.forEach(blog => {
|
||||
urls.push({
|
||||
url: `/blog/${utils.getPath(blog.path, siteConfig.cleanUrl)}`,
|
||||
changefreq: 'weekly',
|
||||
priority: 0.3,
|
||||
});
|
||||
});
|
||||
|
||||
Object.keys(Metadata)
|
||||
.filter(key => Metadata[key].language === 'en')
|
||||
.forEach(key => {
|
||||
const doc = Metadata[key];
|
||||
const docUrl = utils.getPath(doc.permalink, siteConfig.cleanUrl);
|
||||
const links = enabledLanguages.map(lang => {
|
||||
const langUrl = docUrl.replace('docs/en/', `docs/${lang.tag}/`);
|
||||
return {lang: lang.tag, url: langUrl};
|
||||
});
|
||||
urls.push({
|
||||
url: docUrl,
|
||||
changefreq: 'hourly',
|
||||
priority: 1.0,
|
||||
links,
|
||||
});
|
||||
});
|
||||
|
||||
const sm = sitemap.createSitemap({
|
||||
hostname: siteConfig.url + siteConfig.baseUrl,
|
||||
cacheTime: 600 * 1000, // 600 sec - cache purge period
|
||||
urls,
|
||||
});
|
||||
|
||||
sm.toXML((err, xml) => {
|
||||
callback(err, xml);
|
||||
});
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue