:::
顯示具有 Blogger 標籤的文章。 顯示所有文章

在XAMPP設定郵寄服務 / Enable Mail Function in XAMPP

在XAMPP設定郵寄服務 / Enable Mail Function in XAMPP

image

XAMPP是結合ApachePHPMySQLSendmail等多項服務的整合伺服器,是我很常用伺服器套裝軟體。如果要使用XAMPP內建的PHP來寄送郵件(使用mail()),那需要對PHP與Sendmail做些設定。你必要有個郵件傳輸伺服器做搭配,本例是用政大的信箱來做範例。以下我會記錄我成功設定的方式。

XAMPP is a web server tool include Apache, PHP, MySQL, Sendmail and other tools. I usually use XAMPP for deploy web service. If you want to use PHP with XAMPP to send e-mail (using PHP's mail() function), you should configure PHP and Sendmail and prepare a SMTP mail server. In this example, I use my university's mail server: "nccu.edu.tw". To let XAMPP enable mail function, following is my configuration.


郵件傳輸伺服器 / SMTP Mail Sever

要讓php使用mail()寄信,你必須要有個能夠寄信的郵件傳輸伺服器。本文是借用政大的MAIL 2000伺服器。基本資訊如下:

  • SMTP伺服器位置:nccu.edu.tw
  • SMTP連接埠:25

XAMPP中也可以用Mercury/32來做為郵件傳輸伺服器,不過我還沒研究成功。

XAMPP的安裝 / XAMPP installation

XAMPP是跨平台的軟體,但是Windows跟Linux的XAMPP內容卻不一樣。Linux的XAMPP叫做LAMPP。這篇文章主要介紹的是在Windows底下安裝的XAMPP

作業系統是Windows 7 64位元版本。XAMPP的版本是1.8.1,主要包括以下套件:

  • Apache 2.4.3
  • PHP 5.4.7
  • Sendmail 32

XAMPP是免安裝軟體,但是解壓縮資料夾必須是在根目錄底下。本文將XAMPP安裝在以下路徑:

D:\xampp\

這個路徑會影響到其他參數的設定,在做以下設定時請務必注意到。

設定php.ini / Configure php.ini

首先要告訴PHP說,我們要使用sendmail來寄信。php.ini是PHP的設定檔,路徑位於:

D:\xampp\php\php.ini

找到 [mail function] 的區段,找到sendmail_path參數,將之設定以sendmail運作,設定參數為:

sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"

如果用「;」放在一行的前面,表示是註解。

找到mail.log參數,設定寄送郵件的記錄檔,設定參數為:

mail.log = "D:\xampp\php\logs\php_mail.log"

設定sendmail.ini / Configure sendmail.ini

接著要設定sendmail的參數。sendmail.ini設定檔的路徑為:

D:\xampp\sendmail\sendmail.ini

找到smtp_server參數,將之設定為政大信箱位置:

smtp_server=nccu.edu.tw

其他的smtp_port=25、smtp_ssl=auto都用預設的即可。

重新啟動Apache / Restart Apache

image

打開XAMPP Control Panel,把Apache按下「Stop」,等它關閉之後,再按下「Start」即可。


結語:難怪郵件伺服器很容易被入侵 / Conclusion: Mail Sever may be hacked easily

如果你仔細看上述設定的話,會發現其實我並沒有輸入任何帳號密碼的資料,就能使用政大的郵件伺服器進行寄信。我不確定這是不是因為我現在在政大的區域網路內所以可以這樣做,不過這顯然是很危險的一件事情──嘿,我隨隨便便都可以借用政大的郵件傳送伺服器來寄信喔。

稍微摸一下mail()這個寄信的方式,你就可以知道其實要改寫寄件者、收件者等訊息都不難。不僅偽裝成別人寄信很容易,而且也可以設定你回信時的地址──是的,你回信時,預設的收件者可能不會是寄件者喔。

嗯,總之寄送郵件真是充滿陷阱的服務,也難怪垃圾郵件如此盛行。請大家謹慎使用吧。

(more...)

在VirtualBox建立Ezilla 2.0 Cluster記錄 / Setup Ezilla 2.0 Cluster on VirtualBox

在VirtualBox建立Ezilla 2.0 Cluster記錄 / Setup Ezilla 2.0 Cluster on VirtualBox

Ezilla_logo_all_big

Ezilla國家高速網路與計算中心發展出來的簡易雲端平台。為了測試安裝過程,我使用VirtualBox建立master跟slave兩台虛擬主機來架設Ezilla。這篇是簡單記錄建立Ezilla Cluster架構的安裝記錄。

Ezilla is developed by National Center for High-Performance Computing for deploying cloud platform. I try to setup Ezilla cluster on VirtualBox. Following is my setup process.


安裝環境 / Installation Environment

image

跟前一篇安裝Proxmox VE時一樣,這次我也是用VirtualBox 4.2.6來安裝。一開始建立兩台伺服器,命名為master跟slave兩種不同的伺服器角色。

這次安裝的系統是Ezilla v 2.0,帳號設定很多東西跟前一版v1並不相同,安裝時請特別注意到版本的問題。


安裝master虛擬機器 / Install “master” Virtual Machine

因為Ezilla的Linux發行版是CentOS 6.3,所以我安裝時選用RedHat 64bit來安裝。記憶體跟硬碟大小都用預設,但是網路的部份則是設定成「內部網路」,取名為「ezilla」。

安裝Ezilla,設定網路 / Install Ezilla and Setup Network

掛載ezilla-disk-2.0.1-3.iso進行安裝,安裝步驟中只有決定網路設定而已。在這邊要特別注意,網路請用手動設定(Manual configuration)。安裝時的選項如下:

image

因為master要擔任DHCP的角色,IP的尾碼必須要用254,例如「10.0.0.254」,設定如下圖:

image

安裝之後master會重開機。第一次開機時還要執行很多安裝腳本,會花相當久的時間。但是第二次之後開機速度就很快了。

增加master網路卡 / Add Network Card for “master”

安裝時讓master主要使用內部網路,可是為了讓其他人能夠開啟Ezilla的網頁管理介面,我們還需要幫master加裝一張網路卡。

我安裝一張NAT網路卡給master,設定如下圖:

image

因為Ezilla的管理介面是使用9869連接埠,所以我們還要設定連接埠轉遞為9869,如下圖:

image

設定master網路卡 / Setup Network in “master”

裝了NAT網路卡,master也不會自動把它啟動,這邊還需要額外的軟體設定。

我們先開啟master,然後登入作業系統。

  • 登入帳號:root
  • 登入密碼:release_v2_master

master跟slave都會用相同的帳號密碼喔。

image

接著我們用「ifconfig –a | more」來調查NAT網路卡的編號。我們可以從VirtualBox上看到NAT網路卡的MAC碼為「08002759679F」,比對ifconfig列出的網卡(如下圖),我們可以知道NAT網路卡的編號是eth1。

image

接著編輯以下檔案,注意最後是檔案的編號:

/etc/sysconfig/networking/devices/ifcfg-eth1

設定網卡為DHCP,並將ONBOOT=yes設為開機時自動啟動。全部如下圖:

image

然後我們用ifup指令開啟eth1:

ifup eth1

這樣子Host OS就能夠連線到master了。


安裝 slave / “slave” Installation

接著我們要準備安裝slave節點,而master還必須多做一點設定。

開啟master的網頁管理介面 / Open “master”’s Web Administration GUI

透過以下網址,我們可以開啟Ezilla的網頁管理介面:

  • 預設登入帳號:oneadmin
  • 預設登入密碼:release_v2_ezilla

你可以注意到這裡的帳號密碼跟Linux端的帳號密碼是分開的。

image

設定slave節點安裝 / Set up Slave Node

進入左邊的「Set up Slave Node」,把Ezilla Auto-Installation Service for Slave node打開到ON。

image

然後進入Set up Your Slave environment設定。如果要配置長久可運作的雲端架構,請將檔案系統設成MooseFS

image

建立slave虛擬機器與自動安裝Ezilla / Create “slave” Virtual Machine and Install Ezilla Automatically

slave的建立跟master都一樣是RedHat 64bit,網路也設成Ezilla內部網路。需要特別注意的是開機順序要把「網路」打勾並調到第一順位,如下圖:

image

這樣子slave開機的時候,會以網路連線狀態自動去抓取master的Ezilla安裝資訊。slave安裝大概也只要五分鐘不到就可以完成。

完成之後,先不要把slave重開機,我們要先做個動作:

關閉master的slave節點安裝功能 / Disable Slave Node Installation

回到master的網頁管理介面,我們把Ezilla Auto-Installation Service for Slave node關閉成OFF。

image

這個步驟可以防止slave重開機的時候會再次抓取master的安裝資訊並安裝Ezilla。

關閉slave的網路開機功能 / Disable “slave”’s PXE

接著我們把slave關機,然後關閉開機順序中的「網路」。

image

因為已經安裝好Ezilla了,slave只要正常開機即可。

slave自動加入到master當中 / Join “slave” to “master”’s Cluster Automatically

最後我們把slave開機。slave會自動抓取master的DHCP來配置網路,然後master也會偵測到slave的加入。

我們可以從master的網頁管理介面中看到slave加入的情況。選取「基礎設施」中的「主機」之後,就可以看到剛剛加入的slave,名稱預設使用IP:10.0.0.3,

image

因為在VirtualBox中slave沒有能力執行KVM,所以也不能建立任何虛擬機器。到此為止只能算是練習安裝Ezilla而已。


結語:Ezilla好像省略很多控制功能 / Conclusion: Ezilla Hides Many Functions.

為了方便使用者安裝,Ezilla省略了很多原本網管會很在意的功能。像是安裝時的密碼設定,網頁管理介面也需要網路卡的設定。而且Ezilla預設似乎只有一張網卡,所以我這種兩張網卡、一張給slave連線、一張給其他人的網路配置,就需要額外去做設定。

操作介面雖然簡單好用,不過沒能真正架一個KVM來試,到這邊為止也算是白搭。

其他的有機會弄到實體電腦再練習吧。

(more...)

如何下載「布丁布丁吃什麼?」的Google Docs投影片 / Guide for downloading slide from Google Docs

布丁布丁吃布丁

如何下載「布丁布丁吃什麼?」的Google Docs投影片 / Guide for downloading slide from Google Docs

image

「布丁布丁吃什麼?」上面有時候擺放投影片,這些投影片有時候會上傳到不同空間,但大多數都會以Google Docs(現在叫做Google Drive雲端硬碟)內嵌播放的方式呈現,讓人在閱讀Blog的時候就能夠觀看投影片。

然而許多人並不知道,這些內嵌播放的投影片就能夠直接下載成Power Point或PDF。最近我收到了許多分享投影片的請求,讓我覺得應該寫一下簡單的教學,讓大家知道如何從Google Docs下載投影片。

My blog has many slides. Must of slides are hosted in Google Docs (or Google Drive). Google Docs supports us to read the slides on webpage with a embed iframe player, and you can also download slides directly from the player.

This post will teach you how to download the slide as Power Point file from the Google Docs player.

Step.1 開啟內嵌網頁 / Open Embed Iframe

這篇以DSpace教學講座(四):修改實例之修正TextEditor為例來說明如何操作。

image

「布丁布丁吃什麼?」的內嵌網頁(iframe)都會先以這種樣式呈現。這是為了避免讓大家一開網頁就要載入許多內嵌網頁、拖慢了網頁速度的設計。

未來可以考慮應用「圖片延遲載入」的功能,當讀者捲軸讀到這個內嵌網頁時,就自動開啟內嵌網頁的原貌。

Step.2 開啟設定選單 / Open Setting

image

開啟內嵌網頁之後就會看到Google Docs的播放器。請按下下方工具列的齒輪圖示,開啟設定選單。

Step.3 下載為PPTX / Download PPTX file

image

設定選單中有一項就是「下載為PPTX」。點下去就開始下載了。

如何開啟PPTX? / Guide for Opening PPTX

pptx_win

因為寫這些有點太短了,不好意思只是來賺個稿費(?)。這邊額外再來說明如何開啟PPTX檔案。

PPTX是Microsoft Office PowerPoint 2007之後使用的格式,在PowerPoint 2003之前使用的則是PPT。儘管現在PPT的使用量逐漸下降,但是還是很多人使用著舊版的Office,無法直接開啟PPTX。

這邊我提供兩種作法,讓你可以開啟PPTX檔案。

使用自由軟體LibreOffice / Use LibreOffice

image

LibreOffice是從知名的OpenOffice分支而成的專案。現在開放原始碼界最常使用的辦公室生產力軟體應該非LibreOffice莫屬,它也可以開啟Office的檔案格式。因為是採LGPL3授權的自由軟體,所以你可以免費下載使用,當然也有正體中文版囉。

為Office 2003以前的版本安裝檔案格式相容性套件 / Install Microsoft Office Compatibility Pack

這是微軟推出的工具。只要安裝檔案格式相容性套件,就算是Office 2003以前的早期版本,也能夠直接開啟Office 2007之後的Open XML檔案格式囉。


結語:練習下載看看吧 / Conclusion: Exercise

現在就以「DSpace教學講座(四):修改實例之修正TextEditor為例」這篇的投影片來練習看看下載Google Docs的方法吧。

有什麼問題請在下面回覆喔。

(more...)

「布丁布丁吃什麼?」在GitHub上開放原始碼囉! / My Blog is now open source on GitHub!

布丁布丁吃布丁

「布丁布丁吃什麼?」在GitHub上開放原始碼囉! / My Blog is now open source on GitHub!

image

布丁布丁吃什麼?」這個Blog最大的特徵就在於網站上有著許多奇奇怪怪的小功能。從側邊欄上的「最近留言」、「最新文章」「留言板」,到文章本身的「自動摘要法」「圖片延遲載入」等各種小工具,都是Blogger沒有提供、我參考別人的寫法或自己撰寫而成的功能。

現在這些程式碼統一保存在GitHub上進行版本控制。對於改造Blogger有興趣的朋友、JavaScriptCSS有興趣的朋友,歡迎參考我的程式碼,彼此多多切磋交流吧。

Welcome to Pulipuli.blogspot.tw. My blog has many features which are not provided by Blogger, for examples, like “recent response list”, “recent post list”, “post auto digest”, etc.. Today, I released the code of these features on GitHub. You can use them freely. Enjoy it!

存放空間的遷移歷程 / History of Code Hosting

說真的,「布丁布丁吃什麼?」很早之前就是Open Source了。除了Blogger內建功能之外,大部分功能都是以JavaScript與CSS的程式碼來實作。這些程式碼本身都是必須讓你下載之後才能執行,換句話說,這些功能本身就是「開放」的程式碼了。

那麼這些程式碼是存在哪裡呢?這邊我就在簡單的回顧中記錄一下「布丁布丁吃什麼?」的這段歷史吧。

Google Page Creator

我印象中「布丁布丁吃?」時期一開始的時候,我是將程式碼擺放在Google Page Creator中。Page Creator是Google早期供人架站的空間。雖然它只有提供100MB的大小,在流量上也有諸多限制,但是擺放我這種小流量Blog使用的JavaScript與CSS程式碼已經很夠用了。

不過老實說它不太好用,沒有目錄功能(因為Page Creator是用來建立網頁、而不是網站),上傳介面也很難操作。幾年之後,Page Creator被關閉,成為歷史名詞。而原本在Page Creator上的程式碼則是被轉換到Google協作平台上繼續運作。

Google Sites協作平台

image

由於Google Page Creator被關閉,我的程式碼就順勢移到了Google協作平台上,叫做「布丁布丁吃?」wiki。協作平台搭上了當時流行的wiki風格,讓人容易在網頁上建立資料,也允許更複雜的網站架構。

協作平台是個穩定的架站空間,我一樣把它用來存放JavaScript與CSS程式碼。受惠於協作平台的功能,我可以將程式碼分門別類,每次上傳檔案也會記錄不同的版本。在「布丁布丁吃什麼?」介紹的功能中,有些是獨立出來讓讀者安裝使用的程式碼,這些程式碼就會放在協作平台中,跟「布丁布丁吃什麼?」專用程式碼分開保存。

可惜的是,協作平台的上傳功能依然很難用。點開網頁、選擇檔案、上傳的這幾個步驟雖然看起來很簡單,但是時常修改程式碼的話,這些步驟依然是相當地煩人啊!

Dropbox

image

「布丁布丁吃什麼?」的程式碼中,給讀者使用的程式碼是放在協作平台,而現在你所看到「布丁布丁吃什麼?」專用的JavaScript與CSS程式碼其實是架設在Dropbox的公開資料夾Public底下。

知名雲端硬碟Dropbox早在很久之前就提供了架站空間的功能,你可以把網頁程式碼放在公開資料夾上供他人瀏覽,也可以用DropPages之類的第三方應用輕易地架起專業網站。

雖然我的網頁內容寫在Blogger上,不過JavaScript與CSS卻也可以放在Dropbox中。我這次搭配Directory Junction整合了Aptana Studio 2 IDE與本機端XAMPP伺服器的運作環境。我不僅能在本機端開發與測試「布丁布丁吃什麼?」,也能夠用簡單地幾個步驟就能夠將JavaScript與CSS進行壓縮、上傳到Dropbox公開資料夾。

如果你對Dropbox有興趣的話,歡迎使用我的推薦連結來註冊Dropbox,順便幫我增加一點空間吧!

布丁邀請註冊Dropbox連結

GitHub

6a00d8341c767353ef016762f7c808970b-800wi

Dropbox提供了我的程式碼穩定的運作環境,而GitHub則是提供了查看我的程式碼的社交平台。

之前我開始研究起GitHub,這是因為最近看到幾篇新聞都在討論GitHub。GitHub是許多開放原始碼專案存放的保存庫,近年來也逐漸成為公司招聘程式設計師的管道。因為公司能在GitHub上看到每個人實際上寫的程式碼,而不是像LinkedIn只能看到幾行經歷。

雖然說光看程式碼也不見得夠看到實際上運作的平台,就像是「布丁布丁吃什麼?」的GitHub也是要搭配Blogger才能運作,不過光是為這個社群貢獻程式碼的精神,我覺得就具有令人值得去做的意義。

我想藉由「布丁布丁吃什麼?」的程式撰寫來練習GitHub與Git的用法,這也是「布丁布丁吃什麼?」作為讓我實驗程式碼的用途之一啊。

近期「布丁布丁吃什麼?」的調整 / Recent Changes in Pulipuli.blogspot.tw

image

除了用GitHub與Dropbox改進「布丁布丁吃什麼?」的功能調整流程之外,最近也做了幾個小地方的修改。

英文標題與摘要 / Writing Title and Abstract in English

image

作為博士生,英文寫作是必須要去面對的課題。我希望能夠在日常生活中就常常使用英文來寫作,所以現在就從寫Blog開始。我寫的英文應該會有很多錯誤,歡迎大家用留言回覆來幫我糾正一下喔!

至於為什麼只有標題跟摘要是英文,這是因為光是寫標題跟摘要就花了好多時間,等更能上手之後再來考慮全英文的Blog吧。不過我寫這Blog一部分就是為了給華人地區的讀者看,所以仍然會以中文版本為主喔!

QR Code

image

有人發現到了嗎?這是今天才剛出來的新功能喔!「布丁布丁吃什麼?」每篇全文文章最後都加上了QR Code的名片,讓讀者方便知道這篇文章的來源。

對我來說,因為我很常查閱「布丁布丁吃什麼?」的文章,有時候在電腦上看一看想要轉移到手機上的時候,在手機輸入網址總是太過麻煩。現在我只要在手機上用QR Code Scanner之類的App掃描一下QR Code,就能在手機上直接開啟文章內容喔!

image

在列印的時候,也會出現這個名片的樣子。就算將「布丁布丁吃什麼?」印成紙本,也能夠透過QR Code方便地回到網頁上喔。

這個功能是以jquery.qrcode.js為基礎,我自己建立了它的分支並進行改造,在加上適用於Blogger環境的包裝器(wrapper)來實作。如果有人也想要安裝QR Code到你的Blogger的話,請回覆在下面,我有時間會再另外寫一篇QR Code的安裝教學。


結語 / Conclusion

藉著調整Blog的契機,這篇介紹了「布丁布丁吃什麼?」的JavaScript與CSS原始碼存放空間選擇的歷程,目前是用以下規則來擺放程式碼:

然後聊了一下最近「布丁布丁吃什麼?」的變動,也順便宣傳自己加入的QR Code功能。

最後我想閒聊一下QR Code。我認為QR Code不僅僅只是讓人在廣告上開啟網頁而已,它可以是連結實體與數位(從印出紙本開啟Blog)、數位到數位(從螢幕掃描到手機),也可以藉由加入特殊參數讓它用於開啟指定的應用程式。而這個簡單的轉換,卻能夠連結不同時空的人與物。

想像一下,公車的乘客不需要在座椅上塗鴉了。他們可以掃描這台公車專屬的QR Code,然後在這台公車專屬的線上討論版聊天;圖書館的讀者不僅僅是在書上從別人的筆記來認識與這本書內容相關的事情,他能掃描QR Code來到這本書專屬網站上來取得相關資訊,更能在討論版上認識同樣閱讀這本書的愛書者。

QR Code只是簡單的技術,重點在於要如何應用。這也是我們作為研究者應該去思考的問題。共勉之。

(more...)

Windows Live Writer 外掛程式 Dynamic Template 備份

布丁布丁吃布丁

Windows Live Writer 外掛程式 Dynamic Template 備份

image

這篇又是講到我最常用來寫Blog的工具Windows Live Writer(以下簡稱WLW),不過這次要講的是WLW最強大的外掛程式(plug-in):Dynamic Template(以下簡稱DT)的備份方式。因為我每次要換一台電腦安裝WLW的時候總是會忘掉這些東西,所以寫在這邊備份一下。


Dynamic Template外掛程式簡介

image

DT是WLW的外掛程式,全名為「Dynamic Template plug-in for Windows Live Writer」(免費空間備份:DynamicTemplate.msi)。跟其他WLW的外掛程式有很大的不同,DT讓你可以讓你用程式語言建立自己喜歡的樣板。

舉例來說:你可以在WLW的編輯模式中選取一段文字,然後用DT把它轉換成HTML原始碼。操作過程可以參考官方網站的範例4影片。DT會協助你撰寫這樣的樣板工具,然後匯出成為一個安裝檔,可供其他WLW安裝使用。上述的樣板功能是DT網站提供的範例:HTMLize免費空間備份

Dynamic Template的樣板檔案位置

image

為了讓其他電腦安裝WLW時能夠保有DT的樣板檔案,我們可以從以下資料夾位置找到DT使用的樣板──也包括自己建立的樣板檔案。Windows 7/8的路徑如下:

C:\Users\[使用者名稱]\AppData\Roaming\WLWTemplates

要注意,使用者名稱請替換成你自己的名字,例如:

C:\Users\pudding\AppData\Roaming\WLWTemplates

至於Windows XP的位置大概是在C:\Documents and Settings裡面,我就沒有仔細確認了。

你可以發現資料夾中很多以「wlwtemplate」為副檔名的檔案,這些都是可以安裝的DT樣板,備份它就對了!

我常用的DT樣板

除了上述的HTMLize之外,我還常用幾個自己建立的DT樣板,在這邊備份一下:

安裝DT樣板

image

在安裝wlwtemplate副檔名的DT樣板之前,請先安裝DT外掛程式。如果有安裝DT外掛程式的話,直接執行wlwtemplate附檔名的DT樣板,就可以直接安裝了喔。


結語:創意無限的DT

雖然這篇主要講的是DT的備份,不過還是在結語這邊稱讚一下DT。它的定位有點像是Office的巨集功能,讓你節省許多撰寫Blog的時間。有時候為了搭配整個Blog的版面設計,我們會在文章中加些特殊的classname,可是這些動作在WLW的編輯模式下無法操作,但是他的程式碼模式又如此難用。

image

這時候就可以靠DT來新增有特定樣板的文字,簡單又容易使用。不過要寫樣板的話,你還是要有一些程式的概念就是了。在此推薦常常在寫Blog的人也來玩玩看DT喔!

(more...)

Windows Live Writer修改本機樣板

布丁布丁吃布丁

Windows Live Writer修改本機樣板

Ashampoo_Snap_2013.01.27_15h02m07s_012_部落格選項 - 布丁布丁吃什麼-

Windows Live Writer(以下簡稱WLW)是我用來撰寫Blog(部落格,因為會跟WLW的部落格主題混在一起,所以這兩個名詞我會混著用,但以Blog為主)的主要工具,目前最新的版本到了2012。我的WLW部落格主題中用了JavaScript來實作一些功能,導致WLW下載主題的時候無法順利呈現出原有的樣貌,因此需要手動修改WLW下載的主題檔案。

這篇是教你如何在Windows 7/8電腦中修改WLW的主題檔案,我也會一併提到Windows XP底下稍微不同的路徑。你可以利用這個方法修改主題檔案,讓你在WLW中撰寫Blog時更順手。


WLW的部落格主題

Ashampoo_Snap_2013.01.27_15h12m16s_013_

WLW一項主要特色在於它可以下載你Blog的部落格主題,讓你在WLW撰寫Blog的時候看起來就像是最後顯示在Blog的樣貌外觀。在大部分前後台都是分離的平台中,WLW部落格主題這個特色功能不僅鶴立雞群,也是一種營造專心寫作情境的好幫手。

WLW能夠呈現部落格主題的方法是去你的Blog分析HTML樣板,並下載必要的HTML、CSS跟圖片,最後重組成為適合在WLW呈現的樣貌。

WLW分析部落格主題錯誤

Ashampoo_Snap_2013.01.27_14h40m14s_005_-nibCCapture-38fa4e3b-5a58-46d7-96e2-79d897f94d5b

不過有時候WLW分析部落格主題的時候會有錯誤。像是我的部落格主題使用了複雜的JavaScript跟CSS來實作首頁摘要顯示的功能,然而WLW下載部落格主題的時候,卻總是無法順利分析,導致內文編輯的區域無法正常顯示,WLW也會因為找不到正確的檔案而跳出錯誤訊息。

還好,我們還是可以靠手動修正來解決這個問題。

WLW部落格主題的檔案位置

Ashampoo_Snap_2013.01.27_14h44m55s_007_4518b400-3283-45d7-b27d-b420f31f1c43

WLW部落格主題下載之後會存放在使用者自己的資料夾中。Windows 7/8(Vista理論上也一樣,但我沒試過)跟Windows XP的位置不同,大致上規則如下:

Windows 7/8的位置

預設可能會擺在以下路徑:

C:\Users\[使用者名稱]\AppData\Roaming\Windows Live Writer\blogtemplates\[部落格帳號代號]

[使用者名稱]要換成你自己的帳號,[部落格帳號代號]則是一連串亂碼,每次新建部落格帳號時都不一樣。

舉例來說,我其中一台Windows 7電腦的WLW部落格主題檔案位置如下:

C:\Users\Pudding\AppData\Roaming\Windows Live Writer\blogtemplates\986f81eb-782f-4e48-a762-c608821d41ce

Windows XP的位置

Windows XP的使用者資料則是放在C:\Documents and Settings之中,一樣會有[使用者名稱]與[部落格帳號代號]需要替換。

舉例來說,我其中一台Windows XP電腦的WLW部落格主題檔案位置如下:

C:\Documents and Settings\pudding\Application Data\Windows Live Writer\blogtemplates\681a0889-f3d7-4c07-af11-6ebd1113b580

修改WLW部落格主題的注意事項

找到部落格主題資料夾之後,懂得HTML的人應該很容易就能修改。不過實際上,還有幾點事情是需要注意的:

修改index.html為主

部落格主題資料夾中有許多檔案,你可以先從「index.htm」開始調整,這是WLW編輯畫面中主要呈現的樣板。

Ashampoo_Snap_2013.01.27_14h49m56s_009_C--Users-pulip-000-AppData-Roaming-Windows Live Writer-blogtemplates-4518b400-3283-45d7-b27d-b420f31f1c43-index-htm - Sublime Text 2

替換絕對路徑

要注意的是,index.htm中引用CSS跟圖片的時候都是使用絕對路徑,例如:

file:///C:/Users/pudding/AppData/Roaming/Windows Live Writer/blogtemplates/681a0889-f3d7-4c07-af11-6ebd1113b580/be4f2b4a-ed0d-4af7-8450-b42c95643280/icon_comment_left.gif

這路徑會實際對應到你電腦上的檔案,在修改的時候要特別注意。如果你修改了部落格主題卻發現有些圖片或CSS樣式無法順利呈現時,請注意一下index.htm中絕對路徑指向的圖片或CSS是否正確。

因為我常常在不同電腦上安裝WLW,每一台的絕對路徑都不一樣,所以這個index.htm其實是不能直接複製使用的。

修改之後重新啟動WLW確保完全生效

Ashampoo_Snap_2013.01.27_15h36m27s_014_-nibCCapture-38fa4e3b-5a58-46d7-96e2-79d897f94d5b

修改部落格主題之後,你可以先試著用WLW切換編輯模式為「程式碼」,然後再切換回「編輯」,這樣子一部分修改後的部落格主題會順利呈現。不過有時候卻也有些小細節卻無法靠這種方法來呈現修改後的效果(我猜是外部引用的CSS,但還不確定),因此最好是重新啟動WLW來確保部落格主題修改的效果能夠完整的呈現。


結語:WLW仍然是離線撰寫Blog的最佳工具

2007年的時候,我因為WLW網路總是有錯誤而寫了一篇「Blogger離線編輯器,還離不了線」,但是後來WLW更新了版本讓網路更為穩定,而且介面與功能也越來越好用。作為一個文書編輯工具或是程式編輯器來說,WLW可能還不夠資格。可是作為撰寫Blog撰寫工具來說,有著部落格主題的WLW,至今仍然是我認為最佳的Blog離線撰寫工具。

image

附帶一提,我非常不推薦使用Blogger的文章撰寫工具。因為他會大量修改我的HTML原始碼,特別是自動加入許多斷行,這總是讓我寫好的JavaScript無法順利運作。但是在WLW裡面編輯卻沒有這個問題,WLW也會動我的原始碼,可是他至少不會給我亂斷行。

image

所以到頭來我還是回來用WLW來編輯Blog,真的是沒有Windows Live Writer,我就不想寫Blog了。

(more...)

MHL可能沒有廣告說得美好

MHL可能沒有廣告說得美好

01_379x285new-0

(圖片來源:SAMSUNG 如何使用MHL完美我的生活)

最近在關注智慧型手機的時候,時常會看到一個名詞:「MHL」。這玩意兒的用途是把MicroUSB的輸出介面轉換成HDMI來輸出,這些固定且常見的接頭可省下廠商設計新介面的功夫,。在標準化推廣之下,許多手機都支援MHL,像是SAMSUNG、Sony、甚至是大陸品牌小米手機2都有具備。

但是實際上用起來會是如何呢?我抱有許多疑問並找了一些資料,結論挺讓我失望的。我想MHL也可能只是一個應急的方案,未來應該是會被捨棄吧。


什麼是MHL?

引用維基百科的內容如下:

移動高清連接技術MHL, Mobile High-Definition Link)是由移動高清連接技術聯盟(MHL Consortium)推出的直接連接移動手機或攜帶型電子消費產品(CE)和高清晰度電視(HDTV)。MHL的標準功能是通過單電纜與低引腳數介面來實現輸出高達1080p高清晰度(HD)視頻和數字音頻,同時為設備充電。

