server update + pages back + sitemap update
This commit is contained in:
1 parent
ef59089d01
commit
17fdb4b46e
2 files changed
+28
-24
No files matched your search
+22
-22
@@ -1,12 +1,12 @@
|
||||
import sitemap from 'sitemap';
|
||||
import route from 'koa-route';
|
||||
import {c} from '../core/db';
|
||||
import {getPageUrls as pages} from '../core/pages';
|
||||
const sitemap = require('sitemap')
|
||||
const route = require('koa-route')
|
||||
const {c} = require('../core/db')
|
||||
const {getPageUrls: pages} = require('../core/pages')
|
||||
|
||||
import {homeUrl, sitemapCacheTime} from '../config';
|
||||
import menu from '../models/menu';
|
||||
const {homeUrl, sitemapCacheTime} = require('../config')
|
||||
const menu = require('../models/menu')
|
||||
|
||||
export default function () {
|
||||
module.exports = function () {
|
||||
return route.get('/sitemap.xml', async ctx => {
|
||||
let urls = await Promise.all([
|
||||
getMenuUrls(),
|
||||
@@ -14,19 +14,19 @@ export default function () {
|
||||
getGalleryUrls(),
|
||||
getTeacherUrls(),
|
||||
getArticleUrls(),
|
||||
]);
|
||||
urls = urls.reduce((urls, i) => urls.concat(i));
|
||||
])
|
||||
urls = urls.reduce((urls, i) => urls.concat(i))
|
||||
|
||||
let map = sitemap.createSitemap({
|
||||
hostname: homeUrl,
|
||||
cacheTime: sitemapCacheTime,
|
||||
urls: urls
|
||||
});
|
||||
})
|
||||
|
||||
ctx.set('Content-Type', 'application/xml');
|
||||
ctx.body = map.toString();
|
||||
ctx.set('Content-Type', 'application/xml')
|
||||
ctx.body = map.toString()
|
||||
})
|
||||
};
|
||||
}
|
||||
|
||||
async function getMenuUrls(frequency = 'daily') {
|
||||
return menu
|
||||
@@ -34,52 +34,52 @@ async function getMenuUrls(frequency = 'daily') {
|
||||
.map(i => ({
|
||||
url: i.url,
|
||||
changefreq: frequency
|
||||
}));
|
||||
}))
|
||||
}
|
||||
|
||||
async function getPageUrls(frequency = 'daily') {
|
||||
const ps = await pages();
|
||||
const ps = await pages()
|
||||
return ps.map(i => ({
|
||||
url: i.url,
|
||||
changefreq: frequency
|
||||
}));
|
||||
}))
|
||||
}
|
||||
|
||||
async function getGalleryUrls() {
|
||||
let docs = await c('albums')
|
||||
.find({})
|
||||
.toArray();
|
||||
.toArray()
|
||||
|
||||
return docs.map(i => {
|
||||
return {
|
||||
url: `/album/${i.id}`,
|
||||
changefreq: 'monthly'
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
async function getTeacherUrls() {
|
||||
let docs = await c('collective')
|
||||
.find({})
|
||||
.toArray();
|
||||
.toArray()
|
||||
|
||||
return docs.map(i => {
|
||||
return {
|
||||
url: `/teacher/${i.id}`,
|
||||
changefreq: 'monthly'
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
async function getArticleUrls() {
|
||||
let docs = await c('articles')
|
||||
.find({})
|
||||
.toArray();
|
||||
.toArray()
|
||||
|
||||
return docs.map(i => {
|
||||
return {
|
||||
url: `/article/${i.id}`,
|
||||
changefreq: 'monthly'
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
+6
-2
@@ -13,7 +13,7 @@ import bodyParser from 'koa-bodyparser'
|
||||
|
||||
import apiV1 from 'hudozka-api-v1'
|
||||
import {redirectionTable} from './config'
|
||||
import {routes, queryObject} from './routes'
|
||||
import {queryObject} from './routes'
|
||||
import {redirect} from './routes/redirect'
|
||||
import {services as serviceKeys, authChecker} from './core/service'
|
||||
import handlebars from 'handlebars'
|
||||
@@ -28,6 +28,8 @@ const teachers = require('./routes/teachers')
|
||||
const documents = require('./routes/documents')
|
||||
const document = require('./routes/document')
|
||||
const schedule = require('./routes/schedule')
|
||||
const pages = require('./routes/pages')
|
||||
const sitemap = require('./routes/sitemap')
|
||||
|
||||
const dirPublic = path.join(__dirname, '../public')
|
||||
const dirTemplates = path.join(__dirname, 'templates')
|
||||
@@ -66,6 +68,8 @@ export default function (store) {
|
||||
app.use(queryObject())
|
||||
|
||||
app.use(error.notFound(config.view404))
|
||||
app.use(sitemap())
|
||||
|
||||
app.use(home.getHome(5))
|
||||
app.use(gallery.getGallery())
|
||||
app.use(article.getArticles(5))
|
||||
@@ -76,7 +80,7 @@ export default function (store) {
|
||||
app.use(documents.getDocuments())
|
||||
app.use(document.getDocument())
|
||||
app.use(schedule.getSchedule())
|
||||
app.use(routes(store))
|
||||
app.use(pages())
|
||||
|
||||
return Server(app.callback())
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user