Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

サンプルコードの拡張記法を導入したい #473

Closed
saki7 opened this issue Nov 2, 2017 · 10 comments
Closed

サンプルコードの拡張記法を導入したい #473

saki7 opened this issue Nov 2, 2017 · 10 comments

Comments

@saki7
Copy link
Contributor

saki7 commented Nov 2, 2017

今日から、cpprefjp上でサンプルコードを実行可能になりました。既に試して頂いた方もいるかと思います。 (フロントエンド周りの変更は cpprefjp/kunaicpprefjp/site_generator の範囲になります)

今のcpprefjpでは、サンプルコードはMarkdownのコードブロックでそのまま書かれています。

```cpp
int a = 42;
```

これは書きやすい一方、cpprefjpには“サンプルコード”以外のコードスニペットも多く含まれています。

今は、「このコードがサンプルコードかどうか」を判断するために、バックエンド (cpprefjp/site_generator) や フロントエンド (cpprefjp/kunai) ではすごく泥臭い方法で頑張って解析しています。

フロントエンドでは大体のページに対応できていますが、 article/ 以下の記事など どうしても判断できないコードスニペットもあって対応に苦慮しています。

そこで、「サンプルコード」を書く場合にコードブロックの先頭を以下のように書く記法を cpprefjp/site 全体に導入することを提案します。

```cpp example
int a = 42;
std::string s = "ほげほげ";
```

11/10(金)まで意見を募集します。問題がなければ、編集者向けドキュメントなどを整備する形になります。


経緯: cpprefjp/site_generator#30 (comment)

refs: cpprefjp/site_generator#30
cc: @cpprefjp/coreteam @cpprefjp/workingteam

@saki7 saki7 self-assigned this Nov 2, 2017
@saki7
Copy link
Contributor Author

saki7 commented Nov 2, 2017

これは CommonMark に準拠した記法になるので、 cpp example を認識できないパーサは cpp にフォールバックできます。つまり、書き忘れても今までと同じ表示になるので大丈夫です。

@take-cheeze
Copy link
Member

おお!すばらしいですね!
サンプルコードをパッと実行できるのいいですねー。
ちょっとどこに書けばいいのかアレですが、compileボタンがあるのなら、エディタを開かずにcompileボタンを押すとエディタを開いて実行していただけると出力確認しつつできていいかなーと思いました。

@faithandbrave
Copy link
Member

cpp exampleを書く場所ですが、基本的には「インクルードとmain関数を含む完全なコードのコードブロック」に対して付けます。
例外は、翻訳単位のようなものの説明のために、コードが分割されているようなケースです。

pthreadライブラリのような環境依存のライブラリを使用しているコードであっても、cpp exampleにしてもらって大丈夫です。

@saki7
Copy link
Contributor Author

saki7 commented Nov 2, 2017

@take-cheeze 記事に書いてある出力結果は一応エディタの下に残してあるのですが、この結果と出力を比較するときに見づらいということでしょうか? 詳しく教えて頂けますとありがたいです

@take-cheeze
Copy link
Member

@saki7 とりあえず実行ボタンが既にあるなら押してみたいって心理なだけです。

@saki7
Copy link
Contributor Author

saki7 commented Nov 2, 2017

@take-cheeze 今だと フロントエンドが on/off 切り替え(一番左のボタン) で on になっていないと Compile 押せないようになっているので、そのあたりが分かりづらいのかもしれません

@yumetodo
Copy link
Member

yumetodo commented Nov 2, 2017

@saki7 確かにTry Codeを押さないとCompileが押せないですね・・・。そもそもTry Codeを押すまでCompileDisplay: none;にできないですかね?

@saki7
Copy link
Contributor Author

saki7 commented Nov 2, 2017

このIssueでフロントエンドについて議論するのはよくないので、フロントエンドについて踏み込んだ内容があれば cpprefjp/kunai に お願いします。

@saki7
Copy link
Contributor Author

saki7 commented Nov 10, 2017

Note: 意見募集は今日までです

@saki7
Copy link
Contributor Author

saki7 commented Nov 10, 2017

🎨 😂 😂 🦅 🏭 🏭

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

No branches or pull requests

4 participants