重點大概是:

  • 標準介面單純化,大部分是Micro USB輸出。
  • 支持HDMI輸出:包括1080p高解析度視訊、聲音訊號、HDCP
  • 影像輸出的同時,也能為設備充電。

其實MHL還有更換成其他連接介面等擴充能力,但就目前我所知的產品中,大概都是用Micro USB輸出到HDMI這樣。

MHL有哪些產品?

為了讓大家有些概念,我找了些例子來舉:

輸出端:手機

GT-I9300RWABRI-73975-0

Samsung GALAXY S III是Samsung目前的旗艦機種,具備Samsung主打的MHL功能。附帶一提,MHL開始受到注目好像也是Samsung發起的頭。然而S III使用的MHL轉換器卻跟S II有所差別,這似乎讓不少使用者感到困擾。

xperia-tx-gallery-01-940x529

Sony Xperia TX是Sony最近的旗艦機種,比起之前幾款都是Micro USB與HDMI輸出的設計,TX特別地採用了MHL而將兩個輸出介面縮減成一個。

mi2_topPhoto_01

小米手機2是大陸品牌的評價高規機。人民幣1999卻有著Android 4.1、四核心、RAM 2GB等高等手機才有硬體規格,10月底開放時馬上銷售一空。特別的是,這隻手機也支援MHL。

