本cpprefjpサイトは、GitHub Pagesのサービス上に構築されていますが、編集自体はGitHubリポジトリにあるMarkdown形式のプレーンテキストで行います。
cpprefjpサイトのGitHubリポジトリは、以下になります:
また、cpprefjpサイト上に掲載する画像ファイルのようなリソースも、GitHubリポジトリで管理しています。
GitHub上で記述したMarkdown(.md)形式のリファレンスは、自動的にHTMLに変換されて、cpprefjpサイトに反映されます。
cpprefjp/site へ push すると、すぐに反映されます。
毎日深夜0時ころに全ページの変換を行います。ページを追加したときのサイドバーの更新や、GLOBAL_QUALIFY_LIST.txt
を編集した場合の適用は、そのときの変換で全ページに変更が適用されます。
日次の変換中にコミットした変更は、日次の変換がおわったあと (だいたい1時間30分〜2時間くらい) に自動で変換・反映されます。
自動反映ツールも、GitHub上で開発が進められています。
機能要望やpull request等がありましたら、こちらにお願いします。
このツールは、コアメンバの一人であるmelponさんが保持しているサーバー上で動作しています。
編集権限は現在のコミッタに与えてもらうか、pull requestしてコミッタに修正を取り込んでもらうかする必要があります。
旧cpprefjpサイトで編集を行っていた方には、優先的に編集権限をお渡しします。
以下のページに載っているコミッタの人たちの誰かにコンタクトをとってもらうか、cpprefjp/siteリポジトリのIssue報告として、編集権限の申請を行ってください。
コミッタから直接お誘いに行く場合もありますので、快く引き受けていただければ幸いです。
cpprefjpサイトの編集に慣れていない方は、pull requestからでもぜひ始めてみてください。これは、編集権限を得るための審査ではなく、編集の練習のためだと考えてください。pull requestを何回かいただければ、継続して活動していただけるものと判断し、編集権限をお渡しします。
cpprefjpサイトは、Markdown(.md)形式でリファレンスを記述します。
Markdownは、GitHubサービス上でドキュメントを記述するフォーマットとして広く使用されている形式です。
Markdownの記述方法をわかりやすく解説してくれているWebサイトは、すでに数多く存在しますので、詳細はそちらを参照してください。
ただし、cpprefjp特有の拡張構文もあります。 以下のページにまとめてあるので、そちらを参照して下さい。
Markdown形式では、HTMLのタグも併用できますが、cpprefjpサイトでは積極的にはHTMLタグを使用しない方針です。できるだけ、Markdown形式でできる範囲内で解決するようにしてください。
ただし、注釈・出典を貼るためにHTMLタグを利用します。
それ以外に本サイト内で使用しているHTMLタグは以下です:
- アンカーを貼るために、
<a id="アンカー名">対象文字列</a>
のようなHTML5に基づく記法を利用している - 表内での改行のために、
<br/>
タグを利用している - 値の大きさを表現するために、上付き文字を表す
<sup>
タグを利用している - 添字を表現するために、下付き文字を表す
<sub>
タグを利用している
また、Markdownパーサーの制限を回避し、表内で |
(縦線、vertical line) を使用するために、文字参照 |
を使用してます。
新規リファレンスを書くにあたって、雛形ページを用意していますので、そちらをベースにして編集作業を行ってください。
また、リポジトリのトップディレクトリにGLOBAL_QUALIFY_LIST.txt
というファイルがあります。サイト全体のコードブロックに対して適用したい識別子の修飾があれば、ここに列挙していきます。書き方は各雛形ページに書いてあるコードブロックの修飾と同じです。
C++の次のバージョンで入ることが決まった機能については、以下の方針で対応を行います。
- 次のバージョンの言語機能・ライブラリ機能の解説は、随時許可する
- ただし、Working Draftに採択された機能のみを対象とする。まだ提案中の機能は、本サイトでの解説の対象外とする
- 例外は、機能テストマクロのようなコンパイラへの推奨機能
- 採択された機能は、C++ Standards Committee PapersのEditor's Reportで確認できる
- 次のC++バージョンに採択された機能は、本リポジトリのWikiページに随時記載しているので、対応状況を含めてそちらを確認すること