開發流程

若要直接在docker上啟動環境,可以直接參見在 Docker 上執行 OSCVPass

Pretalx 建置 (用於 Pretalx 核心開發)

本章節主要說明如何建置官方 Pretalx 的程式碼。

完整建置流程可以參照官方說明

前置作業

需要先安裝以下工具:

工具Debian 套件名稱
python 3.6+
pip 3python3-pip
python-dev 3python3-dev
python-venv 3python3-venv
libffilibffi-dev
gettextgettext
gitgit
  • 部分套件需要編譯器建置,若安裝失敗可先確認套件 build-essential 是否安裝。

開啟虛擬 Python 環境

python3 -m venv env
source env/bin/activate
  • Ubuntu/Debian

由於部分套件版本較舊,建議可先執行以下指令更新必要套件:

sudo pip3 install -U pip setuptools wheel

複製原始碼

git clone https://github.com/pretalx/pretalx.git
cd pretalx/

初始環境建置

首先安裝主程式所需要的相依函式庫:

(env)$ cd src
(env)$ pip3 install --upgrade-strategy eager -Ue ".[dev]"

接著,複製靜態檔案至 STATIC_ROOTS 資料夾中,並初始化本地資料庫:

(env)$ python manage.py collectstatic --noinput
(env)$ python manage.py migrate

為了能夠登入並操作,您需要創建至少一位具有管理員權限的帳號:

(env)$ python manage.py init

此外,若您開發上即刻需要一個用於測試的活動,您可以執行以下指令來創建:

(env)$ python manage.py create_test_event

語言檔案 (可選)

由於 Pretalx 預設僅有英文語文檔案已經事前編譯完成,若您需要使用其他語言,您需要執行以下指令:

(env)$ python manage.py compilemessages

啟動環境

(env)$ python manage.py runserver

在 Docker 上執行 OSCVPass

本章節主要說明如何在本地端的 docker 上運行 OSCVPass。

詳細執行流程可以參照 pretalx-docker 官方說明

複製原始碼

$ git clone -b pretalx https://github.com/ocftw/OSCVPass.git
$ cd OSCVPass/

直接執行

  • 運行測試環境
$ cd pretalx/
$ docker compose -f ./docker-compose.yml up
  • 運行生產環境
$ cd pretalx/
$ docker compose -f ./docker-compose_prod.yml up

文件開發

本章節主要說明如何貢獻 OSCVPass 的說明文件。

OSCVPass 採用 mdbook 和 html 撰寫: mdbook 主要負責用來撰寫說明文檔,用於技術說明; html 則用於撰寫宣傳 OSCVPass 的參考範例。

文檔皆位於 src/docs 資料夾底下:

  • roadmap.md :主要紀錄本專案的工程進度以及未來展望。
  • README.md :為說明文件的入口文件。
  • SUMMARY.md :用於渲染說明文件上左側的文章樹。

建議工作流

  • 若要新增頁面,請先參考 SUMMARY.md 中現有的文章大分類,若無再自行新增,並將 新增之頁面放入該大分類中。

  • 中英文單字間請一律添加空格(不論連接之字詞是否為全形字),以維護文檔的流暢度。

雜項

  • 關於 GitHub 上的分支
    • main - 用於 Github Pages 上託管說明文檔
    • docs - 用於暫存新版的說明文檔。
    • pretalx - 用於儲存 OSCVPass 所使用的 pretalx docker 設定檔