Skip to content
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

原文にGlossaryの文章が含まれている #44

Closed
miminari opened this issue Jul 23, 2022 · 18 comments
Closed

原文にGlossaryの文章が含まれている #44

miminari opened this issue Jul 23, 2022 · 18 comments
Assignees

Comments

@miminari
Copy link
Member

miminari commented Jul 23, 2022

例: https://github.com/jawordpressorg/core-handbook/blob/en/core/contribute/git.md

wp-handbook-converterでのトリムが効かなくなっているので調査、対応する

その他、不要な箇所にエスケープ処理が入っているのでturndownの設定などを変更する必要もありそう

@t-hamano
Copy link
Member

こちらのコメントに書いた通り自分も気になっていまして、翻訳する時にトリムすれば良いものなのかなと思ってたのですが、本来はコンバータ通した時点でトリムされるということですよね 🤔

@miminari
Copy link
Member Author

@t-hamano mirucon/wp-handbook-converter#22
で私がやっつけで対応した部分なのですが、多分、仕様が変わっちゃってると思われます。

@t-hamano
Copy link
Member

了解しました!
自分も調べてみます😀

@miminari
Copy link
Member Author

miminari commented Jul 23, 2022

@t-hamano あ、やられます?じゃあお任せしようかな。

PR、上記の経緯があったので、横入りコメントしてしまいました🙏🏻あしからず

@t-hamano
Copy link
Member

やりますよー👍
「不要な箇所のエスケープ処理」というのはどの辺りの箇所ですか?

@miminari
Copy link
Member Author

miminari commented Jul 23, 2022

@t-hamano 上でリンクしてるPRの部分ですー!
cli.jsの92行目あたり

@t-hamano
Copy link
Member

@miminari

Wayback Machineを使って2~3年前のソースと比較してみたのですが、glossary周りのタグ構造は変わってないので、おそらく strong タグで囲まれた場合にトリムできていないのかな?と思います。
(通常の本文内のglossaryはちゃんとトリムされてるっぽいです)
ちょっとそのあたりを調べてみます。

@t-hamano 上でリンクしてるPRの部分ですー!
cli.jsの92行目あたり

マークダウンに変換されるときに、不要な「\」が追加されてるという意味かと思ったのですが、合ってますか?
例えばこういう箇所です

slash

もしここの箇所の事であれば、バックスラッシュのエスケープ処理なので問題無いのかなと思っています

@miminari
Copy link
Member Author

miminari commented Jul 23, 2022

@t-hamano ありがとうございますー。そうだと思います、たぶん、例外処理がうまく出来てない気配。

不要な箇所のエスケープ処理

の話でしたね、すみません、勘違いしてました。
coreの方にはもしかしたら該当箇所がないかもしれない(ただのエスケープ処理で問題ない)のですが、
プラグインハンドブックのほうで以下のページのように、preタグ内での処理がちょっとおかしいんですよね。
https://github.com/jawordpressorg/plugin-handbook/blob/main/plugins/schema.md

あと今日翻訳した箇所のバックスラッシュも別に無くていいので外したいなーと思っていて。

@t-hamano
Copy link
Member

@miminari
了解しました!
そのあたりを調査してPR送ってみますね。

@t-hamano
Copy link
Member

対応メモ

wp-handbook-converterのマークダウン変換処理について、以下を修正したPRを送る

  • glossaryが一部除去出来ていない。(おそらく、strongタグで囲まれた部分)
  • preタグが除去され、コード例が正しく表示されない。preタグ → 「```」 に変換すべき?
  • preタグのコード例の中で、記号(*_[] )の前に不要なバッククオートが入る。

@miminari
Copy link
Member Author

@t-hamano ありがとうございますー。
調査途中なのですが、たぶん、glossary以外の対応については、turndown側のaddRuleオプションをイジってあげると出来るような気もします。

https://wpja.slack.com/archives/CRF0HNDS8/p1657961184616529?thread_ts=1657960534.879619&cid=CRF0HNDS8

@t-hamano
Copy link
Member

@miminari
とりいそぎ、ローカルで手を加えたwp-handbook-converterを使って、コアハンドブックとプラグインハンドブックをアップデートしてました。
差分を比較するためのダミーPRを作成しましたので、よろしければプラグインハンドブックの方で、こんな風に変わるよ~というのをお手すきの際に見ていただければ助かります🙏
(コアハンドブックの方は自分でチェックしてみます)

@t-hamano
Copy link
Member

t-hamano commented Jul 24, 2022

ハンドブックをより適切にパースするために、wp-handbook-converter について以下の対応を行った

https://github.com/t-hamano/wp-handbook-converter/blob/update/improve-turndown/cli.js

  • 一部glossaryが除去出来ていなかった点を改善
  • dtタグをsrongタグに変換(dtタグはマークダウンでは使えないため、strongタグで代用する)
  • コードに該当する箇所を、「```」を使ってマークダウンに変換する
    • コード内のエスケープ文字をアンエスケープ
    • クラス名から言語を読み取り、マークダウンにもその言語を付与する(例:```php)
    • 一部不正なpタグがどうしても除去出来なかったので、翻訳時に削除する必要があるかも?
  • テーブルタグのサポート(theadが無いテーブルは、この問題によりHTMLのままマークダウンファイルにも反映されてしまう)
  • CLIの引数 team を 必須から任意に変更(ここが必須だと、正しいエンドポイントを指定出来ないハンドブックが存在したため)

@miminari
Copy link
Member Author

@t-hamano 対応ありがとうございますー!
良い感じかと!Turndown、クラス名でフィルタリング出来るんですね。お利口さんだー。

@t-hamano
Copy link
Member

@miminari
ありがとうございます!
コードマークダウンの言語については、パースしたpreタグに言語を表すクラス名が入っていたので、それを ``` の後に付与するようにしてみました。
https://github.com/t-hamano/wp-handbook-converter/blob/d23c4372be2c45e4c0af5085af7e1c9d39035fba/cli.js#L95-L101

では、一度 wp-handbook-converter の方にPR送ってみますね😊

@t-hamano
Copy link
Member

@t-hamano
Copy link
Member

@miminari
PRがマージされ、npmパッケージも公開いただきましたので、

  • en ブランチの更新
  • master ブランチへマージ

が終わり次第、このissueはクローズしますね 😄

@t-hamano
Copy link
Member

#56 にて対応完了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants