한국어 | English | 日本語
Webアプリケーションエンジニア (経験8.8年)
技術・開発
engineering
ウェブフロントエンドと バックエンド開発を扱います

VSCodeでHexoをデバッグする方法

Hexoブログのテーマを自分好みに変更したいのに、修正したコードがどう反映されるか確認しづらくて困った経験はありませんか?VSCodeのデバッグ機能を活用してみましょう。Icarusのような最新テーマの.jsxコードを分析し、エラーを修正しながら自分だけのテーマを完成させる実践ガイドを紹介します。
Hexoテーマの核となるスタイルファイル(.styl)とレンダリングロジック(.jsx)の構造を理解し、VSCodeのlaunch.json設定を通じてローカルサーバーをデバッグする具体的な方法を学習します。これにより、複雑なテーマカスタマイズプロセスを視覚的に確認しながら効率的に進めるノウハウを習得できます。

Hexoテーマのカスタマイズ

Hexoで希望するテーマを選択しても、修正したい部分が出てくることがあります。テーマがYAMLベースの設定を提供しているとはいえ、さらに詳細な部分まで自分の思い通りに変更したい場合は、テーマコードを直接修正する必要があります。私がHexoインストール型ブログを始めた際に選んだIcarusテーマは、大きく2つのタイプのコードに分かれていました。

.stylファイルのカスタマイズ

幅、高さ、フォントサイズ、色などの設定は.stylコードで調整します。ブラウザでページの各要素のCSS設定を分析し、該当する設定があれば値を修正し、なければBulmaの設定がそのまま適用されるため、オーバーライドのために希望の設定を追加します。

.stylファイルのカスタマイズ

.jsxファイルのカスタマイズ

記事やウィジェットをページにレンダリングする部分は.jsxコードで設定します。画面にどのようにレンダリングされるか、修正したコードが正しく動作するかを知るためにはデバッグが必要です。Hexoブログの運営はVSCodeで行っているため、VSCodeでHexoをデバッグしています。

.jsxファイルのカスタマイズ

デバッグ設定

VSCodeのデバッグ設定は、デバッグウィンドウのRUN右側にあるデバッグリストの「Add Configuration…」を通じて行うことができます。

VSCodeで設定を追加

「Add Configuration…」を選択すると、現在のプロジェクトディレクトリに.vscodeディレクトリと、その中にlaunch.jsonファイルが作成され、そのファイルに移動して、以下のように追加する設定のリストが表示されます。

VSCodeで設定追加のオプション

リストから「Node.js: Launch Program」を選択すると、設定が1つ追加されます。

Node.js: プログラムの起動

以下のように修正して入力します。

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Hexo Debugging",
            "program": "${workspaceFolder}/node_modules/hexo-cli/bin/hexo",
            "args": [
                "server"
            ]
        }
    ]
}

これはローカルで実行されるhexo serverのデバッグであるため、ターゲットプログラムはhexo-clibin/hexoであり、argsserverが含まれていることがわかります。これでデバッグをしながら、自分だけのカスタムテーマを楽しく作成できます。さらに、そうして作成した自分だけのテーマを他の人と共有したり、既存のテーマにGitコントリビューターとして拡張機能を追加することも可能になるでしょう。



VSCodeでHexoをデバッグする方法
Author
Aaron
Posted on
Licensed Under
CC BY-NC-SA 4.0
CC BY-NC-SA 4.0
同じカテゴリーの関連記事
最新記事
LLMフィルターが奪う会話の筋肉とコミュニケーション様式
会話における無礼さを濾過し、洗練された回答を生成するLLMツールが日常化した現代において、私たちは本当に思慮深い会話をしているのだろうか?リアルタイムのコミュニケーションにおける数多くの失敗を通じて磨かれるべき会話能力が、外部ツールに依存することで退化している現象と、それがもたらす社会的な不安や世代間の行動様式の変化について考察する。
シニア採用における年俸交渉の最適なタイミングと戦略
年俸交渉は単なる数字の交換ではなく、心理的な駆け引きとタイミングが重要です。本稿では、企業側にとって、候補者が計算的な態度を取りがちな最終合格後よりも、採用プロセスの初期段階から段階的に交渉を進めることが、なぜより効率的であり、率直な情報の共有に繋がるのかを考察します。
法治主義の限界と人間の多様性
全ての人間の行為を単一の法体系で規制できるという信念は、傲慢であるかもしれない。この記事は、中世の階層的な統制から脱却し、現代の無限の自由を手に入れた人類が直面する法治主義の逆説と、多様性という名のもとに深化する社会的強制力と他者への悪魔化現象を鋭く分析する。
토스트 예시 메세지