diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-06 23:27:47 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-06 23:27:47 +0900 |
| commit | 01e7a01daf1fc393dfe9ae6d3337870d23d16d08 (patch) | |
| tree | 2963fa0958ed2787b7d8853c157de09dd029e71c /src/server | |
| parent | Not found page (diff) | |
| download | sharkey-01e7a01daf1fc393dfe9ae6d3337870d23d16d08.tar.gz sharkey-01e7a01daf1fc393dfe9ae6d3337870d23d16d08.tar.bz2 sharkey-01e7a01daf1fc393dfe9ae6d3337870d23d16d08.zip | |
Clean up
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/web/docs.ts | 106 | ||||
| -rw-r--r-- | src/server/web/index.ts | 2 |
2 files changed, 0 insertions, 108 deletions
diff --git a/src/server/web/docs.ts b/src/server/web/docs.ts deleted file mode 100644 index c6c5fd1e2f..0000000000 --- a/src/server/web/docs.ts +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Docs - */ - -import * as fs from 'fs'; -import * as path from 'path'; -import * as showdown from 'showdown'; -import 'showdown-highlightjs-extension'; -import ms = require('ms'); -import * as Router from '@koa/router'; -import * as send from 'koa-send'; -import * as glob from 'glob'; -import config from '../../config'; -import { licenseHtml } from '../../misc/license'; -import * as locales from '../../../locales'; -import * as nestedProperty from 'nested-property'; - -function getLang(lang: string): string { - if (['en-US', 'ja-JP'].includes(lang)) { - return lang; - } else { - return 'en-US'; - } -} - -async function genVars(lang: string): Promise<{ [key: string]: any }> { - const vars = {} as { [key: string]: any }; - - vars['lang'] = lang; - - const cwd = path.resolve(__dirname + '/../../../') + '/'; - - const docs = glob.sync(`src/docs/**/*.${lang}.md`, { cwd }); - vars['docs'] = {}; - for (const x of docs) { - const [, name] = x.match(/docs\/(.+?)\.(.+?)\.md$/)!; - if (vars['docs'][name] == null) { - vars['docs'][name] = { - name, - title: {} - }; - } - vars['docs'][name]['title'][lang] = fs.readFileSync(cwd + x, 'utf-8').match(/^# (.+?)\r?\n/)![1]; - } - - vars['kebab'] = (string: string) => string.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\s+/g, '-').toLowerCase(); - - vars['config'] = config; - - vars['copyright'] = '(c) Misskey'; - - vars['license'] = licenseHtml; - - vars['i18n'] = (key: string) => nestedProperty.get(locales[lang], key); - - return vars; -} - -const router = new Router(); - -router.get('/assets/*', async ctx => { - await send(ctx as any, ctx.params[0], { - root: `${__dirname}/../../docs/assets/`, - maxage: ms('1 days') - }); -}); - -router.get('/*/*', async ctx => { - const lang = getLang(ctx.params[0]); - const doc = ctx.params[1]; - - showdown.extension('urlExtension', () => ({ - type: 'output', - regex: /%URL%/g, - replace: config.url - })); - - showdown.extension('wsUrlExtension', () => ({ - type: 'output', - regex: /%WS_URL%/g, - replace: config.wsUrl - })); - - showdown.extension('apiUrlExtension', () => ({ - type: 'output', - regex: /%API_URL%/g, - replace: config.apiUrl - })); - - const conv = new showdown.Converter({ - tables: true, - extensions: ['urlExtension', 'apiUrlExtension', 'highlightjs'] - }); - const md = fs.readFileSync(`${__dirname}/../../../src/docs/${doc}.${lang}.md`, 'utf8'); - - await ctx.render('../../../../src/docs/article', Object.assign({ - id: doc, - html: conv.makeHtml(md), - title: md.match(/^# (.+?)\r?\n/)![1], - src: `https://github.com/syuilo/misskey/tree/master/src/docs/${doc}.${lang}.md` - }, await genVars(lang))); - - ctx.set('Cache-Control', 'public, max-age=300'); -}); - -export default router; diff --git a/src/server/web/index.ts b/src/server/web/index.ts index a6ba3cbde7..07674bf099 100644 --- a/src/server/web/index.ts +++ b/src/server/web/index.ts @@ -10,7 +10,6 @@ import * as send from 'koa-send'; import * as favicon from 'koa-favicon'; import * as views from 'koa-views'; -import docs from './docs'; import packFeed from './feed'; import { fetchMeta } from '../../misc/fetch-meta'; import { genOpenapiSpec } from '../api/openapi/gen-spec'; @@ -84,7 +83,6 @@ router.get('/robots.txt', async ctx => { //#endregion // Docs -router.use('/docs', docs.routes()); router.get('/api-doc', async ctx => { await send(ctx as any, '/assets/redoc.html', { root: client |