接收端:螢幕

聽說只要能接收HDMI的裝置都能使用MHL,但我想應該還必須具備1080p(能夠使用1920x1080解析度來顯示畫面)的播放能力,否則解析度太低的螢幕只會看到「out of range」的訊號。

nEO_IMG_samsung_sb750_1-665x465

除此之外,Samsung的SB750(上圖)跟LG的IPS7系列都有推出支援MHL技術的螢幕。但是連接線的方式讓我有點在意,似乎隱蔽了一些重點。

連接線:MHL專用連接線(Micro USB轉HDMI)

tw_EPL-3FHUBEGSTD_003_Front

首先是Samsung GALAXY S III的HDMI輸出線,網拍售價大概近千元。

如果不看原廠的話,我們也可以看一看其他廠牌的MHL線。PChome線上購物有個HDMI轉手機(MHL)專區,價位大概是500元到1000元不等。不過仍有許多MHL轉接線並不支援Samsung GALAXY S III,購買時需要注意。

MHL的使用上的困難點

01_379x285new-0

好的,讓我們來到本篇的重點──MHL使用上到底有什麼問題。實際上要使用MHL的時候,通常必須要依照以下圖示來連接各端子:

DCAC4L-A60946803000_4f14d3126f99e

(圖片來源:PChome購物)

  1. 智慧型手機透過Micro USB連接MHL轉接線。此時手機的Micro USB孔被佔用,無法連接其他設備。
  2. MHL轉接線的HDMI端子接上螢幕。要注意螢幕是否支援1080p。
  3. MHL轉接線必須接上Micro USB來充電。

