server update + pages back + sitemap update

This commit is contained in:
tmshv committed 2017-05-26 23:20:16 +03:00
1 parent ef59089d01
commit 17fdb4b46e
2 files changed
+28 -24

No files matched your search

+22 -22
View File
@@ -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
View File
@@ -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())
}