我的這套VuePress主題你熟悉吧

最近熬了很多個夜晚, 踩坑無數, 終于寫出了用VuePress驅動的主題.

只需體驗三分鐘,你就會跟我一樣,愛上這款主題.

vuepress-theme-indigo-material, 已經發布到npm, 請客官享用~~

介紹

vuepress-theme-indigo-material 的原主題是hexo-theme-indigo, github 的 star 數高達2042, fork 的有451個, 它在靜態博客網站中的應用處處可見.在這里首先感謝原作者.

然而它的定位是僅支持 IE10+ 等現代瀏覽器。既然不需要支持老版本瀏覽器, 在前端發展迅猛的今天, 已經有許多技術能夠讓網址更快, 所以我用VuePress來重寫了它. 其實 indigo 的原作者已經在用 vuepress 重寫了, 但是項目一直沒有進展, 所以我接過了這個任務, 最后重寫的效果是挺滿意的.

可以看看下面,本主題在我的有 51 篇博客筆記下, 部署在 github page, 在手機 4G 網絡下的加載速度gif 圖,網頁加載速度非常快,更快的是,網頁加載完成后,此后每個頁面的打開速度,都是仿佛在點擊本地文件.

具體感受可以點擊我的博客網站來親身感受, 部署在 github page 下, 國內請可以點擊碼云的 page 地址

正如VuePress文檔所說:

每一個由 VuePress 生成的頁面都帶有預渲染好的 HTML,也因此具有非常好的加載性能和搜索引擎優化(SEO)。

用 Lighthouse 來測試網站中, SEO 一直都是100 ,打包后的大小也比起原主題小了許多.

巧妙之處

加載快的原因還在于是先在本地編譯中把數據寫進相應的 js 文件,

fs.writeFile(`${dataPath}/search.js`,`export default ${JSON.stringify(search, null, 2)};`,error => {if (error)return console.log('寫入搜索search文件失敗,原因是' + error.message);console.log('寫入搜索search文件成功');}
);
復制代碼

然后在網頁被打開時, 在 vue.js 的生命周期 created 中, 結合 webpack 的 import()語法導入相應存放數據的 js 文件.

created() {import(/* webpackChunkName: "search" */ "Data/search.js").then(search => {this.search = search.default;});},
復制代碼

webpack 會把代碼分割,按需去利用 jsonp 去請求 js 文件, 這樣我們就能在本地編譯時整理所需的數據, 然后模擬了 web APP 開發的流程, 頁面先到達呈現, 數據后請求.而不用怕我們所需要的數據和網頁一起一次發過來,讓網頁加載速度緩慢

最后利用 vue 強大的 MVVM, 因為數據都有了, 此后的頁面幾乎是立即渲染, 即點即開.

這是我探索出來對沒有后端的靜態網站的一種很好的性能優化.

您換主題的理由

  • 更快更小,
  • 改進我在一年的的使用中感受到的原主題一些交互和外觀, 例如刪除分享功能, 移除了打賞功能, 增加移動端文章目錄導航等等
  • 更加容易自定義, vuepress 的主題和插件很靈活,只要您會 Vue, 就能利用相關知識修改原主題, 和平時工作中寫的頁面和 APP 差不多
  • 居于本地數據的全文搜索
  • 擁抱 vue, 然后能享用它的生態, 例如組件庫, 本主題就利用了 element ui
  • 享用 vuepress 的 Markdown 拓展 , 例如在 Markdown 中 使用 Vue,自定義文章摘要
  • 理論上非常好的 SEO
  • 兼容 hexo 原主題寫的 markdwon 文件, 不用修改即可搬遷移到本主題, 前提是您原來文件有遵守原主題的規則, 例如在文件頂部有包含 YAML front matte
---
title: 【讀書筆記】《JavaScript權威指南》第7章數組
date: 2018-11-08 04:10:03
tags: [讀書筆記, 《JavaScript權威指南》]
---
復制代碼
  • 已經發布到 npm, 只需要下載即可, 還提供一套模板文件結構, 下載依賴后立即可以使用, 還提供了相關操作的 shell 文件,雙擊即可,幾分鐘就能有自己的博客
  • 內置評論功能
  • ......

