mycpen

Mycpen

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

01_Hexo-Hexo + Pureでブログを構築 - カスタマイズ

Hexo でプライベートブログを構築#

一。イントロダクション#

1.1 Hexo#

Hexo は、高速でシンプルかつ効率的なブログフレームワークです。Hexo はMarkdown(または他のレンダリングエンジン)を使用して記事を解析し、数秒で美しいテーマを利用して静的なウェブページを生成します。Hexo 公式サイト

1.2 Pure テーマ#

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

Google インデックス https://search.google.com/search-console

Baidu インデックス 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 -->

記事が複数のカテゴリを指定する#

複数のカテゴリ

もし私たちの要求が、記事を同時に二つ以上の異なるカテゴリに分けることであれば、公式が示す方法は次の通りです:

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 記事目次、1 級タイトルがジャンプしない#

時々、1 級タイトルがジャンプしないことがあります

設定ファイル \node_modules\hexo\lib\plugins\helper\toc.js

\node_modules\hexo\lib\plugins\helper\toc.jsファイルを更新すると、正常に戻りました。時々正常に動作します。。。

参考 https://hwame.top/ 如何取消文章目录的自动编号

.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 + Fscrollbarを見つける;

    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;
    }
    /* ボタン */
    ::-webkit-scrollbar-button:single-button {
      background-color: #bbbbbb;
      display: block;
      border-style: solid;
      height: 13px;
      width: 16px;
    }
    /* 上 */
    ::-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;
    }
    /* 下 */
    ::-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)1 級ディレクトリ、右側のナビゲーションバーが時々ジャンプに失敗する;

  2. Valine コメントシステム、下のコメントが @された後、@情報が表示されず、他の人は成功している;

    私の

    image-20220901171817579

    他の方の

    image-20220901171912131

  3. 引用時に #を使用すると、ナビゲーション目次が誤って 1 級タイトルと見なされる;

    image-20220901172133945

    image-20220901172316157

  4. (解決済み)/public ディレクトリに生成された静的ファイルがすべて圧縮されている、他の人のは圧縮されていないのを見たが、理由は不明。 これは設定したためです https://github.com/cofess/hexo-theme-pure/blob/master/README.cn.md ブログ最適化 ファイルが圧縮されました

    image-20220901175404486

  5. (解決済み)記事内部の 1 級、2 級...... タイトルの左側にアンカーポイントがない

    理想的な効果図

    image-20220906034109271

    環境設定の問題のようです。仮想マシンで静的ファイルをプッシュすると表示されますが、実際の Windows 機でプッシュするとアンカーポイントが表示されません。Git を再インストールしても表示されません(おそらく Git の問題ではない)。。。

    静的ファイルが圧縮されたため、すべてのhexo-neat設定をコメントアウトしました。
    参考
    https://github.com/cofess/hexo-theme-pure#hexo-neat
    https://github.com/rozbo/hexo-neat#options

無傷大雅、私は一般的に 1 級タイトルに記事のタイトルを書く;コメント欄はただの飾りです;静的ファイルが圧縮されているのは、他の人が私が故意にやっていると思うかもしれません、へへ~~

最後にまとめ:カスタマイズは適度に、時間がかかりすぎて向上が得られないなら、前端のビデオをいくつか見たり、いくつかの記事を書いたりする方が良い。。。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。