mycpen

Mycpen

记录学习历程与受益知识
github
telegram
bilibili

01_Hexo-Hexo + Pure搭建博客-自定義

Hexo 搭建私人博客#

一。介紹#

1.1 Hexo#

Hexo 是一個快速、簡潔且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在幾秒內,即可利用靚麗的主題生成靜態網頁。Hexo 官網

1.2 Pure 主題#

Hexo theme pure. It's a pure theme for Hexo.

https://blog.cofess.com/


二。參考#

Hexo 官網 https://hexo.io/zh-cn/docs/index.html

Pure 專案地址 https://github.com/cofess/hexo-theme-pure/blob/master/README.cn.md

搭建 & 魔改#


三。命令#

hexo clean ; hexo g ; hexo d ; hexo s

四。評論 & 收錄#

Valine 評論 https://www.leancloud.cn/

Valine 評論 https://www.leancloud.app/ 國外站點,國內帳號受限,域名沒白嫖成功,可能是這個原因 → https://forum.leancloud.cn/t/2022-8/25408

谷歌收錄 https://search.google.com/search-console

百度收錄 https://ziyuan.baidu.com

MD5 在線加密 https://md5jiami.bmcx.com/ 評論區通過密文,識別博主身份


五。相關路徑#

[文章路徑]: 
	\source\_posts
[站點配置文件]: 
	\_config.yml
[主題配置文件]: 
	\themes\pure\_config.yml	"關於、個人介紹、公告"
[友鏈文件]: 
	\source\_data\links.yml
[語言]: 
	\themes\pure\languages
[左下角運行時間]: 
	\themes\pure\layout\_common\footer.ejs	"時間、版權"
[評論角色配置]: 
	\themes\pure\layout\_script\_comment\valine.ejs
[css樣式]:
	\themes\pure\source\css\style.css
[搜索欄限制]: 
	\themes\pure\source\js\insight.js	"160行"

六。內容範例#

---
title: Test
date: 2022-08-28 00:09:00
updated: 2022-08-28 00:09:01
thumbnail: https://image.cpen.top/image/test.png
tags:
    - Test
category:
    - Test
toc: true
top: true
---
描述<!-- more -->

文章指定多個 category#

多個分類

如果我們的要求是將文章同時分到兩個或者多個不同的類目下呢?官方給出的方法是:

categories:
  - [Sports]
  - [Baseball]

參考文章:Hexo 一篇文章多個 categories https://www.jianshu.com/p/4438c417611e


七。自定義#

7.1 搜索框索引突破 5#

  1. F12 定位到搜索框的 類選擇器 為 ins-section-header
  2. grep,定位到配置文件為 \themes\pure\source\js\insight.js
  3. Ctrl + F,搜索 5,定位到第 160 行,修改限制

image-20220830075511578

image-20220830075224471

image-20220830075722865

7.2 左側頭像鏈接,target 修改為 _self#

a 標籤,修改 target: '_blank' → '_self'

image-20220830080811356

image-20220830080916410

image-20220830080945424


7.3 文章目錄,一级標題不跳轉#

有時發現一级標題不會跳轉

配置文件 \node_modules\hexo\lib\plugins\helper\toc.js

更新下 \node_modules\hexo\lib\plugins\helper\toc.js 文件,又正常了。時靈時不靈的。。。

修改 ".\node_modules\hexo-renderer-markdown-it\index.js" level 為 1

image-20220906033013691


7.4 滾動條加粗 + 加小箭頭#

  • 修改 css 樣式,路徑 .\hexo-source\themes\pure\source\css\style.css

    1. Ctlrl + F 定位 scrollbar

    2. 調高 height,使代碼框 右拉滾動條加粗;

    3. 右側下拉條變粗;

    7.4.1 代碼框加粗

    /*
     * scrollbar
     */
    
    ::-webkit-scrollbar {
      width: 15px;
      height: 14px;					# 調高
      background: transparent;
    }
    

    image-20220901164700329

    7.4.2 右側下拉條變粗 + 添加小箭頭

    /*
     * 滾動條箭頭							
     */
    ::-webkit-scrollbar-button {
        width: 0px;
        height: 4px;
        display: block; 
        background-color: #c3c3c3;
    }
    ::-webkit-scrollbar {
      width: 16px;
      border: 5px solid white;
    
    }
    
    ::-webkit-scrollbar-thumb {
      background-color: #b0b0b0;
      background-clip: padding-box;
      border: 0.05em solid #eeeeee;
    }
    
    ::-webkit-scrollbar-track {
      background-color: #bbbbbb;
    }
    /* Buttons */
    ::-webkit-scrollbar-button:single-button {
      background-color: #bbbbbb;
      display: block;
      border-style: solid;
      height: 13px;
      width: 16px;
    }
    /* Up */
    ::-webkit-scrollbar-button:single-button:vertical:decrement {
      border-width: 0px 8px 8px 8px;
      border-color: transparent transparent #555555 transparent;
    }
    
    ::-webkit-scrollbar-button:single-button:vertical:decrement:hover {
      border-color: transparent transparent #777777 transparent;
    }
    /* Down */
    ::-webkit-scrollbar-button:single-button:vertical:increment {
      border-width: 8px 8px 0 8px;
      border-color: #555555 transparent transparent transparent;
    }
    
    ::-webkit-scrollbar-button:vertical:single-button:increment:hover {
      border-color: #777777 transparent transparent transparent;
    }
    

    image-20220901164914382

