Silence - 專註於閱讀的博客園主題

来源:https://www.cnblogs.com/esofar/archive/2018/08/23/cnblogs-theme-silence.html
-Advertisement-
Play Games

最近花了點心思整理了下我的博客園主題代碼,今天正式和大家分享一下,感興趣的園友可以瞭解一下。 主題介紹 Silence 追求大道至簡的終極真理,旨在打造一個乾凈、專註閱讀的博客主題,沒有二維空間元素、不存在花里胡哨。 簡單概括其幾個主要特點: 專註閱讀、精緻漂亮的 UI; 事無巨細的部署文檔; 相容 ...


最近花了點心思整理了下我的博客園主題代碼,今天正式和大家分享一下,感興趣的園友可以瞭解一下。

主題介紹

Silence 追求大道至簡的終極真理,旨在打造一個乾凈、專註閱讀的博客主題,沒有二維空間元素、不存在花里胡哨。

簡單概括其幾個主要特點:

  • 專註閱讀、精緻漂亮的 UI;
  • 事無巨細的部署文檔;
  • 相容移動端瀏覽器;
  • 源碼結構清晰、易擴展。

預覽地址:https://www.cnblogs.com/esofar

開源地址:https://github.com/esofar/cnblogs-theme-silence

功能簡述

該主題除了增加頁面渲染效果以外,還對博客園原有一些功能模塊做了修改,主要體現在以下幾個方面:

  • 側邊欄僅保留了博客公告、我的標簽、隨筆分類、閱讀排行榜、推薦排行榜5個主要模塊,其他全部隱藏。
  • 進入文章詳情頁面會自動隱藏側邊欄,進入閱讀模式,讓您專註閱讀當前文章,沒有雜心翻看其他東西。
  • 文章詳情頁面新增了博客目錄模塊,支持三級標題,提供參數配置,以便迎合不同園友的標題使用習慣。
  • 文章詳情頁面新增了博客簽名模塊,自動生成文章鏈接,提供參數配置作者名稱等。
  • 文章詳情頁面新增了支持贊賞模塊,同樣提供參數配置,支付寶或者微信二維碼請至少配置一個。

至於其他細節請感興趣的園友自行體驗吧。

安裝說明

開始之前請確保你有一個正常的博客園賬號並已經成功申請開通JS許可權。

Step1:主題下載

通過下麵git命令克隆到本地,或者直接下載zip到本地並解壓。

git clone https://github.com/esofar/cnblogs-theme-silence.git

進入dist目錄,獲取發佈文件silence.min.csssilence.min.js

Step2:上傳博客園

進入博客園『管理』-『文件』,將silence.min.js文件上傳到自己的博客。獲取上傳後的URL地址,然後使用<script>標簽生成一個腳本引用。參考示例:

<script src="https://blog-static.cnblogs.com/files/esofar/silence.min.js"></script>

進入『博客園』-『管理』-『設置』,將上面生成的引用複製到「博客側邊欄公告」文本域中。

最後處理樣式文件,使用記事本工具打開silence.min.css文件,複製其所有代碼到「頁面定製CSS代碼」文本域中即可。

Step3:開始使用

進入『博客園』-『管理』-『設置』,將下麵代碼複製並追加到「博客側邊欄公告」文本域中。

<script type="text/javascript">
    $.silence();
</script>

該主題新增了三個自動化模塊:博客目錄、博客簽名、支持贊賞,並且支持參數配置,由於可能會稍微影響頁面載入速度,預設不啟用。如需開啟請修改上述代碼。參考示例:

<script type="text/javascript">
    $.silence({
        catalog: {
            enable: true,
            move: true,
            index: true,
            level1: 'h2',
            level2: 'h3',
            level3: 'h4',
        },
        signature: {
            enable: true,
            author: 'Esofar',
            home: 'https://esofar.cn',
            license: '署名 4.0 國際',
            link: 'https://creativecommons.org/licenses/by/4.0'
        },
        reward: {
            enable: true,
            title: '感謝您的支持,我會繼續努力',
            wechat: 'https://images.cnblogs.com/cnblogs_com/esofar/972540/o_wechat.png',
            alipay: 'https://images.cnblogs.com/cnblogs_com/esofar/972540/o_alipay.png',
        }
    });
</script>

配置項說明詳見下表:

Step4:其他配置

要使主題正常使用,還需要在修改博客園的一些其他配置項。

  • 進入『博客園』-『管理』-『設置』,在「標題」文本域中設置博客標題,不支持子標題。

  • 進入『博客園』-『管理』-『設置』,在「博客皮膚」處選擇博客園官方標準模板Custom,並且把「禁用模板預設CSS」覆選框取消勾選。

  • 進入『博客園』-『管理』-『選項』,在「控制項顯示設置」需要勾選的模塊有:隨筆分類、公告、博客園鏈接、閱讀排行榜、我的標簽、首頁鏈接、RSS訂閱、推薦排行榜、聯繫,其他模塊取消勾選(可選)。

