cpprefjp / site

cpprefjpサイトのMarkdownソース
https://cpprefjp.github.io/
368 stars 152 forks source link

「処理系」を「動作確認できた処理系」に変更したい #1274

Closed faithandbrave closed 3 weeks ago

faithandbrave commented 1 month ago

ライブラリリファレンスにある「### 処理系」の見出しは、実際に「動作確認できた処理系」を意味するのですが、そうであることがわかりにくいので、そうであるとわかるようにしたいです。

それと、「対応していると期待できる処理系」みたいなのを追加して、(試せる環境がないなどで) 動作確認はできていないけど、リリースノートを見ると対応してるように見える、というのを書ける場所を用意したい気がしています。 見出しタイトルが悩ましいので別案があればほしいです。

動作確認できた処理系の記載には、依然としてオーバーロードごと・バージョンごとをどうするかの問題が残ってはいますが、ひとまず曖昧さをなくす提案をしました。

yumetodo commented 1 month ago

ライブラリリファレンスにある「### 処理系」の見出しは、実際に「動作確認できた処理系」を意味するのですが、そうであることがわかりにくいので、そうであるとわかるようにしたいです。

これはそのまま「動作確認できた処理系」がフィットしそうです。


それと、「対応していると期待できる処理系」みたいなのを追加して、(試せる環境がないなどで) 動作確認はできていないけど、リリースノートを見ると対応してるように見える、というのを書ける場所を用意したい気がしています。 見出しタイトルが悩ましいので別案があればほしいです。

「対応していると期待できる処理系」でもいいですが別案をあえて出すなら「対応したと宣言されている処理系」とかはどうでしょうか。


動作確認できた処理系の記載には、依然としてオーバーロードごと・バージョンごとをどうするかの問題が残ってはいますが

MDNの互換性テーブルみたいなのが作れればいいんでしょうけどなかなか大変ですよね・・・。こういうのを運用するとしたらMDNがやっているように言語をまたいで英語版cppreference.com の著者たちとかと連絡を取ってやるみたいなそういう規模感の運営がないとやっていけなさそうです。

https://developer.mozilla.org/ja/docs/Web/API/URL#%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%83%BC%E3%81%AE%E4%BA%92%E6%8F%9B%E6%80%A7

akinomyoga commented 1 month ago

「動作確認できた処理系」というのは何だか執筆者視点の感じが強く出て読者的に見ると変な感じがします。「確認済み処理系」の方がニュートラルな感じがします (理由を聞かれたらあまり説明できないですが)。

そういえば「動作する」ということを確認した処理系しか載っていないんですね (動作しないことが確認されたものは載っていない)。だとすると載っていないものは動かないのかあるいは単に未確認なだけか分からないんですね。見出しは「処理系の対応状況」として

みたいな感じのほうがひと目に見て分かる気もします。


「対応したと宣言されている処理系」はもっと的を射た短い表現がありそうな気もしますが出てきません (カタログスペックというのも微妙に違うし)。

或いはこれも絵文字で示せたらいいのですが、一目で「対応したと宣言した」と分かる絵文字というのも難しそうです。Release "note" 的な連想で

とか、或いは対応したと主張している時点で⭕として、更に動作検証は "追加で verified された" 的な捉え方で

など。


確かに英語圏でこういう情報ってまとめていないんですかね。或いは各コンパイラ・標準ライブラリの開発者自身が todo リストとかチケットシステムみたいなものを管理していたらそれが一番確実な気もします。

faithandbrave commented 1 month ago

いままでは、動作しないことが確認できた処理系も??にしていましたが、

みたいに書けると、たしかにうれしいですね。こう書けるなら、「動作確認できた」と書かなくてもよいと思います。「処理系の対応状況」でいいですね。

yumetodo commented 1 month ago

対応したと主張している時点で⭕として、更に動作検証は "追加で verified された" 的な捉え方で

ありですね

faithandbrave commented 1 month ago

雛形として、リファレンスの全ページにチェックマークの読み方を記載すれば、これでいい気がしますね

akinomyoga commented 1 month ago

処理系の対応状況

(❌ = 未実装、⭕ = 実装済・未検証、✅ = cpprefjpで検証済)


こんな感じですか。

絵文字はこれまで cpprefjp の中で使われていましたか。絵文字はテキストブラウザや音声読み上げ対応でどうなるんでしょう。後ブラウザ間の絵文字の表示のぶれだとか。画像埋め込みにして代替テキスト (<img>alt 属性) を設定するという手も。

