yuu_nkjm blog


2009-07-24(Fri) [長年日記] 編集

[tDiary] tDiary2.2.1から2.3.2に更新中

2.3.2に置きかえてみた.

2.3.x以降の移行でも必要な作業

  • tDiaryのインストールフォルダを"diary",tDiaryの日記を格納するディレクトリを"tdiary_db"とする.
  • "diary"を"diary_old"に名前を変更する.
  • 現在の安定した最新版のtDiary2.3.2をダウンロード.解凍し,名前をdiaryに.
  • .htaccessとtdiary.confをコピー.
    cp -a diary_old/.htaccess diary_old/tdiary.conf diary/
  • 自分で作ったthemeをコピー
    cp -a diary_old/theme/yuu diary/theme
  • 自分で作ったimagesディレクトリ,filesディレクトリをコピー
    cp -a diary_old/images diary_old/files diary
  • misc/plugin以下で自分で追加したものをコピー.
    cp -a diary_old/misc/plugin/category_to_tagcloud.rb diary_old/misc/plugin/navi_user.rb diary_old/misc/plugin/navi-this-month.rb diary_old/misc/plugin/notify_twitter.rb diary_old/misc/plugin/ping.rb diary/misc/plugin

    diary_old/misc/plugin/permalink.rb

    が腐ってるっぽいのでコピーしなかった.
  • msearchプラグインを移動
    cp -a diary_old/util diary
  • squeeze.rbに実行権限を与える.
    chmod +x /home/hoge/diary/misc/plugin/squeeze.rb
  • squeeze.rbをcronで回す.crontabで以下のように書く.
    /home/hoge/diary/misc/plugin/squeeze.rb -p /home/hoge/diary/yuu/diary -c /home/hoge/diary/yuu/diary /home/hoge/diary/yuu/tdiary_db/squeeze
  • squeeze.rbに必要なskel/daysq.rhtmlをコピー.
    cp -a diary_old/skel/daysq.rhtml diary/skel
  • diaryフォルダの直下に設置するpluginをコピー.
    cp -a diary_old/hatena_bookmark_counter.rb diary
  • RSSファイルをコピー.
    cp -a diary_old/*.rdf diary
  • Google Analytics用のファイルをコピー
    cp -a diary_old/google*.html diary

今回EUCからUTF-8に変わるから必要な作業

  • カテゴリが文字化けしていたので,日記dbのcacheのクリア.
    rm tdiary_db/cache/*
  • リンク元が文字化けするので,日記の下の*.tdrのクリア.リンク元の情報はご破算にしてしまおう.EUCがURLエンコーディングされたものを,URLデコードして,それをUTFに変換して,それをまたURLエンコーディングする元気はない.
    find ./tdiary_db -name "*.tdr"|xargs rm
  • navi-this-month.rbの文字コードを変更してコピー.
    cat diary_old/misc/plugin/permalink.rb.bak |nkf -w > diary/misc/plugin/permalink.rb
  • notify_twitter.rbでEUC-JPと書かれているところをUTF8に変更.

2009-07-20(Mon) [長年日記] 編集

[Pukiwiki] pukiwiki(PukiWiki Plus!)のまとめ

pukiwikiのグローバル設定の注意

グローバルな設定をpukiwiki.usr.ini.phpに書いている.例えば,以下の様な設定である.

// PLUS_ALLOW_SESSION - Allow / Prohibit using Session
define('PLUS_ALLOW_SESSION', 1);
 
// 認証せずには閲覧できない
define('PLUS_PROTECT_MODE', 5); // 0,2,3,4,5

pukiwiki.ini.phpの設定を変更しても有効にならないなーと思った時はここでハマっていないかをチェックする.

導入しているプラグイン

Pukiwiki Plus!とmonobookというものを使っている.sonots'さんのプラグインを多く導入している.


2009-07-16(Thu) [長年日記] 編集

[Pukiwiki] pukiwikiとプラグインのソースコード改変のログ

設定だけでなく,プログラムを書きかえたログ.

2009-01-30 monobook skin にtopicpathを追加

skin/monobook/monobook.skin.phpかな?

   <div class="autopagerize_page_element" id="content"<?php echo $background ?>>
    <h1 class="firstHeading"><?php echo $display_title ?></h1>
   <?php if (arg_check('read') && exist_plugin_inline('topicpath')) {
     echo '<div class="topicpath">' . do_plugin_inline('topicpath') . '</div>';
   } ?>
    <div id="contentSub"></div>

2009-06-20 sonots タグプラグインで表示されるページリストに日付を付ける

tag.class.php

 function get_tag_uri($tagtok)
 {
     return get_script_uri() . '?cmd=taglist&tag=' . rawurlencode($tagtok);
 }

 return get_script_uri() . '?cmd=taglist&sort=date&date=true&next=true&num=1:20&tag=' . rawurlencode($tagtok);

tagclass.inc.phpのaddurlを変更

 function display_tagcloud($limit = null, $relate_tag = null)
 {
         $addurl = "&sort=date&date=true&next=true&num=1:20";
 }

taglist.inc.php

 foreach ($links as $i => $link) {
     $items[$i] = $links[$i];
     if (isset($infos[$i])) $items[$i] .= ' ' . $infos[$i];
     if (isset($tocs[$i])) $items[$i] .= $tocs[$i];
 }

から↓へ

 if (isset($infos[$i])) $items[$i] = $infos[$i];
 $items[$i] .= $links[$i];

2009-01-19 Tagcloudのtaglistの振る舞いを変更

sonots/tag.class.phpを変更

function display_tagcloud($limit = null, $relate_tag = null)
{
    $view = new TagCloud();
    $tagcloud = $this->get_tagcloud($limit, $relate_tag);
    foreach ($tagcloud as $tag => $count) {
        $url = $this->get_tag_uri($tag);
        $addurl = "&sort=date&num=1:5&next=true&include=(titlestr=title))";
        $url = $url.$addurl;
        //var_dump($url);
        $view->add(htmlspecialchars($tag), $url, $count);

2009-01-19 listingプラグインの改造

lookupからURLベースでよべるようにactionタイプのメソッドを追加.

function plugin_listing_action(){
       global $non_list,$vars;
       $args = $vars;
       unset($args["cmd"]);
       unset($args["page"]);
       //var_dump($args);
       $cond = ltrim(rtrim(array_shift($args)));
       $lex = new LexicalAnalysis($cond);
       $exp = new NTExpression($lex->analyze());
 
       $result = $exp->parse();
       $result = $exp->check_non_list($result,PLUGIN_LISTING_NO_DISP);
       $result = $exp->check_non_list($result,PLUGIN_LISTING_NO_DISP_WITH_NON_LIST ? $non_list : "");
 
       $pages = array();
       foreach ($result as $page){
               $pages[$page] = '';
       }
       $decorator = Decorator::make($args);
       //var_dump($decorator->decorate($pages));
       return array('msg'=>'Listing Plugin', 'body'=>$decorator->decorate($pages));
}

最終行において,msgはページのタイトル,bodyは本文を表す.また,global $vars;でHTTPの引数が取れる.

2009-01-05 attachする時の枠のサイズを大きくした

attach.inc.phpにて

 <input type="file" size="96" name="attach_file" id="_p_attach_file" />

2005-10-18 TopicPathでTop(Frontpage)が表示されるように改造

自前でTopへのリンクを追加.これでルートにいるときでも,Topへのリンクが生成される.

 return '
'. 'Top > '. plugin_topicpath_inline()\ . '
';

2005-10-18 一覧を日本語でソート

pukiwiki.ini.phpを変更
 // Enable page-reading feature by calling ChaSen or KAKASHI
 command (0:Enable, 1:Disable)
 
 $pagereading_enable = 1;
  :config/PageReading/dict
ってファイルにルールを追加

トップ 最新 追記 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|