Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

Open
saki7 opened this issue Dec 4, 2017 · 2 comments
Open

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

saki7 opened this issue Dec 4, 2017 · 2 comments

Comments

@saki7
Copy link
Contributor

saki7 commented Dec 4, 2017

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

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

if (lang === 'cpp') {

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

kunai/js/kunai/wand.js

Lines 119 to 123 in 4ea3bbe

static defaults = new Map([
['compiler', 'clang-head'],
['options', ['warning', 'c++2a', 'cpp-pedantic-errors']],
['compiler-option-raw', ['-Wall', '-Wextra', /*'-Werror'*/]],
])

@saki7
Copy link
Contributor Author

saki7 commented Dec 4, 2017

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

@saki7
Copy link
Contributor Author

saki7 commented Dec 5, 2017

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant