On twitter

RT @christiney35: 最近很多人介紹新朋友合作,真好。我也需要人家介紹 Python 工程師耶~快來吧,Python 工程師!! #fb

follow me on twitter

Posts Tagged ‘Blog’

網誌青年運動會 BOF 2009 1

波夫 2009

2009年第五屆網誌青年運動會, 9/27 在四四南村呦! 小弟我會在 部落客人生良伴—部落格小工具 這個 session 跟其他大大一起在台上談部落格小工具, 希望我不會亂講話, 或者是講不出東西 XD

微網誌的崛起, 其實身邊朋友的部落格更新頻率是真的有變少, 甚至有些就不更新了, 這對部落格小工具的生存來說真的是個威脅, 這似乎是 blog widget 未來發展需要認真思考的議題。(好難喔~”~)

咳~ 最近工作超忙, 希望能擠出時間來想想一些相關的東西, 避免到時候言之無物。

anyway, 部落格邊欄有空位的人, 幫忙貼一下左邊這張貼紙宣傳一下, 一起來玩吧 :p

September 17th, 2009 Blog Tags: ,

stickeraction blog widgets 製作 0

前天弄了一個 stickeraction 的 widget, 可以讓串連貼紙發起人拿來放在 blog, 會顯示貼紙、串連數、語法等, 應該讓網友串連起來會方便許多, 不過不支援 javascript 的 blog 就沒辦法用就是了, 不過不管, 有在用 stickeraction 的朋友們, 有空的話, 可以幫測一下, 給點建議。 :p

不過目前的外觀應該是比較適合放在 sidebar, 放在內文應該很難看, 之後有機會再來試試, 主要是考慮到貼紙大小不一, 也許放在內文的話得先在 widget 外面先包個有限定寬度的 div 會比較好。

現在在我的 blog 的 sidebar 放上了 stickeraction 串連貼紙的 widget, 看起來還不錯, 不過應該要再加上 powered by stickeraction 之類的東西 XD

而串連發起人的後台也可以看到這個 blog widget 的語法, 發起人可以直接登入 stickeraction 後台來取得語法。接下來還有一些 widget 想弄, 再來就是開發一些 API 了。

February 21st, 2009 stickeraction Tags: , ,

stickeraction 部落格開張囉~ 8

昨天更新了 stickeraction 貼紙管理的界面, 加上了可以指定貼紙”連結 / 轉址”的功能 (其實是之前拿掉了 XD), 後來趁著有空, 就開了 stickeraction 的 blog, 以後 stickeraction 的訊息更新就在那裡發怖了… 只是如果沒人去看… 就…

stickeraction blog
stickeraction on twitter

January 17th, 2009 stickeraction Tags: ,

WordPress 2.7 threaded comments 0

wordpress_threaded_comments
今天在搬我的 blog, 把他從 http://tzangms.com/blog 搬成 http://tzangms.com。 本來首頁一直保留著, 想說之後可以弄個什麼東西的, 不過忘記從哪一版開始的 wordpress 就可以另外把某個 page 指定為首頁, 然後又心血來潮, 所以就乾脆把 blog 往上搬一層。

另外也把 lighttpd 換成 apache, 因為 lighttpd 好像不支援 301 的 redirect 方式。

就玩著玩著, 突然發現了後台的 discussion 設定, 可以開啟 threaded comments, 就開來玩看看了, 哈, 也剛好我目前用的 theme 就有支援 threaded comments, 真不錯! 以後不用再 @ 來 @ 去了 XD

December 26th, 2008 Blog Tags: , ,

MovableType 4 轉 WordPress 2.6 11

記錄一下由 MovableType 轉換至 WordPress 的東西。 其實要從 MT 轉換到 WordPress 還滿簡單的, 只要從 MT 匯出, 在從 WordPress 匯入即可, 不過要顧及 SEO 的部份, 不讓原有的網址失效, 就得花點工夫來處理。

在 MT 的匯出檔案中, 並沒有帶著每篇文章的 post id。 而匯入到 WordPress 之後的 post id, 則是累加上去的, 所以在轉換、匯入到 WordPress 之後, 無法根據文章的 post id 來做 url rewire, 把舊的網址給轉到新的網址。 這麼一來, 舊的網址就會失效, 原本的 page rank 也可以能隨之下降。

