2009-05-14

[筆記] Blogger的繼續閱讀(二)

上次在Tech Dreams看到繼續閱讀的功能,但是用在我的blog上卻有點問題。
只要我使用標籤搜尋文章,如果文章過多,sidebar就會消失,而且沒有設定"繼續閱讀"的文章也會出現"繼續閱讀"的字樣,因此我又找了另一種繼續閱讀的方法來測試!
首先進入編輯html,請記得把"展開小裝置範本"打勾,找到]]></b:skin>
]]></b:skin>之後,</head>之前加入下面的程式碼
<script type='text/Javascript'>
function hidePost(postUrl)
{
var label=document.getElementById("fullpost");
if(label!=null){
eA = document.createElement("a");
eA.setAttribute("href",postUrl);
eA.setAttribute("title","Read More");
eA.appendChild(document.createTextNode("Read More..."));
eB = document.createElement("p");
eB.setAttribute("id","read-more");
eB.appendChild(eA);
label.parentNode.appendChild(eB);
label.parentNode.removeChild(label);}
}
</script>
註:背景為綠色部分,可自行更改

接下來找到
<data:post.body/>
用下面的code取代它
<data:post.body/>
<b:if cond='data:blog.pageType !=
"item"'>
<b:if cond='data:post.url'>
<script type='text/javascript'>hidePost('<data:post.url/>');</script>

</b:if>
</b:if>

最後,把想要隱藏文章部份,置入<div id="fullpost">與</div>中即可,如下所示:<div id="fullpost"> 隱藏部分的文章 </div>
可以用css控制read more標籤,置左置右、字型或是超連結...等等
#read-more{.....}
#read-more a {.....}

參考資料:Chagg's 嘴砲日記Blogger Beta 繼續閱讀功能改良

標籤:

[遊戲] 網頁小遊戲-經營大排檔

下午在設定iGoogle的時候,將Flash遊戲也設定在其一,想不到就點到了一個很特別的遊戲網站。
網站裡提供很多很玩的小遊戲,剛開始我點到的遊戲是"經營大排檔"。
經營大排檔

玩法很簡單:只要把客人要的食物煮好,放在盤子裡頭再送上去給客人就好啦!如果客人要喝酒,只要拿開罐器把酒瓶打開,再送到客人桌上就好!
雖然有提供玩法,還有提供菜煮好的樣子可以對照,不過我除了開酒最厲害以外,煮菜就一團糟了!唯一成功過一次,其他都把菜送給垃圾桶了,可能還要再多練習一下才能上手吧!
經營大排檔玩法

標籤:

[筆記] 結合發表文章的日曆模組

