diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/web/index.ts | 12 | ||||
| -rw-r--r-- | src/server/web/views/base.pug | 44 | ||||
| -rw-r--r-- | src/server/web/views/note.pug | 8 | ||||
| -rw-r--r-- | src/server/web/views/user.pug | 10 |
4 files changed, 61 insertions, 13 deletions
diff --git a/src/server/web/index.ts b/src/server/web/index.ts index 42292cd398..5a5029c7fb 100644 --- a/src/server/web/index.ts +++ b/src/server/web/index.ts @@ -15,7 +15,7 @@ import parseAcct from '../../misc/acct/parse'; import config from '../../config'; import Note, { pack as packNote } from '../../models/note'; import getNoteSummary from '../../misc/get-note-summary'; -const consts = require('../../const.json'); +import fetchMeta from '../../misc/fetch-meta'; const client = `${__dirname}/../../client/`; @@ -26,8 +26,7 @@ const app = new Koa(); app.use(views(__dirname + '/views', { extension: 'pug', options: { - config, - themeColor: consts.themeColor + config } })); @@ -120,10 +119,11 @@ router.get('/notes/:note', async ctx => { // Render base html for all requests router.get('*', async ctx => { - await send(ctx, `app/base.html`, { - root: client, - maxage: ms('5m') + const meta = await fetchMeta(); + await ctx.render('base', { + img: meta.bannerUrl }); + ctx.set('Cache-Control', 'public, max-age=86400'); }); // Register router diff --git a/src/server/web/views/base.pug b/src/server/web/views/base.pug new file mode 100644 index 0000000000..dd9660b73f --- /dev/null +++ b/src/server/web/views/base.pug @@ -0,0 +1,44 @@ +block vars + +doctype html + +!= '\n<!-- Thank you for using Misskey! @syuilo -->\n' + +html + + head + meta(charset='utf-8') + meta(name='application-name' content='Misskey') + meta(name='referrer' content='origin') + meta(property='og:site_name' content='Misskey') + link(rel='manifest' href='/manifest.json') + + title + block title + | Misskey + + block desc + meta(name='description' content='A planet of fediverse') + + block meta + + block og + meta(property='og:image' content=img) + + style + include ./../../../../built/client/assets/init.css + script + include ./../../../../built/client/assets/boot.js + + script + include ./../../../../built/client/assets/safe.js + + body + noscript: p + | JavaScriptを有効にしてください + br + | Please turn on your JavaScript + div#ini. + <svg viewBox="0 0 50 50"> + <path fill=#fb4e4e d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z" /> + </svg> diff --git a/src/server/web/views/note.pug b/src/server/web/views/note.pug index 234ecabe22..5a5496fff7 100644 --- a/src/server/web/views/note.pug +++ b/src/server/web/views/note.pug @@ -1,4 +1,4 @@ -extends ../../../../src/client/app/base +extends ./base block vars - const user = note.user; @@ -11,14 +11,16 @@ block title block desc meta(name='description' content= summary) -block meta - meta(name='twitter:card' content='summary') +block og meta(property='og:type' content='article') meta(property='og:title' content= title) meta(property='og:description' content= summary) meta(property='og:url' content= url) meta(property='og:image' content= user.avatarUrl) +block meta + meta(name='twitter:card' content='summary') + if note.prev link(rel='prev' href=`${config.url}/notes/${note.prev}`) if note.next diff --git a/src/server/web/views/user.pug b/src/server/web/views/user.pug index 22c76c143b..71c03d5052 100644 --- a/src/server/web/views/user.pug +++ b/src/server/web/views/user.pug @@ -1,4 +1,4 @@ -extends ../../../../src/client/app/base +extends ./base block vars - const title = user.name ? `${user.name} (@${user.username})` : `@${user.username}`; @@ -11,14 +11,16 @@ block title block desc meta(name='description' content= user.description) -block meta - meta(name='twitter:card' content='summary') +block og meta(property='og:type' content='blog') meta(property='og:title' content= title) meta(property='og:description' content= user.description) meta(property='og:url' content= url) meta(property='og:image' content= img) - + +block meta + meta(name='twitter:card' content='summary') + if !user.host link(rel='alternate' href=`${config.url}/users/${user._id}` type='application/activity+json') if user.uri |