瀏覽器兼容性

由于博客面向的群體比較都是技術人員, 所以本主題只在最新版的谷歌瀏覽器和火狐瀏覽器測試無誤

vuepress 默認有編譯一些對老版本瀏覽器的兼容, 具體控制請看它官網配置

我寫了很詳細的文檔, 趕快去體驗一下vuepress-theme-indigo-material吧, 如果覺得不錯, 您能給我一個star嗎?

github地址:github.com/zhhlwd/vuep…

轉載于:https://juejin.im/post/5c6dc6465188256559172860

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536930.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536930.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536930.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

兩年Java工作經驗應該會些什么技術

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

centos 6 mysql 5.7.13 編譯安裝_Centos 6.5 下面 源碼編譯 安裝 Mysql 5.7.13

安裝軟件依賴包yum -y install gcc gcc-c ncurses ncurses-devel cmake下載軟件包cd /usr/local/srcwget https://downloads.mysql.com/archives/get/file/mysql-5.7.13.tar.gz --no-check-certificate下載 boost 庫,MySQL 5.7.5 開始Boost庫是必需的cd /usr/loca…

LeetCode 237. 刪除鏈表中的節點(Python3)

題目: 請編寫一個函數,使其可以刪除某個鏈表中給定的(非末尾)節點,你將只被給定要求被刪除的節點。 現有一個鏈表 -- head [4,5,1,9],它可以表示為: 示例 1: 輸入: head [4,5,1,9], node 5 輸出: [4,1,9…

使用Uniapp隨手記錄知識點

使用uniapp隨手記錄知識點 1 組件內置組件擴展組件 2 vuex狀態管理使用流程mapState 輔助函數gettersMutation 1 組件 內置組件 內置組件內主要包含一些基礎的view button video scroll-view等內置基礎組件,滿足基礎場景 擴展組件 擴展組件是uniapp封裝了一些成…

一年Java經驗應該會些什么

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

mysql查詢各類課程的總學分_基于jsp+mysql的JSP學生選課信息管理系統

運行環境: 最好是java jdk 1.8,我們在這個平臺上運行的。其他版本理論上也可以。IDE環境: Eclipse,Myeclipse,IDEA都可以硬件環境: windows 7/8/10 2G內存以上(推薦4G,4G以上更好)可以實現: 學生,教師角色的…

80端口占用分析

SQL Server 2008 里面的組件——SQL Server Reporting Services (MSSQLSERVER)。是 SQL Server 的日志系統,就是他好端端的突然占用了80端口,而且對于普通人來講,這個組件的作用沒啥用,關掉也是節約資源。 關閉服務 ReportServer …

三年java經驗應該會什么?

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

python call agilent com_PyVISA通過RS232(USB)與安捷倫34970A通信時出現超時錯誤

這是我第一次嘗試使用Pyvisa,以便使用RS232連接(使用USB端口)與Agilent 34970A進行通信。在這就是發生在我身上的事情,插入基本的第一行:IN: import visaIN: rmvisa.ResourceManager()IN: print rm.list_resources()(uASRL4::INSTR,)IN: inst…

python加法運算符可以用來連接字符串并生成新字符串_中國大學MOOCPython語言入門網課答案...

中國大學MOOCPython語言入門網課答案表達式int(40.5)的值為____________。表達式160.5的值為____________________。python程序只能使用源代碼進行運行,不能打包成可執行文件。python語句list(range(1,10,3))執行結果為___________________。pip命令也支持擴展名為.…

全是滿滿的技術文檔

*************************************話不多說-先上教程 ********************************** 完整躺賺教程(不需任何技術,照做就能賺錢):點擊此處獲取 提取碼&#xff1a;6666 被動收入教程(需要一定的技術,會搭建服務器,會發布項目<教程里面會教你>):點擊此處獲取 提…

JavaScript面試的完美指南(開發者視角)

2019獨角獸企業重金招聘Python工程師標準>>> 摘要&#xff1a; 面試季手冊。 原文&#xff1a;javascript 面試的完美指南(開發者視角)作者&#xff1a;前端小智Fundebug經授權轉載&#xff0c;版權歸原作者所有。 為了說明 JS 面試的復雜性&#xff0c;首先&#x…

電腦上mysql數據庫無法登錄_無法遠程登入MySQL數據庫的幾種解決辦法MySQL綜合 -電腦資料...

方法一&#xff1a;嘗試用MySQL Adminstrator GUI Tool登入MySQL Server&#xff0c;Server卻回復錯誤訊息&#xff1a;Host 60-248-32-13.HINET-IP.hinet.net is not allowed to connect to thisMySQL server這個是因為權限的問題&#xff0c;處理方式如下&#xff1a;shell&g…

如何優化 App 的啟動耗時?

原文&#xff1a;iOS面試題大全 iOS 的 App 啟動主要分為以下步驟&#xff1a; 打開 App&#xff0c;系統內核進行初始化跳轉到 dyld 執行。這個過程包括這些步驟&#xff1a;1&#xff09;分配虛擬內存空間&#xff1b;2&#xff09;fork 進程&#xff1b;3&#xff09;加載 M…

windows qt 不能debug_linux配置vlc-qt

vlc-qt 是基于vlc庫&#xff0c;用于開發音頻視頻應用&#xff0c;性能優秀。vlc-qt/vlc-qt?github.com使用vlc-qt首先需要編譯vlc-qt &#xff08;windows可以下載使用編譯好的&#xff0c;但是只能用在release模式&#xff09;&#xff08;在windows系統中&#xff09;使用w…

idou老師教你學Istio 27:解讀Mixer Report流程

1、概述 Mixer是Istio的核心組件&#xff0c;提供了遙測數據收集的功能&#xff0c;能夠實時采集服務的請求狀態等信息&#xff0c;以達到監控服務狀態目的。 1.1 核心功能 ?前置檢查&#xff08;Check&#xff09;&#xff1a;某服務接收并響應外部請求前&#xff0c;先通過E…

mysql刪除密碼代碼_mysql 用戶新建、受權、刪除、密碼修改

mysql 用戶新建、授權、刪除、密碼修改首先要聲明一下&#xff1a;一般情況下&#xff0c;修改MySQL密碼&#xff0c;授權&#xff0c;是需要有mysql里的root權限的。注&#xff1a;本操作是在WIN命令提示符下&#xff0c;phpMyAdmin同樣適用。用戶&#xff1a;phplamp 用戶數…

KindEditor 上傳漏洞致近百個黨政機關網站遭植入

開發四年只會寫業務代碼&#xff0c;分布式高并發都不會還做程序員&#xff1f; >>> 2月21日消息&#xff0c;近日&#xff0c;安恒明鑒網站安全監測平臺和應急響應中心監測發現近百起黨政機關網站被植入色情廣告頁面&#xff0c;分析發現被植入色情廣告頁面的網站都…

php mysql登陸頁面完整代碼_求助:PHP實現登陸注冊的代碼是什么啊(主要是數據庫那塊)?...

思路&#xff1a;注冊&#xff1a;獲取前臺表單數據->數據庫連接->判斷數據是否存在&#xff0c;存在輸出提示&#xff0c;不存在則向數據庫插入表單傳來的值->如果sql執行失敗輸出錯誤&#xff0c;成功功輸出注冊成功登陸&#xff1a;獲取前臺表單數據->數據庫連接…

Insql 1.8.2 發布,輕量級 .NET ORM 類庫

開發四年只會寫業務代碼&#xff0c;分布式高并發都不會還做程序員&#xff1f; >>> Insql 是一個輕量級的.NET ORM 類庫。對象映射基于 Dapper, Sql 配置靈感來自于 Mybatis。 TA 的追求&#xff1a;簡潔、優雅、性能與質量 TA 的宗旨&#xff1a;讓你用起來感覺到…