cpprefjp / kunai

cpprefjpのフロントエンド
MIT License
3 stars 7 forks source link

C言語のサンプルコードの実行機能対応 #70

Open saki7 opened 6 years ago

saki7 commented 6 years ago

cpprefjpにはC++だけではなくC言語のコードスニペットもあるが、今はMarkdown上のinfo stringが cpp ではなく c になっているコードは検知から外れている(example がついていても検知から外れる)。

これに対応するためには、一見すると以下の1行を切り替えれば大丈夫なように思えるが、

https://github.com/cpprefjp/kunai/blob/4ea3bbe5779d51ba4f452894d511ce2df9e64385/js/kunai/meta/meta.js#L212

実際にはC++とC言語は別の言語なので、上の行の修正に追加で バックエンド(Wandbox)で使用するコンパイラを分けなければならない。そのための該当箇所は以下の通り。

https://github.com/cpprefjp/kunai/blob/4ea3bbe5779d51ba4f452894d511ce2df9e64385/js/kunai/wand.js#L119-L123

saki7 commented 6 years ago

wand.js で使っているオプション類は、 Wandbox の公開APIで取得できるオプション一覧の規格に一致しているものなので、厳密なオプションの書き方についてはWandboxの規格を参照。

saki7 commented 6 years ago

ああ、記事の書き方としては、

```cpp example
// C++のコード

``````md
```c example
/* C言語のコード */


このどちらでもplay機能が出るようにします。

なので、kunaiとsite_generatorで対応すればよくて、siteの記事を直す必要は無いです。