それから絵文字を直接 .md の中に入れるかそれとも文字参照 (&#xHHHH; or カスタムの &impl-verified; とか) などの特別表記で記述するか。個人的には自分のエディタが絵文字に対応していないので直接 .md に記述すると微妙かもです (が、変なソフトを使っているのが悪いと言われたら反論できない)。エディタが対応していたとしても絵文字を出すのが大変かと思いましたが、上記のように凡例を入れるならばそこからコピペすれば良いですね。

faithandbrave commented 1 month ago

絵文字はREADMEのCIバッジ以外では使ってないですね。 編集者向けドキュメントとかに試しに書いてみて、一旦ブラウザの表示を確認してみたほうがよさそうですね。 文字参照でよいかと思います。

onihusube commented 1 month ago

絵文字、コードブロック中のコメントですけど、使ったことがあります https://cpprefjp.github.io/lang/cpp20/implicit_creation_of_objects_for_low-level_object_manipulation.html

akinomyoga commented 1 month ago

上のページでは UB, ok などの文字列と併記されているので絵文字が豆腐になっても大丈夫ですね。

うーん。やはり絵文字が表示できるときは絵文字だけの方が見やすく感じます。cpprefjp/markdown_to_html レベルで絵文字を画像 & alt に変換するとか。。。

調べてみたら <img> にしなくても <span role="img" aria-label="検証済">✅</span> とすれば良い? 文字化けに対しては無力そうですがアクセシビリティー的にはこれで良い?

faithandbrave commented 1 month ago

私が使ってるMacVim環境でも、絵文字はカーソル位置がよくわからないことになったりしますね。 コンパイラバージョンを列挙していくと<span>をつけてまわるのも大変なので、cpprefjp用の記法を用意して、markdown_to_htmlで変換してしまうのがいい気がします。

md記法 表示 変換後html
[mark noimpl] <span role="img" aria-label="未実装">❌</span>
[mark impl] <span role="img" aria-label="実装済">⭕</span>
[mark ok] <span role="img" aria-label="検証済">✅</span>

これでどうでしょう?

faithandbrave commented 1 month ago

[mark noimpl][mark ng]とすることも考えましたが、実装前のバージョンというだけなのにネガティブに見えてしまうのはよくないかなと思って避けました。

akinomyoga commented 1 month ago

良いと思います! 追加で title 属性もつけると良いかなと思います(ツールチップとして表示されるので)。

例: <span role="img" aria-label="未実装" title="未実装">❌</span>

akinomyoga commented 1 month ago

[mark noimpl][mark ng]とすることも考えましたが、実装前のバージョンというだけなのにネガティブに見えてしまうのはよくないかなと思って避けました。

[mark na] (N/A; Not available) というのもありかもです (でも、noimpl ←→ impl の対称性を考えたらやはり noimpl の方がわかりやすいかも)。

faithandbrave commented 1 month ago

[mark xxx]は文脈問わず使えていいと思うので (文脈を限定する方が実装コストがかかる)、ほかの文脈で使う可能性を考慮して、impl / noimplのような意味を限定したものじゃないものにしてもいい気はします。 ただ、あまり汎用にしてしまうとtitleを考えるのもむずかしくなるので、ほかに使いたい用途がでてきたら考えるのでもいいかもです。

akinomyoga commented 1 month ago

title が 未実装・実装済・検証済 なのでそのまま使い回すのは難しいかもしれないですね。title に合わせて [mark impl] / [mark noimpl] で良い気がしてきました。そうすると今度は [mark ok] で "検証済" とするのは https://github.com/cpprefjp/site/issues/1274#issuecomment-2118792993 by @onihusube における "ok" と意味がかちあうので、より具体的に [mark verified] とか [mark confirmed] とかの方が良いかもしれません。

faithandbrave commented 1 month ago

それじゃverifiedにしましょうか。

faithandbrave commented 1 month ago

手元ではsite_generatorとmarkdown_to_htmlの修正ができて動作確認もできたので、相対リンクのPRをマージしたらコミットしようと思います。

faithandbrave commented 3 weeks ago

ページのメタ情報が動かなくなってしまったので、一旦差し戻します。

faithandbrave commented 3 weeks ago

絵文字の機能は入りました。こちらで確認できます。 https://cpprefjp.github.io/working_style.html

あとは、既存ページに絵文字を入れていくのと、編集者向けページを直します。

faithandbrave commented 3 weeks ago

全ページのコンパイラバージョンに、絵文字をつけました。 また、編集者向けドキュメントにもmark記法の意味を記載しました。

ひとまずこれで完了です。問題ありましたらreopenしてください。