本文介紹 Pygments 的程式碼編排服務,這個 Web 服務可以將程式碼轉換為 HTML 格式,然後再將 HTML 貼至 Blogger 中,即可在 Blogger 中顯示編排及美化後的程式碼。
另外有一個 JavaScript 寫的 SyntaxHighlier 程式庫可以使用 JavaScript 來編排程式碼,但是 Blogger 沒辦法上傳 .js 檔,而且不支援 ActionScript 代碼轉換。
Pygments 支援一般常見的程式碼轉換,只要不太過於冷門的都有支援, Pygement 是 Python 寫的 OpenSource 程式庫。
在首頁中有一個介面,有幾個欄位是必填的,首先輸入 Code Description, 然後選取程式語言(Language), 之後把程式碼貼上,按 Hightlight 按鈕即會輸出 HTML。
然後觀看此頁的原始碼,將以下這段截取下來,貼至 Bloger 文章裡。
最後把程式碼的樣式貼至 Blogger 的樣版裡,如果想改變程式碼的顏色可以改 pygments_style.css 裡的內容。
http://pygments.org/media/pygments_style.css
<style type='text/css'>
.syntax { background: #111111; color: #ffffff }
.syntax .c { color: #008800; font-style: italic; background-color: #0f140f } /* Comment */
.syntax .err { color: #ffffff } /* Error */
.syntax .g { color: #ffffff } /* Generic */
.syntax .k { color: #fb660a; font-weight: bold } /* Keyword */
.syntax .l { color: #ffffff } /* Literal */
.syntax .n { color: #ffffff } /* Name */
.syntax .o { color: #ffffff } /* Operator */
.syntax .x { color: #ffffff } /* Other */
.syntax .p { color: #ffffff } /* Punctuation */
.syntax .cm { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Multiline */
.syntax .cp { color: #ff0007; font-weight: bold; font-style: italic; background-color: #0f140f } /* Comment.Preproc */
.syntax .c1 { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Single */
.syntax .cs { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Special */
.syntax .gd { color: #ffffff } /* Generic.Deleted */
.syntax .ge { color: #ffffff } /* Generic.Emph */
.syntax .gr { color: #ffffff } /* Generic.Error */
.syntax .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
.syntax .gi { color: #ffffff } /* Generic.Inserted */
.syntax .go { color: #444444; background-color: #222222 } /* Generic.Output */
.syntax .gp { color: #ffffff } /* Generic.Prompt */
.syntax .gs { color: #ffffff } /* Generic.Strong */
.syntax .gu { color: #ffffff; font-weight: bold } /* Generic.Subheading */
.syntax .gt { color: #ffffff } /* Generic.Traceback */
.syntax .kc { color: #fb660a; font-weight: bold } /* Keyword.Constant */
.syntax .kd { color: #fb660a; font-weight: bold } /* Keyword.Declaration */
.syntax .kp { color: #fb660a } /* Keyword.Pseudo */
.syntax .kr { color: #fb660a; font-weight: bold } /* Keyword.Reserved */
.syntax .kt { color: #cdcaa9; font-weight: bold } /* Keyword.Type */
.syntax .ld { color: #ffffff } /* Literal.Date */
.syntax .m { color: #0086f7; font-weight: bold } /* Literal.Number */
.syntax .s { color: #0086d2 } /* Literal.String */
.syntax .na { color: #ff0086; font-weight: bold } /* Name.Attribute */
.syntax .nb { color: #ffffff } /* Name.Builtin */
.syntax .nc { color: #ffffff } /* Name.Class */
.syntax .no { color: #0086d2 } /* Name.Constant */
.syntax .nd { color: #ffffff } /* Name.Decorator */
.syntax .ni { color: #ffffff } /* Name.Entity */
.syntax .ne { color: #ffffff } /* Name.Exception */
.syntax .nf { color: #ff0086; font-weight: bold } /* Name.Function */
.syntax .nl { color: #ffffff } /* Name.Label */
.syntax .nn { color: #ffffff } /* Name.Namespace */
.syntax .nx { color: #ffffff } /* Name.Other */
.syntax .py { color: #ffffff } /* Name.Property */
.syntax .nt { color: #fb660a; font-weight: bold } /* Name.Tag */
.syntax .nv { color: #fb660a } /* Name.Variable */
.syntax .ow { color: #ffffff } /* Operator.Word */
.syntax .w { color: #888888 } /* Text.Whitespace */
.syntax .mf { color: #0086f7; font-weight: bold } /* Literal.Number.Float */
.syntax .mh { color: #0086f7; font-weight: bold } /* Literal.Number.Hex */
.syntax .mi { color: #0086f7; font-weight: bold } /* Literal.Number.Integer */
.syntax .mo { color: #0086f7; font-weight: bold } /* Literal.Number.Oct */
.syntax .sb { color: #0086d2 } /* Literal.String.Backtick */
.syntax .sc { color: #0086d2 } /* Literal.String.Char */
.syntax .sd { color: #0086d2 } /* Literal.String.Doc */
.syntax .s2 { color: #0086d2 } /* Literal.String.Double */
.syntax .se { color: #0086d2 } /* Literal.String.Escape */
.syntax .sh { color: #0086d2 } /* Literal.String.Heredoc */
.syntax .si { color: #0086d2 } /* Literal.String.Interpol */
.syntax .sx { color: #0086d2 } /* Literal.String.Other */
.syntax .sr { color: #0086d2 } /* Literal.String.Regex */
.syntax .s1 { color: #0086d2 } /* Literal.String.Single */
.syntax .ss { color: #0086d2 } /* Literal.String.Symbol */
.syntax .bp { color: #ffffff } /* Name.Builtin.Pseudo */
.syntax .vc { color: #fb660a } /* Name.Variable.Class */
.syntax .vg { color: #fb660a } /* Name.Variable.Global */
.syntax .vi { color: #fb660a } /* Name.Variable.Instance */
.syntax .il { color: #0086f7; font-weight: bold } /* Literal.Number.Integer.Long */
</style>
0 pushs:
張貼留言