banner
lca

lca

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

Ctfd分類分頁設置

wallhaven-x8jl83


搭建了 ctfd 的朋友可能都知道,ctfd 中如果题目多起來了,就會在一個頁面中顯示所有的題目,這個時候就需要一個分類分頁插件,從互聯網上搜索之後,發現有一個項目可以滿足要求,效果類似於 ctfshow、buuoj。

項目地址:https://github.com/frankli0324/ctfd-pages-theme

看了一下,這個項目很多人都 npm 報錯,我也嘗試了好幾次,也是 npm 報錯,那些報錯我也不知道是什麼意思,雖然報錯了,但是可以不管報錯,同樣可以達到需要的效果。

這裡就寫下搭建的一個流程,我是直接在ctfd-pages-theme的基礎上修改的core目錄下的文件,只需要替換掉兩個文件即可。

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

image-20230413101907721

2、CTFd/themes/core/templates/challenges.html

image-20230413101836328

如果你是直接修改的 core 目錄下的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 構建有問題

image-20230413102305982

但是如果報錯信息上面還有綠字信息。

image-20230413102416219

說明 pages 分類頁面可以使用了,為什麼報錯呢?看了下,可能和admin theme主題有關,但這個消息可以忽略。

image-20230413102516465

5、最後一步,就是重新docker-compose和重啟ctfd容器

sudo docker-compose up -d
sudo docker restart 13d

image-20230413102700327

效果如下:

image-20230413102729337

end...

圖片來自:https://wallhaven.cc/

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