DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


サイドバー

この翻訳は元のページよりも更新日が古く、内容が古い可能性があります。
このページの翻訳?:

DokuWiki について知る

開発

法人利用

我々のコミュニティ


FacebookTwitterや他のソーシャル・ネットワークからフォローしてください。

ja:plugin:bookmark

Bookmark プラグイン

互換性のある DokuWiki バージョン

互換性情報がない!

plugin リンクアンカーをページ内に挿入します

最終更新日
2005-08-01
種類
Syntax

この拡張は二年以上更新されていません。もはや維持管理や対応がされておらず、互換性に問題がある可能性があります。

類似 anchor

タグ anchor, bookmark, link

解説

このプラグインを使うとページ内にブックマークを挿入することができます。書式はこのようになります。

<BOOKMARK:名称>

この場合、 次のようなコードが挿入されます。

<a name='名称'></a>

インストール

プラグインマネージャーを用いてここからインストールを行います。

プラグイン

新しくフォルダー lib/plugin/bookmark/ を作成し次のファイルをその中に配置します: syntax.php

lib/plugin/bookmark/syntax.php

<?php
/**
 * Plugin bookmark: Creates a bookmark to your document.
 *
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * @author     Otto Vainio <bookmark.plugin@valjakko.net>
 */
 
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
require_once(DOKU_PLUGIN.'syntax.php');
 
/**
 * All DokuWiki plugins to extend the parser/rendering mechanism
 * need to inherit from this class
 */
class syntax_plugin_bookmark extends DokuWiki_Syntax_Plugin {
 
    /**
     * return some info
     */
    function getInfo(){
        return array(
            'author' => 'Otto Vainio',
            'email'  => 'bookmark.plugin@valjakko.net',
            'date'   => '2005-08-01',
            'name'   => 'Bookmark plugin',
            'desc'   => 'a bookmark <a name=\'name\'></a>',
            'url'    => 'http://www.dokuwiki.org/wiki:plugins',
        );
    }
 
    /**
     * What kind of syntax are we?     */
    function getType(){
        return 'substition';
    }
 
    function getSort(){ return 357; }
 
    function connectTo($mode) {
        $this->Lexer->addSpecialPattern('<BOOKMARK:\w+>',$mode,'plugin_bookmark');
    }
 
 
    /**
     * Handle the match
     */
    function handle($match, $state, $pos, &$handler){
        $match = substr($match,10,-1); //strip <BOOKMARK: from start and > from end
        return array(strtolower($match));
    }
 
    /**
     * Create output
     */
    function render($mode, &$renderer, $data) {
        if($mode == 'xhtml'){
            $renderer->doc .= '<a name="' . $data[0] . '" id="' . $data[0]. '"></a>';
            return true;
        }
        return false;
    }
}
?>

ディスカッション

原文(英語)参照。

ja/plugin/bookmark.txt · 最終更新: 2008-09-26 04:17 by 61.114.249.129