問題在於第一點與第三點。特別是第三點,MHL必須供電才能運作。與其說MHL把連接介面的數量縮短了,不如說這種作法反而讓人使用起來更為困擾。

以下我就兩種情境來敘述MHL使用上的困擾與可能的解套方法:

在家裡,將手機當做電腦主機使用時

550x366_01-0

回家時,我會把手機當做電腦主機,將畫面輸出到大螢幕、操作使用鍵盤滑鼠。

在家裡要找到Micro USB供電不難,但是MHL佔用了Micro USB孔,這種情況下無法使用手機本身的USB OTG功能。換句話說,使用MHL的情況下不能使用USB連接鍵盤、滑鼠、甚至是遊戲手把!

image

Samsung的MHL廣告網站已經預料到這種事情,告訴你早早放棄改用藍牙連接鍵盤與滑鼠吧。但是藍牙的鍵盤滑鼠價格可不便宜,而且選擇也沒有USB鍵盤滑鼠來得多,不見得合用呢!

DCAX00-A65532641000_5088eefe5083c

還好,最近Aten CS533 Tap做出了USB轉換成藍牙的KVM切換器,讓你的USB鍵盤滑鼠可以當成藍牙裝置使用。但是相容性需要注意,太過高級的機械式鍵盤或是無線滑鼠可能會無法使用。另外2290的價格也不便宜。

