換電腦后怎么繼續維護以前hexo+GitHub創建的個人網站


2018年11月25日補充:

今天電腦升級了系統,然后hexo不知道怎么回事沒有了。
等于又在自己電腦上重新安裝了一遍hexo

先說一下途中遇到的一些問題:

在安裝完hexo之后,我從github上拉取了以前的hexoBaseConfig文件夾

本來以為直接把文章md源文件拖進來,然后主題相關文件夾拖到theme下即可。但是,在執行到hexo s之后,點擊打開本地調試網頁,發現報錯說找不到文件夾路徑

  1. 我先考慮可能是端口沖突了
lsof -i tcp:4000

查詢了一波。。發現只有node占用了這個端口。而且把本地虛擬調試網頁關閉了之后,該指令并不能找到什么了。排除此猜想

  1. 那只能是hexo路徑的問題了
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site
title: Hexo #網站標題
subtitle:   #網站副標題
description:  #網站描述
author: John Doe  #作者
language:    #語言
timezone:    #網站時區。Hexo 默認使用您電腦的時區。時區列表。比如說:America/New_York, Japan, 和 UTC 。

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com   #你的站點Url
root: /                       #站點的根目錄
permalink: :year/:month/:day/:title/   #文章的 永久鏈接 格式   
permalink_defaults:    #永久鏈接中各部分的默認值

# Directory   
source_dir: source   #資源文件夾,這個文件夾用來存放內容
public_dir: public     #公共文件夾,這個文件夾用于存放生成的站點文件。
tag_dir: tags         # 標簽文件夾     
archive_dir: archives    #歸檔文件夾
category_dir: categories      #分類文件夾
code_dir: downloads/code     #Include code 文件夾
i18n_dir: :lang                #國際化(i18n)文件夾
skip_render:                #跳過指定文件的渲染,您可使用 glob 表達式來匹配路徑。    

# Writing
new_post_name: :title.md # 新文章的文件名稱
default_layout: post     #預設布局
titlecase: false # 把標題轉換為 title case
external_link: true # 在新標簽中打開鏈接
filename_case: 0     #把文件名稱轉換為 (1) 小寫或 (2) 大寫
render_drafts: false  #是否顯示草稿
post_asset_folder: false  #是否啟動 Asset 文件夾
relative_link: false      #把鏈接改為與根目錄的相對位址    
future: true                #顯示未來的文章
highlight:                    #內容中代碼塊的設置    
  enable: true
  line_number: true
  auto_detect: false
  tab_replace:

# Category & Tag
default_category: uncategorized
category_map:          #分類別名
tag_map:            #標簽別名

# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: YYYY-MM-DD         #日期格式
time_format: HH:mm:ss        #時間格式    

# Pagination
## Set per_page to 0 to disable pagination
per_page: 10    #分頁數量
pagination_dir: page  

# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape   #主題名稱

# Deployment
## Docs: https://hexo.io/docs/deployment.html
#  部署部分的設置
deploy:     
  type:  #類型,常用的git

但是,在查看了Directory之后,發現也并沒有什么問題!!!
然后我嘗試著改了URL相關的配置,

網站存放在子目錄
如果您的網站存放在子文件夾中,例如 http://yoursite.com/subDirectory,則請將您的 url 設為 http://yoursite.com/subDirectory 并把 root 設為 /subDirectory/

此處root默認值為/,也就是意味著是跟_config.yml文件同一層級的。也就是說,如果我們博客是放在此層級中的某一個子文件夾中的時候,我們需要把子文件夾路徑寫上去!

然后,填寫完root之后,執行hexo server命令之后,會顯示配置過的root路徑上去,這里以subBlogPath字段為例,此時會顯示為:

INFO  Hexo is running at http://localhost:4000/subBlogPath. Press Ctrl+C to stop.

在經過了一番搜索調試之后,發現,修改url也并沒有什么用處。。
我也就徹底理解不了了,我只能理解為以前上傳的HexoBaseConfig文件中存在一部分配置問題了。。這里如果有大佬知道問題所在,請不吝賜教!!先說聲謝謝了!

雖然不明白,但是還是有解決方法的不是么?

