關於網路那些事...

網路行銷,SEO,網路趨勢,教學文章,網頁設計,生活時事

從 Logdown 搬家到 Hugo :關於網路那些事 搬家了

| Comments

從 2014 開始在Logdown 經營部落格至今,終於在近期決定花一點時間搬家。

這次搬家,是採取全站搬移,所以在匯出 Logdown 所有文章後,花了一些時間將網站內容灌到 Hugo,整體來說,流程還算順利,大概花了兩天完成新站建立,新家位置在這裡:

https://hoohoo.top/blog

在這裡,大概分享一下我搬家的流程,希望對於有同樣需求的人,可以幫得上忙:

Logdown 搬家流程分享

(1) 匯出 Logdown 文章

首先在 Logdown 登入後台,可以直接點擊匯出 Logdown 內容,大約幾分鐘後就會收到文章原始內容。

這時就將原始檔案檔案下載至本地。

(2) 轉導 logdown.meta

下載檔案後,要再登入 logdown dashboard,在文章管理列表,開啟 chrome console 介面

執行以下指令,會產生 json 格式檔案,接著在 ConvertToHugo 目錄下 建立 logdown.meta ,將輸出的 json 資料貼上並儲存。

const type2status = {draft: 'icon-inbox', published: 'icon-globe', private_mode: 'icon-lock'};

const z = [...document.querySelectorAll('ul.logdown-posts-list li.post')]
    .map(l => {
        const cl = l.classList;
        cl.remove('group', 'post');
        const ret = {
            type: cl.item(0),
            id: l.id,
            title: l.querySelector('.post-title').textContent,
            status: l.querySelector('.post-status i').className,
            timestamp: l.querySelector('.post-timestamp').textContent,
        };
        cl.add('group', 'post');
        return ret;
    });

console.assert(z.every(l => type2status[l.type]===l.status));
console.log(JSON.stringify(z));
(3) 下載 ConvertToHugo

接著,我們要透過轉檔程式,將文章轉換成 Hugo 支援的內容。

將轉檔程式 ConvertToHugo clone 到本地

git clone https://github.com/adon988/ConvertToHugo

開始轉換

在 ConvertToHugo 目錄執行以下指令

python3 ConvertToHugo.py jekyll-post-dir output-dir

匯出後,當啟用 Hugo 後,發現轉換的格式還是有非常多的問題(其中,包含本人過去在 content 加了非常多的客製化內容導致的問題)

雖然分類 (tags) 還在,但是在 Logdown 設定的"分類"全部都不見,只好一篇篇硬幹重新標記

在這部分費了滿多時間,但大致上搬家的過程還算順利,大約 2 天左右完成新站建立。

如果你在換站過程有遇到問題,可以在底下留言說明



最後,如果你喜歡這篇文章,請幫忙點個讚



Mac 安裝 Logstash 及啟用

| Comments

Mac 安裝 Logstash 及啟用

本篇說明如何在 Mac 本地建立 Logstash 流程,其他 Linux 相關主機原則上僅差別在安裝步驟,可直接跳到功能設定參考:



最後,如果你喜歡這篇文章,請幫忙點個讚



Elastic Cloud - Kibana 入門介紹

| Comments

Elastic Cloud - Kibana 入門介紹

Kibana 是一個資料數據展示的系統,一般會用來管理 Elasticsearch 數據分析。在這裡我們會介紹如何在 Elastic Cloud 建立集群,如何啟動 Kibana 及配置說明,以及相關功能介紹。



最後,如果你喜歡這篇文章,請幫忙點個讚



Terraform 安裝與運行

| Comments

Terraform 安裝與運行

Terraform 是由 HashiCorp 開發的一套 Infrastructure as Code 工具。

這裡記錄 Terraform 基本安裝及設定的步驟,示範如何在 GCP 建立一個 instance。



最後,如果你喜歡這篇文章,請幫忙點個讚



GCP 佈建 Kubernetes 入門 - 使用 Kubernetes Engine

| Comments

GCP 佈建 Kubernetes 入門 - 使用 Kubernetes Engine

在這裡記錄如何從 GCP 建立起 Kubernetes Engine 建立起 cluster 流程:



最後,如果你喜歡這篇文章,請幫忙點個讚



Ansible 配置管理與部署入門

| Comments

Ansible 配置管理與部署入門

簡介

Ansible 是一個開源的系統自動化工具,擁有配置系統,任務排程,可以透過代碼來管理我們的infra,可以進階設計出一些 CI/CD 流程等功能。Ansible 預設使用 SSH 來進行遠端主機管理,Ansible 1.3 之後的版本可以透過本地的 OpenSSH 與遠端的主機進行通訊,如果是在比較老舊的作業系統,則會採取 paramiko 的相對應做法。



最後,如果你喜歡這篇文章,請幫忙點個讚



Kubernetes (K8S) - Mac 本地執行練習上手 如何用 K8S 快速佈建一個 Go Server

| Comments

Kubernetes (K8S) - Mac 本地執行練習上手 如何用 K8S 快速佈建一個 Go Server

如何在 Mac 本地快速透過 K8S 啟用一個服務,這裡以一個簡易的 go server 為例子,一步步來說明如何啟動。



最後,如果你喜歡這篇文章,請幫忙點個讚



Elasticsearch Mapping 原理及範例說明

| Comments

Elasticsearch Mapping 原理及範例說明

Mapping 類似於資料庫中的 schema,主要的作用如下:

  • 定義類型 (bool, string, num...)
  • 設定屬性倒排索引

在 Elasticsearch 數據產生時,其實都自動進行 mapping,但有時如果有特別的業務需求,則可以自行設定 mapping ,

特別提醒!如果特別需求,請在一開始就建立好 Mapping,因為Mapping建立後,就不能修改。



最後,如果你喜歡這篇文章,請幫忙點個讚



Elasticsearch Analyzer 分詞器是什麼?實際範例演練

| Comments

Elasticsearch Analyzer 分詞器是什麼?實際範例演練

Analysis 是 Elasticsearch 的一個概念,他可以將我們數據 寫入及查詢時,也會針對分詞做處理。

這些 analysis 的概念主要是由 Analyzer(分詞器) 來處理,主要做的事情包含:



最後,如果你喜歡這篇文章,請幫忙點個讚



如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(下)

| Comments

如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(下)

前一篇 如何使用 Kibana Console DSL 查詢語言 - 操作 Elasticsearc 資料結構(上) 主要介紹在 Kibana console DSL 如何對 Elasticsearch 數據的 CRUD 操作,在本篇則針對查詢語法做進一步的探討。在 Kibana Console 可以用來直接執行查詢檢索及操作數據功能,再輸入 Elasticsearch 查詢語言 DSL 命令後,可以透過 Ctrl/Cmd + Enter 送出查詢結果。

後面的部分我們會在提到 Elasticsearch Analyzer 分詞器是什麼?實際範例演練

以下直接以實際案例來做語法說明,可以在Elasticsearch 相對的各種情境查詢作為參考:



最後,如果你喜歡這篇文章,請幫忙點個讚