VuePress 博客搭建系列 33 篇正式完結!

来源:https://www.cnblogs.com/yayujs/archive/2022/03/29/16073294.html
-Advertisement-
Play Games

前言 VuePress 博客搭建系列是我寫的第 6 個系列文章,前 5 個系列分別是 JavaScript 深入系列,JavaScript 專題系列、underscore 系列、ES6 系列、TypeScript 系列。 VuePress 博客搭建系列共計 33 篇,講解使用 VuePress 搭建 ...


前言

VuePress 博客搭建系列是我寫的第 6 個系列文章,前 5 個系列分別是 JavaScript 深入系列JavaScript 專題系列underscore 系列ES6 系列TypeScript 系列

VuePress 博客搭建系列共計 33 篇,講解使用 VuePress 搭建博客,進行各種優化,為博客增添各種功能,並部署到 GitHub、Gitee、個人伺服器平臺的全過程。

這個系列從 2021年12月13日開始發佈第一篇,到 2022 年 3 月 10 日發佈最後一篇,感謝各位朋友的收藏、點贊,鼓勵、指正。

順便宣傳一下該博客的 GitHub 倉庫:https://github.com/mqyqingfeng/Blog,歡迎 star,鼓勵一下作者。

本篇聊一聊我為什麼會寫這個系列,以及寫作這個系列中的一些感悟。

起因

之所以會開始寫這個系列,也是無心插柳,我在翻譯完 TypeScript 官方手冊之後,突然想到做個站點,或許更方便大家閱讀,於是便做了這樣一個站點: TypeScript 中文文檔

之所以選擇用 VuePress,並不是因為我擅長 Vue,恰恰我從來沒有用過 Vue,之所以用 VuePress,更多是因為 Vue 的受眾甚廣,使用 Vue 風格的文檔大家會更有熟悉感。

在我準備搭建這個站點的時候,VuePress 2.x 還在 beta 中,VitePress 也有少量應用,考慮到我想快速搭建一個站點,由於 VitePress 不相容當前的 VuePress 生態,所以我就選擇了 VuePress,至於為什麼沒有選擇 beta 測試版,是因為很多生態中的主題和插件還沒有升級,於是我就用了最為穩定的 VuePress 1.x,所以這個系列文章也是基於 VuePress 1.x 寫的,像個別函數名和使用方式,到了 VuePress 2.x 中就變了,如果是使用 VuePress 2.x 的同學請千萬註意。

剛開始我是使用 GitHub Pages 搭建的,因為 GitHub 的屏蔽原因,我又用 Gitee Pages 搭建了一份,後來一想,為啥不自己搞個功能變數名稱和伺服器呢,於是我就自己買了功能變數名稱和伺服器,最終做了這個站點。

邊做我邊寫文章分享,一開始預計寫 8 篇左右,結果寫起來一發不可收拾,各種要做的事情一研究,都可以單獨成文了,隨著站點的不斷優化,我也將自己的實現分享出來,最終如你所見,寫了 33 篇,其實縱觀每一篇都是一個非常小的知識點,但綜合起來,卻又橫跨了不少知識領域。

希望這個系列的讀者能有所收穫,不僅僅是搭建成功自己的站點,更是能在這個過程中對很多東西的原理有所理解,這樣再處理相似的問題時,才能舉一反三。

感慨

更新這個系列文章我最大的感受或許就是:這種文章真好寫……

像我往常寫的文章都是原理類的,寫一篇文章往往要通讀很多文章、書籍,然後再根據自己的思路寫出來,但這種實踐類的文章,記錄遇到的問題,寫下解決問題的方式即可,一天一篇簡直是太簡單了……

雖然我也希望寫的有點深度,像 VuePress 的源碼、主題的源碼、markdown-it 的源碼,很多插件的源碼我都翻過並寫瞭解析,但由於我本身並不想在這方面花費太多時間,畢竟只是順手寫的文章,花大量時間研究透原理,正事卻沒乾,實在是撿了芝麻漏了西瓜,所以更多是大致的梳理,很多時候,問題解決了,哪怕解決的方式不優雅不完美也都算了,或許這跟很多做業務的同學很像,只求解決問題,但卻不花時間優化問題的解決方式。

由此我也依據自己的親身經歷,得出結論:那些日更作者,寫的文章一定不怎麼樣!

當然這句我也說了我自己,一個人沒有大量的輸入,就在瘋狂的輸出,寫出的文章要不然就是簡單,一天就可以學會解決的內容,要不然就是徹頭徹尾的水文。我希望我至少是屬於前者。

所以不要敬佩那些日更的作者,他們日更寫的章一定不怎麼樣,作者的水平在日更的過程中,只能保證下限,卻提高不了上限。

當然這樣說,並不是在說這個系列文章的品質不好,畢竟作者是我,只是很多細節上我個人感覺依然有優化和完善的空間,而且寫了 33 篇,我覺得這可能是業界關於 VuePress 博客搭建最完善系統的教程了。

實際上,在我更新這個系列文章的過程中,有很多同學跟著系列教程創建了自己的站點,在我的群里就有同學分享跟著我的文章《一篇教你博客如何部署到自己的伺服器》 1 個小時就部署了 vuepress 博客,但我自己一個人在做的時候,自己裝先花了一天,為了寫這篇文章,重置了伺服器,邊裝邊寫又花了一天。雖然不像一些作者十天半月打磨一篇文章,但也在力所能及的範圍內儘可能完善的寫文了。

