From 668ce5fe8e6aebb92b5dc718f3e0008c26a0f76f Mon Sep 17 00:00:00 2001 From: yumetodo Date: Fri, 8 Dec 2017 21:33:08 +0900 Subject: [PATCH] feat: write example tag document To notify when example tag should be used. ref: - https://github.com/cpprefjp/site/issues/487 - https://github.com/cpprefjp/site/issues/481 --- editors_doc/class_template_page.md | 2 ++ editors_doc/function_template_page.md | 2 ++ editors_doc/header_template_page.md | 2 ++ editors_doc/lang_template_page.md | 2 ++ editors_doc/specialized.md | 26 ++++++++++++++++++++++++++ editors_doc/type-type_template_page.md | 2 ++ 6 files changed, 36 insertions(+) diff --git a/editors_doc/class_template_page.md b/editors_doc/class_template_page.md index 11d74a8dd1..acc070de15 100644 --- a/editors_doc/class_template_page.md +++ b/editors_doc/class_template_page.md @@ -30,6 +30,8 @@ namespace std { ## 概要 (ここには、クラスの概要を記述します。必須事項です。) +(サンプルコードが必要な場合は`example`タグを付け、コンパイル・実行可能にすることを検討してください。(ref: [cppref特有の拡張構文](specialized.md))) + (必要な項目を省略する場合には、「(執筆中)」と書いておいてください。) ## メンバ関数 diff --git a/editors_doc/function_template_page.md b/editors_doc/function_template_page.md index 2ea467261e..1614cd8c8d 100644 --- a/editors_doc/function_template_page.md +++ b/editors_doc/function_template_page.md @@ -29,6 +29,8 @@ void definition(); // 関数・変数・定数の宣言を記述します。 ## 概要 (ここには、関数・変数・定数の概要を記述します。必須事項です。) +(サンプルコードが必要な場合は`example`タグを付け、コンパイル・実行可能にすることを検討してください。(ref: [cppref特有の拡張構文](specialized.md))) + (必要な項目を省略する場合には、「(執筆中)」と書いておいてください。) diff --git a/editors_doc/header_template_page.md b/editors_doc/header_template_page.md index 6374c37216..713a8608f6 100644 --- a/editors_doc/header_template_page.md +++ b/editors_doc/header_template_page.md @@ -18,6 +18,8 @@ (ここには、このヘッダファイル(ライブラリ)の概要を記述します。必須事項です。) +(サンプルコードが必要な場合は`example`タグを付け、コンパイル・実行可能にすることを検討してください。(ref: [cppref特有の拡張構文](specialized.md))) + (必要な項目を省略する場合には、「(執筆中)」と書いておいてください。) | 名前 | 説明 | 対応バージョン | diff --git a/editors_doc/lang_template_page.md b/editors_doc/lang_template_page.md index cf443489c7..aa2b255d1b 100644 --- a/editors_doc/lang_template_page.md +++ b/editors_doc/lang_template_page.md @@ -17,6 +17,8 @@ ## 概要 (ここには、言語機能の概要を記載します。) +(サンプルコードが必要な場合は`example`タグを付け、コンパイル・実行可能にすることを検討してください。(ref: [cppref特有の拡張構文](specialized.md))) + (必要な項目を省略する場合には、「(執筆中)」と書いておいてください。) diff --git a/editors_doc/specialized.md b/editors_doc/specialized.md index bfc649058a..ac012d799b 100644 --- a/editors_doc/specialized.md +++ b/editors_doc/specialized.md @@ -60,6 +60,32 @@ int main() { } ``` +## exampleタグ + +includeとmain関数を含む**原則すべてのC/C++言語のコードブロック**には`example`タグをつけてください。 +`example`タグが付いたコードブロックはその場で実際にコンパイル・実行することができるようになります。 +たとえコンパイルエラーになる場合でも、利用者がその場でコードを書き換えて試行することを容易にするために原則つけてください。 + +```` +```cpp example +#include + +int main() +{ + std::cout << "arikitari_na_world" << std::endl; +} +``` +```` + +つけない例としては次のような宣言が書いてあるのみのものが挙げられます。 + +```cpp +namespace std { + template > + class vector; +} +``` + ## プログラムの修飾 コードブロックの直後に特定の構文で記述することで、コードブロックの一部を修飾できます。 diff --git a/editors_doc/type-type_template_page.md b/editors_doc/type-type_template_page.md index 0b05e2c449..5f363f87fe 100644 --- a/editors_doc/type-type_template_page.md +++ b/editors_doc/type-type_template_page.md @@ -29,6 +29,8 @@ typedef origin_type new_type; ## 概要 (ここには、型の概要を記述します。必須事項です。) +(サンプルコードが必要な場合は`example`タグを付け、コンパイル・実行可能にすることを検討してください。(ref: [cppref特有の拡張構文](specialized.md))) + (必要な項目を省略する場合には、「(執筆中)」と書いておいてください。) これは、メンバ型等の、型の別名定義を解説するページの雛形です。