2018年11月25日補充:
今天電腦升級了系統,然后hexo不知道怎么回事沒有了。
等于又在自己電腦上重新安裝了一遍hexo
先說一下途中遇到的一些問題:
在安裝完hexo之后,我從github上拉取了以前的hexoBaseConfig文件夾
本來以為直接把文章md源文件拖進來,然后主題相關文件夾拖到theme下即可。但是,在執行到hexo s
之后,點擊打開本地調試網頁,發現報錯說找不到文件夾路徑
,
- 我先考慮可能是端口沖突了
lsof -i tcp:4000
查詢了一波。。發現只有node占用了這個端口。而且把本地虛擬調試網頁關閉了之后,該指令并不能找到什么了。排除此猜想
- 那只能是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下來之后無法使用,那我們換個思路。
- 我們只要安裝好了hexo, 那可以很簡單的通過執行
hexo init
指令來重新配置相關的環境。。 - 配置完成之后,把
_config.yml文件
、文章md源文件
、主題文件
拷貝進去,那不就是完成了遷移了嘛?
所以,只要備份了這些文件即可,別的hexo的相關配置,就交給hexo自己去重新配置吧!
如此這般,這般如此之后,配備了hexo的Blog文件夾又重新出現在了我的桌面上。。
2017年10月09日補充
由于十一國慶節前,只是有一個上面所說的想法,現在節后回來,總得按照這個實踐一下。
其實上面所說的博客內容,還是hexo生成的html文件
,如果以前的文件沒有保存的話,還是沒有任何作用的,因此,重點就在:保存博客文章的原始文件(也就是我們寫博客的時候創建的markdown文件),有了這個文件之后,我們就可以使用hexo g
命令,重新生成html文件了。
今天,我試了2種方案:
- 統一把整個博客文件夾(包含配置文件,.md文件,以及hexo處理后生成的各種文件夾)備份到GitHub上。但是,試過之后,效果是可以達到的,我發現了一些比較繁瑣的一些問題: hexo自己生成的文件夾,由于hexo clean, hexo g等命令的作用下,會有重新生成或者刪除的操作,在git管理下,需要繁瑣的git checkout 或者git add。 所以我又萌生了另一種想法,也就是想法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
- 經過幾個小時的實踐,方法二也存在一些問題,比如同步備份基礎配置的時候,theme主題下的next文件夾不能同步到GitHub上,
多次配置修改hexo參數之后,出現GitHub404錯誤,所以也可以僅僅備份文章源文件,然后每次更換的時候,重新裝載npm安裝hexo,然后下載文章源文件到source/_posts文件夾下
以下是原文章:
首先
1. hexo的相關配置文件都是本地存放的。
2. 同步到GitHub上的文件都是hexo g
之后生成的(博客根目錄下的)public文件夾中的內容。
結論
前提
如果以前是使用hexo搭建的博客,以前電腦中創建過hexo根目錄,
然后中途更換過電腦,以前電腦上的配置文件 在現電腦上都沒有了
解決方法
如果想要重新在Github上創建repository,然后繼續管理博客
那么請移步我以前寫的hexo+github搭建博客心歷路程
如果想要繼續維護以前的博客,那么:
- 首先,我們要把以前github上博客的倉庫clone下來,通過實踐,我們知道,這個clone下來的文件夾就是以前本地博客根目錄下的
public
文件夾 - 我們可以自己本地安裝hexo之后,自己創建一個public文件夾,然后把clone下來的文件全部放進去
- 為了以后不再這么麻煩,我們可以直接在GitHub上備份一下我們的hexo配置文件,以后再遇到這種情況的時候,就可以直接
clone博客配置文件到本地, clone博客內容文件夾到本地,然后把內容文件夾該名稱public放在配置文件夾根目錄即可