參考文章

7.5 Valine 評論框添加一言#

參考文章

偶然看到的文章,然後自己就加了這個功能。

  • 路徑:.\themes\pure\layout\_script\_comment\valine.ejs

  • 加到最後 </script> 標籤之前;c=j 請求獲得網易雲的句子,開始網抑雲吧;

        fetch('https://v1.hitokoto.cn/?c=j')
        .then(response => response.json())
        .then(data => {
          document.getElementById("veditor").setAttribute("placeholder",data.hitokoto+"__"+data.from);
        })
        .catch(console.error)
    

修改方法:

  1. 找到博客對應添加 valine 的位置,例如 Ayer 主題的位於 hexo\themes\ayer\layout_partial\post\valine.ejs

  2. 在內部添加一段代碼:

    <script type="text/javascript">
       fetch('https://v1.hitokoto.cn')
        .then(response => response.json())
        .then(data => {
          document.getElementById("veditor").setAttribute("placeholder",data.hitokoto+"__"+data.from);
        })
        .catch(console.error)
    </script>
    
  3. Api 接口說明:
    (1)https://v1.hitokoto.cn/ (從 7 種分類中隨機抽取)
    (2)https://v1.hitokoto.cn/?c=b (請求獲得一個分類是漫畫的句子)
    參數 說明
    a 動畫
    b 漫畫
    c 遊戲
    d 文學
    e 原創
    f 來自網絡
    g 其他
    h 影視
    i 詩詞
    j 網易雲
    k 哲學
    l 抖機靈
    其他 作為動畫類型處理
    可選擇多個分類,例如: ?c=a&c=c

(3)https://v1.hitokoto.cn/?c=f&encode=text (請求獲得一個來自網絡的句子,並以純文本格式輸出)

  1. 返回的格式說明
    返回參數名稱 描述
    id 一言標識
    hitokoto 一言正文。編碼方式 unicode。使用 utf-8。
    type 類型
    from 一言的出處
    from_who 一言的作者
    creator 添加者
    creator_uid 添加者用戶標識
    reviewer 審核員標識
    uuid 一言唯一標識;可以鏈接到 https://hitokoto.cn?uuid=[uuid] 查看這個一言的完整信息
    commit_from 提交方式
    created_at 添加時間
    length 句子長度
    例如:返回的 data, 通過 data.hitokoto 獲取句子正文

作者: Justlovesmile
鏈接: https://blog.justlovesmile.top/posts/27831.html
來源: Justlovesmile's BLOG
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

PS:這位大佬的博客真好看~~

7.6 左側 归档、分類 改為默認收起#

  • 默認是展開的

image-20220901203849607

image-20220901203907981

  • 修改以下文件,改為收起狀態。如圖
    • style="height: 0px" 應該可以不用寫,收起狀態默認就是 0 ~~

.\themes\pure\layout\categories.ejs

.\themes\pure\layout\_partial\archive.ejs

image-20220901203746673

image-20220901203807739


八。未解決的小需求#

  1. (已解決,#7.3)一级目錄,右側導航欄 有時跳轉失敗;

  2. Valine 評論系統,下面的評論 被 @後,未顯示 @信息,而別人的是成功的;

    我的

    image-20220901171817579

    其他大佬的

    image-20220901171912131

  3. 引用時 使用 #,會被導航目錄誤認為 一级標題;

    image-20220901172133945

    image-20220901172316157

  4. (已解決)生成在 /public 目錄的靜態文件都被壓縮了,我看別人的沒被壓縮,不清楚啥原因。 因為配置了這個 https://github.com/cofess/hexo-theme-pure/blob/master/README.cn.md 博客優化 壓縮了文件

    image-20220901175404486

  5. (已解決)文章內部一级、二級...... 標題左側無錨點

    理想效果圖

    image-20220906034109271

    似乎是環境配置問題,我用虛擬機推送靜態文件,就有顯示;用真實 win 機 推送 就沒有錨點,重裝 git 也沒顯示(可能不是 git 的問題)。。。

    因為壓縮了靜態文件,全部註釋 hexo-neat 配置。
    參考
    https://github.com/cofess/hexo-theme-pure#hexo-neat
    https://github.com/rozbo/hexo-neat#options

無傷大雅,我一般一级標題寫的是文章標題;評論區也就是個擺設;靜態文件被壓縮,可能別人還覺得我是故意,嘿~~

最後總結:魔改要適量,太費時 還得不到提升,不如多看幾個前端視頻 多寫幾篇文章。。。


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。