全目錄

  1. 一篇帶你用 VuePress + GitHub Pages 搭建博客
  2. 一篇教你代碼同步 GitHub 和 Gitee
  3. 還不會用 GitHub Actions ?看看這篇
  4. Gitee 如何自動部署 Pages?還是用 GitHub Actions!
  5. 一份前端夠用的 Linux 命令
  6. 一份簡單夠用的 Nginx Location 配置講解
  7. 一篇教你博客如何部署到自己的伺服器
  8. 一篇功能變數名稱從購買到備案到解析的詳細教程
  9. VuePress 博客優化之 last updated 最後更新時間如何設置
  10. VuePress 博客優化之添加數據統計功能
  11. VuePress 博客優化之開啟 HTTPS
  12. VuePress 博客優化之開啟 Gzip 壓縮
  13. 從零實現一個 VuePress 插件
  14. VuePress 博客優化之拓展 Markdown 語法
  15. markdown-it 原理解析
  16. markdown-it 插件如何寫(一)
  17. markdown-it 插件如何寫(二)
  18. markdown-it 插件如何寫(三)
  19. 有的時候我覺得我不會 Markdown
  20. VuePress 博客優化之中文錨點跳轉問題
  21. 搭建 VuePress 博客,你可能會用到的一些插件
  22. VuePress 博客如何開啟本地 HTTPS 訪問
  23. VuePress 博客優化之相容 PWA
  24. VuePress 博客優化之開啟 Algolia 全文搜索
  25. VuePress 博客優化之增加 Valine 評論功能
  26. VuePress 博客優化之增加 Vssue 評論功能
  27. VuePress 博客之 SEO 優化(一)sitemap 與搜索引擎收錄
  28. VuePress 博客之 SEO 優化(二)重定向
  29. VuePress 博客之 SEO 優化(三)標題、鏈接優化
  30. VuePress 博客之 SEO 優化(四) Open Graph protocol
  31. VuePress 博客之 SEO 優化(五)添加 JSON-LD 數據
  32. VuePress 博客之 SEO 優化(六)站長工具
  33. 搭建 VuePress 站點必做的 10 個優化

下期預告

原本預計更新完博客搭建系列,將回歸到 TypeScript 系列的寫作中。

TypeScript 系列是一個由官方文檔翻譯、重難點解析、實踐技巧與總結三個部分組成的系列文章,全系列預計 40 篇左右。目前已完成了官方文檔 Handbooks 的翻譯,接下來就準備寫重難點解析部分。

但時值金三銀四,在我讀者群里的同學也經常討論面試相關的內容,所以我想在三月的時候,專門整理面試相關的內容,寫一份前端面試手冊,幫助更多的同學。

但與講解單獨的前端面試題不同,我認為,對於面試,面試前的長時間準備,寫簡歷,找公司,找內推,面試技巧都很重要,而這些方面。很多人經驗太不足了,也沒有意識學習和優化,所以我想寫一份完整的從技術準備,到簡歷,到找公司,到面試技巧的系列文,講其中的道和法,而不是執著於器和具體的面試題目。

感謝大家的閱讀和支持,我是冴羽,下個系列再見啦![]( ̄▽ ̄)**


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 協程是一個併發方案。也是一種思想。 傳統意義上的協程是單線程的,面對io密集型任務他的記憶體消耗更少,進而效率高。但是面對計算密集型的任務不如多線程並行運算效率高。 不同的語言對於協程都有不同的實現,甚至同一種語言對於不同平臺的操作系統都有對應的實現。 我們kotlin語言的協程是 corout... ...
  • 前言 ​ 通過應用程式退出事件,可以分析應用程式的平均使用時長;通過應用程式的啟動事件,可以分析日活和新增。我們可以通過全埋點方式 SDK 實現應用程式的退出和啟動事件。 一、全埋點的簡介 ​ 目前、全埋點採集可以採集一下4個事件。 1、$AppEnd 事件:應用程式退出事件 2、$AppStart ...
  • 如何把我們最熟悉的購物變得簡單、直接、充滿想象力? 有的時候用戶想要一聲令下就能看到自己心儀的商品,有的時候用戶需要一個智能購物管家來管理自己常用的卡券,甚至還想要在股掌之間、分秒之際就掌握商品全貌信息。對於用戶日益豐富的想象力,移動應用開發者能做些什麼呢? 詳情請看視頻 【繪“聲”繪“色”】 線上 ...
  • 關於 HarmonyOS 開發中鴻蒙的無線輪播功能(效果圖如下)是一個很常見的功能,在鴻蒙中怎麼實現呢?今天寫一個demo來記錄一下該功能的實現,主要分為“準備工作”,“圖片輪播”,“無線輪播”,“運行效果”四個方面進行實 1. 準備工作 1.1 想要實現無線輪播功能需要查看PageSlider和“ ...
  • 一、transition(過渡、轉變的意思) transition 屬性是一個簡寫屬性,用於設置四個過渡屬性: 1. transition-property:設置過渡效果的屬性名稱(預設值是all); 2. transition-duration:設置過渡完成所需要的時間(預設值是0); 3. tr ...
  • 使用 Ajax 技術網頁應用能夠快速地將增量更新呈現在用戶界面上,而不需要重載(刷新)整個頁面,這使得程式能夠更快地回應用戶的操作。 ...
  • 一、冒泡排序 原理:相鄰兩元素之間兩兩比較,比較出大值進行賦值互換,再依次與相鄰的元素比較,層層遞進。#互換元素位置,相互賦值。 時間複雜度:最好O(n),最差O(n^2) 1、比較相鄰的兩個元素,如果前一個比後一個大,則交換位置。2、比較完第一輪的時候,最後一個元素是最大的元素。3、這時候最後一個 ...
  • 具體示例 //代碼 console.log(JSON.stringify({ x: 5, y: 6 },null,2)); //輸出結果 { "x": 5, "y": 6 } JSON.stringify() 介紹 JSON.stringify()方法將一個JavaScript對象或值轉換為JSON ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...