banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

Ctfdのカテゴリ分割ページ設定

wallhaven-x8jl83


ctfd を構築した友人はおそらく知っているでしょうが、ctfd では問題が多くなると、すべての問題が 1 つのページに表示されます。その場合、カテゴリ分けとページネーションのプラグインが必要になります。インターネットで検索した結果、ctfshow や buuoj のような効果を持つプロジェクトがあることがわかりました。

プロジェクトのアドレス:https://github.com/frankli0324/ctfd-pages-theme

見てみたところ、このプロジェクトは多くの人が npm エラーを報告していました。私も何度か試しましたが、私も npm エラーが発生しました。それらのエラーの意味はわかりませんが、エラーが発生しても無視しても、必要な効果を得ることができます。

ここでは、構築手順を書いておきます。私はctfd-pages-themecoreディレクトリのファイルを直接変更しました。2 つのファイルを置き換えるだけです。

  1. CTFd/themes/core/assets/js/pages/challenges.js

image-20230413101907721

  1. CTFd/themes/core/templates/challenges.html

image-20230413101836328

challenges.*ファイルを直接変更した場合、ctfd-pages-themeプロジェクトのwebpack.config.jsをリポジトリのwebpack.config.jsで置き換え、npmビルドを使用するという指示は無視して、元のwebpack.config.jsファイルを使用してください。

前提条件が整ったら、npm ビルドを開始できます。

  1. npm のインストール
sudo apt install npm
  1. npm のインストール後、npm のソースを設定します。
npm config set registry https://registry.npm.taobao.org
  1. ビルド
npm i && npm run build
  1. 次のようなエラーがビルド中に発生した場合、npm ビルドに問題があることを示します。

image-20230413102305982

ただし、エラーメッセージの上部に緑色のメッセージが表示されている場合。

image-20230413102416219

これは、ページのカテゴリページが使用できることを示しています。なぜエラーが発生するのでしょうか?調べてみたところ、おそらくadmin themeテーマに関連しているようですが、このメッセージは無視しても構いません。

image-20230413102516465

  1. 最後のステップは、docker-composeを再度実行し、ctfdコンテナを再起動することです。
sudo docker-compose up -d
sudo docker restart 13d

image-20230413102700327

効果は以下の通りです:

image-20230413102729337

終わり...

画像はこちらから:https://wallhaven.cc/

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