從Roodo樂多日誌Blog搬家到wordpress之後,寫了一段javascript把原本在roodo的頁面各別導向wordpress的對應頁面。包含:
- 首頁
導到新blog(wordpress)的首頁,這最基本的。 - 分類頁
原roodo的分類頁連結,會轉換到新blog(wordpress)的對應分類上。
(點我試試: http://blog.roodo.com/dabinn/archives/cat_157035.html ) - 文章頁
原roodo文章連結,會轉換到新blog(wordpress)對應的文章。
(點我試試: http://blog.roodo.com/dabinn/archives/28375293.html )
作法
Roodo blog不知為何沒有防堵javascript,我就把javascript插在日誌基本管理
的簡介
那一欄上
網址的規則:Roodo
從網頁標題去判斷
先看有沒文章標題,樂多的文章網頁標題會長這樣:
- 簡單切換Android market到美國地區方法 (不需root) – Dabinn的筆記 – 樂多日誌
- 無線影音傳輸 – Dabinn的筆記 – 樂多日誌
如果沒有,那有可能是分類或首頁,分類的網頁標題長這樣:
- Dabinn的筆記:週邊3C分類文章簡文 – 樂多日誌
再沒有的話,那應該就是在首頁了,首頁的標題是這樣
- Dabinn的筆記 – 樂多日誌
網址的規則:Wordpress
分類頁
文章頁要看Wordpress設定,我的是
WordPress文章頁網址的處理
WordPress文章的網址不能直接拿文章標題來用,必需作一些轉換才行
我找不到wordpress的網址規則的說明
只好自己試了試,規則大致上是這樣
- 空格、句點(.)和加號(+),取代為減號(-)
- 其它符號都刪掉 (底線(_)符號不確定,暫先保留)
- 英文轉為全小寫 (不轉也沒關係)
- 字串長度限制:過長的標題會被截掉,這邊不太清楚他的邏輯,暫不處理
- ndsl-nds-lite-麥克風-mic-microphone-壞了壞掉故障失效沒反應問題-修 <– 這被截掉
- The problem with Logitech SetPoint 5.20/6.00 (APP auto detection not working properly) <– 這更長反而可以
這邊用javascript作比較麻煩的是,因為javscript不認得中文,用正規表達式來搜尋\W(字母以外的其它符號)進行取代的話,會連中文都一起刪光光。
\u2E80-\u9FFF
\uAC00-\uD7FF
\uF900-\uFFFD
Code
寫好的JS在這,歡迎自行修改使用。
<span id="msgdisp" style="color:red; font-weight:1000;"> <a href=" http://blog.dabinn.net/">http://blog.dabinn.net/</a></span>
<script>
/* redirect to new blog */
var newBlog = "http://blog.dabinn.net/";
var timeToGo = 10;
var newUrl = "";
var msgdisp = document.getElementById("msgdisp");
var title = document.title;
var article = title.replace(/(.+) - Dabinn的筆記.*/, "$1");
if (article != title) { //This is an artitle page
//deal with wordpress format
newUrl = article.replace(/[ \.\+]+/g, "-").replace(/[^0-9A-Z_\-\u2E80-\u9FFF\uAC00-\uD7FF\uF900-\uFFFD]/gi, "").replace(/[\-]+/g, "-").toLowerCase() +"/";
} else { //This is a blog home or catelog page
var catelog = title.replace(/Dabinn的筆記:(.+)分類文章.*/, "$1");
if (catelog != title) { //This is an artitle page
newUrl = "category/"+catelog+"/";
}
}
newUrl = newBlog + newUrl;
newUrlHTML = "<span id=\"timeToGo\" style=\"color:red; font-weight:5000; font-size:4em;\">"+timeToGo+"</span> 準備進行超空間跳躍!新座標是: <a href=\""+newUrl+"\" style=\"color:blue; font-weight:1000;\">"+newUrl+"</a>";
msgdisp.innerHTML = newUrlHTML;
tomToGoNode = document.getElementById("timeToGo");
var timeBegin = new Date().getTime();
setInterval("gotoNewBlog()", 300);
function gotoNewBlog() {
timeLeft = timeToGo*1000 - (new Date().getTime()- timeBegin);
timeLeftShow = Math.ceil(timeLeft / 1000);
if (timeLeftShow < 0) timeLeftShow = 0;
tomToGoNode.innerHTML = timeLeftShow;
if (timeLeft <= 0) {
location.href = newUrl;
}
}
</script>
--
現在還在寫blog分享資訊的人越來越少,如果覺得文章對您有幫助,歡迎在底下留言,這樣我也比較有動力繼續寫下去,謝啦!