mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-01 12:45:38 +02:00
* feat: split entry file by locale name
* chore: とりあえず transform hook で雑に分割
* chore: とりあえず transform 結果をいい感じに
* chore: concurrent buildで高速化
* chore: vite ではローケルのないものをビルドして後処理でどうにかするように
* chore: 後処理のためにi18n.jを単体になるように切り出す
* chore: use typescript
* chore: remove unref(i18n) in vite build process
* chore: inline variable
* fix: build error
* fix: i18n.ts.something.replaceAll() become error
* chore: ignore export specifier from error
* chore: support i18n.tsx as object
* chore: process literal for all files
* chore: split config and locale
* chore: inline locale name
* chore: remove updating locale in boot common
* chore: use top-level await to load locales
* chore: inline locale
* chore: remove loading locale from boot.js
* chore: remove loading locale from boot.js
* コメント追加
* fix test; fetchに失敗する
* import削除ログをdebugレベルに
* fix: watch pug
* chore: use hash for entry files
* chore: remove es-module-lexer from dependencies
* chore: move to frontend-builder
* chore: use inline locale in embed
* chore: refetch json on hot reload
* feat: store localization related to boot.js in backend in bootloaderLocales localstorage
* 応急処置を戻す
* fix spex
* fix `Using i18n identifier "e" directly. Skipping inlining.` warning
* refactor: use scriptsDir parameter
* chore: remove i18n from depmap
* chore: make build crash if errors
* error -> warn few conditions
* use inline object
* update localstorage keys
* remove accessing locale localstorage
* fix: failed to process i18n.tsx.aaa({x:i18n.bbb})
101 lines
3.1 KiB
Plaintext
101 lines
3.1 KiB
Plaintext
block vars
|
|
|
|
block loadClientEntry
|
|
- const entry = config.frontendEntry;
|
|
- const baseUrl = config.url;
|
|
|
|
doctype html
|
|
|
|
//
|
|
-
|
|
_____ _ _
|
|
| |_|___ ___| |_ ___ _ _
|
|
| | | | |_ -|_ -| '_| -_| | |
|
|
|_|_|_|_|___|___|_,_|___|_ |
|
|
|___|
|
|
Thank you for using Misskey!
|
|
If you are reading this message... how about joining the development?
|
|
https://github.com/misskey-dev/misskey
|
|
|
|
|
|
html
|
|
|
|
head
|
|
meta(charset='utf-8')
|
|
meta(name='application-name' content='Misskey')
|
|
meta(name='referrer' content='origin')
|
|
meta(name='theme-color' content= themeColor || '#86b300')
|
|
meta(name='theme-color-orig' content= themeColor || '#86b300')
|
|
meta(property='og:site_name' content= instanceName || 'Misskey')
|
|
meta(property='instance_url' content= instanceUrl)
|
|
meta(name='viewport' content='width=device-width, initial-scale=1')
|
|
meta(name='format-detection' content='telephone=no,date=no,address=no,email=no,url=no')
|
|
link(rel='icon' href= icon || '/favicon.ico')
|
|
link(rel='apple-touch-icon' href= appleTouchIcon || '/apple-touch-icon.png')
|
|
link(rel='manifest' href='/manifest.json')
|
|
link(rel='search' type='application/opensearchdescription+xml' title=(title || "Misskey") href=`${baseUrl}/opensearch.xml`)
|
|
link(rel='prefetch' href=serverErrorImageUrl)
|
|
link(rel='prefetch' href=infoImageUrl)
|
|
link(rel='prefetch' href=notFoundImageUrl)
|
|
|
|
if !config.frontendManifestExists
|
|
script(type="module" src="/vite/@vite/client")
|
|
|
|
if Array.isArray(entry.css)
|
|
each href in entry.css
|
|
link(rel='stylesheet' href=`/vite/${href}`)
|
|
|
|
title
|
|
block title
|
|
= title || 'Misskey'
|
|
|
|
if noindex
|
|
meta(name='robots' content='noindex')
|
|
|
|
block desc
|
|
meta(name='description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨')
|
|
|
|
block meta
|
|
|
|
block og
|
|
meta(property='og:title' content= title || 'Misskey')
|
|
meta(property='og:description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨')
|
|
meta(property='og:image' content= img)
|
|
meta(property='twitter:card' content='summary')
|
|
|
|
style
|
|
include ../style.css
|
|
|
|
script.
|
|
var VERSION = "#{version}";
|
|
var CLIENT_ENTRY = !{JSON.stringify(entry.file)};
|
|
|
|
script(type='application/json' id='misskey_meta' data-generated-at=now)
|
|
!= metaJson
|
|
|
|
script(type='application/json' id='misskey_clientCtx' data-generated-at=now)
|
|
!= clientCtx
|
|
|
|
script
|
|
include ../boot.js
|
|
|
|
body
|
|
noscript: p
|
|
| JavaScriptを有効にしてください
|
|
br
|
|
| Please turn on your JavaScript
|
|
div#splash
|
|
img#splashIcon(src= icon || '/static-assets/splash.png')
|
|
div#splashSpinner
|
|
<svg class="spinner bg" viewBox="0 0 152 152" xmlns="http://www.w3.org/2000/svg">
|
|
<g transform="matrix(1,0,0,1,12,12)">
|
|
<circle cx="64" cy="64" r="64" style="fill:none;stroke:currentColor;stroke-width:24px;"/>
|
|
</g>
|
|
</svg>
|
|
<svg class="spinner fg" viewBox="0 0 152 152" xmlns="http://www.w3.org/2000/svg">
|
|
<g transform="matrix(1,0,0,1,12,12)">
|
|
<path d="M128,64C128,28.654 99.346,0 64,0C99.346,0 128,28.654 128,64Z" style="fill:none;stroke:currentColor;stroke-width:24px;"/>
|
|
</g>
|
|
</svg>
|
|
block content
|