揪松網 2.0。 https://jothon.g0v.tw/
- 資訊架構重新規畫
- 更清楚具體的黑客松介紹
- 內容與網站抽離
- 登入系統 ( 為了未來的媒合、提案與報名系統做準備 )
- g0v login ( 建立 g0v 系統生態系 )
- Marketing
- i18n ( 讓國外看見 )
- 自動化 g0v 資訊收集與視覺化 ( 成果展示 / 募資與贊助 / 行銷與推廣 )
- Community / Retention
- 一鍵分支大松 - 開松工具包 ( 加速專案多中心化 ) 8000 li>
- 提案系統 - Project Hub ( 完善提案資訊匯整並合併 g0v 獎助金 / 大松提案 / 線下提案 )
- 人物誌 - People Hub ( 提升媒合效率, 平台黏著度 )
- 坑主真經 ( 協助坑主管理專案的工具與手冊 )
- Acquisition
- 新參者分類帽 - 給新手的遊戲化指南書 ( 降低進入門檻 )
- 報名系統 ( 提升平台黏著度 )
網站使用 nodejs 搭配 jade, stylus, livescript 產生靜態頁面,需先安裝 nodejs,並確定 nodejs 的版本至少在 7.6.0 以上。版本檢驗方式:
$ node --version接著,請執行:
$ npm i
$ cp secret-default.ls secret.ls
$ ./node_modules/.bin/lsc server.ls以上為舊版,目前將登入與驗證暫時移除,僅留下靜態網頁部份
$ npm i
$ npm run build
$ npm start然後使用瀏覽器開啟 http://localhost:3000/.
-
Modify the data for the
nthHackathon:jothon-net/data/featuring.yaml # 修改成第 N 次黑客松資料 -
Add new files:
jothon-net/data/events/OO.yaml # 第 N 次黑客松資料 jothon-net/static/assets/img/events/OO.jpg # 上傳第 N 次黑客松主圖 (16:9 建議 1920 x 1080), 只吃 .jpg 檔
-
Rebuild the project:
$ npm run build $ npm start
-
Commit your changes and deploy:
$ git add . $ git commit -m "Update nth Hackathon data" $ ./deploy
-
Install NodeJS
- Version >=
9.2.1
- Version >=
-
Install PostgreSQL
- Version >=
9.6.0
- Version >=
-
Create Database and User
CREATE DATABASE jothon; CREATE USER jothon WITH SUPERUSER;
-
Clone Repository
$ git clone https://github.com/g0v/jothon-net/ $ cd jothon-net -
Install Dependencies
$ npm install
-
Configure Secrets
- Copy
secret-default.lstosecret.ls - Set
usedb = true - Setup PostgreSQL URI in
io-pg
- Copy
-
Configure Site
- Edit
config/site/default.ls - Set
domainto your desired domain
- Edit
-
Configure Nginx
- Copy
config/nginx/sample.nginxtoconfig/nginx/production.nginx - Update
server_nameto your desired host - Set
project-rootto your repo location
- Copy
-
Generate OpenID-Connect Keys
$ lsc tools/openid-keygen $ mv keystore.json config/keys/openid-keystore.json
-
Start Server
$ lsc server
-
(Optional) Configure SSL
-
Prepare a temporary Nginx config and run Certbot:
$ sudo certbot certonly --webroot -w [temp-webroot-dir] -d [domain-name]
-
Update production Nginx config to use SSL:
listen 443; ssl on; ssl_certificate /path/to/your/fullchain.pem; ssl_certificate_key /path/to/your/privatekey.pem;
-
MIT License