在外面,將手機畫面輸出到投影機時

550x366_02-0

比起自己帶筆電,用手機來做簡報應該是很多人許久之前就想要嘗試的方法吧。但是使用MHL來輸出到投影機的時候,先不論投影機是否能夠支援1080p(很遺憾的是,我們學校的投影機都不行),更重要的是,連接投影機時要怎麼解決MHL需要供電的問題?Samsung的網站示意圖中,開會場合詭異地使用著螢幕在做報告,似乎是在迴避連接時投影機會遇到的窘境。

直覺一點的想法就是接個USB行動電源給MHL,雖然這個尿袋可能讓你的報告看起來很不專業,而且手機也不方便拿著操作簡報。

DCAC7C-A67079562000_5021df7db3d5c

另一個方案是ESENSE推出的MHL轉接線。具備600mA鋰電池,因此可以不需外接電源連續使用3小時。網路價750元,可能會意外地比其他MHL轉接線實用,不過需注意的是它仍不支援S III。


結論:仍須等待更完美的方案

本篇列出了MHL佔用USB OTG功能與必須充電才能使用的缺點,也舉了一些解決方案。但是這些方案並不完美,而且並不是標準技術,可能很快地就會被科技的洪流所遺忘(就像是S II換到S III時MHL也必須更換的窘境)。

在目前看來,MHL仍稱不上完美。在某些使用情境中,說不定之前各別設計Micro USB與Micro HDMI兩個輸出端子還比較好用(但是充電也是個問題,這就是MHL的優勢了)。

10-30-2012nexusslimport

(圖片來源:engadget中文版)

最近的Google Nexus 4改支援SlimPort,一樣是可以將USB轉換成HDMI,甚至是DVI或是VGA,並且在播放同時進行充電。聽說Slim Port不需要外接電源,聽起來似乎克服了MHL的一大困擾。究竟Slim Port會是怎樣的技術呢,讓我們拭目以待吧。

(more...)