diff --git a/gulpfile.ts b/gulpfile.ts
index a052d5eed4..78d19909ab 100644
--- a/gulpfile.ts
+++ b/gulpfile.ts
@@ -2,6 +2,7 @@
* Gulp tasks
*/
+import * as path from 'path';
import * as gulp from 'gulp';
import * as gutil from 'gulp-util';
import * as babel from 'gulp-babel';
@@ -36,6 +37,7 @@ const tsProject = ts.createProject('tsconfig.json');
gulp.task('build', [
'build:js',
'build:ts',
+ 'build:pug',
'build:copy',
'build:client'
]);
@@ -60,16 +62,35 @@ gulp.task('build:ts', () =>
.pipe(gulp.dest('./built/'))
);
-gulp.task('build:copy', () => {
- gulp.src([
- './src/**/resources/**/*',
- '!./src/web/app/**/resources/**/*'
- ]).pipe(gulp.dest('./built/'));
- gulp.src([
- './src/web/about/**/*'
- ]).pipe(gulp.dest('./built/web/about/'));
+gulp.task('build:pug', () => {
+ const pugs = glob.sync('./src/web/about/pages/**/*.pug');
+ const streams = pugs.map(file => {
+ const page = file.replace('./src/web/about/pages/', '').replace('.pug', '');
+ return gulp.src(file)
+ .pipe(pug({
+ locals: Object.assign({
+ path: page
+ }, config)
+ }))
+ .pipe(gulp.dest('./built/web/about/pages/' + path.parse(page).dir));
+ });
+
+ return es.merge.apply(es, streams);
});
+gulp.task('build:copy', () =>
+ es.merge(
+ gulp.src([
+ './src/**/resources/**/*',
+ '!./src/web/app/**/resources/**/*'
+ ]).pipe(gulp.dest('./built/')),
+ gulp.src([
+ './src/web/about/**/*',
+ '!./src/web/about/**/*.pug'
+ ]).pipe(gulp.dest('./built/web/about/'))
+ )
+);
+
gulp.task('test', ['lint', 'build']);
gulp.task('lint', () =>
diff --git a/src/web/about/base.pug b/src/web/about/base.pug
index a026c03f28..81d9497d18 100644
--- a/src/web/about/base.pug
+++ b/src/web/about/base.pug
@@ -5,7 +5,7 @@ html(lang='ja', dir='ltr')
head
meta(charset='utf-8')
meta(name='application-name', content='Misskey')
- meta(name='theme-color', content='#f76d6c')
+ meta(name='theme-color', content=themeColor)
meta(name='referrer', content='origin')
meta(name='viewport', content='width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no')
link(rel='stylesheet', href='/resources/style.css')
diff --git a/src/web/about/pages/api/getting-started.pug b/src/web/about/pages/api/getting-started.pug
index 974964e3eb..61c9a9305f 100644
--- a/src/web/about/pages/api/getting-started.pug
+++ b/src/web/about/pages/api/getting-started.pug
@@ -29,7 +29,7 @@ block content
h3 アプリケーションを作成する
p まずはあなたのアプリケーションを作成しましょう。
p
- | デベロッパーセンターにアクセスし、アプリ > アプリ作成 に進みます。
+ | デベロッパーセンターにアクセスし、アプリ > アプリ作成 に進みます。
br
| 次に、フォームに必要事項を記入します:
dl
@@ -55,7 +55,7 @@ block content
section
h3 ユーザーに認証させる
p あなたのアプリを使ってもらうには、ユーザーにアカウントへアクセスすることを許可してもらい、Misskeyにそのユーザーのアクセストークンを発行してもらう必要があります。
- p 認証セッションを開始するには、#{config.api_url}/auth/session/generate
へパラメータにapp_secret
としてApp Secretを含めたリクエストを送信します。
+ p 認証セッションを開始するには、#{api_url}/auth/session/generate
へパラメータにapp_secret
としてApp Secretを含めたリクエストを送信します。
p
| そうすると、レスポンスとして認証セッションのトークンや認証フォームのURLが取得できます。
br
@@ -67,7 +67,7 @@ block content
h4 あなたのアプリがコールバックURLを設定していない場合
p ユーザーがアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
p
- | 次に、#{config.api_url}/auth/session/userkey
へapp_secret
としてApp Secretを、token
としてセッションのトークンをパラメータとして付与したリクエストを送信してください。
+ | 次に、#{api_url}/auth/session/userkey
へapp_secret
としてApp Secretを、token
としてセッションのトークンをパラメータとして付与したリクエストを送信してください。
br
| 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!
diff --git a/src/web/about/pages/license.pug b/src/web/about/pages/license.pug
index 7adda0bff4..1c4f5e8bc6 100644
--- a/src/web/about/pages/license.pug
+++ b/src/web/about/pages/license.pug
@@ -5,5 +5,3 @@ block title
block content
h1 ライセンス
-
- include ../../../../LICENSE
diff --git a/src/web/server.ts b/src/web/server.ts
index 8e6f00cf3c..31c00bc4af 100644
--- a/src/web/server.ts
+++ b/src/web/server.ts
@@ -17,7 +17,6 @@ import serveApp from './serve-app';
*/
const app = express();
app.disable('x-powered-by');
-app.set('view engine', 'pug');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(compression());
@@ -64,17 +63,11 @@ app.use('/@/about/resources', express.static(`${__dirname}/about/resources`, {
}));
app.get('/@/about/', (req, res) => {
- res.render(`${__dirname}/about/pages/index`, {
- path: 'index',
- config: config
- });
+ res.sendFile(`${__dirname}/about/pages/index.html`);
});
app.get('/@/about/:page(*)', (req, res) => {
- res.render(`${__dirname}/about/pages/${req.params.page}`, {
- path: req.params.page,
- config: config
- });
+ res.sendFile(`${__dirname}/about/pages/${req.params.page}.html`);
});
app.get('/@/auth/*', serveApp('auth')); // authorize form