by shigemk2

当面は技術的なことしか書かない

memo C++リファレンスサイトcpprefjpでのドキュメンテーション #kbkz_tech

  • 3000ページ
  • 標準ライブラリのレファレンス
  • C++14までは網羅
    • マイナーライブラリは保留
    • 3年ごとにリリースしている
    • 仕様が決まったらスケジュールとしても動かない
    • GitHubで、markdown→HTML
  • (めるぽん氏の)自前のサーバーでHTML変換
  • すべてボランティアでスポンサー募集も停滞中
  • めるぽん氏が運営しているwandboxサービスが収入源
  • 議論はGitHub Issueのみ
    • チャットの予定はない
      • 履歴が追いきれないから
      • 気軽に要望を入れすぎても対応しきれないから
      • Twitterでのやり取りしててもIssueに誘導している
  • Markdown拡張
    • Markdownはそんなに賢くないので拡張している
    • 数式とかSEO用メタ情報とかを入れる
  • コードブロックのすぐ下に箇条書きで修飾リストを並べる
    • * func_name[color ffffff]
    • * link_name[link /path/to/page.md]
    • コードブロックにリンクを貼るのは大変なのでサイトグローバルなものをつくれるようにしている
    • ページランクも考慮してSEO対策もしている
  • 数式
    • Mathjaxを有効にしてTeX記法で数式を記述する
    • C++は数学系ライブラリも入っているので
  • チャート管理
    • R言語で書いて、そのソースコードもリポジトリに入れている
  • 権限付与
    • サイトの編集をしてくれる人は常に募集していて、権限付与はゆるめに
    • PRを送ってマージされたら編集権限を付与
    • Webの編集画面からPRを送れる
  • 検索エンジン
    • saki7@GitHubさんが作ってくれた
    • 検索しやすい
  • いつまで続けられるか
    • 心が折れたら分からない
    • 一人でも続けていく
  • 最新規格での対応はのんびりやっていく
    • 最新規格を使っているひとはそんなに多くないので
  • 言語入門やチュートリアルを書く予定はない
    • 継続的なコントリビューターがやってくれるのであれば検討するが言語バージョンごとに用意するのもたいへん
    • 需要があるからできるわけでもないし、作ったから出来るわけでもない

まとめ

  • なんだかんだでGitHub + Markdownで管理するのが楽
  • でも拡張は必要
  • 画像もプレーンテキストで書けば管理できる

質疑

  • サンプルの確認はコントリビューター同士でやる
  • OS、OSのバージョン、コンパイラのバージョンについては、動作の確認ができたバージョンから始める