pict-drupal-module.pngGeSHiフィルタは当サイトでプログラムコードなどを記事中に掲載する場合に使用しているシンタックスハイライティングのためのモジュールです。

対応するプログラム言語は自分で選択することが可能ですし、シンタックスハイライトの色などもスタイルシートで独自に定義することが可能です。

HTMLはこんな感じになります。

  1. <div class="options">
  2. <fieldset class=" collapsible collapsed"><legend>掲載オプション</legend><div class="form-item" id="edit-status-wrapper">
  3.  <label class="option"><input type="checkbox" name="status" id="edit-status" value="1"  checked="checked"  class="form-checkbox" /> 掲載</label>
  4. </div>
  5. <div class="form-item" id="edit-promote-wrapper">
  6.  <label class="option"><input type="checkbox" name="promote" id="edit-promote" value="1"  checked="checked"  class="form-checkbox" /> フロントページへ掲載</label>
  7. </div>
  8. <div class="form-item" id="edit-sticky-wrapper">
  9.  <label class="option"><input type="checkbox" name="sticky" id="edit-sticky" value="1"   class="form-checkbox" /> リスト上部に固定</label>
  10. </div>
  11. </div>

PHPはこんな感じになります。
  1. <?php
  2. function hook_link($type, $object, $teaser = FALSE) {
  3.   $links = array();
  4.  
  5.   if ($type == 'node' && isset($object->parent)) {
  6.     if (!$teaser) {
  7.       if (book_access('create', $object)) {
  8.         $links['book_add_child'] = array(
  9.           'title' => t('add child page'),
  10.           'href' => "node/add/book/parent/$object->nid",
  11.         );
  12.       }
  13.       if (user_access('see printer-friendly version')) {
  14.         $links['book_printer'] = array(
  15.           'title' => t('printer-friendly version'),
  16.           'href' => 'book/export/html/'. $object->nid,
  17.           'attributes' => array('title' => t('Show a printer-friendly version of this book page and its sub-pages.'))
  18.         );
  19.       }
  20.     }
  21.   }
  22. ?>

GeSHiフィルターモジュール・プロジェクトページ
http://drupal.org/project/geshifilter

このモジュールには、GeSHiフィルタ自体は含まれていませんので、以下のURLから最新版を入手して、モジュールをインストールする際に一緒にインストールする必要があります。

GeSHi - Generic Syntax Highlighter
http://qbnz.com/highlighter/

ここから入手したアーカイブを展開するとgeshiというディレクトリになりますので、このディレクトリをはじめにインストールしたGeSHiフィルターモジュールのディレクトリの下にそのままそっくりコピーします。 つまり、モジュールのインストール先が「/drupal/site/all/modules/geshifilter」だとすると、「/drupal/site/all/modules/geshifilter/geshi」というディレクトリになるわけです。

あとは、管理セクションでモジュールを有効化したのち、管理セクション>入力書式の設定ページで、GeSHiフィルタを有効にする必要があります。 細かい設定は管理セクションのGeSHiフィルタの設定ページからおこなえますが、まず自分が使う言語のリストを作成します。

これが終わればあとは実際のプログラムコードを<code language="XXX"></code>で囲んでやればOKです。language="XXX"の部分はPHPなら"php"、HTMLなら"html4strict"といった感じです。

デフォルトでは、<code></code>もしくは<blockcode></blockcode>タグが対応していますが、これは変更可能です。また、言語指定のlanguage="XXXX"lang="XXXX"もしくはtype="XXXX"でもOKです。ただし、"XXXX"の部分は大文字ではダメです。たとえばPHPの場合は必ず小文字で"php"という感じにしましょう。この言語指定に使う文字はGeSHiフィルタの環境設定ページで見ることができます。

 

まだ投票はありません