- 想在Blogger上放上程式碼,不想使用syntax highlight plugins,在Mac上可以直接使用程式碼轉成html貼上部落格上。
步驟:
- Blogger「範本設計工具」新增CSS。
- Pygments 產生程式碼有Highlight的html。
- 使用PyObjC Appkit的剪貼簿複製Buffer。
- 程式碼貼到Blogger上。
Blogger「範本設計工具」新增CSS
Pygments 產生程式碼有Highlight的html
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter
code = u'print "Hello World!!"'
print highlight(code, PythonLexer(), HtmlFormatter())
會印出html這樣就可以貼上Blogger了!
煩,如果程式碼很長你就要複製更多的HTML,身為一個程式設計師當然要找到解決的solution.
Solution就是用PyObjC的AppKit啦!!Apple的一些Framework接到python library!
以下就是複製與貼上的程式碼啦!:
使用PyObjC Appkit的剪貼簿複製Buffer
但~~每次都要去複製print出來的HTML實在非常麻煩,如果程式碼很長你就要複製更多的HTML,身為一個程式設計師當然要找到解決的solution.
Solution就是用PyObjC的AppKit啦!!Apple的一些Framework接到python library!
以下就是複製與貼上的程式碼啦!:
from AppKit import *
def pbcopy(input_string):
"Copy string argument to clipboard"
newStr = Foundation.NSString.stringWithString_(input_string).nsstring()
newData = newStr.dataUsingEncoding_(Foundation.NSUTF8StringEncoding)
board = NSPasteboard.generalPasteboard()
board.declareTypes_owner_([NSStringPboardType], None)
board.setData_forType_(newData, NSStringPboardType)
def pbpaste():
"Returns contents of clipboard"
board = NSPasteboard.generalPasteboard()
content = board.stringForType_(NSStringPboardType)
return content
程式碼貼到Blogger上
最後就是在Blogger上打Command + v!打完收工。
P.S.上述程式碼都還滿容易的,有需要完整程式碼可以寫信給我!