博客正式遷移到Hexo

Search for a command to run...

No comments yet. Be the first to comment.
本文首发在我的xlog站点 在resend 添加域名后一直都是带验证状态,等了五天,忍不住了。看官方文档,竟然有在另一个地方有小字说明。晕 目标 添加域名,才能成功发送邮件 过程 直接无脑复制提示的字段到DNS服务商中添加 发现长时间没生效 看官方文档 发现坑 填补好 Omit your domain from the record values in Resend when you paste. Instead of bounces.example.com, paste only...

原文来自 https://github.com/NginxProxyManager/nginx-proxy-manager/discussions/1634 介绍intro nginx proxy manager 是基于`docker`可以用签SSL和设置代理的非常便捷的工具 原理 先进入容器空间,删除用户信息,再加回去 步骤 第一步 docker exec -it <container-name> sh apt update && apt install sqlite3 -y sqlite3...

iPhone support ChinaBroadnet IPCC
Nginx port already in use

徘徊于WordPress 迷茫于VPS
糾結選哪個blog framework安家
猛然發現平台真的不重要 折騰的心應該focus于內容
希望得到舒適恬靜描描畫畫feelings (而不是臃腫擔心的後台admin)
簡潔優美的書寫環境
輕鬆快捷的發佈服務端
意外極端情況的應急修復能力
本地測試環境 (現有)OS:win7 64bit text編輯器:notepad++ (即將搭建) git node.js npm hexo 基於node.js靜態博客生成處理工具
遠程服務端環境 支持靜態化html解析的Github Pages
1.win平台安裝git 官方地址 下載安裝即可
2.本地安裝node.js node-v0.10.27-x64(選合適的版本)
3.安裝hexo $ npm install hexo -g 非常簡潔
至此,本地配置完成,搭好高樓大廈的骨架,要準備充實內容啦~
4.開通github賬號 官方註冊
5.新建repo 以xxxx.github.io命名的repository 建立pages的重要關鍵
至此,可以用https://github.com/xxxx/xxxx.github.io 訪問到新建的repo
(換言之確保 git clone https://github.com/xxxx/xxxx.github.io.git 可以正常)
6.打開剛剛的repo主頁,點擊項目的setting(URI直接進入)https://github.com/xxxx/xxxx.github.io/settings 點擊Github Pages自動生成默認的頁面
至此可以通過xxxx.github.io訪問默認頁面了(首次生效可能需要10min)
切換回本地操作
每次輸入賬號密碼簡直反人類
利用ssh更安全快捷
原理:客戶端生成的public key反饋回服務端得到認證 以後server-client通信就利用key匹配
媽媽再也不用擔心我輸入密碼啦~
進入Git Bash命令行 輸入
git config --global user.email "your@email.com" git config --global user.name "yourname"
這兩步是設定客戶端的全局名稱和郵件信息(僅僅是標識作用 郵箱用戶名隨便填)
生成秘鑰
ssh-keygen -t rsa -C "your@email.com" 一路按 Enter 確認 最後得到秘鑰
Your identification has been saved in x:\x.ssh\id_rsa Your public key has been saved in x:\x.ssh\id_rsa.pub The key fingerprint is: xx:xx:xx:xx:xx:ab:c1:50:10:40:0a:ba:c1:xx:xx:xx
然後,用文本编辑器打开id_rsa.pub文件,拷贝其中的内容,将其添加到 官方Github add ssh key
這一步目的是讓服務端認識客戶端 進行授權操作repo。
最後 執行命令
ssh -T git@github.com
提示已經授權代表成功 告別https密碼登陸啦啦啦 (忽視warning)
本地新建博客主目錄 例如blog
hexo init
完成主程序初始化 此時blog目錄應該create了很多文件 默認目錄結構
├── node_modules ├── scaffolds ├── scripts ├── source | ├── drafts | └── posts ├── themes ├── _config.yml └── package.json
根據程序默認配置 生成靜態博客文件
hexo generate
此時,主目錄下多了個子目錄 public 裡面就是整個博客的所有的靜態文件。
進行本地預覽調試 啟動本地服務器 默認4000端口
hexo server
現在通過 https://localhost:40000 就可以看到剛剛生成的博客了
但這僅僅是本地可以訪問 (我們必須把它發佈到服務器 看下文)
cd切換回博客的主目錄 前述的blog
思路
2.1先把遠程的repo clone到本地
2.2再刪除github默認的pages文件
2.3上傳更新我們的新的博客靜態文件
2.1 先把遠程的repo clone到本地
git clone git@github.com:xxxx/xxxx.github.io.git
2.2 再刪除github默認的pages文件
git rm -rf * git commit -m 'delete origin pages files' git push origin master
到這裡 已經把原來的pages文件刪除 清空完 可以放新文件上去了
2.3上傳更新我們的新的博客靜態文件
hexo原生支持發佈到Github的遠程服務端,因而只需修改全局配置文件_config.yml 就可以方便更新Github Pages了
用notepad++打開_config.yml 修改
# Deployment ## Docs: http://hexo.io/docs/deployment.html deploy: type: github repo: git@github.com:xxxx/xxxx.github.io.git branch: master
更多_config.yml 修改 看官方docs
最後 執行 hexo deploy -g 就成功發佈到Github Pages了
驗證
通過能訪問 xxxx.github.io 即證明成功publish
恭喜你 到現在終於把基本博客的最基本完成啦~(碼字君好累啊)
3.1 hexo發佈過程全解析
理順過程
1.hexo new 'hello-world' 本地編寫文章
2.hexo generate 生成靜態
3.hexo server 打開本地服務端 http://localhost:4000 調試
4.hexo deploy 發佈到遠端服務器
看清原理(對應上面過程來分析)
1.hexo調用node.js生成.md文件 默認路徑source\_posts\xx.md
2.hexo依據默認配置 生成靜態文件 默認生成在子目錄public 內
3.hexo利用web服務器開啟本地web服務
4.拷貝public 到.deploy 再執行git命令 讀取_config.yml 的deploy參數,git add . git commit -m 'CommitMessage' git push origin [branch]
升華小結下
1.直接在相應目錄建立文件,再deploy的效果和hexo new new-post-article一樣,eg.在source\_posts下直接新建xx.md文件等效于hexo n xx (新建pages同理)
2.手動執行git add . git commit -m 'CommitMessage' git push origin [branch] 等效同理于hexo deploy
故此 以後熟悉后直接變成兩個步驟
hexo new 'new-post-article' hexo d -g
稍等服務端就生效(最長10min)
hexo常用命令
hexo n == hexo new hexo g == hexo generate hexo s == hexo server hexo d == hexo deploy
3.2.1 global settings
全局設置在博客主目錄下 (前例blog)的_config.yml 中 默認配置如下 更多查看官方 docs 挺全面的 主要修改:站點簡介、固定鏈接、默認目錄、主題theme選擇、發佈deploy方式等。
title: Hexo
subtitle:
description:
author: John Doe
email:
language:
url: http://yoursite.com
root: /
permalink: :year/:month/:day/:title/
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
new_post_name: :title.md
default_layout: post
auto_spacing: false
titlecase: false
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
highlight:
enable: true
line_number: true
tab_replace:
default_category: uncategorized
category_map:
tag_map:
archive: 2
category: 2
tag: 2
port: 4000
logger: false
logger_format:
date_format: MMM D YYYY
time_format: H:mm:ss
per_page: 10
pagination_dir: page
disqus_shortname:
theme: light
exclude_generator:
deploy:
type:
3.2.2 主題配色優化 theme customization
主目錄下子目錄 theme 為主題文件夾所在,而 官方hexo theme wiki參考 童靴們也可以自己寫add進去
找到合適的 copy進來就好 git clone也行 whatever u like
最後配置 _config.yml options中的theme: 改為新主題名 (注意冒號:後面先加個space空格鍵 不然報錯)
3.2.3 添加插件 新建頁面
添加插件
官方說明不錯 瞄瞄吧 碼字好苦啊~
添加頁面等
hexo new page 'page-name'
3.2.4 添加自定義域名
感謝開源程序與大家無私的精神 終於可以通過 http://xxxx.github.io 訪問您的博客啦~~
however 這個在github.io下的子域名有點長或者不爽的
Github Pages支持用自定義域名 萬惡的資本主義想得好周到嘛~
兩種情況
1.有example.com 這樣的由頂級域名下的域名(叫一級域名?who knows)
到repo目錄下新建 CNAME 文件,該文件只有一行,只需填 example.com
ping dig traceroute xxxx.github.io的ip 找最快最穩定的
到DNS服務商修改 example.com 的A 記錄指向 剛剛的ip
drink a cup of coffee and visit http://example.com Enjoy it!
2.有abc.example.com 的子域名
到repo目錄下新建 CNAME 文件,該文件只有一行,只需填 abc.example.com
到DNS服務商修改 abc.example.com 的CNAME 記錄指向 abc.example.com
To be continued (額 手抽筋啦).....
PS:
long time no write something elegantly with pure purpose.
有問題歡迎留言哈 輕輕拍就好 LOL