至此,Silence 主題就已經安裝完成,趕快打開博客看看效果吧!

源碼擴展

Silence 主題源碼結構清晰、易擴展,稍微有一點前端開發經驗的園友都能修改。如果您對頁面效果不滿意或者希望添加其他功能模塊,可以直接修改源碼,重新編譯、壓縮一下即可。簡單介紹下源碼修改過程:

Tip:下麵的一些操作需要依賴Node.js環境和Git客戶端,如果您的電腦還沒有,請先安裝,再繼續操作。

克隆源碼,進入項目目錄,安裝依賴:

git clone https://github.com/esofar/cnblogs-theme-silence.git
cd cnblogs-theme-silence
npm install

根據自己的需求修改src目錄下的silence.less樣式文件和silence.js腳本文件,這裡需要您掌握一點JavaScript的ES6語法,以及CSS預處理語言Less的語法。

Less文件修改完成後,需要通過如下命令將文件轉義為普通CSS文件並壓縮,輸出至dist/silence.min.css

lessc src/silence.less dist/silence.min.css -clean-css

通過如下兩個命令將腳本文件轉義為ES5語法,並壓縮混淆,輸出至dist/silence.min.js

babel src/silence.js -o src/silence.es5.js
uglifyjs src/silence.es5.js -o dist/silence.min.js -c -m

最後,再按照「安裝說明」一節中的步驟重新安裝即可。


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

-Advertisement-
Play Games
更多相關文章
  • "Android項目刮刮獎詳解(三)" 前言 上一期我們已經是完成了刮刮卡的基本功能,本期就是給我們的項目增加個功能以及美化一番 目標 + 增加功能 用戶刮卡刮到一定程度的時候,清除遮蓋層 + 在遮蓋層放張圖片,增加用戶體驗 + 增加一個刮完獎回調監聽 實現 1.自動消除效果 我們首先來瞭解一下bi ...
  • 公司規模 3000人以上 全國500強。 從總部剛交接過來的代碼。 1、找不到代碼。代碼部分丟失。(由於沒有交接,沒有任何相關文檔,花了一天確定代碼丟失。從總部找到部分代碼) 2、查找測試庫,發現測試庫不行了,尋求伺服器運維組幫忙,,首先開通了 外網訪問的安全限制, 半天時間 3、查找防火牆,發現服 ...
  • ListView的三種適配器 ArrayAdapter 支持list集合,只能展現一行文字 SimpleAdapter 具有擴展性,可以自定義多種效果 BaseAdapter 抽象類,繼承這個類並且重寫相關方法 常用屬性 android:divider 設置分割線的顏色或圖片 android:div ...
  • stetho可以使用chrome調試webview,有網友反映國內不行,親測了一下是有解決方法的: Chrome://inspect 打開後會發現stetho的頁面: 點擊inspect,如果沒有Fan牆或使用離線開發者工具包,會出現空白或404頁面: Fan牆或使用離線開發者工具包後,還有個小坑, ...
  • "Android項目刮刮獎詳解(二)" 前言 上一期我們已經實現了一個簡易的刮刮卡功能,這一期我們來將其完善一下 目標 + 將刮刮獎的寬高改為合適高度 + 將刮刮獎位置居中 + 將信息層的圖片換成文字(重點) 實現 1. 將刮刮獎的寬高改為合適高度和將刮刮獎位置居中 這裡其實很簡單,我們直接到lay ...
  • 我在build.gradle中添加 apply plugin: 'realm-android' //依賴Realm資料庫,插件化依賴 這個後,同步,清理,運行的時候報 應該在build.gradle(Project)裡面添加classpath 但是在rebuild的之後還是報錯 原來是realm-a ...
  • Dialog的基本方法 系統樣式 1.下拉列表 2.單選框列表 3.多選框列表 4.等待對話框 5.進度條對話框 自定義Dialog 1.繼承Dialog 2.自定義Style 3.自定義佈局 4.ipad隱藏底部虛擬按鍵 5.使用自定義Dialog ...
  • 背景: 使用TextView時,為了方便在開發工具中預覽效果,需要在TextView中設置文字(如:android:text="Hello World"),但是等到後面提交時,為了避免顯示這樣預設的信息,通常需要把這個刪除掉。但是刪除後,後續就無法預覽TextView了,為開髮帶來不便。 目標: 既 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...