-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: textlintを導入 #83
Conversation
c5e64cd
to
ec4e4e7
Compare
1f05a1f
to
2067c17
Compare
CIが失敗しているのはこちらの影響でしょうか?ルールを設定ファイルなどで書く方法は無いんですかね? |
不要なルールは |
cd32d52
to
fd550a9
Compare
ルールの選定や自動修正できない表現の修正は多くの議論が必要になると思われるので、CIは |
ひとまずこちらの対応で問題無いと思います。 Node.jsに不慣れなためお伺いしたいのですが、
基本的な内容かもしれませんが、教えていただけますと幸いです。 |
説明が不十分で失礼しました。Node.jsの依存関係が更新される度に以下のコマンドを実行が必要です。 bun install --frozen-lockfile Node.jsのプロジェクトでは、プロジェクトの依存関係は また、Node.jsには標準のパッケージマネージャーであるnpmが同梱されていますが、パフォーマンスの観点などを理由にBunというサードパーティのパッケージマネージャーを選定しています。 |
|
既存のMarkdownファイルのtextlintで誤検出が起こるハイパーリンクを修正し、textlintの自動修正を適用しました。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
当分はtextlintの解析結果は参考程度とする運用が良いかと思いましたが、いかがでしょうか?
参考程度ということですので厳密に行う必要はないとは思いますが、bun run textlint-md
であと3つエラーが残っています。bun run textlint-md:fix
では自動で修正されないため手作業で修正する必要がありそうです。
$ textlint ./docs/
/home/kimura/typst_ws/typst-jp.github.io/docs/reference/scripting.md
214:1 error 箇条書きの文末から句点(。)を外して下さい。
箇条書きの文末に句点(。)を付けるかを統一します。 jtf-style/1.1.3.箇条書き
263:1 error 箇条書きの文末から句点(。)を外して下さい。
箇条書きの文末に句点(。)を付けるかを統一します。 jtf-style/1.1.3.箇条書き
/home/kimura/typst_ws/typst-jp.github.io/docs/reference/context.md
18:25 error 本文を敬体(ですます調)に統一して下さい。
本文の文体は、敬体(ですます調)あるいは常体(である調)のどちらかで統一します。
"であるから"が常体(である調)です。 jtf-style/1.1.1.本文
✖ 3 problems (3 errors, 0 warnings)
error: script "textlint-md" exited with code 1
1つ目は箇条書きであるため句点を外せとのことです。ただし文章として成立しているので、どう外したらよいか悩みどころです。
typst-jp.github.io/docs/reference/scripting.md
Lines 210 to 214 in bf72c17
対象の値は以下のいずれかです。 | |
- 指定されたキーを持つ[辞書]($dictionary)、 | |
- 指定された修飾子を持つ[記号]($symbol)、 | |
- 指定された定義を含む[モジュール]($module)、 | |
- 指定されたフィールドを持つ要素で構成された[コンテンツ]($content)。利用可能なフィールドは、その要素が構築された際に与えられた[要素関数]($function/#element-functions)の引数と一致します。 |
2つ目は上記と同様にインクルードの説明のところの句点を外せとのことです。言われた通りに外せばエラーは消えますが、文章となっているため句点を外すかは悩みどころです。また直後のインポートの説明は2文になっているため免れている感じですかね?あまり判断基準がわかっていないため、もしパッとわかるようであれば教えてください。
typst-jp.github.io/docs/reference/scripting.md
Lines 263 to 268 in bf72c17
- **インクルード:** `{include "bar.typ"}` \ | |
パス`bar.typ`にあるファイルを評価し、その結果として得られる[コンテンツ]($content)を返します。 | |
- **インポート:** `{import "bar.typ"}` \ | |
パス`bar.typ`にあるファイルを評価し、その結果として得られる | |
[モジュール]($module)を現在のスコープに`bar`(拡張子なしのファイル名)として挿入します。次のように、`as`キーワードを使用してモジュール名を変更できます。 |
3つ目は簡単に対応できそうであったため、修正提案を行いました。
もしご存知でしたら教えていただきたいのですが、bun run textlint-md:fix
の処理時間が若干長く感じます。おそらく上記のような、自動修正できないようなものを一生懸命考えているのでしょうか?それともすべてのファイルを見ているから遅いのであり、例えば、対象ファイルを指定して実行するなどは可能でしょうか?
レビューをCommentで提出いたしましたが、
これに同意しているため、ひとまず本PRの目的は達成したとして、いまいま判断が難しいところは別PRに回して頂いてもよいかとも感じました。ご感想を伺えますと幸いです。 |
Co-authored-by: Shunsuke KIMURA <kimushun1101@gmail.com>
原文を忠実に訳した結果、ルールを破る必要が生じる部分にtextlint-disableのコメントを追加しました。 |
Node.jsのプロジェクトに関するタスクの定義は {
"scripts": {
"textlint-md": "textlint ./docs/",
"textlint-md:fix": "textlint --fix ./docs/",
"textlint-html": "textlint ./dist/docs/"
}
} textlintの解析の遅さが煩わしい場合は、変更を加えたファイルまたはフォルダのみを解析の対象にすると良いと思います。ここで、 Husky+lint-stagedやLefthookのような、コミット前に変更を加えたファイルのみにフォーマットやリントを自動で適用するツールもあるので、需要があれば整備しても良いかもしれません。 |
Signed-off-by: Shunsuke Kimura <kimushun1101@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ありがとうございました。よく理解できました。
Husky+lint-stagedやLefthookのような、コミット前に変更を加えたファイルのみにフォーマットやリントを自動で適用するツールもあるので、需要があれば整備しても良いかもしれません。
そうですね。翻訳の性質上、1度のプルリクエストであまり多くのファイルを変更されないと思いますので、ひとまずは様子見でよいと思います。
bun run textlint-html
も試してみました。
対応として 440408e で修正を加えました。
$ textlint ./dist/docs/
/home/kimura/work/typst-jp.github.io/dist/docs/reference/model/cite/index.html
1472:50 ✓ error かっこの外側、内側ともにスペースを入れません。 jtf-style/3.3.かっこ類と隣接する文字の間のスペースの有無
1481:50 ✓ error かっこの外側、内側ともにスペースを入れません。 jtf-style/3.3.かっこ類と隣接する文字の間のスペースの有無
1490:50 ✓ error かっこの外側、内側ともにスペースを入れません。 jtf-style/3.3.かっこ類と隣接する文字の間のスペースの有無
1499:50 ✓ error かっこの外側、内側ともにスペースを入れません。 jtf-style/3.3.かっこ類と隣接する文字の間のスペースの有無
1661:23 ✓ error 半角のかっこ()が使用されています。全角のかっこ()を使用してください。 jtf-style/4.3.1.丸かっこ()
/home/kimura/work/typst-jp.github.io/dist/docs/reference/model/bibliography/index.html
1408:63 ✓ error 半角のかっこ()が使用されています。全角のかっこ()を使用してください。 jtf-style/4.3.1.丸かっこ()
1417:67 ✓ error 半角のかっこ()が使用されています。全角のかっこ()を使用してください。 jtf-style/4.3.1.丸かっこ()
1426:60 ✓ error 半角のかっこ()が使用されています。全角のかっこ()を使用してください。 jtf-style/4.3.1.丸かっこ()
1435:63 ✓ error 半角のかっこ()が使用されています。全角のかっこ()を使用してください。 jtf-style/4.3.1.丸かっこ()
1597:23 ✓ error 半角のかっこ()が使用されています。全角のかっこ()を使用してください。 jtf-style/4.3.1.丸かっこ()
✖ 10 problems (10 errors, 0 warnings)
✓ 10 fixable problems.
Try to run: $ textlint --fix [file]
まだ、citeとbibliographyのページでエラーが残りますが、これらはまだ翻訳前(原文)の部分です。
- cite: https://typst.app/docs/reference/model/cite/
- bibliography : https://typst.app/docs/reference/model/bibliography/
該当箇所はいずれもstyleの章のView optionsで現れる参考文献の体裁のリストで、おそらくここから引っ張って来られていそうなので、手の出しようが無い気がします。
https://github.com/typst/hayagriva/blob/38a56c8dea69531befea140aa51ca913fe9ca586/src/csl/archive.rs#L172-L184
Footnotes |
素晴らしいです! 注意点として
この2つだけレビューを気をつける必要がありそうですが、時間があるときに私が対応してしまいますね。
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
検査や修正が正しく作動することを確認できました
変更点
確認事項
bun run textlint-md
で./docs/
のMarkdownファイルを静的解析できるbun run textlint-md:fix
で./docs/
のMarkdownファイルを自動修正できるbun run textlint-html
で./dist/docs/
のHTMLファイルを静的解析できる備考