Skip to content
Another implementation of ReVIEW
JavaScript HTML TypeScript CSS Ruby TeX Shell
Failed to load latest commit information.
.idea WebStormでFile Watchersを利用するように変更
.vscode VSCode用の設定を追加
benchmark peg.js 0.8.0は2年くらい前のリリースなのでmaster/HEADを使うようにしたら9倍早かった
bin Travis CIが落ちてるの修正 じゃねーの
dist ラベル重複エラーについて、headlineとそれ以外でメッセージを変えるように修正
example example/online/index.htmlが現行の構造で動くように修正
lib ラベル重複エラーについて、headlineとそれ以外でメッセージを変えるように修正
resources pegjs-override-action を排除し、pegjsファイル中にactionを書く方針に変更
test ブロック記法(インライン記法を許すもの)の中でコメント行を無視するように修正 refs vvakame/language-review#39
.editorconfig 依存関係のアップデート tsd 0.3系を廃止したのでプロジェクトの安定性があがった!あとpegjsでマッチしなかったtokenが""では…
.gitignore tsconfig.json中心の開発体制に移行
.npmignore tsconfig.json中心の開発体制に移行
.travis.yml Travis CIが古いstructureを使ってるといって怒るので修正
Gemfile epubを作成できるようmaster/HEADを使いやすくするためbundlerを使う準備をした
Gemfile.lock epubを作成できるようmaster/HEADを使いやすくするためbundlerを使う準備をした
Gruntfile.js pegjs-override-action を排除し、pegjsファイル中にactionを書く方針に変更
README.md README.mdから余計な記述を削除
ReVIEWSyntax.xhtml ReVIEWSyntax.xhtmlを更新
bower.json 依存関係の更新
bundle.d.ts export external moduleはリファレンスコメント持てないらしい…
dtsm.json 依存関係の更新
index.d.ts export external moduleはリファレンスコメント持てないらしい…
index.js 依存関係の更新と不要な設定の削除
package.json 0.10.4
setup.sh update dependencies
tsconfig.json node.js v0.10 に対応 Atomのapmが未だにv0.10系を使っているため fixes #23
tslint.json varを全てletに置き換えた

README.md

ReVIEW.js Build Status Dependency Status devDependency Status

What is ReVIEW?

Composition system for Japanese environment. ReVIEW is flexible and powerful more than Markdown and textile.

ReVIEW.js is implemented by TypeScript :)

ReVIEWとは?

ReVIEW のJavaScript実装です。 Node.js上とモダンなWebブラウザ上で動作することを目指します。

ドキュメント

現状

それなりに多くの構文をサポートしています。 現状Ruby版で使えて、ReVIEW.jsで使えない記法は以下の通りです。

  • texequation ブロック記法
  • m インライン記法
  • bibpaper ブロック記法
  • bib インライン記法
  • graph ブロック記法
  • tsize ブロック記法
  • table ブロック記法
  • table インライン記法

サポートしている変換先はTextとHTMLのみです。 LaTeXやPDF, EPUBなどはサポートしていません。

また、部(Part)のサポートは部分的です。 部があっても処理できますが、単に章として扱われます。

インストール

npm または bower が利用できます。用途にあったものを利用してください。 こちらにサンプルを用意してあります。

開発方法

./setup.sh を叩きます。 その後、grunt で /bin に実行可能なJSが出力されます。 grunt test, grunt test-browser, grunt-karma でテストを実行することができます。

協力

今貰えると嬉しい手助けはいくつかあります。

  • test/fixture/valid へのファイルの追加
  • DefaultAnalyzerが対応する構文の追加
  • 各種Builderの実装 (LaTeXとか)
  • 説明文の改善
    • ja.ts を書き換えればできます。
  • バグを見つけたら報告してください
    • 報告は日本語で良いです。日本語向けの組版システムだし。

構文追加のための最初の一歩

  1. 構文のノード構築部分を追加する lib/parser/analyzer.ts の DefaultAnalyzer に構文用のメソッドを追加します。 analyzer.tsの末尾にある TODO 以下のものの実装をすすめます。 analyzer.tsの中でinlineが先頭になっているものが簡単に実装できる。実装はまわりのメソッドを参考に。
  2. 出力部分を追加する lib/builder/ のなかに出力用ファイルがあります。 htmlBuilder.ts,textBuilder.ts のファイルにも1と同様に同名のメソッドを追加します。 メソッド名_pre,メソッド名_postの関数を用意した場合にはメソッドの実行前、実行後にそれぞれ処理が実行されます。 まずはテキストのデータを表示してみましょう。 テキストのデータを取り出したい場合は以下の様に記述すると文字の部分が取得できます。

process.out(nodeToString(process,node));

nodeの中に文字列があるので構築されたnodeを利用して出力を作りましょう。

nodeの処理を大きく変更したい場合はpre(もしくはサフィックスなし)でリターンすると trueを返すと処理を続行する false を返すと処理打ちきって次のノードを処理を行う 関数を返すとその関数でノードの評価を行うことができる。 TODO:図を入れる

  1. 構文の説明を入れる。 最後に構文の説明を追加します。 lib/i18n/ja.ts の中に説明の文章を追加します。 オブジェクト記法の中の"description"の中に追加したメソッド名と同じものを追加します。 そうすることで構文の説明が追加されます。

シンタックスダイアグラムを作るには?

http://bottlecaps.de/convert/ を使うとよい。

Something went wrong with that request. Please try again.