技術人如何搭建自己的技術博客

      網友投稿 905 2022-05-30

      上次有人留言說,技術博客是程序員的標配,但據我所知絕大部分技術同學到現在仍然沒有自己的技術博客。原因有很多,有的是懶的寫,有的是怕寫不好,還有的是一直想憋個大招,幻想做到完美再發出來,結果一直胎死腹中。但其實更多程序員是不知道如何去搭建一個博客,其實如今搭建一個個人技術博客非常簡單,其中最簡單搭建方式莫屬使用 GitHub Pages + Jekyll 了,我的博客就是使用這種技術。

      GitHub Pages

      Github Pages 是面向用戶、組織和項目開放的公共靜態頁面搭建托管服務,站點可以被免費托管在 Github 上,你可以選擇使用 Github Pages 默認提供的域名 github.io 或者自定義域名來發布站點。Github Pages 支持 自動利用 Jekyll 生成站點,也同樣支持純 HTML 文檔,將你的 Jekyll 站點托管在 Github Pages 上是一個不錯的選擇。

      使用 Github Pages 搭建博客有以下幾個優點:

      完全免費,其中服務器、流量、域名什么的都需要管,完全零費用搭建一個技術博客

      寫博客就是提交代碼,讓寫作和編程的體驗保持一致

      支持綁定自己的域名

      提供流行的網頁主題模板

      缺點也是有的:

      不支持動態內容,博客必須都是靜態網頁,一般會使用 Jekyll 來構建內容。

      博客不能被百度索引,因 Github 和百度有過節,所以 Github 就把百度給屏蔽了。

      倉庫空間不大于1G

      每個月的流量不超過100G

      每小時更新不超過 10 次

      Github Pages 使用 Jekyll 來構建內容,那么 Jekyll 是什么呢?

      Jekyll 介紹

      Jekyll 是一個簡單的博客形態的靜態站點生產機器。它有一個模版目錄,其中包含原始文本格式的文檔,通過一個轉換器(如 Markdown)和我們的 Liquid 渲染器轉化成一個完整的可發布的靜態網站,你可以發布在任何你喜愛的服務器上。Jekyll 也可以運行在 GitHub Page 上,也就是說,你可以使用 GitHub 的服務來搭建你的項目頁面、博客或者網站,而且是完全免費的。

      但如果我們只是在 GitHub 上面使用的話,到不需要知道 Jekyll 的語法,一般 Github 會自動將我們寫的 Markdown 文件轉換成靜態頁面。使用 Jekyll 需要使用 Markdown 語法來寫你的文章,不過 Markdown 語法非常簡單,做為程序員來講基本上兩三天就掌握了,大家也可以參考這篇文章:markdown 使用總結。

      給大家分享一些 Jekyll 主題,這個網站下有很多?http://jekyllthemes.org/?主題,大家可以根據自己的愛好去選擇博客主題。

      我的個人博客

      我的博客經過了三個階段,第一個階段,完全依托于使用 GitHub Pages 來構建;第二個階段,將博客托管于國外的一個服務商;第三個階段,服務器遷移回到國內、域名備案。之前也寫過幾篇關于技術博客的文章,如下:

      千里追蹤博客之殤

      歷時25天,我的博客(www.ityouknow.com)終于又活了過來

      技術博客那些事兒

      使用 Github Pages + Jekyll 構建一個技術博客很簡單,基本上步驟就是網上找一個自己喜歡的主題,直接 Fork 到自己的 Github ,然后在刪掉原博客中的內容,在上傳自己的文章即可,以我自己的博客為例。

      我的博客最初使用的是Yummy-Jekyll,但這個主題已經盡兩年多都沒有更新了。因此后期我在這個主題的基礎上做了一些改動,其中有依賴組件的更新,結合個人情況對個別頁面進行了改版,就成為了現在的樣子:

      使用這個主題的原因是,我比較喜歡簡潔大氣的風格,并且此博客主題對代碼展示支持良好。

      快速構建一個博客

      以我的博客為例,介紹如何最快搭建一個博客。這也是我博客經歷的第一個階段。

      1、首先打開地址https://github.com/ityouknow/ityouknow.github.io,點擊 Fork 按鈕將代碼復制一份到自己的倉庫。

      過上一分鐘,你的 github 倉庫發現一個 ityouknow.github.io 項目。

      2、刪除 CNAME 文件

      刪除項目中的 CNAME 文件,CNAME 是定制域名的時候使用的內容,如果不使用定制域名會存在沖突。

      3、設置 GitHub Pages

      點擊 Settings 按鈕打開設置頁面,頁面往下拉到 GitHub Pages 相關設置,在 Source 下面的復選框中選擇 master branch ,然后點擊旁邊的 Save 按鈕保存設置。

      4、重命名項目

      點擊 Settings 按鈕打開設置頁面,重命名項目名稱為:github_username.github.io。

      github_username 是你的 github 登錄用戶名

      5、重命名之后,再次回到 Settings > GitHub Pages 頁面

      會發現存在這樣一個地址:?https://github_username.github.io

      這個時候,你訪問此地址已經可以看到博客的首頁,但是點擊文章的時鏈接跳轉地址不對,這是因為少配置了一個文件。

      6、配置 _config.yml

      打開項目目錄下的 _config.yml 文件,修改以下配置:

      repository:?github_username/github_username.github.iogithub_url:?https://github.com/github_usernameurl:?https://github_username.github.io

      這時候在訪問地址:?https://github_username.github.io,就會發現博客就已經構建完成了。剩下的事情就是去項目的 _posts 目錄下刪除掉我的文章,然后按照 Jekyll 的語法就寫自己的文章就好了。

      github_username 為你的 github id。

      自定義域名

      雖然通過地址https://github_username.github.io可以正常訪問博客,但是技術小伙伴們肯定有人想使用自己的域名訪問博客,這樣的需求 GitHub Pages 也是支持的。

      首先需要設置域名解析,將域名的地址指向自己的 github 博客地址。這里以萬網的域名配置為例,選擇需要設置的域名點擊解析,在域名解析頁面添加以下兩條記錄

      空框內,需要填寫自己github_username值。

      然后重新打開項目的 Settings > GitHub Pages 頁面,Custom domain 下的輸入框輸入剛才設置的域名:xxx.com,點擊保存即可。

      重新配置 _config.yml

      打開項目目錄下的 _config.yml 文件,修改以下配置:

      url:?http://www.xxx.com

      等待一分鐘之后,瀏覽器訪問地址:www.xxx.com?即可訪問博客。

      自定義 DIY 博客

      一般同學到上面這一步也就完成了,基本滿足了 80% 技術同學的需求。但還是有一些同學們有更高的追求,比如說使用 Github Pages 雖然簡單方便,但是不能被百度檢索白白流失了大量的流量,還有一個原因有些時候,博客網絡訪問穩定性不是很高。

      當時我在國外有幾個虛擬機,本來用作它用,后來在上面安裝了一個 Nginx 作為靜態頁面的服務器。首先我在本機(win10)安裝了 Jekyll 環境,將 Github 上的博客代碼下載下來之后,在本機編譯成靜態的 Html ,然后手動上傳到服務的 Nginx 目錄下;然后將域名指向虛擬機。

      非常不建議大家實踐以上這段內容,win10 上面安裝 Jekyll 環境是一段慘痛的經歷。

      就這樣很麻煩的步驟我用了幾個月后,實在是受不了了,一方面因為服務器在國外,有時候仍然不穩定(可能因為服務器安裝了代理),另一方面我需要使用一些功能,使用這些功能的前提是網站需要備案,那段時間騰訊云在做活動,就把博客又從國外搬了回來,順便重新優化了一下流程。

      仍然把博客托管在 Github 上面,每次提交完代碼后,在騰訊云上面執行一個腳本,這個腳本會自動從 Github 拉取最新更新的文件,并自動生產靜態的 Html 文件推送到 Nginx 目錄,域名重新指向這臺服務器。可以在 Github 上面設置一些鉤子,當提交代碼的時候自動觸發腳本,也可以定時觸發腳本來發布文章。

      腳本內容如下:

      cd?/usr/local/ityouknow.github.io git?pull?http://github.com/ityouknow/ityouknow.github.io.git jekyll?build?--destination=/usr/share/nginx/html

      執行此腳本的前提是安裝好 git\jekyll 環境,這個網上有很多案例,這里就不再多描述了。

      技術人如何搭建自己的技術博客

      關于 Jekyll 環境搭建和使用可以參考這里:https://jekyllcn.com/docs/home/

      最后,大家可以在這篇文章下留下你的個人博客地址,方便同行們觀賞、交流、學習。

      建站

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Terraform 語法簡介
      下一篇:細說機器人過程自動化(RPA)與AI人工智能
      相關文章
      九月婷婷亚洲综合在线| 亚洲二区在线视频| 亚洲欧美日韩中文字幕在线一区| 亚洲精品美女久久久久9999| 亚洲国产香蕉碰碰人人| 亚洲VA中文字幕无码一二三区| 永久亚洲成a人片777777| 国产亚洲精品高清在线| 亚洲无线码在线一区观看| 久久久久一级精品亚洲国产成人综合AV区 | 亚洲一区二区三区国产精华液| ww亚洲ww在线观看国产| 亚洲卡一卡二卡乱码新区| 亚洲中文字幕无码久久| 亚洲天然素人无码专区| 亚洲av无码兔费综合| 国产综合成人亚洲区| 亚洲AV无码乱码在线观看性色扶| 亚洲av无码成人精品区| 亚洲无码视频在线| 亚洲精品无码不卡在线播HE| 亚洲第一极品精品无码久久| 亚洲欧洲免费视频| 亚洲国产高清在线精品一区| 亚洲人成人网毛片在线播放| 亚洲人成色4444在线观看| 在线观看亚洲电影| 久久精品国产亚洲7777| 亚洲成av人在线视| 亚洲综合视频在线观看| 亚洲AV无码专区在线亚| 亚洲精品无码不卡在线播放| 亚洲国产一区视频| 国产亚洲真人做受在线观看| 亚洲天天做日日做天天看| 久久精品国产亚洲AV久| 亚洲国产精华液2020| 亚洲伊人久久综合影院| 亚洲国产精品无码中文字| 亚洲高清中文字幕综合网| 日本亚洲色大成网站www久久|