這也就是更新此文章的意義所在!
正因為以前的配置可能跟現在的存在不同,或者沖突。然后導致了pull下來之后無法使用,那我們換個思路。

  1. 我們只要安裝好了hexo, 那可以很簡單的通過執行hexo init指令來重新配置相關的環境。。
  2. 配置完成之后,把_config.yml文件文章md源文件主題文件拷貝進去,那不就是完成了遷移了嘛?
    所以,只要備份了這些文件即可,別的hexo的相關配置,就交給hexo自己去重新配置吧!

如此這般,這般如此之后,配備了hexo的Blog文件夾又重新出現在了我的桌面上。。


2017年10月09日補充

由于十一國慶節前,只是有一個上面所說的想法,現在節后回來,總得按照這個實踐一下。

其實上面所說的博客內容,還是hexo生成的html文件,如果以前的文件沒有保存的話,還是沒有任何作用的,因此,重點就在:保存博客文章的原始文件(也就是我們寫博客的時候創建的markdown文件),有了這個文件之后,我們就可以使用hexo g命令,重新生成html文件了。
今天,我試了2種方案:

  1. 統一把整個博客文件夾(包含配置文件,.md文件,以及hexo處理后生成的各種文件夾)備份到GitHub上。但是,試過之后,效果是可以達到的,我發現了一些比較繁瑣的一些問題: hexo自己生成的文件夾,由于hexo clean, hexo g等命令的作用下,會有重新生成或者刪除的操作,在git管理下,需要繁瑣的git checkout 或者git add。 所以我又萌生了另一種想法,也就是想法2
  2. 其實這個方法就是退而求其次: 我們把hexo的配置文件備份到一個遠程倉庫,然后另外備份文章原始文件夾。
    在更換電腦之后使用的時候,我們只需要,git clone <#hexo配置文件#>比如到桌面blog文件夾, 然后,刪除掉.git隱藏文件(因為這個配置文件是只需要配置一次的,換電腦的時候,也是直接獲取一次就可以。不需要重復配置,當然,如果你想要修改主題或者別的配置文件,那么也可以留著。)
    然后git clone <#文章原始md文件#>blog->source->_posts文件夾下, 或者直接clone到source文件夾下,然后修改名字為_posts,這么以來,以后再提交的時候,就只需要使用hexo提交文章,然后git add <#新添加的文章md文件#>到遠程倉庫了,免去了繁瑣的修改hexo所生成的文件的操作。

如果在hexo s調試的時候,提示: no layout: index.html。
查看主題文件是否存在:
如果不存在,
cd到Blog根目錄,
git clone https://github.com/iissnan/hexo-theme-next themes/next

  1. 經過幾個小時的實踐,方法二也存在一些問題,比如同步備份基礎配置的時候,theme主題下的next文件夾不能同步到GitHub上,
    多次配置修改hexo參數之后,出現GitHub404錯誤,所以也可以僅僅備份文章源文件,然后每次更換的時候,重新裝載npm安裝hexo,然后下載文章源文件到source/_posts文件夾下

以下是原文章:

首先

1. hexo的相關配置文件都是本地存放的。
2. 同步到GitHub上的文件都是hexo g之后生成的(博客根目錄下的)public文件夾中的內容。

結論

前提

如果以前是使用hexo搭建的博客,以前電腦中創建過hexo根目錄,
然后中途更換過電腦,以前電腦上的配置文件 在現電腦上都沒有了

解決方法

如果想要重新在Github上創建repository,然后繼續管理博客
那么請移步我以前寫的hexo+github搭建博客心歷路程
如果想要繼續維護以前的博客,那么:

  1. 首先,我們要把以前github上博客的倉庫clone下來,通過實踐,我們知道,這個clone下來的文件夾就是以前本地博客根目錄下的public文件夾
  2. 我們可以自己本地安裝hexo之后,自己創建一個public文件夾,然后把clone下來的文件全部放進去
  3. 為了以后不再這么麻煩,我們可以直接在GitHub上備份一下我們的hexo配置文件,以后再遇到這種情況的時候,就可以直接clone博客配置文件到本地, clone博客內容文件夾到本地,然后把內容文件夾該名稱public放在配置文件夾根目錄即可
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容