プログラムソース
GCP
|
WEB ページ作成基準google code prettifygoogle code prettify を使い WEB ページ (html, php) でプログラムのソースコードを表示する方法を示します. 目次google code prettify とはgoogle code prettify はいわゆるシンタックスハイライターと呼ばれるものです.詳細な設定方法は,私の別のページ「google code prettify」を参照下さい.これを使うと,以下のようにソースコードを表示することができます.私の Emacs 風です. # -*- coding:utf-8 -*- ''' Hello world のサンプルプログラム ''' # ============================================ # クラス: Print_Text # ============================================ class Print_Text(): ''' テキストを表示するプログラム ''' def __init__(self, text): '''初期化ルーチン''' self.text = text def print(self, n): # n回の繰り返し '''テキストを n 回表示する''' for i in range(n): print('{0:s}'.format(self.text)) # ============================================ # メインルーチン # ============================================ if __name__ == '__main__': hello = Print_Text('Hello wold !') hello.print(5) 設定google code prettify の JavaScript のロードには二通りあります.この読み込み方法を示します. ソースコードの表示の仕方を設定している css はページ全体の css ファイル「stylesheet.css」に記述しています(私の場合).そのため,この JavaScript「run_prettify.js」は CSS ファイルの前に記述する必要があります.CSS の具体的な内容について,「スタイル (my_gcp) の内容」に示します. オートローダー外部のサーバーから JavaScript を読み込むために,html のヘッダーに以下を記載します. <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script>
<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/言語指定.js"></script>
二行目は無くても大丈夫ですが,表示がおかしくなることがあります.その場合,そのページで使っている言語の JavaScript を読み込むと直ります.使用可能な言語の JavaScript は以下のとおりです. ローカルファイル読み込み自分のサーバーの google code prettify の JavaScript を読み込む場合は,以下のように記述します.私の WEB サイトでは,この方法が推奨です. <script type="text/javascript" src="相対パス/js/google-code-prettify/run_prettify.js"></script> <script type="text/javascript" src="相対パス/js/google-code-prettify/言語.js"></script> 赤字の部分を修正し,html のヘッダーに記述します.言語の部分は,前節と同じです. 本文の記載本文中にプログラムのソースコードを記載します.html 中に直接コードを書く方法と PHP プログラムで読み込むふた通りの方法があります. 直接ソースコードを書くhtml 中に直接ソースコードを記載する場合は,以下のようにします. <pre class="prettyprint 言語 行番号 my_gcp" style="必要に応じて"> プログラムのソースコードを記載 </pre>
プログラムを使うプログラム「mk_html.php」を使うと,ソースコードを PHP で読み込むことができます.このプログラムをつかうためには,本文の最初の方の PHP の部分に以下を記述します. include "パス/www_func/mk_html.php";
プログラムのソースコードの記載は,以下のようにします. <pre class="prettyprint 言語 行番号 my_gcp" style="必要に応じて"> phpのプログラム「mk_html.php」のメソッド「source2html_raw()」でソースコードを読み込みます.パスに示されたソースコードは自動的にファイルが読み込まれ,コード中の html の特殊文字は変換 (例:> → >) されて出力されます. スタイル (my_gcp) の内容google code prettify の表示方法を決めている私の CSS の内容を以下に示します.設定方法については,Google Code Prettify の「自分の好みに設定を修正」に詳しい説明があります. この style を変更する必要がる場合,「<pre class="prettyprint 言語 行番号 my_gcp" style="必要に応じて">」の sytle を書き換えます.よく使われる style は.「style="margin-left:100px; height:auto"」です. /* ====================================================================== */ /* COLOR THEMES FOR GOOGLE CODE PRETTIFY */ /* ====================================================================== */ /*! Color themes for Google Code Prettify | MIT License | github.com/jmblog/color-themes-for-google-code-prettify */ pre.my_gcp{ margin-left:60px; padding:10px; width:500px; height:250px; line-height:100%; overflow-X:auto; overflow-Y:auto; } .prettyprint{ background: darkslategray; font-family: Menlo, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, Consolas, monospace; border: 0 !important; font-size: 10pt; } .pln{ /* Plain text */ color: white; } /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; color: #999999; } li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9{ padding-left: 1em; background-color: darkslategray; list-style-type: decimal; } @media screen { .str{ /* string content */ color: lightsalmon; } .kwd{ /* keyword color: lightskyblue;*/ color: cyan; } .com { /* comment */ color: #ff7f24; } .typ { /* type name */ color: palegreen; } .lit { /* literal value */ color: white; } .pun { /* punctuation */ color: lightskyblue; } .opn { /* lisp open bracket */ color: #fff; } .clo { /* lisp close bracket */ color: #fff; } .tag { /* markup tag name */ color: #e6b422; } .atn { /* markup attribute name */ color: #ccff00; } .atv { /* markup attribute value */ color: #5f9ea0; } .dec { /* declaration */ color: darkgreen; } .var { /* variable name */ color: #ff7f00; } .fun { /* function name */ color: palegreen; } } スタイルの変更CSS をつかうgoogle code prettify の表示方法を変更したい場合があります.特に幅や高さ,マージンなどです.その部分決めてる css 中の「my_gcp」には,以下の通りです. pre.my_gcp{ margin-left:60px; padding:10px; width:500px; height:250px; line-height:100%; overflow-X:auto; overflow-Y:auto; } これらの値を変更する場合は,以下のようにします. <pre class="prettyprint 言語 行番号 my_gcp" style="margin-left:マージンpx; width:幅px; height:高さ(auto, or px);"> また,フォントサイズも変更も可能です.「 注意理由は分かりませんが,「linenums」を指定しない場合,ソースコードの間隔が狭くなります.多分,「line-height:100%」が効いているのでしょう.そこで,line-height:150%」にしても,変化がありません.急場しのぎとして,style に 「line-height:150%」とします.これは,ちゃんと動作します. 注意事項LaTeXLaTeX のソースを GCP で表示するためには,以下の注意が必要です.
ページ作成情報参考資料
更新履歴
|