搭建個(gè)人博客 - hexo

你將收獲

  1. hexo博客搭建
  2. github靜態(tài)網(wǎng)站部署
  3. 通過(guò)github的Action自動(dòng)部署項(xiàng)目

介紹

相關(guān)說(shuō)明\名稱(chēng) Hexo VuePress Gatsby
難易度 1 2 3
技術(shù)棧 ejs/stylus vue/stylus react/graphQL
主題豐富度 3 1 2
插件 3 1 3
功能性 1 2 3
github stars 30.8k 16.9k 45.6k

hexo:https://hexo.bootcss.com/

vuepress:https://www.vuepress.cn/

gatsby:https://www.gatsbyjs.org/

使用建議

新手 Hexo

Vue VuePress

React Gatsby

自己造輪子~

功能

  1. 基本功能
  2. github pages
  3. 自動(dòng)化部署
  4. 在線(xiàn)編輯

開(kāi)始

npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

tips:初始化超慢... 建議翻墻~

換膚

修改標(biāo)題等配置: _config.yml 文件 修改數(shù)據(jù)序列化格式磷蜀,白話(huà):項(xiàng)目全局配置雹舀,語(yǔ)言,標(biāo)題等

主題樣式:

  1. 尋址 - 通過(guò)hexo-thme 關(guān)鍵字搜索 用start最多排序,找到受歡迎的主題
  2. 替換 - 視頻中用cactues主題臂外,克隆下來(lái),并清理里面的.git(因?yàn)檫@是該主題的git管理),刪除原本的landscape主題,不會(huì)影響
  3. 生效 - 然后在項(xiàng)目中配置_config.yml中的theme選項(xiàng)寫(xiě)成對(duì)應(yīng)的主題名字
  4. 顏色 - 如果需要想修改主題內(nèi)部的顏色腺律,可以進(jìn)入到該主題的_config.yml文件進(jìn)行配置colorscheme屬性

部署

整體的目的就是把項(xiàng)目提交到git上后在做配置

github有兩種方式

方式一:https://[username].github.io 倉(cāng)庫(kù)名必須是[username].github.io 打包產(chǎn)物master分支 一般用于主頁(yè)

ps:比如我的用戶(hù)名是mythxiaoai 那么我創(chuàng)建的倉(cāng)庫(kù)名叫 mythxiaoai.github.io 因?yàn)檫@樣才會(huì)把該項(xiàng)目作為二級(jí)域名下的根,不明白先操作就知道啦~

方式二:https://[username].github.io/[repo] 可以自定義倉(cāng)庫(kù)名稱(chēng)宜肉,打包產(chǎn)物gh-pages分支 一般用于小項(xiàng)目demo

ps:我們所有項(xiàng)目名都可以當(dāng)做靜態(tài)網(wǎng)站訪(fǎng)問(wèn)的下面的index.html匀钧,需要去setttings的GitHub Pages去設(shè)置下,比如說(shuō) https://objtube.github.io/front-end-roadmap/#/ objtube[用戶(hù)名] front-end-roadmap[倉(cāng)庫(kù)名]

命令行自動(dòng)化部署

  1. 建坑 - 創(chuàng)建github上對(duì)應(yīng)的坑位
  2. 依賴(lài) - yarn add hexo-deployer-git 添加deply模塊化與git做關(guān)聯(lián)
  3. 配置 - _config.yml的deploy文件
  4. 執(zhí)行命令 npm/yarn run deploy 把生成的解壓public文件夾下的文件會(huì)全量覆蓋目標(biāo)庫(kù)~
//_config.yml
deploy:
  type: git
  repo: https://github.com/mythxiaoai/mythxiaoai.github.io
  branch: master

上面已經(jīng)可以完成通過(guò)命令完成博客更新了

github的Action更新后自動(dòng)部署

下面完成的是通過(guò)github的Action完成自動(dòng)化部署谬返,就是提交代碼后自動(dòng)發(fā)布之斯,類(lèi)似webhook

  1. 創(chuàng)建一個(gè)my-blog的分支
  2. 創(chuàng)建 .github\workflows\deploy.yml ps:windows手動(dòng)創(chuàng)建帶點(diǎn)的文件會(huì)出現(xiàn)特殊字符創(chuàng)建不了 用cmd命令窗口切換到當(dāng)前目錄 運(yùn)行 mkdir .github\workflows\
  3. 創(chuàng)建deploy.yml文件 內(nèi)容如下 意思是說(shuō) 檢查,運(yùn)行什么命令遣铝,怎么部署佑刷,api文檔在github的每個(gè)項(xiàng)目里面action選項(xiàng)里面有
  4. 提交代碼,后 修改下文章后提交my-blog分支酿炸,去gitlib上看actions的運(yùn)行是否正常執(zhí)行
name: Build and Deploy
on: [push]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout ???
        uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
        with:
          persist-credentials: false
      - name: Install and Build ?? # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
        run: |
          npm install
          npm run build
        env:
          CI: false
      - name: Deploy ??
        uses: JamesIves/github-pages-deploy-action@releases/v3
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          BRANCH: master # The branch the action should deploy to.
          FOLDER: public # The folder the action should deploy.

在線(xiàn)編輯

方法一:通過(guò)修改ejs的模板加一個(gè)編輯的超鏈接

<div>
  <a target="_blank" href="你的項(xiàng)目編輯頁(yè)面鏈接不要后綴<%- page.source %>">編輯/a>
</div>

方法二:直接在vscode上編輯提交 下載.markdown-all-in-one 插件 可以支持在線(xiàn)預(yù)覽瘫絮,寫(xiě)好后 直接提交代碼后更新

視頻地址:https://www.bilibili.com/video/BV1dt4y1Q7UE

看完了嗎~給我這個(gè)稱(chēng)職的課代表個(gè)贊?哈哈

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末填硕,一起剝皮案震驚了整個(gè)濱河市麦萤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扁眯,老刑警劉巖壮莹,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姻檀,居然都是意外死亡命满,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)绣版,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)周荐,“玉大人,你說(shuō)我怎么就攤上這事僵娃「抛鳎” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵默怨,是天一觀的道長(zhǎng)讯榕。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么愚屁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任济竹,我火速辦了婚禮,結(jié)果婚禮上霎槐,老公的妹妹穿的比我還像新娘送浊。我一直安慰自己,他們只是感情好丘跌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布袭景。 她就那樣靜靜地躺著,像睡著了一般闭树。 火紅的嫁衣襯著肌膚如雪耸棒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天报辱,我揣著相機(jī)與錄音与殃,去河邊找鬼。 笑死碍现,一個(gè)胖子當(dāng)著我的面吹牛幅疼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昼接,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼爽篷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了辩棒?” 一聲冷哼從身側(cè)響起狼忱,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎一睁,沒(méi)想到半個(gè)月后钻弄,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡者吁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年窘俺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片复凳。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瘤泪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出育八,到底是詐尸還是另有隱情对途,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布髓棋,位于F島的核電站实檀,受9級(jí)特大地震影響惶洲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜膳犹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一恬吕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧须床,春花似錦铐料、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至哈垢,卻和暖如春妻柒,著一層夾襖步出監(jiān)牢的瞬間扛拨,已是汗流浹背耘分。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绑警,地道東北人求泰。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像计盒,于是被迫代替她去往敵國(guó)和親渴频。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348