Yuki Takei пре 8 година
родитељ
комит
6a65d2413e
5 измењених фајлова са 1374 додато и 2 уклоњено
  1. 655 0
      lib/locales/en-US/sandbox.md
  2. 29 0
      lib/locales/en-US/welcome.md
  3. 655 0
      lib/locales/ja/sandbox.md
  4. 29 0
      lib/locales/ja/welcome.md
  5. 6 2
      lib/routes/installer.js

+ 655 - 0
lib/locales/en-US/sandbox.md

@@ -0,0 +1,655 @@
+<div class="panel panel-default">
+  <div class="panel-body">
+
+# 目次
+
+```
+@[toc]
+```
+
+@[toc]
+
+  </div>
+</div>
+
+# :pencil: Block Elements
+
+## Headers 見出し
+
+先頭に`#`をレベルの数だけ記述します。
+
+```
+# 見出し1
+## 見出し2
+### 見出し3
+#### 見出し4
+##### 見出し5
+###### 見出し6
+```
+
+### 見出し3
+#### 見出し4
+##### 見出し5
+###### 見出し6
+
+## Block 段落
+
+空白行を挟むことで段落となります。aaaa
+
+```
+段落1
+(空行)
+段落2
+```
+
+段落1
+
+段落2
+
+## Br 改行
+
+改行の前に半角スペース`  `を2つ記述します。  
+***この挙動は、オプションで変更可能です***
+
+```
+hoge
+fuga(スペース2つ)
+piyo
+```
+
+hoge
+fuga  
+piyo
+
+## Blockquotes 引用
+
+先頭に`>`を記述します。ネストは`>`を多重に記述します。
+
+```
+> 引用  
+> 引用
+>> 多重引用
+```
+
+> 引用  
+> 引用
+>> 多重引用
+
+## Code コード
+
+`` `バッククオート` `` 3つ、あるいはダッシュ`~`3つで囲みます。
+
+```
+print 'hoge'
+```
+
+### シンタックスハイライトとファイル名
+
+- [highlight.js Demo](https://highlightjs.org/static/demo/) の common カテゴリ内の言語に対応しています
+
+
+~~~
+```javascript:mersenne-twister.js
+function MersenneTwister(seed) {
+  if (arguments.length == 0) {
+    seed = new Date().getTime();
+  }
+
+  this._mt = new Array(624);
+  this.setSeed(seed);
+}
+```
+~~~
+
+```javascript:mersenne-twister.js
+function MersenneTwister(seed) {
+  if (arguments.length == 0) {
+    seed = new Date().getTime();
+  }
+
+  this._mt = new Array(624);
+  this.setSeed(seed);
+}
+```
+
+### インラインコード
+
+`` `バッククオート` `` で単語を囲むとインラインコードになります。
+
+```
+これは `インラインコード`です。
+```
+
+これは `インラインコード`です。
+
+## pre 整形済みテキスト
+
+半角スペース4個もしくはタブで、コードブロックをpre表示できます
+
+```
+    class Hoge
+        def hoge
+            print 'hoge'
+        end
+    end
+```
+
+    class Hoge
+        def hoge
+            print 'hoge'
+        end
+    end
+
+## Hr 水平線
+
+アンダースコア`_` 、アスタリスク`*`を3つ以上連続して記述します。
+
+```
+***
+___
+---
+```
+
+***
+___
+---
+
+
+
+# :pencil: Typography
+
+## 強調
+### em
+
+アスタリスク`*`もしくはアンダースコア`_`1個で文字列を囲みます。
+
+```
+これは *イタリック* です
+これは _イタリック_ です
+```
+
+これは *イタリック* です
+これは _イタリック_ です
+
+### strong
+
+アスタリスク`*`もしくはアンダースコア`_`2個で文字列を囲みます。
+
+```
+これは **ボールド** です
+これは __ボールド__ です
+```
+
+これは **ボールド** です
+これは __ボールド__ です
+
+### em + strong
+
+アスタリスク`*`もしくはアンダースコア`_`3個で文字列を囲みます。
+
+```
+これは ***イタリック&ボールド*** です
+これは ___イタリック&ボールド___ です
+```
+
+これは ***イタリック&ボールド*** です
+これは ___イタリック&ボールド___ です
+
+# :pencil: Images
+
+`![Alt文字列](URL)` で`<img>`タグを挿入できます。
+
+```markdown
+![Minion](https://octodex.github.com/images/minion.png)
+![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
+```
+
+![Minion](https://octodex.github.com/images/minion.png)
+![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
+
+画像の大きさなどの指定をする場合はimgタグを使用します。
+
+```html
+<img src="https://octodex.github.com/images/dojocat.jpg" width="200px">
+```
+
+<img src="https://octodex.github.com/images/dojocat.jpg" width="200px">
+
+
+# :pencil: Link
+
+## Markdown 標準
+
+`[表示テキスト](URL)`でリンクに変換されます。
+
+```
+[Google](https://www.google.co.jp/)
+```
+
+[Google](https://www.google.co.jp/)
+
+## Crowi 互換
+
+```
+[/Sandbox]
+</user/admin1>
+```
+
+[/Sandbox]  
+</user/admin1>
+
+## Pukiwiki like linker
+
+(available by [weseek/crowi-plugin-pukiwiki-like-linker
+](https://github.com/weseek/crowi-plugin-pukiwiki-like-linker) )
+
+最も柔軟な Linker です。  
+記述中のページを基点とした相対リンクと、表示テキストに対するリンクを同時に実現できます。
+
+```
+[[./Bootstrap3]]
+Bootstrap3のExampleは[[こちら>./Bootstrap3]]
+```
+
+[[../user]]  
+Bootstrap3のExampleは[[こちら>./Bootstrap3]]
+
+# :pencil: Lists
+
+## Ul 箇条書きリスト
+
+ハイフン`-`、プラス`+`、アスタリスク`*`のいずれかを先頭に記述します。  
+ネストはタブで表現します。
+
+```
+- リスト1
+    - リスト1_1
+        - リスト1_1_1
+        - リスト1_1_2
+    - リスト1_2
+- リスト2
+- リスト3
+```
+
+- リスト1
+    - リスト1_1
+        - リスト1_1_1
+        - リスト1_1_2
+    - リスト1_2
+- リスト2
+- リスト3
+
+## Ol 番号付きリスト
+
+`番号.`を先頭に記述します。ネストはタブで表現します。  
+番号は自動的に採番されるため、すべての行を1.と記述するのがお勧めです。
+
+```
+1. 番号付きリスト1
+    1. 番号付きリスト1-1
+    1. 番号付きリスト1-2
+1. 番号付きリスト2
+1. 番号付きリスト3
+```
+
+1. 番号付きリスト1
+    1. 番号付きリスト1-1
+    1. 番号付きリスト1-2
+1. 番号付きリスト2
+1. 番号付きリスト3
+
+
+## タスクリスト
+
+```
+- [ ] タスク 1
+    - [x] タスク 1.1
+    - [ ] タスク 1.2
+- [x] タスク2
+```
+
+- [ ] タスク 1
+    - [x] タスク 1.1
+    - [ ] タスク 1.2
+- [x] タスク2
+
+
+# :pencil: Table
+
+## Markdown 標準
+
+```markdown
+| Left align | Right align | Center align |
+|:-----------|------------:|:------------:|
+| This       | This        | This         |
+| column     | column      | column       |
+| will       | will        | will         |
+| be         | be          | be           |
+| left       | right       | center       |
+| aligned    | aligned     | aligned      |
+
+OR
+
+Left align | Right align | Center align
+:--|--:|:-:
+This       | This        | This
+column     | column      | column
+will       | will        | will
+be         | be          | be
+left       | right       | center
+aligned    | aligned     | aligned
+```
+
+| Left align | Right align | Center align |
+|:-----------|------------:|:------------:|
+| This       | This        | This         |
+| column     | column      | column       |
+| will       | will        | will         |
+| be         | be          | be           |
+| left       | right       | center       |
+| aligned    | aligned     | aligned      |
+
+## TSV (crowi-plus 独自記法)
+
+```
+::: tsv
+Content Cell 	Content Cell
+Content Cell 	Content Cell
+:::
+```
+
+::: tsv
+Content Cell	Content Cell
+Content Cell	Content Cell
+:::
+
+## TSV ヘッダ付き (crowi-plus 独自記法)
+
+```
+::: tsv-h
+First Header	Second Header
+Content Cell	Content Cell
+Content Cell	Content Cell
+:::
+```
+
+::: tsv-h
+First Header	Second Header
+Content Cell	Content Cell
+Content Cell	Content Cell
+:::
+
+## CSV (crowi-plus 独自記法)
+
+```
+::: csv
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+```
+
+::: csv
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+
+## CSV ヘッダ付き (crowi-plus 独自記法)
+
+```
+::: csv-h
+First Header,Second Header
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+```
+
+::: csv-h
+First Header,Second Header
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+
+
+# :pencil: Footnote
+
+脚注への参照[^1]を書くことができます。また、インラインの脚注^[インラインで記述できる脚注です]を入れる事も出来ます。
+
+長い脚注は[^longnote]のように書くことができます。
+
+[^1]: 1つめの脚注への参照です。
+
+[^longnote]: 脚注を複数ブロックで書く例です。
+
+    後続の段落はインデントされて、前の脚注に属します。
+
+
+# :pencil: Emoji
+
+See [emojione](https://www.emojione.com/)
+
+:smiley: :smile: :laughing: :innocent: :drooling_face:
+
+:family: :family_man_boy: :family_man_girl: :family_man_girl_girl: :family_woman_girl_girl:
+
+:thumbsup: :thumbsdown: :open_hands: :raised_hands: :point_right:
+
+:apple: :green_apple: :strawberry: :cake: :hamburger:
+
+:basketball: :football: :baseball: :volleyball: :8ball:
+
+:hearts: :broken_heart: :heartbeat: :heartpulse: :heart_decoration:
+
+:watch: :gear: :gem: :wrench: :envelope:
+
+
+# :pencil: Math
+
+See [MathJax](https://www.mathjax.org/).
+
+## Inline Formula
+
+When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
+  $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
+
+## The Lorenz Equations
+
+$$
+\begin{align}
+\dot{x} & = \sigma(y-x) \\
+\dot{y} & = \rho x - y - xz \\
+\dot{z} & = -\beta z + xy
+\end{align}
+$$
+
+
+## The Cauchy-Schwarz Inequality
+
+$$
+\left( \sum_{k=1}^n a_k b_k \right)^{\!\!2} \leq
+ \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
+$$
+
+## A Cross Product Formula
+
+$$
+\mathbf{V}_1 \times \mathbf{V}_2 =
+ \begin{vmatrix}
+  \mathbf{i} & \mathbf{j} & \mathbf{k} \\
+  \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
+  \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\
+ \end{vmatrix}
+$$
+
+
+## The probability of getting $\left(k\right)$ heads when flipping $\left(n\right)$ coins is:
+
+$$
+P(E) = {n \choose k} p^k (1-p)^{ n-k}
+$$
+
+## An Identity of Ramanujan
+
+$$
+\frac{1}{(\sqrt{\phi \sqrt{5}}-\phi) e^{\frac25 \pi}} =
+     1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
+      {1+\frac{e^{-8\pi}} {1+\ldots} } } }
+$$
+
+## A Rogers-Ramanujan Identity
+
+$$
+1 +  \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
+    \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},
+     \quad\quad \text{for $|q|<1$}.
+$$
+
+## Maxwell's Equations
+
+$$
+\begin{align}
+  \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
+  \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
+  \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
+  \nabla \cdot \vec{\mathbf{B}} & = 0
+\end{align}
+$$
+
+<!-- Reset MathJax -->
+<div class="clearfix"></div>
+
+
+# :pencil: UML Diagrams
+
+See [PlantUML](http://plantuml.com/).
+
+## シーケンス図
+
+@startuml
+skinparam sequenceArrowThickness 2
+skinparam roundcorner 20
+skinparam maxmessagesize 60
+skinparam sequenceParticipant underline
+
+actor User
+participant "First Class" as A
+participant "Second Class" as B
+participant "Last Class" as C
+
+User -> A: DoWork
+activate A
+
+A -> B: Create Request
+activate B
+
+B -> C: DoWork
+activate C
+C --> B: WorkDone
+destroy C
+
+B --> A: Request Created
+deactivate B
+
+A --> User: Done
+deactivate A
+
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+
+## クラス図
+
+@startuml
+
+class BaseClass
+
+namespace net.dummy #DDDDDD {
+    .BaseClass <|-- Person
+    Meeting o-- Person
+    
+    .BaseClass <|- Meeting
+}
+
+namespace net.foo {
+  net.dummy.Person  <|- Person
+  .BaseClass <|-- Person
+
+  net.dummy.Meeting o-- Person
+}
+
+BaseClass <|-- net.unused.Person
+
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+
+## コンポーネント図
+
+@startuml
+
+package "Some Group" {
+  HTTP - [First Component]
+  [Another Component]
+}
+ 
+node "Other Groups" {
+  FTP - [Second Component]
+  [First Component] --> FTP
+} 
+
+cloud {
+  [Example 1]
+}
+
+
+database "MySql" {
+  folder "This is my folder" {
+    [Folder 3]
+  }
+  frame "Foo" {
+    [Frame 4]
+  }
+}
+
+
+[Another Component] --> [Example 1]
+[Example 1] --> [Folder 3]
+[Folder 3] --> [Frame 4]
+
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+
+## ステート図
+
+
+@startuml
+scale 600 width
+
+[*] -> State1
+State1 --> State2 : Succeeded
+State1 --> [*] : Aborted
+State2 --> State3 : Succeeded
+State2 --> [*] : Aborted
+state State3 {
+  state "Accumulate Enough Data\nLong State Name" as long1
+  long1 : Just a test
+  [*] --> long1
+  long1 --> long1 : New Data
+  long1 --> ProcessData : Enough Data
+}
+State3 --> State3 : Failed
+State3 --> [*] : Succeeded / Save Result
+State3 --> [*] : Aborted
+ 
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+

+ 29 - 0
lib/locales/en-US/welcome.md

@@ -0,0 +1,29 @@
+# Welcome to GROWI :anchor:
+
+[![Github Releases](https://img.shields.io/github/release/weseek/growi.svg)](https://github.com/weseek/growi/releases/latest)
+[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
+
+<div class="panel panel-default">
+  <div class="panel-heading">Tips</div>
+  <div class="panel-body"><ul>
+    <li>Ctrl(⌘)-/ でショートカットヘルプを表示します</li>
+      <li>HTML/CSS の記述時は、<a href="https://getbootstrap.com/docs/3.3/css/">Bootstrap 3</a> を利用できます</li>
+  </ul></div>
+</div>
+
+<div class="clearfix"></div>
+
+Contents
+=========
+
+|[/Features]|[/Sandbox]|
+| --- | --- |
+| <div class="alert alert-info"><span style="font-size: x-large;"><i class="icon-check"></i> [[全ての機能をチェック>/Features]]</span></div> | <div class="alert alert-success"><span style="font-size: x-large;"><i class="icon-check"></i> [[Sandboxをチェック>/Sandbox]]</span></div> $lsx(/Sandbox)|
+
+Slack
+=====
+
+<a href="https://growi-slackin.weseek.co.jp/"><img src="https://growi-slackin.weseek.co.jp/badge.svg"></a>
+
+GROWI をより良いものにするために、是非 Slack に参加してください。  
+開発に関する議論を行っている他、導入時の質問等も受け付けています。

+ 655 - 0
lib/locales/ja/sandbox.md

@@ -0,0 +1,655 @@
+<div class="panel panel-default">
+  <div class="panel-body">
+
+# 目次
+
+```
+@[toc]
+```
+
+@[toc]
+
+  </div>
+</div>
+
+# :pencil: Block Elements
+
+## Headers 見出し
+
+先頭に`#`をレベルの数だけ記述します。
+
+```
+# 見出し1
+## 見出し2
+### 見出し3
+#### 見出し4
+##### 見出し5
+###### 見出し6
+```
+
+### 見出し3
+#### 見出し4
+##### 見出し5
+###### 見出し6
+
+## Block 段落
+
+空白行を挟むことで段落となります。aaaa
+
+```
+段落1
+(空行)
+段落2
+```
+
+段落1
+
+段落2
+
+## Br 改行
+
+改行の前に半角スペース`  `を2つ記述します。  
+***この挙動は、オプションで変更可能です***
+
+```
+hoge
+fuga(スペース2つ)
+piyo
+```
+
+hoge
+fuga  
+piyo
+
+## Blockquotes 引用
+
+先頭に`>`を記述します。ネストは`>`を多重に記述します。
+
+```
+> 引用  
+> 引用
+>> 多重引用
+```
+
+> 引用  
+> 引用
+>> 多重引用
+
+## Code コード
+
+`` `バッククオート` `` 3つ、あるいはダッシュ`~`3つで囲みます。
+
+```
+print 'hoge'
+```
+
+### シンタックスハイライトとファイル名
+
+- [highlight.js Demo](https://highlightjs.org/static/demo/) の common カテゴリ内の言語に対応しています
+
+
+~~~
+```javascript:mersenne-twister.js
+function MersenneTwister(seed) {
+  if (arguments.length == 0) {
+    seed = new Date().getTime();
+  }
+
+  this._mt = new Array(624);
+  this.setSeed(seed);
+}
+```
+~~~
+
+```javascript:mersenne-twister.js
+function MersenneTwister(seed) {
+  if (arguments.length == 0) {
+    seed = new Date().getTime();
+  }
+
+  this._mt = new Array(624);
+  this.setSeed(seed);
+}
+```
+
+### インラインコード
+
+`` `バッククオート` `` で単語を囲むとインラインコードになります。
+
+```
+これは `インラインコード`です。
+```
+
+これは `インラインコード`です。
+
+## pre 整形済みテキスト
+
+半角スペース4個もしくはタブで、コードブロックをpre表示できます
+
+```
+    class Hoge
+        def hoge
+            print 'hoge'
+        end
+    end
+```
+
+    class Hoge
+        def hoge
+            print 'hoge'
+        end
+    end
+
+## Hr 水平線
+
+アンダースコア`_` 、アスタリスク`*`を3つ以上連続して記述します。
+
+```
+***
+___
+---
+```
+
+***
+___
+---
+
+
+
+# :pencil: Typography
+
+## 強調
+### em
+
+アスタリスク`*`もしくはアンダースコア`_`1個で文字列を囲みます。
+
+```
+これは *イタリック* です
+これは _イタリック_ です
+```
+
+これは *イタリック* です
+これは _イタリック_ です
+
+### strong
+
+アスタリスク`*`もしくはアンダースコア`_`2個で文字列を囲みます。
+
+```
+これは **ボールド** です
+これは __ボールド__ です
+```
+
+これは **ボールド** です
+これは __ボールド__ です
+
+### em + strong
+
+アスタリスク`*`もしくはアンダースコア`_`3個で文字列を囲みます。
+
+```
+これは ***イタリック&ボールド*** です
+これは ___イタリック&ボールド___ です
+```
+
+これは ***イタリック&ボールド*** です
+これは ___イタリック&ボールド___ です
+
+# :pencil: Images
+
+`![Alt文字列](URL)` で`<img>`タグを挿入できます。
+
+```markdown
+![Minion](https://octodex.github.com/images/minion.png)
+![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
+```
+
+![Minion](https://octodex.github.com/images/minion.png)
+![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
+
+画像の大きさなどの指定をする場合はimgタグを使用します。
+
+```html
+<img src="https://octodex.github.com/images/dojocat.jpg" width="200px">
+```
+
+<img src="https://octodex.github.com/images/dojocat.jpg" width="200px">
+
+
+# :pencil: Link
+
+## Markdown 標準
+
+`[表示テキスト](URL)`でリンクに変換されます。
+
+```
+[Google](https://www.google.co.jp/)
+```
+
+[Google](https://www.google.co.jp/)
+
+## Crowi 互換
+
+```
+[/Sandbox]
+</user/admin1>
+```
+
+[/Sandbox]  
+</user/admin1>
+
+## Pukiwiki like linker
+
+(available by [weseek/crowi-plugin-pukiwiki-like-linker
+](https://github.com/weseek/crowi-plugin-pukiwiki-like-linker) )
+
+最も柔軟な Linker です。  
+記述中のページを基点とした相対リンクと、表示テキストに対するリンクを同時に実現できます。
+
+```
+[[./Bootstrap3]]
+Bootstrap3のExampleは[[こちら>./Bootstrap3]]
+```
+
+[[../user]]  
+Bootstrap3のExampleは[[こちら>./Bootstrap3]]
+
+# :pencil: Lists
+
+## Ul 箇条書きリスト
+
+ハイフン`-`、プラス`+`、アスタリスク`*`のいずれかを先頭に記述します。  
+ネストはタブで表現します。
+
+```
+- リスト1
+    - リスト1_1
+        - リスト1_1_1
+        - リスト1_1_2
+    - リスト1_2
+- リスト2
+- リスト3
+```
+
+- リスト1
+    - リスト1_1
+        - リスト1_1_1
+        - リスト1_1_2
+    - リスト1_2
+- リスト2
+- リスト3
+
+## Ol 番号付きリスト
+
+`番号.`を先頭に記述します。ネストはタブで表現します。  
+番号は自動的に採番されるため、すべての行を1.と記述するのがお勧めです。
+
+```
+1. 番号付きリスト1
+    1. 番号付きリスト1-1
+    1. 番号付きリスト1-2
+1. 番号付きリスト2
+1. 番号付きリスト3
+```
+
+1. 番号付きリスト1
+    1. 番号付きリスト1-1
+    1. 番号付きリスト1-2
+1. 番号付きリスト2
+1. 番号付きリスト3
+
+
+## タスクリスト
+
+```
+- [ ] タスク 1
+    - [x] タスク 1.1
+    - [ ] タスク 1.2
+- [x] タスク2
+```
+
+- [ ] タスク 1
+    - [x] タスク 1.1
+    - [ ] タスク 1.2
+- [x] タスク2
+
+
+# :pencil: Table
+
+## Markdown 標準
+
+```markdown
+| Left align | Right align | Center align |
+|:-----------|------------:|:------------:|
+| This       | This        | This         |
+| column     | column      | column       |
+| will       | will        | will         |
+| be         | be          | be           |
+| left       | right       | center       |
+| aligned    | aligned     | aligned      |
+
+OR
+
+Left align | Right align | Center align
+:--|--:|:-:
+This       | This        | This
+column     | column      | column
+will       | will        | will
+be         | be          | be
+left       | right       | center
+aligned    | aligned     | aligned
+```
+
+| Left align | Right align | Center align |
+|:-----------|------------:|:------------:|
+| This       | This        | This         |
+| column     | column      | column       |
+| will       | will        | will         |
+| be         | be          | be           |
+| left       | right       | center       |
+| aligned    | aligned     | aligned      |
+
+## TSV (crowi-plus 独自記法)
+
+```
+::: tsv
+Content Cell 	Content Cell
+Content Cell 	Content Cell
+:::
+```
+
+::: tsv
+Content Cell	Content Cell
+Content Cell	Content Cell
+:::
+
+## TSV ヘッダ付き (crowi-plus 独自記法)
+
+```
+::: tsv-h
+First Header	Second Header
+Content Cell	Content Cell
+Content Cell	Content Cell
+:::
+```
+
+::: tsv-h
+First Header	Second Header
+Content Cell	Content Cell
+Content Cell	Content Cell
+:::
+
+## CSV (crowi-plus 独自記法)
+
+```
+::: csv
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+```
+
+::: csv
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+
+## CSV ヘッダ付き (crowi-plus 独自記法)
+
+```
+::: csv-h
+First Header,Second Header
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+```
+
+::: csv-h
+First Header,Second Header
+Content Cell,Content Cell
+Content Cell,Content Cell
+:::
+
+
+# :pencil: Footnote
+
+脚注への参照[^1]を書くことができます。また、インラインの脚注^[インラインで記述できる脚注です]を入れる事も出来ます。
+
+長い脚注は[^longnote]のように書くことができます。
+
+[^1]: 1つめの脚注への参照です。
+
+[^longnote]: 脚注を複数ブロックで書く例です。
+
+    後続の段落はインデントされて、前の脚注に属します。
+
+
+# :pencil: Emoji
+
+See [emojione](https://www.emojione.com/)
+
+:smiley: :smile: :laughing: :innocent: :drooling_face:
+
+:family: :family_man_boy: :family_man_girl: :family_man_girl_girl: :family_woman_girl_girl:
+
+:thumbsup: :thumbsdown: :open_hands: :raised_hands: :point_right:
+
+:apple: :green_apple: :strawberry: :cake: :hamburger:
+
+:basketball: :football: :baseball: :volleyball: :8ball:
+
+:hearts: :broken_heart: :heartbeat: :heartpulse: :heart_decoration:
+
+:watch: :gear: :gem: :wrench: :envelope:
+
+
+# :pencil: Math
+
+See [MathJax](https://www.mathjax.org/).
+
+## Inline Formula
+
+When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
+  $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
+
+## The Lorenz Equations
+
+$$
+\begin{align}
+\dot{x} & = \sigma(y-x) \\
+\dot{y} & = \rho x - y - xz \\
+\dot{z} & = -\beta z + xy
+\end{align}
+$$
+
+
+## The Cauchy-Schwarz Inequality
+
+$$
+\left( \sum_{k=1}^n a_k b_k \right)^{\!\!2} \leq
+ \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
+$$
+
+## A Cross Product Formula
+
+$$
+\mathbf{V}_1 \times \mathbf{V}_2 =
+ \begin{vmatrix}
+  \mathbf{i} & \mathbf{j} & \mathbf{k} \\
+  \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
+  \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\
+ \end{vmatrix}
+$$
+
+
+## The probability of getting $\left(k\right)$ heads when flipping $\left(n\right)$ coins is:
+
+$$
+P(E) = {n \choose k} p^k (1-p)^{ n-k}
+$$
+
+## An Identity of Ramanujan
+
+$$
+\frac{1}{(\sqrt{\phi \sqrt{5}}-\phi) e^{\frac25 \pi}} =
+     1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
+      {1+\frac{e^{-8\pi}} {1+\ldots} } } }
+$$
+
+## A Rogers-Ramanujan Identity
+
+$$
+1 +  \frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
+    \prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},
+     \quad\quad \text{for $|q|<1$}.
+$$
+
+## Maxwell's Equations
+
+$$
+\begin{align}
+  \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
+  \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\
+  \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\
+  \nabla \cdot \vec{\mathbf{B}} & = 0
+\end{align}
+$$
+
+<!-- Reset MathJax -->
+<div class="clearfix"></div>
+
+
+# :pencil: UML Diagrams
+
+See [PlantUML](http://plantuml.com/).
+
+## シーケンス図
+
+@startuml
+skinparam sequenceArrowThickness 2
+skinparam roundcorner 20
+skinparam maxmessagesize 60
+skinparam sequenceParticipant underline
+
+actor User
+participant "First Class" as A
+participant "Second Class" as B
+participant "Last Class" as C
+
+User -> A: DoWork
+activate A
+
+A -> B: Create Request
+activate B
+
+B -> C: DoWork
+activate C
+C --> B: WorkDone
+destroy C
+
+B --> A: Request Created
+deactivate B
+
+A --> User: Done
+deactivate A
+
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+
+## クラス図
+
+@startuml
+
+class BaseClass
+
+namespace net.dummy #DDDDDD {
+    .BaseClass <|-- Person
+    Meeting o-- Person
+    
+    .BaseClass <|- Meeting
+}
+
+namespace net.foo {
+  net.dummy.Person  <|- Person
+  .BaseClass <|-- Person
+
+  net.dummy.Meeting o-- Person
+}
+
+BaseClass <|-- net.unused.Person
+
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+
+## コンポーネント図
+
+@startuml
+
+package "Some Group" {
+  HTTP - [First Component]
+  [Another Component]
+}
+ 
+node "Other Groups" {
+  FTP - [Second Component]
+  [First Component] --> FTP
+} 
+
+cloud {
+  [Example 1]
+}
+
+
+database "MySql" {
+  folder "This is my folder" {
+    [Folder 3]
+  }
+  frame "Foo" {
+    [Frame 4]
+  }
+}
+
+
+[Another Component] --> [Example 1]
+[Example 1] --> [Folder 3]
+[Folder 3] --> [Frame 4]
+
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+
+## ステート図
+
+
+@startuml
+scale 600 width
+
+[*] -> State1
+State1 --> State2 : Succeeded
+State1 --> [*] : Aborted
+State2 --> State3 : Succeeded
+State2 --> [*] : Aborted
+state State3 {
+  state "Accumulate Enough Data\nLong State Name" as long1
+  long1 : Just a test
+  [*] --> long1
+  long1 --> long1 : New Data
+  long1 --> ProcessData : Enough Data
+}
+State3 --> State3 : Failed
+State3 --> [*] : Succeeded / Save Result
+State3 --> [*] : Aborted
+ 
+@enduml
+
+<!-- Reset PlantUML -->
+<div class="clearfix"></div>
+
+

+ 29 - 0
lib/locales/ja/welcome.md

@@ -0,0 +1,29 @@
+# Welcome to GROWI :anchor:
+
+[![Github Releases](https://img.shields.io/github/release/weseek/growi.svg)](https://github.com/weseek/growi/releases/latest)
+[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
+
+<div class="panel panel-default">
+  <div class="panel-heading">Tips</div>
+  <div class="panel-body"><ul>
+    <li>Ctrl(⌘)-/ でショートカットヘルプを表示します</li>
+      <li>HTML/CSS の記述時は、<a href="https://getbootstrap.com/docs/3.3/css/">Bootstrap 3</a> を利用できます</li>
+  </ul></div>
+</div>
+
+<div class="clearfix"></div>
+
+Contents
+=========
+
+|[/Features]|[/Sandbox]|
+| --- | --- |
+| <div class="alert alert-info"><span style="font-size: x-large;"><i class="icon-check"></i> [[全ての機能をチェック>/Features]]</span></div> | <div class="alert alert-success"><span style="font-size: x-large;"><i class="icon-check"></i> [[Sandboxをチェック>/Sandbox]]</span></div> $lsx(/Sandbox)|
+
+Slack
+=====
+
+<a href="https://growi-slackin.weseek.co.jp/"><img src="https://growi-slackin.weseek.co.jp/badge.svg"></a>
+
+GROWI をより良いものにするために、是非 Slack に参加してください。  
+開発に関する議論を行っている他、導入時の質問等も受け付けています。

+ 6 - 2
lib/routes/installer.js

@@ -2,6 +2,8 @@ module.exports = function(crowi, app) {
   'use strict';
 
   var debug = require('debug')('crowi:routes:installer')
+    , path = require('path')
+    , fs = require('graceful-fs')
     , models = crowi.models
     , Config = models.Config
     , User = models.User
@@ -15,7 +17,7 @@ module.exports = function(crowi, app) {
 
   actions.createAdmin = function(req, res) {
     var registerForm = req.body.registerForm || {};
-    var language = req.language || 'en';
+    var language = req.language || 'en-US';
 
     if (req.form.isValid) {
       var name = registerForm.name;
@@ -48,7 +50,9 @@ module.exports = function(crowi, app) {
           });
 
           // create portal page for '/'
-          Page.create('/', '# Welcome to GROWI', userData, {});
+          const welcomeMarkdownPath = path.join(crowi.localeDir, language, 'welcome.md');
+          const welcomeMarkdown = fs.readFileSync(welcomeMarkdownPath);
+          Page.create('/', welcomeMarkdown, userData, {});
         });
       });
     } else {