所以這裡要來記錄, 如何在轉換之後, 能夠讓原本的網址連至新的網頁。 所以大多都是在針對 post id 的處理, 我們可以根據 post id, 來對應新舊文章。本篇文章以 MT 4.1 轉換至 WordPress 2.6.5 為範例。

在開始之前, 請先試著把 MT 匯出的檔案匯入到 WordPress, 看看是否能夠順利匯入, 因為在匯入的時候, 發現到, 如果有重覆的文章標題 (title), 則無法正常進行匯入。 碰到重覆的文章標題時, php 會 time out。 如果有重覆標題時, 請把重覆的標題改掉。 當匯入正常時, 再進行以下步驟。

1. 首先, 因為 MT 在匯出檔案時, 是不會有 post id 的, 所以必須修改匯出的程式, 讓他可以匯出 post id。可以修改下面這個檔案:

cgi-bin/lib/MT/ImportExport.pm

找到約 480 行, 應該可以看到如下的程式碼:

## Create template for exporting a single entry
require MT::Template;
require MT::Template::Context;
my $tmpl = MT::Template->new;
$tmpl->name('Export Template');
$tmpl->text(<<'TEXT');
AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
TITLE: <$MTEntryTitle strip_linefeeds="1"$>
BASENAME: <$MTEntryBasename$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
CONVERT BREAKS: <$MTEntryFlag flag="convert_breaks"$>
ALLOW PINGS: <$MTEntryFlag flag="allow_pings"$>
PRIMARY CATEGORY: <$MTEntryCategory$>
CATEGORY: <$MTCategoryLabel$>
DATE: <$MTEntryDate format="%m/%d/%Y %I:%M:%S %p"$>
POSTID: <$MTEntryID$>
TAGS: <$MTTagName quote="1"$>
-----
BODY:
<$MTEntryBody convert_breaks="0"$>
-----

在這裡, 只要加上紅色那一行, 即可讓 MT 在匯出時帶有 post id。

2. 在可以匯出有 post id 的檔案之後, 接下來就是要修改 WordPress 匯入的部份, 讓 WordPress 可以讀取檔案中的 post id。 首先修改下面這個檔案:

wp-admin/import/mt.php

找到約 330 行左右, 可以看到如下的程式碼:

            } else if ( 0 === strpos($line, "TITLE:") ) {
                $title = trim( substr($line, strlen("TITLE:")) );
                if ( '' == $context )
                    $post->post_title = $title;
                else if ( 'ping' == $context )
                    $ping->title = $title;
            } else if ( 0 === strpos($line, "POSTID:") ) {
                $post_id = trim( substr($line, strlen("POSTID:")) );
                $post->post_id = $post_id;
            } else if ( 0 === strpos($line, "STATUS:") ) {

只需要加上紅色那三行, 即可讀取到 post id。

3. 接下來則是修改寫入資料庫的部份, 修改下面這個檔案:

wp-include/post.php

約在 1296 行左右, 可以看到程式碼如下:

    if ( 'draft' != $post_status ) {
    ...略...
    }

    $post_ID = (int) $post_id;
    $ID = (int) $post_id;

    // expected_slashed (everything!)
    ...

只需要加上紅色那兩行即可。 將我們所讀取到的 post id, 覆寫到要寫入資料庫的變數, 這麼一來, 之後匯入到 WordPress 的 post id , 就會跟 MT 的 post id 相同, 我們就可以根據這個 post id 來對應新舊文章了!

4. 接著就開始匯入啦! 當然得先把資料庫清空囉。

5. 最後, 在匯入 WordPress 完畢後, 可以在 .htaccess 加上 url rewrite 如下:
PS. WordPress 的 permalink 是選用 Numeric 的形式。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^archives/([0-9]{6})\.php$ archives/$1 [R=301,L]
RewriteRule ^archives/(200[0-9])_([0-9]{1,2})\.php$ archives/date/$1/$2 [R=301,L]
RewriteRule ^cgi-bin/mt-search\.cgi?tag=([^&]+).*$ archives/tag/$1 [R=301,L]
RewriteRule ^atom\.xml$ feed/atom [R=301,L]
RewriteRule ^rss\.xml$ feed [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

差不多就是這樣吧!

喔! 對了, 匯入成功之後, 記得把 wp-include/post.php 改回來嘿。

December 3rd, 2008 Blog Tags: , , ,
Partners of Oceanic / 人生海海

jiwosca