ctfd を設定した友達はおそらく知っているでしょうが、ctfd では問題が多くなると、すべての問題が 1 つのページに表示されます。その場合、カテゴリ分類とページネーションのプラグインが必要になります。インターネットで検索した結果、ctfshow や buuoj のような効果を持つプロジェクトがあることがわかりました。
プロジェクトのアドレス:https://github.com/frankli0324/ctfd-pages-theme
見てみたら、このプロジェクトは多くの人々が npm エラーを報告しているようです。私も何度か試しましたが、私も npm エラーが発生しました。それらのエラーの意味はわかりませんが、エラーが発生しても無視しても、必要な効果を得ることができます。
ここでは、構築手順を書いておきます。私はctfd-pages-theme
のcore
ディレクトリのファイルを直接変更しました。2 つのファイルを置き換えるだけで済みます。
1、CTFd/themes/core/assets/js/pages/challenges.js
2、CTFd/themes/core/templates/challenges.html
challenges.*
ファイルを直接変更した場合、ctfd-pages-themeプロジェクトのwebpack.config.jsをリポジトリのwebpack.config.jsで置き換え、npmビルドを使用する
という指示は無視して、元のwebpack.config.js
ファイルを使用してください。
前提条件が整ったら、npm ビルドを開始できます。
1、npm のインストール
sudo apt install npm
2、npm のインストールが完了したら、npm のソースを設定します。
npm config set registry https://registry.npm.taobao.org
3、ビルド
npm i && npm run build
4、次のようなエラーがビルド中に発生した場合、npm ビルドに問題があることを示しています。
ただし、エラーメッセージの上に緑の文字が表示されている場合。
これは、ページのカテゴリページが使用できることを意味します。なぜエラーが発生するのかを見てみると、おそらくadmin theme
テーマに関連しているかもしれませんが、このメッセージは無視しても構いません。
5、最後のステップは、docker-compose
を再度実行し、ctfdコンテナ
を再起動することです。
sudo docker-compose up -d
sudo docker restart 13d
効果は以下の通りです:
終わり...
画像の出典:https://wallhaven.cc/