20160507

PygmentsとCoderayを、お手軽に使う。

お手軽に、syntax highlightしたい。
しかも、.jsの配置とか、cssの書き換えとか、慣れないことは一切したくない。
そういう人にうってつけのやり方だと思う。

要はhtmlのコードがあればいいんでしょ。

前回の記事の後になって、pygmentsでも、coderayと同じ事ができそうだと知る。
http://qiita.com/wh11e7rue/items/1ae2b18bf728b61f7630
http://qiita.com/g_maeda/items/8c7af1172fa3009d7c4d

(pygmentsなら)pygmentize -l python -f html -O noclasses=True python.py
(coderayなら)coderay python.py -div
こうやれば、ターミナルにhtmlコードが表示できる。

それを張り付けたのが下。


import pyqtgraph as pg
import numpy as np

x = np.linspace(0,1,100)
y = np.sin(np.linspace(0,2*np.pi,100))

pg.plot(x,y)




import pyqtgraph as pg
import numpy as np

x = np.linspace(0,1,100)
y = np.sin(np.linspace(0,2*np.pi,100))

pg.plot(x,y)



上がpygments うっすらバックグランドが色付き。<div class="highlight" style="background: #f8f8f8">ここで指定するんだろうか。数字が、色なし。
下がcoderay as以下が色なし。数字が色アリ。

一長一短。

両方共、asで読み込んだ名前は色を付けてくれないらしい。
npとかpgが、ハイライトされていると、もう少しわかりやすくなる気がするんだけど...

pygmentize なら noclasses=True、
coderay なら -divをつけることで、張り付けてもそのまま使えるhtmlが吐き出される。

これを付けないと、スタイルシートで指定していないと表示されないタイプのタグで、色指定されたコードが出てくる。これはこれで便利な気もするが、、、cssとか、よく分からないし。

見比べると、こっちのコードの方が短い。
じゃあ、これでいいや。


import pyqtgraph
import numpy

x = numpy.linspace(0,1,100)
y = numpy.sin(numpy.linspace(0,2*numpy.pi,100))

pyqtgraph.plot(x,y)


↑数字の色が微妙に違う。コードを詳しく見ないので気づかなかった。



import pyqtgraph
import numpy

x = numpy.linspace(0,1,100)
y = numpy.sin(numpy.linspace(0,2*numpy.pi,100))

pyqtgraph.plot(x,y)



モジュールの色が、色無しなのは、省略したせいではないらしい。


実用性はないけど、
pygmentize -l python python2.py
coderay python2.py
でも、色が試せる。

20160505screenshot07.png

単純に色付きのコードが見たいなら、sakuraエディタとか、geditあるしね。
こんな機能実用性ないけど、初心者は、表示されると安心しますよ。本当に。

「あ、ちゃんと動くんだ」→「でもうまくいかない」→「もうちょっと粘るぞ」ってなる。
これが、エラーしか返ってこない場合には、「あれ、壊れてる...」ってなるし。たとえ自分が間違えていたとしても、こうなる。

(20160507追記)

import pyqtgraph as pg
import numpy as np

x = np.linspace(0,1,100)
y = np.sin(np.linspace(0,2*np.pi,100))

pg.plot(x,y)

def hogehoge(x):
hoge = x**2
return hoge

y = hogehoge(3)

print y

"""
comment out
"""

#comment out

'''
comment out
'''



何か、気に入らないんだよなぁ。


(20160508追記)
端末から、
$coderay -python -div
で開始して、コードをここにコピペ。
Ctrl+Dで終われば、htmlがピロッと表示される。

メリットとして、.pyを作る必要もないし、.htmlを開く必要もない。
ディメリットとしては、手元に何も記録が残らないとか。
posted by yuchan at 17:02 | Comment(1) | python