aboutのドキュメント(pug)を予めコンパイルしておくように

This commit is contained in:
syuilo 2016-12-29 15:04:22 +09:00
parent f932c7ce38
commit 0e98ffc68e
5 changed files with 35 additions and 23 deletions

View File

@ -2,6 +2,7 @@
* Gulp tasks * Gulp tasks
*/ */
import * as path from 'path';
import * as gulp from 'gulp'; import * as gulp from 'gulp';
import * as gutil from 'gulp-util'; import * as gutil from 'gulp-util';
import * as babel from 'gulp-babel'; import * as babel from 'gulp-babel';
@ -36,6 +37,7 @@ const tsProject = ts.createProject('tsconfig.json');
gulp.task('build', [ gulp.task('build', [
'build:js', 'build:js',
'build:ts', 'build:ts',
'build:pug',
'build:copy', 'build:copy',
'build:client' 'build:client'
]); ]);
@ -60,15 +62,34 @@ gulp.task('build:ts', () =>
.pipe(gulp.dest('./built/')) .pipe(gulp.dest('./built/'))
); );
gulp.task('build:copy', () => { 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([ gulp.src([
'./src/**/resources/**/*', './src/**/resources/**/*',
'!./src/web/app/**/resources/**/*' '!./src/web/app/**/resources/**/*'
]).pipe(gulp.dest('./built/')); ]).pipe(gulp.dest('./built/')),
gulp.src([ gulp.src([
'./src/web/about/**/*' './src/web/about/**/*',
]).pipe(gulp.dest('./built/web/about/')); '!./src/web/about/**/*.pug'
}); ]).pipe(gulp.dest('./built/web/about/'))
)
);
gulp.task('test', ['lint', 'build']); gulp.task('test', ['lint', 'build']);

View File

@ -5,7 +5,7 @@ html(lang='ja', dir='ltr')
head head
meta(charset='utf-8') meta(charset='utf-8')
meta(name='application-name', content='Misskey') 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='referrer', content='origin')
meta(name='viewport', content='width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no') 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') link(rel='stylesheet', href='/resources/style.css')

View File

@ -29,7 +29,7 @@ block content
h3 アプリケーションを作成する h3 アプリケーションを作成する
p まずはあなたのアプリケーションを作成しましょう。 p まずはあなたのアプリケーションを作成しましょう。
p p
| <a href=#{config.dev_url} target="_blank">デベロッパーセンター</a>にアクセスし、アプリ > アプリ作成 に進みます。 | <a href=#{dev_url} target="_blank">デベロッパーセンター</a>にアクセスし、アプリ > アプリ作成 に進みます。
br br
| 次に、フォームに必要事項を記入します: | 次に、フォームに必要事項を記入します:
dl dl
@ -55,7 +55,7 @@ block content
section section
h3 ユーザーに認証させる h3 ユーザーに認証させる
p あなたのアプリを使ってもらうには、ユーザーにアカウントへアクセスすることを許可してもらい、Misskeyにそのユーザーのアクセストークンを発行してもらう必要があります。 p あなたのアプリを使ってもらうには、ユーザーにアカウントへアクセスすることを許可してもらい、Misskeyにそのユーザーのアクセストークンを発行してもらう必要があります。
p 認証セッションを開始するには、<code>#{config.api_url}/auth/session/generate</code>へパラメータに<code>app_secret</code>としてApp Secretを含めたリクエストを送信します。 p 認証セッションを開始するには、<code>#{api_url}/auth/session/generate</code>へパラメータに<code>app_secret</code>としてApp Secretを含めたリクエストを送信します。
p p
| そうすると、レスポンスとして認証セッションのトークンや認証フォームのURLが取得できます。 | そうすると、レスポンスとして認証セッションのトークンや認証フォームのURLが取得できます。
br br
@ -67,7 +67,7 @@ block content
h4 あなたのアプリがコールバックURLを設定していない場合 h4 あなたのアプリがコールバックURLを設定していない場合
p ユーザーがアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。 p ユーザーがアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
p p
| 次に、<code>#{config.api_url}/auth/session/userkey</code>へ<code>app_secret</code>としてApp Secretを、<code>token</code>としてセッションのトークンをパラメータとして付与したリクエストを送信してください。 | 次に、<code>#{api_url}/auth/session/userkey</code>へ<code>app_secret</code>としてApp Secretを、<code>token</code>としてセッションのトークンをパラメータとして付与したリクエストを送信してください。
br br
| 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます! | 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!

View File

@ -5,5 +5,3 @@ block title
block content block content
h1 ライセンス h1 ライセンス
include ../../../../LICENSE

View File

@ -17,7 +17,6 @@ import serveApp from './serve-app';
*/ */
const app = express(); const app = express();
app.disable('x-powered-by'); app.disable('x-powered-by');
app.set('view engine', 'pug');
app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.urlencoded({ extended: true }));
app.use(compression()); app.use(compression());
@ -64,17 +63,11 @@ app.use('/@/about/resources', express.static(`${__dirname}/about/resources`, {
})); }));
app.get('/@/about/', (req, res) => { app.get('/@/about/', (req, res) => {
res.render(`${__dirname}/about/pages/index`, { res.sendFile(`${__dirname}/about/pages/index.html`);
path: 'index',
config: config
});
}); });
app.get('/@/about/:page(*)', (req, res) => { app.get('/@/about/:page(*)', (req, res) => {
res.render(`${__dirname}/about/pages/${req.params.page}`, { res.sendFile(`${__dirname}/about/pages/${req.params.page}.html`);
path: req.params.page,
config: config
});
}); });
app.get('/@/auth/*', serveApp('auth')); // authorize form app.get('/@/auth/*', serveApp('auth')); // authorize form