mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-27 02:03:09 +02:00
✌️
This commit is contained in:
parent
0711d29f6f
commit
da279f9e50
13 changed files with 104 additions and 32 deletions
|
@ -183,6 +183,24 @@ common:
|
|||
mk-uploader:
|
||||
waiting: "Waiting"
|
||||
|
||||
docs:
|
||||
edit-this-page-on-github: "Caught a mistake or want to contribute to the documentation? "
|
||||
edit-this-page-on-github-link: "Edit this page on Github!"
|
||||
|
||||
api:
|
||||
entities:
|
||||
properties: "Properties"
|
||||
endpoints:
|
||||
params: "Parameters"
|
||||
res: "Response"
|
||||
props:
|
||||
name: "Name"
|
||||
type: "Type"
|
||||
optional: "Optional"
|
||||
description: "Description"
|
||||
yes: "Yes"
|
||||
no: "No"
|
||||
|
||||
ch:
|
||||
tags:
|
||||
mk-index:
|
||||
|
|
|
@ -10,12 +10,12 @@ const loadLang = lang => yaml.safeLoad(
|
|||
|
||||
const native = loadLang('ja');
|
||||
|
||||
const langs = Object.entries({
|
||||
const langs = {
|
||||
'en': loadLang('en'),
|
||||
'ja': native
|
||||
});
|
||||
};
|
||||
|
||||
langs.map(([, locale]) => {
|
||||
Object.entries(langs).map(([, locale]) => {
|
||||
// Extend native language (Japanese)
|
||||
locale = Object.assign({}, native, locale);
|
||||
});
|
|
@ -183,6 +183,24 @@ common:
|
|||
mk-uploader:
|
||||
waiting: "待機中"
|
||||
|
||||
docs:
|
||||
edit-this-page-on-github: "間違いや改善点を見つけましたか?"
|
||||
edit-this-page-on-github-link: "このページをGitHubで編集"
|
||||
|
||||
api:
|
||||
entities:
|
||||
properties: "プロパティ"
|
||||
endpoints:
|
||||
params: "パラメータ"
|
||||
res: "レスポンス"
|
||||
props:
|
||||
name: "名前"
|
||||
type: "型"
|
||||
optional: "オプション"
|
||||
description: "説明"
|
||||
yes: "はい"
|
||||
no: "いいえ"
|
||||
|
||||
ch:
|
||||
tags:
|
||||
mk-index:
|
||||
|
|
|
@ -1,8 +1,21 @@
|
|||
@import "../style"
|
||||
|
||||
#url
|
||||
padding 8px 12px
|
||||
padding 8px 12px 8px 8px
|
||||
font-family Consolas, 'Courier New', Courier, Monaco, monospace
|
||||
color #fff
|
||||
background #222e40
|
||||
border-radius 4px
|
||||
|
||||
> .method
|
||||
display inline-block
|
||||
margin 0 8px 0 0
|
||||
padding 0 6px
|
||||
color #f4fcff
|
||||
background #17afc7
|
||||
border-radius 4px
|
||||
user-select none
|
||||
pointer-events none
|
||||
|
||||
> .host
|
||||
opacity 0.7
|
||||
|
|
|
@ -7,12 +7,17 @@ block meta
|
|||
block main
|
||||
h1= endpoint
|
||||
|
||||
p#url= url
|
||||
p#url
|
||||
span.method POST
|
||||
span.host
|
||||
= url.host
|
||||
| /
|
||||
span.path= url.path
|
||||
|
||||
p#desc= desc[lang] || desc['ja']
|
||||
|
||||
section
|
||||
h2 Params
|
||||
h2= common.i18n[lang]['docs']['api']['endpoints']['params']
|
||||
+propTable(params)
|
||||
|
||||
if paramDefs
|
||||
|
@ -23,5 +28,5 @@ block main
|
|||
|
||||
if res
|
||||
section
|
||||
h2 Response
|
||||
h2= common.i18n[lang]['docs']['api']['endpoints']['res']
|
||||
+propTable(res)
|
||||
|
|
|
@ -10,7 +10,7 @@ block main
|
|||
p#desc= desc[lang] || desc['ja']
|
||||
|
||||
section
|
||||
h2 Properties
|
||||
h2= common.i18n[lang]['docs']['api']['entities']['properties']
|
||||
+propTable(props)
|
||||
|
||||
if propDefs
|
||||
|
|
|
@ -16,7 +16,7 @@ import generateVars from '../vars';
|
|||
|
||||
const commonVars = generateVars();
|
||||
|
||||
const langs = ['ja', 'en'];
|
||||
const langs = Object.keys(commonVars.i18n);
|
||||
|
||||
const kebab = string => string.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\s+/g, '-').toLowerCase();
|
||||
|
||||
|
@ -102,7 +102,10 @@ gulp.task('doc:api:endpoints', () => {
|
|||
const ep = yaml.safeLoad(fs.readFileSync(file, 'utf-8'));
|
||||
const vars = {
|
||||
endpoint: ep.endpoint,
|
||||
url: `${config.api_url}/${ep.endpoint}`,
|
||||
url: {
|
||||
host: config.api_url,
|
||||
path: ep.endpoint
|
||||
},
|
||||
desc: ep.desc,
|
||||
params: sortParams(ep.params.map(p => parseParam(p))),
|
||||
paramDefs: extractDefs(ep.params),
|
||||
|
@ -113,6 +116,7 @@ gulp.task('doc:api:endpoints', () => {
|
|||
pug.renderFile('./src/web/docs/api/endpoints/view.pug', Object.assign({}, vars, {
|
||||
lang,
|
||||
title: ep.endpoint,
|
||||
src: `https://github.com/syuilo/misskey/tree/master/src/web/docs/api/endpoints/${ep.endpoint}.yaml`,
|
||||
kebab,
|
||||
common: commonVars
|
||||
}), (renderErr, html) => {
|
||||
|
@ -152,6 +156,7 @@ gulp.task('doc:api:entities', () => {
|
|||
pug.renderFile('./src/web/docs/api/entities/view.pug', Object.assign({}, vars, {
|
||||
lang,
|
||||
title: entity.name,
|
||||
src: `https://github.com/syuilo/misskey/tree/master/src/web/docs/api/entities/${kebab(entity.name)}.yaml`,
|
||||
kebab,
|
||||
common: commonVars
|
||||
}), (renderErr, html) => {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
mixin propTable(props)
|
||||
table.props
|
||||
thead: tr
|
||||
th Name
|
||||
th Type
|
||||
th Optional
|
||||
th Description
|
||||
th= common.i18n[lang]['docs']['api']['props']['name']
|
||||
th= common.i18n[lang]['docs']['api']['props']['type']
|
||||
th= common.i18n[lang]['docs']['api']['props']['optional']
|
||||
th= common.i18n[lang]['docs']['api']['props']['description']
|
||||
tbody
|
||||
each prop in props
|
||||
tr
|
||||
|
@ -29,5 +29,9 @@ mixin propTable(props)
|
|||
| )
|
||||
else if prop.kind == 'date'
|
||||
| (Date)
|
||||
td.optional= prop.optional.toString()
|
||||
td.optional
|
||||
if prop.optional
|
||||
= common.i18n[lang]['docs']['api']['props']['yes']
|
||||
else
|
||||
= common.i18n[lang]['docs']['api']['props']['no']
|
||||
td.desc!= prop.desc[lang] || prop.desc['ja']
|
||||
|
|
|
@ -37,7 +37,8 @@ gulp.task('doc:docs', () => {
|
|||
const vars = {
|
||||
common: commonVars,
|
||||
lang: lang,
|
||||
title: fs.readFileSync(file, 'utf-8').match(/^h1 (.+?)\r?\n/)[1]
|
||||
title: fs.readFileSync(file, 'utf-8').match(/^h1 (.+?)\r?\n/)[1],
|
||||
src: `https://github.com/syuilo/misskey/tree/master/src/web/docs/${name}.${lang}.pug`,
|
||||
};
|
||||
pug.renderFile(file, vars, (renderErr, content) => {
|
||||
if (renderErr) {
|
||||
|
|
|
@ -27,6 +27,12 @@ html(lang= lang)
|
|||
each endpoint in common.endpoints
|
||||
li: a(href=`./api/endpoints/${common.kebab(endpoint)}`)= endpoint
|
||||
main
|
||||
article
|
||||
block main
|
||||
if content
|
||||
| !{content}
|
||||
|
||||
footer
|
||||
p
|
||||
= common.i18n[lang]['docs']['edit-this-page-on-github']
|
||||
a(href=src target="_blank")= common.i18n[lang]['docs']['edit-this-page-on-github-link']
|
||||
|
|
|
@ -37,6 +37,14 @@ main
|
|||
margin 1em 0
|
||||
line-height 1.6em
|
||||
|
||||
footer
|
||||
margin 32px 0 0 0
|
||||
border-top solid 2px #eee
|
||||
|
||||
.copyright
|
||||
margin 16px 0 0 0
|
||||
color #aaa
|
||||
|
||||
nav
|
||||
display block
|
||||
position fixed
|
||||
|
@ -48,15 +56,6 @@ nav
|
|||
padding 32px
|
||||
border-right solid 2px #eee
|
||||
|
||||
footer
|
||||
padding:32px 0 0 0
|
||||
margin 32px 0 0 0
|
||||
border-top solid 1px #eee
|
||||
|
||||
.copyright
|
||||
margin 16px 0 0 0
|
||||
color #aaa
|
||||
|
||||
table
|
||||
width 100%
|
||||
border-spacing 0
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import * as fs from 'fs';
|
||||
import * as glob from 'glob';
|
||||
import * as yaml from 'js-yaml';
|
||||
import langs from '../../../locales';
|
||||
import config from '../../conf';
|
||||
|
||||
export default function() {
|
||||
const vars = {};
|
||||
export default function(): { [key: string]: any } {
|
||||
const vars = {} as { [key: string]: any };
|
||||
|
||||
const endpoints = glob.sync('./src/web/docs/api/endpoints/**/*.yaml');
|
||||
vars['endpoints'] = endpoints.map(ep => {
|
||||
|
@ -35,5 +36,7 @@ export default function() {
|
|||
|
||||
vars['config'] = config;
|
||||
|
||||
vars['i18n'] = langs;
|
||||
|
||||
return vars;
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
import module_ from './module';
|
||||
import plugins from './plugins';
|
||||
|
||||
import langs from './langs';
|
||||
import langs from '../locales';
|
||||
import version from '../src/version';
|
||||
|
||||
module.exports = langs.map(([lang, locale]) => {
|
||||
module.exports = Object.entries(langs).map(([lang, locale]) => {
|
||||
// Chunk name
|
||||
const name = lang;
|
||||
|
||||
|
|
Loading…
Reference in a new issue