diff --git a/src/docs/article.pug b/src/docs/article.pug deleted file mode 100644 index 48f501d406..0000000000 --- a/src/docs/article.pug +++ /dev/null @@ -1,9 +0,0 @@ -extends ./base - -block main - != html - -block footer - p - = i18n('docs.edit-this-page-on-github') - a(href=src rel="noopener" target="_blank")= i18n('docs.edit-this-page-on-github-link') diff --git a/src/docs/base.pug b/src/docs/base.pug deleted file mode 100644 index 7d6af89dec..0000000000 --- a/src/docs/base.pug +++ /dev/null @@ -1,50 +0,0 @@ -doctype html - -html(lang= lang) - head - meta(charset="UTF-8") - meta(name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no") - title - | #{title} | Misskey Docs - link(rel="stylesheet" href="/docs/assets/style.css") - link(rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css") - script(src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js") - link(rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous") - block meta - - body - nav - ul - each doc in docs - li: a(href=`/docs/${lang}/${doc.name}`)= doc.title[lang] || doc.title['ja-JP'] - main - article - block main - if content - | !{content} - - aside. -
- - - - footer - block footer - small= copyright diff --git a/src/docs/style.styl b/src/docs/style.styl deleted file mode 100644 index 6b63cab7d7..0000000000 --- a/src/docs/style.styl +++ /dev/null @@ -1,156 +0,0 @@ -@import "../client/style" -@import "./ui" - -html - --accent #fb4e4e - --link #fb4e4e - --linkTapHighlight #fb4e4eb3 - -body - margin 0 - color #34495e - word-break break-word - -main - margin 0 0 0 330px - padding 64px - width 850px - max-width calc(100% - 330px) - - h1 - margin 0 0 24px 0 - padding 16px 0 - font-size 1.5em - border-bottom solid 2px #eee - - h2 - margin 1em 0 24px 0 - padding 0 0 16px 0 - font-size 1.4em - border-bottom solid 1px #eee - - h3 - margin 1em 0 0 0 - padding 0 - font-size 1.25em - - h4 - margin 1em 0 0 0 - - p - margin 1em 0 - line-height 1.6em - - hr - border none - border-bottom solid 2px #eee - - > aside - margin-top 32px - padding-top 32px - border-top solid 2px #eee - - > footer - margin 32px 0 0 0 - border-top solid 2px #eee - - > small - display block - margin 16px 0 0 0 - color #aaa - -nav - display block - position fixed - z-index 10000 - top 0 - left 0 - width 330px - height 100% - overflow auto - padding 32px - background #fff - border-right solid 2px #eee - - ul - padding 0 - margin 0 - -@media (max-width 1025px) - main - margin 0 - max-width 100% - - nav - position relative - width 100% - max-height 128px - background #f9f9f9 - border-right none - -@media (max-width 768px) - main - padding 32px - -@media (max-width 512px) - main - padding 16px - -table - width 100% - max-width 100% - overflow auto - border-spacing 0 - border-collapse collapse - - thead - font-weight bold - border-bottom solid 2px #eee - - tr - th - text-align left - - tbody - tr - &:nth-child(odd) - background #fbfbfb - - th, td - padding 8px 16px - min-width 128px - -code - padding 4px 8px - font-family Consolas, 'Courier New', Courier, Monaco, monospace - //color #295c92 - background #f2f2f2 - border-radius 4px - -pre - overflow auto - - > code - display block - padding 16px - -kbd.group - display inline-block - padding 4px - background #fbfbfb - border 1px solid #d6d6d6 - border-radius 4px - box-shadow 0 1px 1px rgba(0, 0, 0, 0.1) - -kbd.key - display inline-block - padding 6px 8px - background #fff - border solid 1px #cecece - border-radius 4px - box-shadow 0 1px 1px rgba(0, 0, 0, 0.1) - -td - > kbd.group, - > kbd.key - margin 4px diff --git a/src/docs/ui.styl b/src/docs/ui.styl deleted file mode 100644 index 194ebd7f98..0000000000 --- a/src/docs/ui.styl +++ /dev/null @@ -1,19 +0,0 @@ -.ui.info - display block - margin 1em 0 - padding 0 1em - font-size 90% - color rgba(#000, 0.87) - background #f8f8f9 - border-radius 4px - overflow hidden - - > p - opacity 0.8 - - > [data-icon]:first-child - margin-right 0.25em - - &.warn - color #573a08 - background #FFFAF3 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