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 ってファイルにルールを追加
[ツッコミを入れる]