aboutのドキュメント(pug)を予めコンパイルしておくように
This commit is contained in:
parent
3043f81321
commit
7fcbbed901
5 changed files with 35 additions and 23 deletions
37
gulpfile.ts
37
gulpfile.ts
|
@ -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,16 +62,35 @@ gulp.task('build:ts', () =>
|
||||||
.pipe(gulp.dest('./built/'))
|
.pipe(gulp.dest('./built/'))
|
||||||
);
|
);
|
||||||
|
|
||||||
gulp.task('build:copy', () => {
|
gulp.task('build:pug', () => {
|
||||||
gulp.src([
|
const pugs = glob.sync('./src/web/about/pages/**/*.pug');
|
||||||
'./src/**/resources/**/*',
|
const streams = pugs.map(file => {
|
||||||
'!./src/web/app/**/resources/**/*'
|
const page = file.replace('./src/web/about/pages/', '').replace('.pug', '');
|
||||||
]).pipe(gulp.dest('./built/'));
|
return gulp.src(file)
|
||||||
gulp.src([
|
.pipe(pug({
|
||||||
'./src/web/about/**/*'
|
locals: Object.assign({
|
||||||
]).pipe(gulp.dest('./built/web/about/'));
|
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('test', ['lint', 'build']);
|
||||||
|
|
||||||
gulp.task('lint', () =>
|
gulp.task('lint', () =>
|
||||||
|
|
|
@ -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')
|
||||||
|
|
|
@ -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
|
||||||
| 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!
|
| 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,3 @@ block title
|
||||||
|
|
||||||
block content
|
block content
|
||||||
h1 ライセンス
|
h1 ライセンス
|
||||||
|
|
||||||
include ../../../../LICENSE
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue