2013年9月20日金曜日

Bloggerにソースコードを乗せる方法

------------------------------------------------------------------------------------------------------------------------
「Syntax Highlighter Scripts Generator」を使う方法……だったのですが、
バグる事があるのでお勧めしません。
2013_11_18_月:追記からのHTMLタグを使う方法をお勧めします。
------------------------------------------------------------------------------------------------------------------------

今まで適当に澄ましていたけど、余りにも見難いのでなんとかしてみた。
取りあえず、ググってhttp://k-1-ne-jp.blogspot.jp/2012/10/syntaxhihglighter.htmlを参考にする。

えーっとまずはhttp://www.way2blogging.org/widget-generators/syntax-highlighter-scripts-generator
にアクセスして……
必要な言語を選択。

クリップボードにスクリプトをコピー。

Bloggerに戻って、


テンプレート⇒HTMLの編集。

「12行目ぐらいにある<title>タグの後に挿入する」との事だから後ろに挿入したのだけど、これは<title></title>の中に入れる必要があるのか?(取りあえず外で動いたのでそのまま放置) 
  ⇒やってみたらバグったのでこれで正解かと思われます。

それから記事の新しい記事の作成で

<pre class="brush: c++;">
//ここにソースコードを挿入する。
int main(void){
 return 0;
}
</pre>

を挿入(c++の所の言語名を変えれば対応できるはず……)
つまり、作成からHTMLへ移動して……

挿入すると
//ここにソースコードを挿入する。

int main(void){

 return 0;

}


のように表示される……ハズです。

------------------------------------------------------------------------------------------------------------------------
2013_11_18_月:追記
っという方法でいいかと思っていたのですが、この方法だと、
例えば
#include <stdio.h>
void main(void){
        //コード
}
を表示させようとすると

<pre class="brush: c++;">
#include <stdio.h>
void main(void){
//コード
}
</pre>
#include 
void main(void){
 //コード
}
のようにバグります
ついでに言えば、インターネットの接続が上手く行かない場合、
普通のテキストとして表示される事も多いです。

また、正直に言って設定するのも面倒だし、行番号は表示されてもtabは半角スペース一個扱いになって見難いです。

しかし、バグっている以上は仕方がないのでこれを使うのは諦めます。

解決策:
1.取りあえず行数の表示は諦める。
2.「Syntax Highlighter Scripts Generator」の代わりに簡単なHTMLのタグを使う。

使用するタグ

<textarea cols="72" rows="90" style="height: 2690px; width: 800px;" wrap="off">
//ここにコードを挿入。
</textarea>

height⇒縦の長さ
width⇒横の長さ
の二つだけ設定すれば大丈夫です。

新しい記事の作成で、作成からHTMLへ移動してしたところに挿入すればOKです。
単なるタグなので、「Syntax Highlighter Scripts Generator」のように面倒な設定は不要です。

ただし、「Syntax Highlighter Scripts Generator」のようにウィンドウのサイズを自動で決めてはくれないので、手動で「height」と「width」を決定する必要があります。ただし、「width」については一度決めてしまえば、その値をメモしておいて次の時に見返せば済みます。

3.tabは半角スペース一個扱いになるので、ブログに書き込む前にtabを半角スペース8個に変換しておく。
標準でtabは半角スペース8個分として表示されるので変換しておきます。
この時、まさか手動では追いつかないので、エディタの置換機能を使用します。
私はterapadで置換しています。

------------------------------------------------------------------------------------------------------------------------

実例:
#include <stdio.h>
void main(void){
//コード
}
のままだとtabがスペース一個のままなので各々エディタで置換して、
#include <stdio.h>
void main(void){
  //コード
}
Bloggerの編集モードをHTMLに変えて下記のコードを挿入
<textarea cols="72" rows="90" style="height: 56px; width: 800px;" wrap="off">
#include <stdio.h>
void main(void){
  //コード
}</textarea>
すると、

のように表示できます。
今回の場合は一文字が14pixなのでheight=14*(4行)=56pxになります。

文字のピクセル数は調べれば出てくるのでしょうが、私はPrintScreenからペイントにコピーして
ペイントでピクセル数を数えました。

ちなみに
<textarea cols="72" rows="90" style="height: 56px; width: 800px;" wrap="off">
#include <stdio.h>
void main(void){
  //コード
}
</textarea>
とすると、最後に空白が一行追加されるので注意してください。

<textarea></textarea>について分からないこ事があれば取りあえずGoogleで検索してください。
Googleで検索で検索する!

0 件のコメント:

コメントを投稿