Skip to content

Commit ece4d74

Browse files
committed
refactor(radme): remove introduction and update readme
1 parent 5603bdb commit ece4d74

File tree

6 files changed

+84
-84
lines changed

6 files changed

+84
-84
lines changed

CONTRIBUTING.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,52 @@
1-
# Contributeのやりかた
1+
# Contribute
2+
3+
## Installation
4+
5+
インストールにはNode.jsが必要です
6+
7+
git clone https://github.com/azu/JavaScript-Plugin-Architecture.git
8+
cd JavaScript-Plugin-Architecture
9+
npm install
10+
11+
## Usage
12+
13+
この書籍は[GitBook](https://github.com/GitbookIO/gitbook "GitBook")を使い書かれています。
14+
15+
### 表示の確認
16+
17+
`npm start`でGitBookのローカルサーバを立ち上げて表示を確認出来ます。
18+
19+
npm start
20+
21+
### テスト
22+
23+
`npm test`でコードや文章の単語チェックを行えます
24+
25+
npm test
26+
27+
### 文章カバレッジ
28+
29+
[textlint](https://github.com/textlint/textlint "textlint")[textlint-formatter-codecov](https://github.com/azu/textlint-formatter-codecov "textlint-formatter-codecov")を使って出してる文章に対するカバレッジ
30+
31+
100%を理想的目標として、それに対する現実的な値をカバレッジの%として表現しています。
32+
33+
[![codecov.io](https://codecov.io/github/azu/JavaScript-Plugin-Architecture/coverage.svg?branch=master)](https://codecov.io/github/azu/JavaScript-Plugin-Architecture?branch=master)
34+
35+
![coverage graph](https://codecov.io/github/azu/JavaScript-Plugin-Architecture/branch.svg?branch=master)
36+
37+
現在の文章カバレッジは以下のコマンドでも確認することができます。
38+
39+
```
40+
npm run textlint:coverage
41+
```
42+
43+
## Contributeのやりかた
244

345
この書籍ではJavaScriptにおけるプラグインアーキテクチャを色々なライブラリやツールを元に紹介する形をとっています。
446

547
Contributeは大きく分けて、既存の文章の修正や執筆とProposalの提案などがあります。
648

49+
750
## 文章の修正
851

952
typoなどを見つけた場合は、1文字の修正からでも問題無いので、Pull Requestを送っていただけると助かります。

ORGANIZATION.md

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +0,0 @@
1-
# この書籍の内容について
2-
3-
## [Introduction](ja/introduction/README.md)
4-
5-
この書籍の目的について書かれています。
6-
なぜプラグインアーキテクチャを学ぶ必要があるのか、どのようにして学ぶことができるのかについて書かれています。
7-
8-
## [jQuery](ja/jQuery/README.md)
9-
10-
jQueryのプラグインについて解説しています。
11-
`<script>`タグをベースとしたプラグインアーキテクチャについて解説しています。
12-
13-
## [ESLint](ja/ESLint/README.md)
14-
15-
ESLintのルールを拡張する仕組みについて解説しています。
16-
ESLintではJavaScriptのコードをパースして作成されたASTを元にコードのLintを行います。
17-
実際にESLintのルールを解釈できる小さな実装を作りながらプラグインの仕組みについて学びます。
18-
19-
## [Connect](ja/connect/README.md)
20-
21-
Connectの **middleware** と呼ばれるプラグインアーキテクチャについて解説しています。
22-
Node.js以外においても_Rack_などHTTPサーバーでよく見られるプラグインを使った階層構造について学びます。
23-
24-
## [gulp](ja/gulp/README.md)
25-
26-
**タスク自動化ツール** であるgulpのプラグインアーキテクチャについて解説しています。
27-
gulpではデータの流れとして既存のNode.js Streamを使い、そこで流すデータとしてvinylオブジェクトを利用します。
28-
実際にgulpプラグインを書きながら、gulpのプラグインの仕組みについて学びます。
29-
30-
## [Redux](ja/Redux/README.md)
31-
32-
アプリケーションのStateを管理するライブラリであるReduxのプラグインアーキテクチャについて解説しています。
33-
Reduxでは **Middleware** と呼ばれる拡張の仕組みを持っていますが、Connectとの類似点や相違点があります。
34-
小さなReduxの実装を作りながら **Middleware** の仕組みについて学びます。

README.md

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,58 +6,59 @@
66

77
JavaScriptの世界では1つの大きなライブラリよりも小さいなものを組み合わせていくようなスタイルが多く見られます。
88

9-
小さなものを組み合わせて使えるようなエコシステムの土台となるものを書く際には、プラグインアーキテクチャが重要になると言えます。
9+
小さなものを組み合わせて使えるようなエコシステムの土台を作るには、プラグインアーキテクチャが重要になると言えます。
1010

11-
> ソフトウェアの構造に「プラグイン機構」を設け、ユーザコミュニティから開発者コミュニティへの質的な転換を図るのは、ソフトウェア設計からエコシステム設計へとつながる
11+
> ソフトウェアの構造に「プラグイン機構」を設け、ユーザコミュニティから開発者コミュニティへの質的な転換を図るのは、ソフトウェア設計からエコシステム設計へとつながる
1212
> -- [OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ](http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity "OSS開発の活発さの維持と良いソフトウェア設計の間には緊張関係があるのだろうか? - t-wadaのブログ")
1313
14-
この書籍では、そのプラグインアーキテクチャ、そのエコシステムを形成してるライブラリやツールなどの実装を学ぶことが目的となっています。
14+
この書籍では、JavaScriptにおけるプラグインアーキテクチャ、そのエコシステムを形成してるライブラリやツールなどの実装を学ぶことが目的となっています。
1515

16-
## Installation
17-
18-
npm install
19-
20-
## Usage
21-
22-
この書籍は[GitBook](https://github.com/GitbookIO/gitbook "GitBook")を使い書かれています。
16+
## Contributing
2317

24-
### 表示の確認
18+
この書籍は無料で読みことができ、同時に修正や新しいページを書く権利があります。
2519

26-
`npm start`でGitBookのローカルサーバを立ち上げて表示を確認出来ます。
20+
[CONTRIBUTING.md](https://github.com/azu/JavaScript-Plugin-Architecture/blob/master/CONTRIBUTING.md)に、書籍で扱うべきプラグインアーキテクチャのProposalの書き方や
21+
Pull Request、コミットのやりかたなどが書かれています。
2722

28-
npm start
23+
間違いやライブラリのアップデートへの追従など何かあれば、IssueやPull Requestをよろしくお願いします。
2924

30-
### テスト
25+
ソースコードは全てGitHubに公開されています。
3126

32-
`npm test`でコードや文章の単語チェックを行えます
27+
- [azu/JavaScript-Plugin-Architecture](https://github.com/azu/JavaScript-Plugin-Architecture)
3328

34-
npm test
29+
## License
3530

36-
### 文章カバレッジ
31+
MIT/CC BY-NC © azu
3732

38-
[textlint](https://github.com/textlint/textlint "textlint")[textlint-formatter-codecov](https://github.com/azu/textlint-formatter-codecov "textlint-formatter-codecov")を使って出してる文章に対するカバレッジ
33+
- コードはMITライセンスで利用できます
34+
- 文章は[CC BY-NC 4.0](http://creativecommons.org/licenses/by-nc/4.0/ "CC BY-NC 4.0")で利用できます
3935

40-
100%を理想的目標として、それに対する現実的な値をカバレッジの%として表現しています。
36+
## この書籍の内容について
4137

42-
[![codecov.io](https://codecov.io/github/azu/JavaScript-Plugin-Architecture/coverage.svg?branch=master)](https://codecov.io/github/azu/JavaScript-Plugin-Architecture?branch=master)
38+
### [jQuery](ja/jQuery/README.md)
4339

44-
![coverage graph](https://codecov.io/github/azu/JavaScript-Plugin-Architecture/branch.svg?branch=master)
40+
jQueryのプラグインについて解説しています。
41+
`<script>`タグをベースとしたプラグインアーキテクチャについて解説しています。
4542

46-
現在の文章カバレッジは以下のコマンドでも確認することができます。
43+
### [ESLint](ja/ESLint/README.md)
4744

48-
```
49-
npm run textlint:coverage
50-
```
45+
ESLintのルールを拡張する仕組みについて解説しています。
46+
ESLintではJavaScriptのコードをパースして作成されたASTを元にコードのLintを行います。
47+
実際にESLintのルールを解釈できる小さな実装を作りながらプラグインの仕組みについて学びます。
5148

52-
## Contributing
49+
### [Connect](ja/connect/README.md)
5350

54-
[CONTRIBUTING.md](./CONTRIBUTING.md)に、書籍で扱うべきプラグインアーキテクチャのProposalの書き方や
55-
Pull Request、コミットのやりかたなどが書かれています
51+
Connectの **middleware** と呼ばれるプラグインアーキテクチャについて解説しています。
52+
Node.js以外においても_Rack_などHTTPサーバーでよく見られるプラグインを使った階層構造について学びます
5653

57-
## License
54+
### [gulp](ja/gulp/README.md)
5855

59-
© azu
56+
**タスク自動化ツール** であるgulpのプラグインアーキテクチャについて解説しています。
57+
gulpではデータの流れとして既存のNode.js Streamを使い、そこで流すデータとしてvinylオブジェクトを利用します。
58+
実際にgulpプラグインを書きながら、gulpのプラグインの仕組みについて学びます。
6059

61-
コードはMITライセンスで利用できます。
62-
文章は[CC BY-NC 4.0](http://creativecommons.org/licenses/by-nc/4.0/ "CC BY-NC 4.0")で利用できます。
60+
### [Redux](ja/Redux/README.md)
6361

62+
アプリケーションのStateを管理するライブラリであるReduxのプラグインアーキテクチャについて解説しています。
63+
Reduxでは **Middleware** と呼ばれる拡張の仕組みを持っていますが、Connectとの類似点や相違点があります。
64+
小さなReduxの実装を作りながら **Middleware** の仕組みについて学びます。

ja/introduction/README.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

ja/jQuery/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ calculator.fn = calculator.prototype;
110110

111111
## まとめ
112112

113-
ここではjQueryプラグインの仕組みや実装について学びました
113+
ここではjQueryのプラグインアーキテクチャについて学びました
114114

115115
- jQueryプラグインは `jQuery.fn` を拡張する
116116
- `jQuery.fn``jQuery.prototype` と同じである

test/keywords-test.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import isUnist from "unist-util-is";
1010
import nlcstToString from "nlcst-to-string";
1111

1212
const rootDir = path.join(__dirname, "..");
13-
const OrganizationText = fs.readFileSync(path.join(rootDir, "ORGANIZATION.md"), "utf-8");
13+
const OrganizationText = fs.readFileSync(path.join(rootDir, "README.md"), "utf-8");
1414
function isNotContain(content, keywords) {
1515
// 含んでないものだけを返す
1616
return keywords.filter(keyword => {
@@ -57,9 +57,11 @@ function getKeywordsOfParagraphsAsync(paragraphs) {
5757
}
5858
function checkKeyword(text) {
5959
let ast = remark.parse(text);
60-
let headerLinks = select(parents(ast), "heading link[href]");
61-
let paragraphList = headerLinks.map(link => {
62-
let filePath = path.resolve(rootDir, link.href);
60+
let headerLinks = select(parents(ast), "heading link[url]");
61+
let paragraphList = headerLinks.filter(link => {
62+
return /ja/.test(link.url);
63+
}).map(link => {
64+
let filePath = path.resolve(rootDir, link.url);
6365
let paragraphs = findAllAfter(ast, link.parent.node, "paragraph");
6466
return getKeywordsOfParagraphsAsync(paragraphs).then(keywords => {
6567
return {

0 commit comments

Comments
 (0)