今天在瀏覽網站的時候,看到Abin's Tech Note裡面有記載結合發表文章的日曆模組,可以讓我的sidebar變得簡潔點,同時也很方便依照日期找尋文章。
  1. 在]]></b:skin>之前輸入日曆外觀顏色的 CSS 樣式定義,如果對顏色、字型大小、靠左靠右有特別需求的,請自行改下面的樣式。
    /* Feed Calendar Styles */
    #Calendar {
    margin: 0px;
    }
    #Calendar .act {
    color: #fff;
    padding: 4px;
    }
    #CalendarTable table {
    border-collapse: collapse;
    padding: 0px;
    border: 0px;
    }
    #CalendarTable table th {
    padding: 1px;
    color: #777;
    margin: 0;
    }
    #CalendarTable table td {
    height: 25px;
    color: #999;
    text-align: center;
    padding: 1px;
    margin: 0;
    }
    #CalendarTable table td a {
    display: block;
    }
    #CalendarTable .Today {
    color: #fff;
    background: #777;
    }
    #CalendarTable .Today a {
    color: #fff;
    }
    #CalendarTable .Weekend {
    color: #997777;
    }


  2. 在]]></b:skin>之後,</head>之前加入下面的Java Script。
    <script type='text/javascript'>
    //<![CDATA[
    <!-- Script functions for generating Feed Calendar: generateCalendar(), collectPost(), BrowsePrev(), BrowseNext(), BackToday() -->
    var baseURL = '';
    var currentDay = new Date();
    var today = new Date();
    var monthLabels = new Array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
    var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var weekLabels = new Array('一','二','三','四','五','六','日');

    function generateCalendar(){
    var thisYear = currentDay.getFullYear();
    var thisMonth = monthLabels[currentDay.getMonth()];
    var thisDay = today.getDate();
    var nDays = monthDays[currentDay.getMonth()];
    if (currentDay.getMonth() == 1 &&(((thisYear % 4 == 0) && (thisYear % 100 != 0)) || (thisYear % 400 == 0)))
    nDays = 29;
    var IsitNow = currentDay;
    IsitNow.setDate(1);
    var startDay = IsitNow.getDay() - 1;
    if (startDay < 0)
    startDay = 6;
    var sCalendarCode = '<table><tr>';
    for (var index=0;index<7;index++)
    sCalendarCode+='<th style="width:25px;">'+ weekLabels[index]+'</th>';
    sCalendarCode+='</tr>';
    var nTableCol=0;
    for (index=0;index<startDay;index++) {
    if (nTableCol == 0)
    sCalendarCode += '<tr>';
    sCalendarCode+='<td> </td>';
    nTableCol++;
    }
    for (index=1;index<=nDays;index++) {
    if (nTableCol==0)
    sCalendarCode+='<tr>';
    if (index==thisDay && today.getMonth()==currentDay.getMonth() && today.getFullYear()==currentDay.getFullYear())
    sCalendarCode+='<td id="Day'+index+'" class="Today">';
    else {
    if (nTableCol < 5)
    sCalendarCode+='<td id="Day'+index+'">';
    else
    sCalendarCode+='<td id="Day'+index+'" class="Weekend">';
    }
    sCalendarCode+=index;
    sCalendarCode+='</td>';

    if (nTableCol==6) {
    sCalendarCode+='</tr>';
    nTableCol=0;
    }
    else
    nTableCol++;
    }
    if (nTableCol>0) {
    for (index=0;index<(7-nTableCol);index++) {
    sCalendarCode+='<td> </td>';
    }
    sCalendarCode+='</tr>';
    }
    sCalendarCode+='</table>';
    document.getElementById('CalendarTable').innerHTML = sCalendarCode;

    var sFeedURL = baseURL + '/feeds/posts/summary?orderby=published&published-min='+thisYear+'-'+thisMonth+'-01T00:00:00&published-max='+thisYear+'-'+thisMonth+'-31T23:59:59&max-results=50&alt=json-in-script&callback=collectPost';
    var script = document.createElement('script');
    document.getElementById('CalendarCaption').innerHTML = '<span class="loading">Loading <blink>...</blink></span>';
    script.setAttribute('src', sFeedURL);
    script.setAttribute('type', 'text/javascript');
    document.documentElement.firstChild.appendChild(script);
    }

    function collectPost(json) {
    document.getElementById('CalendarCaption').innerHTML = currentDay.getFullYear()+'-'+monthLabels[currentDay.getMonth()];
    var entries = json.feed.entry;
    var nDay = 0, nCount = 0, nActual = 0;
    var posts = new Array();
    for (var i = 0, post; post = entries[i]; i++) {
    nDay = parseInt(post.published.$t.substr(8,2),10);
    if (i>0&&nDay==parseInt(entries[i-1].published.$t.substr(8,2),10)) {
    var actualDay = post.published.$t.substr(0,10);
    var actualTimezone = post.published.$t.substr(23,6);;
    posts[nActual-1][1] = posts[nActual-1][1]+', '+post.title.$t;
    posts[nActual-1][2] = baseURL +'/search?updated-min='+actualDay+'T00%3A00%3A00'+encodeURIComponent(actualTimezone)+'&updated-max='+actualDay+'T23%3A59%3A59'+encodeURIComponent(actualTimezone);
    } else {
    posts[nActual] = new Array(3);
    posts[nActual][0] = nDay;
    posts[nActual][1] = post.title.$t;
    var j = 0;
    while (j < post.link.length && post.link[j].rel != "alternate")
    j++;
    posts[nActual][2] = post.link[j].href;
    nActual++;
    }
    }
    for (i=0;i<nActual;i++) {
    posts[i][1] = posts[i][1].replace('\"', '"').replace('\'', ''');
    document.getElementById('Day'+posts[i][0]).innerHTML = '<a title="'+posts[i][1]+'" href="'+posts[i][2]+'" target="blank_">'+posts[i][0]+'</a>';
    }
    }

    function BrowsePrev() {
    var thisMonth = currentDay.getMonth()-1;
    var thisYear = currentDay.getFullYear();
    if (thisMonth<0) {
    thisMonth = 11;
    thisYear = thisYear-1;
    }
    thisMonth = monthLabels[thisMonth];
    currentDay = new Date(thisYear+'/'+thisMonth+'/1 00:01');
    generateCalendar();
    }

    function BrowseNext() {
    var thisMonth = currentDay.getMonth()+1;
    var thisYear = currentDay.getFullYear();
    if (thisMonth>11) {
    thisMonth = 0;
    thisYear = thisYear+1;
    }
    thisMonth = monthLabels[thisMonth];
    currentDay = new Date(thisYear+'/'+thisMonth+'/1 00:01');
    generateCalendar();
    }

    function BackToday() {
    currentDay = new Date();
    generateCalendar();
    }
    //]]>
    </script>

    樣板原始碼的修改到此先存檔。

  3. 接下來安排這個新日曆模組的位置。換到「網頁元素」的設定,在你想置放日曆的地方新增一個網頁元素,選擇 HTML/JavaScript 類型。接下來給個標題,然後貼入以下的 HTML 程式:
    <center>
    <table border="0" id="Calendar" cellpadding="0" cellspacing="0">
    <caption>
    <a href="#" onclick="javascript:BrowsePrev();return false;" title="Previous Month"><<</a>     
    <a href="#" onclick="javascript:BackToday();return false;" title="Back to Today"> <span id="CalendarCaption"> </span></a>     
    <a href="#" onclick="javascript:BrowseNext();return false;" title="Next Month">>></a>
    </caption>
    <tr>
    <td id="CalendarTable" class="act"> </td>
    </tr>
    </table>
    <script type="text/javascript">
    generateCalendar();
    </script>
    </center>

    存檔以後,就大功告成啦!

>

參考資料:Abin's Tech Note:結合發表文章的日曆模組

標籤:

2009-05-11

2009.5.11 第三次產檢-可能是女寶寶喔!

今天是第三次產檢(滿16周囉)!
在表姐的建議下換了醫生,看診的時間也從下午變成上午,時間上也比較好利用,不需要等到下午才能看診。
首先先到檢查室驗尿、量體重和血壓,這是每次產檢的必要流程。驗尿結果正常,血壓也沒有因為剛爬樓梯就很高,倒是體重少了一公斤,真是神奇!後來護士小姐跟我說今天要抽血,聽完以後我都快暈了,上次不是已經抽血檢查了,為什麼這次還要抽血?護士說這次是檢查唐氏症,是不一樣的,所以還是要再抽血!還順帶一提,懷孕期間總共要抽三次血,聽到以後我都快暈了,也顧不得他說要檢查的項目有哪些!
檢查室檢查完以後,因為是第一胎,所以要到隔壁的衛教室上課。護士小姐拿了一疊紙張跟我介紹應該要多吃什麼,少吃什麼,尤其麻辣鍋不要吃。講到麻辣鍋就心虛,因為前不久才跟老媽去吃鼎王,酸菜白肉鍋和麻辣鍋都吃了,不曉得可不可以被原諒@@" 後來護士小姐又說了一些應該要做的運動,未來可以舒緩一下身體上的不適!解釋完以後,護士小姐很貼心的強調原本的醫生與現在要看的醫生的差異性,要我先有心理上的準備。
等待看診的時候,我一直再重複我要問的問題,也順便告訴Dean要好好牢記起來。輪到我看診的時候,醫生先說我上次檢查結果一切正常,也沒有地中海貧血,真是謝天謝地,擔心的事少了一件!後來醫生也安排了照超音波,護士小姐給了一張紙以後,跟我說要是沒問題就不用再回診間了。
我跟Dean一頭霧水,因為一般照超音波都要在拿到診間給醫生說明一下。後來才發現原來醫生會親自到超音波是來幫我照超音波,順便做點解釋,除非比較有問題,才需要再回到診間做詳細說明。
醫生說寶寶一且正常,我和Dean也順便問是否要照高層次高音波,還有能看到性別嗎??(原本Dean要問醫生寶寶的眼睛大不大?我要他別為難醫生了)醫生說那得看寶寶願不願意給我們看了。後來醫生就哇啦啦說了一串,很正常阿,但是性別看不太出來,可能是女生,等下個月再來看看器官正常否再決定要不要進一步照高層次高音波,下個月也在確定一下性別好了!
因為很難斷定性別,所以我跟Dean都先當他是女生,因為Dean說未來女生比較好賺錢,然後舉了一堆例子。他說要是生男生還要幫他準備一筆錢,不然以後就娶不到老婆了,也麻煩!我覺得他真的想太多了,等小孩長大還要很久,居然已經想到他結婚生子的事情了,真是誇張的爸爸!

標籤:

2009-05-07

2009.5.7 還是決定換醫生了

早上收到表姐的簡訊,跟我說有兩位醫生較有經驗!
前幾天跟老公和媽媽討論以後,決定還是要換醫生。因為表姐本來就是個很謹慎的人,加上我也不是二十幾歲的年輕小女生了,所以還是決定換個較有經驗的醫生,感覺也安心點!
希望下周去看醫生的時候,也能有很好的感覺!

標籤: