Hexo - Icarus 多國語系

目前Hexo並沒有支援多國語系,網路上的方式都是以Next主題實做多國語系為主,本篇將以Icarus主題來實做多國語系的Blog。

Step 1: 建立英文站點

在原本Hexo的根目錄下建立en 資料夾(在此命名為blog_en),將原本Hexo根目錄下的所有檔案/資料夾複製一份到en資料夾中。

node_modules不必複製到en資料夾中


Android HttpURLConnection 繞過證書訪問Https網址

針對訪問Https網站,必須具有認可的證書,經過驗證後才能訪問該網站。

通常需要機構所發行的證書,但在開發階段還未申請到核可的證書時,我們可透過繞過證書的方式,來訪問Https網站。


Android 複製assets檔案至SD卡

若想要在程式啟動時,將檔案預載至SD卡中,該如何實做呢?

Step 1: 建立assets資料夾

在專案main 目錄下(專案名稱/module name/src/main),建立assets資料夾,並將預先載入的檔案放到此目錄中。


Ubuntu boot 空間不足

當時安裝Ubuntu的時候,切給boot的空間為200MB,要更新Kernel時,系統告知boot 空間不足的問題。

原因是Ubuntu更新系統後,並不會將舊的Kernel package移除所導致。

以下為解決方式。


Android SQL 查詢null值

在SQLlite語法中,NULL表示一個缺失數值的值,與空白不同。空白是不佔用空間的,而NULL值是佔用空間的。

在Android的寫法中,若DB欄位值為NULL,使用以下的方式是無法查詢到的。

1
2
3
4
ContentResolver resolver = myContext.getContentResolver();
int count = resolver.delete(getDataUri(), Contract.DataColumns.TIME + "=? ", new String[] { null });

Log.e(TAG, "count of Null Item: " + count);

可使用

1
column_name is null or column_name=""

的方式查詢NULL值

1
2
3
4
ContentResolver resolver = myContext.getContentResolver();
int count = resolver.delete(getDataUri(), Contract.DataColumns.TIME + " is null or " + Contract.DataColumns.TIME + " =? ", new String[] { "" });

Log.e(TAG, "count of Null Item: " + count);

Android ImageView 被 Button 覆蓋

在一個UI 設計中,我們要在Button的左邊設計icon

原本使用Button的屬性android:drawableLeft來設計,但是相對位置上非常難調整成UI 設計人員所制定的位置。


Android Text Click Color

當點擊Button時,想要改變Button上文字的顏色,我們可使用resource xml的方式來實現。

步驟如下

Step 1: 建立color資料夾


讓Google也能搜尋到 Hexo - Icarus Blog

我們想讓自己的Blog也能讓Google搜尋的到,該如何做呢?

Google Search Console提供了Sitemap的方式,讓我們的Blog也能被搜尋到囉。
步驟如下:

Step 1: 安裝Hexo sitemap