時間が経ちましたが、タイポグラファーを作成するというアイデアは消えませんでした。私はそれをすでにJavaScriptで書くことにしました。

基本的な要件から開始:
- UTF-8のみ。
- 柔軟性と拡張性。
- JavaScriptがあるクライアントとサーバーで動作します。
- サポート(X | HT)ML;
- デフォルトでは、HTMLエンティティは純粋なUTF-8文字に変換されます。
- 活版印刷のスタイルとスクリプトを使用しないでください。
- CLIユーティリティ。
私はすぐにタイポグラファーのルールのモジュール性に到達しました。1つのルール-1つの関数-1つのファイル、すべてのルールはグループに分散されています 。
ルールの追加は非常に簡単です。
Typograf.rule({ name: 'common/other/emoji', handler: function (text) { return text.replace(/:-\)/g, '\uD83D\uDE0A'); } });
プリンタのコアは、関数ルールを起動し 、処理されたテキストをルールからルールに渡します。
いくつかのルールはテキスト処理の最初から最後まで実行する必要があるため、キューがあります。
ルールには、ルールを実行するキュー内の順序のインデックスがあります。これにより、正規表現の複雑さが軽減されます。
ルールはオンとオフを切り替えることができます。 句読点のハングなど、一部のルールはデフォルトでオフになっています。
クイックスタート
ブラウザで
npm i typograf
<script src="./node_modules/dist/typograf.min.js"></script> <script> var tp = new Typograf({lang: 'ru'}); alert(tp.execute(' - !! ')); </script>
Node.jsで
npm i typograf
var Typograf = require('typograf'), tp = new Typograf({lang: 'ru'}); tp.enable('ru/optalign/*'); // console.log(tp.execute(' - !! '));
CLI
インストール:
npm i typograf -g
ロシアの規則に従ってテキストを入力します。
typograf -l ru my_file.txt > my_new_file.txt
プリンターを使用するためのオプション:
- タイポグラフ
- デスクトップまたはモバイル用のWebインターフェイス
- jQueryの有無にかかわらず、オンザフライでタイポグラフィ 、 例
- NPMのタイポグラフ
- gulp-typografおよびgrunt-typograf
- 「絶望的な」ためのブックマークレット
- TODO:ブラウザプラグイン
各タイポグラファーは、タイポグラフィーの後にエラーがあります。 テストテキストとユーザーが多ければ多いほど、タイポグラファーは優れています。つまり、 Githubでのコメントとプルリクエストは歓迎されます。