2014年3月29日土曜日

SyntaxHighlighterでArduinoスケッチ

以前SyntaxHighlighterの回で、ソースコードをキレイに表示する方法として「SyntaxHighlighter」を使うといったのですが、ここで問題が。



自分はArduinoを使っての何かつくろうと思っているのですが、Arduinoを動かすにあたってのコード(スケッチ)に対応しているjavascriptのファイルがダウンロードしたセットの中に入っていなかったのです。


いわゆるArduino言語はC/C++をベースにしているのでいるのでC++のファイル、shBrushCpp.jsを読み込めばいいっちゃいいんですが、pinModeだとかdigitalWriteだとかArduino特有のやつも結構あるのでそこもハイライトしてほしいなあと。


で、探してみたら既に偉大な先人が。↓
http://upnotnorth.net/2010/02/04/arduino-code-highlighting-for-the-web/
ここに上がってるliteの方を使えば大抵は表示できるようです。


それを「shBrushArduinolite.js」みたいな名前で保存してアップロード。
あとは他の言語と同じく、
1
2
<script type="text/javascript"
src="ファイルがアップロードされたURL"></script></pre>
をHTML編集のところでで加えて終わりです。



ちなみに言語名を指定する箇所ですが、デフォルトの設定では
liteは
1
<pre class="brush: arduinolite;">/*code*/</pre>
fullは
1
<pre class="brush: arduino;">/*code*/</pre>
と入力します。


実際に表示してC++でハイライトしたものと比較してみます。

C++
1
2
3
4
5
6
7
8
9
10
11
12
#define LED_PIN 13
 
void setup() {
  pinMode(LED_PIN, OUTPUT);
}
 
void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  delay(1000);
}

arduino
#define LED_PIN 13

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  delay(1000);
}

いい感じですね。

0 件のコメント:

コメントを投稿