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