cockscomb.info - tagged with theme http://cockscomb.info/feed ja http://blogs.law.harvard.edu/tech/rss Sweetcron mail@cockscomb.info Sweetcron の Boxy But Good で Delicious を表示する http://cockscomb.info/items/view/127/sweetcron-boxy-but-good-delicious

_activity_feed.php に

<!-- this item came from delicious.com -->
<?php elseif ($item->get_feed_domain() == 'delicious.com'): ?>
<li class="activity_item link<?php if ($i % 3 == 0):?> last<?php endif;?>">
<div class="activity_list_inner">
<span class="type_label link"></span>
<div class="link_container">
<a href="<?php echo $item->get_original_permalink()?>"><?php echo $item->get_title()?></a>
<div>
<?php echo mb_strimwidth(strip_tags($item->get_content()), 0, 200, "...")?>
</div>
<cite>via <a href="<?php echo $item->get_original_permalink()?>">delicious.com</a></cite>
</div>

こういう感じで書き足すといいよ。ほとんど digg.com と同じだから、Digg の下のとこにでも入れておけば。

それと single.php にも同じように

<!-- this item came from delicious.com -->
 <?php elseif ($item->get_feed_domain() == 'delicious.com'): ?>
<div id="single_container" class="link">
<div class="activity_list_inner">
<span class="type_label link"></span>
<div class="link_container">
<a href="<?php echo $item->get_original_permalink()?>"><?php echo $item->get_title()?></a>
<div>
<?php echo $item->get_content()?>
</div>
<cite>via <a href="<?php echo $item->get_original_permalink()?>">delicious.com</a></cite>
</div>

これを書き加えれば好いかな。

]]>
Sun, 07 Sep 2008 04:12:08 +0900 http://cockscomb.info/items/view/127/sweetcron-boxy-but-good-delicious
Sweetcron Memo http://cockscomb.info/items/view/129/sweetcron-memo

トップページの表示が崩れるのを解決

これはテーマファイルの中で使っている「word_limiter()」が日本語非対応っていう問題。

system/application/view/themes/boxy_but_good/

っていうディレクトリにある「_activity_feed.php」の

word_limiter(strip_tags($item->get_content()), 25)

っていうところを

mb_strimwidth(strip_tags($item->get_content()), 0, 200, "...")

に書き換えると良い結果が得られました。単純に関数を換えただけですね。「200」っていうのは閾値なんだけど、微妙に200で100文字とかになる気がする。

ブログとかのタグをそのまま表示する

Sweetcronで他のブログなどからフィードを取得すると、シングルページでもタグが無視されて見難くなります。これを避けるにはプラグインを書くのが早いと思います。

まず自分のブログのドメインをファイル名に含めたPHPスクリプトを作ります。「yourblog.com」というドメイン名なら、「yourblog_com.php」という風になります。ドメインの中の「.」を「_」に置き換えるんですね。僕の場合「blog.cockscomb.info」というドメインなので「blog_cockscomb_info.php」になりました。

次にスクリプトの中身ですが

item_content = $item->item_data['content'];
                return $item;
        }
}
?>

このようになります。「yourblog_com」の部分は先ほどのファイル名と同じように、ドメインにあわせて換えてください。簡単に何をしているか説明すると、プラグインでは2つのフックを利用でき、データベースに格納する前の「pre_db()」と表示する前の「pre_display()」があります。このうち表示する前のところで、通常タグをストリップされた状態の「item_content」に生のデータが格納された配列の「item_data」のうちコンテント部分を直接つっこむだけの簡単なお仕事です。ちょっと無茶している感じもしますが、まあ自分のブログだから大丈夫かな。わかんないけど。

で、これを

system/application/plugins/

ディレクトリに保存すれば、多分大丈夫だと思うよ。

誰か助けて欲しい

結構ここまでは頑張ったんだけど、なぜかUTF-8のBOMかなんかが意味わかんないことになってて、ブラウザにDOCTYPE宣言が認識されないくさい。CORESERVER固有の問題かも分からないけど、本当マジわかんないから誰か教えてください。Internet Explorerとかで酷いことになってる。

]]>
Mon, 01 Sep 2008 14:36:10 +0900 http://cockscomb.info/items/view/129/sweetcron-memo