From 704370c558b7ba390949d767cbb26d03490042c2 Mon Sep 17 00:00:00 2001 From: Winston Sung Date: Fri, 23 Aug 2024 18:21:31 +0800 Subject: [PATCH] Fix Mainland China terms closes #1 Bug: #1 Bug: #2 Change-Id: Ia24bf3654ba29573d6cd928f48ae2db71ab88570 --- README.md | 6 +- blog/authors.yml | 4 +- docs/SCAICT-uwu/command/_category_.json | 13 ++-- docs/SCAICT-uwu/command/class.md | 14 +++-- docs/SCAICT-uwu/command/ctf.md | 15 +++-- docs/SCAICT-uwu/command/point.md | 5 +- docs/SCAICT-uwu/command/send-gift.md | 5 +- docs/SCAICT-uwu/dev/_category_.json | 13 ++-- docs/SCAICT-uwu/dev/about-project.md | 27 ++++---- docs/SCAICT-uwu/dev/code/_category_.json | 2 +- docs/SCAICT-uwu/dev/code/admin.md | 5 +- docs/SCAICT-uwu/dev/code/overView.md | 23 ++++--- docs/SCAICT-uwu/dev/maintain.md | 22 +++++-- docs/SCAICT-uwu/dev/new-server.md | 72 +++++++++++++++------ docs/SCAICT-uwu/game.md | 4 +- docs/SCAICT-uwu/get-point.md | 3 +- docs/SCAICT-uwu/intro.md | 5 +- docs/SCAICT-uwu/shop.md | 10 +-- docs/Website/announcement.md | 27 ++++---- docs/Website/edit-website.md | 10 +-- docs/Website/edit.md | 14 ++--- docs/Website/github-pages.md | 2 +- docs/Website/intro.md | 2 +- docs/Website/photo.md | 2 +- docs/Website/repo.md | 6 +- docs/intro.md | 5 +- docs/jitsi/commands.md | 6 +- docs/prettier/action.md | 42 ++++++------- docs/prettier/install.md | 28 ++++----- docs/prettier/intro.md | 24 ++++--- docs/prettier/prettierignore.md | 30 +++++---- docs/prettier/prettierrc.md | 80 ++++++++++++------------ docs/prettier/vscode.md | 6 +- docs/totp.md | 37 ++++++----- docusaurus.config.js | 8 +-- 35 files changed, 320 insertions(+), 257 deletions(-) diff --git a/README.md b/README.md index 4699b21..ad52eb1 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# 中電會 第三屆專案開發文檔 +# 中電會 第3屆專案開發說明文件 -> start at 7/26/2024 +> start at 7/26/2024 -為了不要被第四屆罵說第三屆學長伺服器設後不理,撰寫了這份文檔。 +為了不要被第4屆罵說第3屆學長伺服器設後不理,撰寫了這份說明文件。 ## 本地開發 diff --git a/blog/authors.yml b/blog/authors.yml index 14a843c..8762103 100644 --- a/blog/authors.yml +++ b/blog/authors.yml @@ -1,11 +1,11 @@ elvismao: name: 毛哥EM - title: 第三屆資訊組組長 + title: 第3屆資訊組組長 url: https://github.com/Edit-Mr image_url: https://github.com/Edit-Mr.png yangshun: name: Each Chen - title: 第三屆資訊組組 + title: 第3屆資訊組組員 url: https://github.com/iach526526 image_url: https://github.com/iach526526.png \ No newline at end of file diff --git a/docs/SCAICT-uwu/command/_category_.json b/docs/SCAICT-uwu/command/_category_.json index 1a0aee4..6b60c08 100644 --- a/docs/SCAICT-uwu/command/_category_.json +++ b/docs/SCAICT-uwu/command/_category_.json @@ -1,9 +1,8 @@ { - "label": "指令表", - "position": 7, - "link": { - "type": "generated-index", - "description": " ⬆️ ⬆️ ⬇️ ⬇️ ⬅️ ➡️ ⬅️ ➡️ 🅱️ 🅰️在這裡,參數如果是必填會用 { } 包起來,選填用[ ]。| 分隔多個可選參數" - } + "label": "指令表", + "position": 7, + "link": { + "type": "generated-index", + "description": " ⬆️ ⬆️ ⬇️ ⬇️ ⬅️ ➡️ ⬅️ ➡️ 🅱️ 🅰️在這裡,參數如果是必填會用 { } 包起來,選填用[ ]。| 分隔多個可選參數" } - \ No newline at end of file +} diff --git a/docs/SCAICT-uwu/command/class.md b/docs/SCAICT-uwu/command/class.md index c6abf9e..0005e2f 100644 --- a/docs/SCAICT-uwu/command/class.md +++ b/docs/SCAICT-uwu/command/class.md @@ -3,24 +3,30 @@ sidebar_position: 4 authors: [iach526526] slug: class title: 身分組 -description: 本條目包括創建、發送、領取特殊身分組 +description: 本頁面包括新增、發送、領取特殊身分組 --- + 中電喵支援輸入兌換代碼獲得一些不公開的身分組,這項功能提供主題課程、~~工人交接~~、~~特殊身分組購買~~使用。到 #🎁兌換區 輸入擁有的兌換代碼就會生效兌換成獎勵 ![alt text](../../../static/img/exchange.png) > 註:不公開身分組指的是你無法在頻道與身分組列表透過點選主動獲得的身分組 -# 創建 +## 新增身分組 + - 限制使用權限:true - admin only + > ```add_class {class_code} {name} {theme}{teacher}{time}``` + - class_code:兌換代碼 - name:代碼對應分送的身分組名稱 - theme:課程主題,用於領取時顯示領了什麼課的身分組 - time:課程時間,用於領取顯示課程時間 -這些參數會在資料庫 (JSON) 寫入一筆資料,提供日後的輸入做比對 - +這些參數會在資料庫(JSON)寫入一筆資料,提供日後的輸入做比對 + + ## 領取身分組 + 到 #🎁兌換區 點擊按鈕即可輸入 diff --git a/docs/SCAICT-uwu/command/ctf.md b/docs/SCAICT-uwu/command/ctf.md index 4e6c0b9..92f41d7 100644 --- a/docs/SCAICT-uwu/command/ctf.md +++ b/docs/SCAICT-uwu/command/ctf.md @@ -5,11 +5,13 @@ slug: ctf title: CTF 指令 description: 找出 flag ,獲得豐厚獎勵 --- -## 創建一道題目 +## 新增一道題目 + - 限制使用權限:true - 允許使用的身分組:ctf 出題者 > ```/create create {title:str} {flag:str} {score:int} [limit:int] [case:bool] [start:YY-MM-DD HH:MM:SS] [end:YY-MM-DD HH:MM:SS]``` + - title:題目標題 - flag :該題解答,格式建議為 ```SCAICT{falg_string}``` - score:解題後能獲得的電電點數量,現在只能選擇贈送電電點,暫時沒有以抽獎劵作為獎勵的功能 @@ -19,12 +21,15 @@ description: 找出 flag ,獲得豐厚獎勵 - end:結束時間,預設永不結束 ## 刪除一道題目 + - 限制使用權限:true - 允許使用的身分組:ctf 出題者 + >```/ctf delete {qid} {channel_id} {key}``` -- qid:每道 ctf 的唯一 ID ,會顯示在該題目的下方 -- channel_id:該題目的題目敘述和按鈕存在的頻道,如果題目在討論串發布,需要在討論串列表右鍵點選「複製討論串 ID」 -- key :欲刪除題目的 flag,這是防呆保護,出題者應該知道自己的 flag + +- qid:每道 CTF 的唯一 ID ,會顯示在該題目的下方 +- channel_id:該題目的題目說明和按鈕存在的頻道,如果題目在討論串發布,需要在討論串列表右鍵點選「複製討論串 ID」 +- key:欲刪除題目的 flag,這是防呆保護,出題者應該知道自己的 flag 下圖是拿到刪除 CTF 需要的參數範例。如果在頻道上按了右鍵沒有複製 ID 的選項,你需要到設定開啟開發者模式 -![ctfID](../../../static/img/ctfID.png) \ No newline at end of file +![ctfID](../../../static/img/ctfID.png) diff --git a/docs/SCAICT-uwu/command/point.md b/docs/SCAICT-uwu/command/point.md index a811a4e..1641390 100644 --- a/docs/SCAICT-uwu/command/point.md +++ b/docs/SCAICT-uwu/command/point.md @@ -5,14 +5,17 @@ slug: point title: 電電點操作指令 description: 獲得、查詢自己的電電點 --- + ## 你有有多少電電點 + > ```/check_point``` -- 限制使用權限:false +- 限制使用權限:false 無須攜帶任何參數,會檢索指令發起人當前的連續登入、電電點數量狀態 ## 每日充電 + > ```/charge``` - 限制使用權限:false diff --git a/docs/SCAICT-uwu/command/send-gift.md b/docs/SCAICT-uwu/command/send-gift.md index 13af439..8e05c15 100644 --- a/docs/SCAICT-uwu/command/send-gift.md +++ b/docs/SCAICT-uwu/command/send-gift.md @@ -5,13 +5,16 @@ slug: gift title: 發送禮物給某人 description: 贈送禮物 --- + # /dm_gift + > ```dm_gift {target_str...} {電電點 | 抽獎券} {贈送物品數量}``` - 限制使用權限:true - admin only ## 描述 + 這個指令可以選擇多個使用者統一發送相同數量的電電點或抽獎券,第一個參數 ```target_str``` 要填入 Discord 使用者名稱,**不是**顯示名稱。下圖框選起來的部分才是使用者名稱 -![DCid](../../../static/img/DCid.png) \ No newline at end of file +![DCid](../../../static/img/DCid.png) diff --git a/docs/SCAICT-uwu/dev/_category_.json b/docs/SCAICT-uwu/dev/_category_.json index 21d3828..21fb7c1 100644 --- a/docs/SCAICT-uwu/dev/_category_.json +++ b/docs/SCAICT-uwu/dev/_category_.json @@ -1,9 +1,8 @@ { - "label": "開發者專區", - "position": 6, - "link": { - "type": "generated-index", - "description": "又臭又長的東西" - } + "label": "開發者專區", + "position": 6, + "link": { + "type": "generated-index", + "description": "又臭又長的東西" } - \ No newline at end of file +} diff --git a/docs/SCAICT-uwu/dev/about-project.md b/docs/SCAICT-uwu/dev/about-project.md index 3201fb9..ed92c92 100644 --- a/docs/SCAICT-uwu/dev/about-project.md +++ b/docs/SCAICT-uwu/dev/about-project.md @@ -9,11 +9,13 @@ description: 介紹一下 # 關於這個專案 恭喜你成為中電喵飼養員,為了成為稱職的飼養員,你需要有以下先備知識: -- python 程式設計 + +- Python 程式設計 - SQL 資料庫維護 - 億點點 Linux 操作技巧 -以下是中電喵專案的檔案樹,為了篇幅省略了一些小檔案或不重要的資料夾(如 .git ),這裡定義重資料夾之間的相對關係。 +以下是中電喵專案的檔案樹,為了篇幅省略了一些小檔案或不重要的資料夾(如 .git ),這裡著重定義資料夾之間的相對關係。 + ``` | app.py | main.py @@ -68,32 +70,35 @@ description: 介紹一下 | \---test ``` -## 中電喵,啟動! +## 中電喵,啟動! ### \.github + 在 GitHub repository 的自動化執行腳本。目前有的自動化腳本: -- pylint - - Python 程式碼風格檢查程式,變數名稱亂寫可是不能成功 PR 的喔! -- notion API - - 連接中電會工人 notion 代辦事項和 Discord hook ,用來顯示中電喵 repo 的 issue +- Notion API + - 連接中電會工人 Notion 代辦事項和 Discord hook ,用來顯示中電喵 repo 的 issue +- Pylint + - Python 程式碼風格檢查程式,變數名稱亂寫可是不能成功 PR 的喔! ### 中電喵本體 + 中電喵聊天程式從 main.py 開始,會先從 cog/ 讀取相依 .py檔案,cog/*.py 定義了斜線指令要執行的行為,若指令有一些非常通用或冗長的函式:例如資料庫接等其他特殊行為。獨立出來的 python 檔案會放在 cog/core 提供引用 ### 中電商店 -中電商店的主程式是 app.py,網頁框架使用 flask。引入 \templates、\static 靜態資源渲染,使用 \cog\core 裡面的程式和資料庫溝通。 +中電商店的主程式是 app.py,網頁框架使用 flask。引入 \templates、\static 靜態資源渲染,使用 \cog\core 裡面的程式和資料庫溝通。 ### DataBase + 在中電喵的幼貓時期,其實是把所有成員的電電點、CTF題目等動態資料用 JSON 儲存在/DataBase,現在這裡只有幾個檔案需要留意: + - class.json - - 中電喵有個指令是管理者創建課程,使用者可以在兌換區輸入課程行前信的課程代碼領取課程身分組存取課程用頻到,這個檔案儲存了可兌換的課程資料 + - 中電喵有個指令是管理者新增課程,使用者可以在兌換區輸入課程行前信的課程代碼領取課程身分組並存取課程用頻道,這個檔案儲存了可兌換的課程資料 - server.config.json - - 存放中電會 Discord 伺服器內的特殊頻道、表情符號 ID。程式運行中會 + - 存放中電會 Discord 伺服器內的特殊頻道、表情符號 ID。程式運行中會 - server.config-alph.json - server.config 的複製檔案,但是所有頻道和表情 ID 都是來自另一個和中電會 Discord 社群相同的伺服器,開發人員可以使用自己的 bot 在 alph 伺服器測試開發中的功能 - slot.json - 中電商店抽獎券 - diff --git a/docs/SCAICT-uwu/dev/code/_category_.json b/docs/SCAICT-uwu/dev/code/_category_.json index 452f1e3..1942372 100644 --- a/docs/SCAICT-uwu/dev/code/_category_.json +++ b/docs/SCAICT-uwu/dev/code/_category_.json @@ -5,4 +5,4 @@ "type": "generated-index", "description": "不要看到程式碼就關掉啦" } -} \ No newline at end of file +} diff --git a/docs/SCAICT-uwu/dev/code/admin.md b/docs/SCAICT-uwu/dev/code/admin.md index bc23eca..097f567 100644 --- a/docs/SCAICT-uwu/dev/code/admin.md +++ b/docs/SCAICT-uwu/dev/code/admin.md @@ -5,8 +5,10 @@ slug: admin-code title: admin_role description: 管理者指令 --- + # admin_role -admin_role 裡面的指令使用都和伺服器管理有關,大部分都是擁有伺服器最高管理權限的帳號才可以使用的指令。使用前應該先檢查發起命令的用戶: + +admin_role 裡面的指令使用都和伺服器管理有關,大部分都是擁有伺服器最高管理權限的帳號才可以使用的指令。使用前應該先檢查發起命令的使用者: ```ctx.author.guild_permissions.administrator``` 若得到 false 應該直接拒絕執行。 @@ -15,6 +17,7 @@ admin_role 裡面的指令使用都和伺服器管理有關,大部分都是擁 使用 ```discord.utils.find``` 搜尋使用者名並發起私訊傳送獎勵按鈕,因為遍歷需要花一點時間,所以呼叫 ```await ctx.defer()``` 先在 Discord 顯示中電喵正在思考,避免回應超時被 Discord kill 掉。 Discord 會在按鈕傳送時給每個按鈕一個唯一 ID,btnID (即是訊息 ID),中電喵會把 btnID、獎品類型、贈送數量、收件者存入 gift 表格。 + ```bash DB> describe gift; +-----------+-------------------------------+------+-----+---------+-------+ diff --git a/docs/SCAICT-uwu/dev/code/overView.md b/docs/SCAICT-uwu/dev/code/overView.md index 1e3a97b..7f48ae5 100644 --- a/docs/SCAICT-uwu/dev/code/overView.md +++ b/docs/SCAICT-uwu/dev/code/overView.md @@ -5,17 +5,21 @@ slug: about title: Link Start! description: 介紹一下 --- + # 程式碼專區 + > 屎山何其多 ## 簡介 + 每頁會解釋中電喵 cog 裡面的 Python 檔案,相關的功能會放在同一個檔案,日後有新功能務必用檔名聯想這是幹什麼用的。cog 裡面的程式基本上都是核心的聊天指令,太胖或是太通用的 function 可以放到 cog/core 裡面方便引入。 - 舉例: cog/core SQL.py 檔有一個 function write 需要呼叫,應該寫成: + ```py -from cog.core.SQL import write +from cog.core.sql import write ``` 注意盡量不要單獨 import 整個檔案 @@ -23,7 +27,8 @@ from cog.core.SQL import write - 錯誤示範 ```py -import cog.core.SQL as SQL +import cog.core.sql as SQL + # call function SQL.write(argv...) ``` @@ -37,8 +42,8 @@ SQL.write(argv...) +-------------------+ | Tables_in_Discord | +-------------------+ -| CommentPoints | -| USER | +| comment_points | +| user | | ctf_data | | ctf_history | | game | @@ -46,20 +51,14 @@ SQL.write(argv...) +-------------------+ ``` -### CommentPoints - - -### USER +### comment_points +### user ### ctf_data - ### ctf_history - ### game - ### gift - diff --git a/docs/SCAICT-uwu/dev/maintain.md b/docs/SCAICT-uwu/dev/maintain.md index 46d6c2e..05fb247 100644 --- a/docs/SCAICT-uwu/dev/maintain.md +++ b/docs/SCAICT-uwu/dev/maintain.md @@ -12,25 +12,32 @@ description: 這 很 重 要! ## 如何在伺服器上長時間運作? -若在伺服器上的專案資料夾執行 "python main.py" 這個指令只會在 ssh 連線階段執行這個工作,這適合短時間的測試,斷開終端機後服務就會關閉。所以要在啟動指令前加上 ***nohop*** 讓工作可以在背景持續執行。此時程式所有的 print 或 error 回報預設會在該專案目錄下面的 nohup.out ,想要更改儲存位置和檔名可以使用管道符號。 +若在伺服器上的專案資料夾執行 "python main.py" 這個指令只會在 ssh 連線階段執行這個工作,這適合短時間的測試,斷開終端機後服務就會關閉。所以要在啟動指令前加上 ***nohop*** 讓工作可以在背景持續執行。此時程式所有的 print 或 error 回報預設會在該專案目錄下面的 nohup.out ,想要變更儲存位置和檔名可以使用管道符號。 +利用管道符號把程式輸出存在 `/var/log/DiscordBot/` ,並用時間命名 -利用管道符號把程式輸出存在 /var/log/DiscordBot/ ,並用時間命名 ### 執行中電喵本體 + ```bash nohup python3 main.py &>/var/log/DiscordBot/Log_$(date +%Y-%m-%dT%H-%M-%S).log& ``` + ### 中電商店 + ```bash nohup flask run &>/var/log/uwuStore/Log_$(date +%Y-%m-%dT%H-%M-%S).log& ``` + 執行後 CLI 會顯示 Process ID,下面的例子是開啟了一個 Process ID 為 48763 的工作。這個 ID 是唯一的,用來辨別這個運行的工作。每次開啟服務後建議寫在記事本,下次關服務會比較好找到這個服務。 + ``` [2] 48763 ``` + ## 關閉長時間運作的服務 -關閉用 htop 運行中的服務,可以使用: +關閉用 htop 運行中的服務,可以使用: + - ```kill ``` - ```htop```找到要關閉的 Process 按下 F9 @@ -41,7 +48,9 @@ nohup flask run &>/var/log/uwuStore/Log_$(date +%Y-%m-%dT%H-%M-%S).log& > Tips:在 htop 內可以使用 F6 排序幫助尋找目標 Process ;選取到目標服務後按下 F9 可以 kill 掉它 ## 備份資料庫 + ### mysqldump 指令 + 定期備份資料庫是一件很重要的事,使用 mysqldump 指令把某個 database 的表格樣式和儲存的資料都儲存到一個 .spl 檔。裡面會存構成目前資料庫需要的指令。 ```bash @@ -52,10 +61,11 @@ mysql -u [username] -p [database] < backup.sql #把 .sql 執行把資料庫 ``` ### 定期備份資料庫 + crontab -## 文檔撰寫 +## 撰寫說明文件 -當開發完一個新的指令或更新功能,得在文檔紀錄新的變動,建議先撰寫使用者向的使用說明,再寫技術文檔。組織語言讓不會使用的人學會之後,對功能的細節也會更清楚,過程中也會想到開發時沒有想到的例外狀況或更多應用情境。 +當開發完一個新的指令或更新功能,得在說明文件記錄新的變動,建議先撰寫使用者向的使用說明,再寫技術說明文件。組織語言讓不會使用的人學會之後,對功能的細節也會更清楚,過程中也會想到開發時沒有想到的例外狀況或更多應用情境。 -親測有效,整理發送課程身分組的時候就想到其實可以把一直想不到方法實踐的購買特殊身分組用在兌換區。 \ No newline at end of file +親測有效,整理發送課程身分組的時候就想到其實可以把一直想不到方法實踐的購買特殊身分組用在兌換區。 diff --git a/docs/SCAICT-uwu/dev/new-server.md b/docs/SCAICT-uwu/dev/new-server.md index a9b16a0..3e35bb7 100644 --- a/docs/SCAICT-uwu/dev/new-server.md +++ b/docs/SCAICT-uwu/dev/new-server.md @@ -5,25 +5,35 @@ slug: newserver title: 搬家後的環境準備 description: 浪跡天涯客,何處不是家? --- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## 安裝 git -為了更方便的從遠端更新程式資料,需要安裝 git -``` +## 安裝 Git + +為了更方便的從遠端更新程式資料,需要安裝 Git。 + +```bash sudo apt-get install git-all ``` + 然後 clone 這個 repo + ```bash git clone https://github.com/SCAICT/SCAICT-uwu.git ``` + ## 更新 apt install + ``` sudo apt update sudo apt upgrade -y ``` + ## Python -### 安裝 python 3.11 + +### 安裝 Python 3.11 + ``` @@ -37,8 +47,11 @@ sudo apt upgrade -y ``` + ### 設定虛擬環境並安裝必要 package -這雖然不是必要的,但我們強烈建議對安裝的 package 做獨立的管理,因為中電喵可能不支援某些 package 的新版本 + +這雖然不是必要的,但我們強烈建議對安裝的 package 做獨立的管理,因為中電喵可能不支援某些 package 的新版本。 + ``` @@ -68,36 +81,52 @@ sudo apt upgrade -y ``` -## MySQL(或是mariadb) -``` + +## MySQL(或是MariaDB) + +```bash sudo apt install mysql-server -y sudo mysql_secure_installation sudo systemctl status mysql ``` + ### MySQL 資料庫和使用者設定 + ```mysql CREATE DATABASE `Discord`; CREATE USER 'user_name'@'%' IDENTIFIED BY 'password';--設定給程式連接的資料庫帳號,這要一併輸入在 .env GRANT SELECT, INSERT, UPDATE, DELETE ON `Discord`.* TO `user`@`%` ``` -### 建立需要的表格 -參見[備份資料庫](./maintain.md#定期備份資料庫)搭配表格模板使用 + +### 建立需要的資料表 + +請參閱[備份資料庫](./maintain.md#定期備份資料庫)搭配表格模板使用 + ## 網站部署 -中電商店使用 flask 為框架,在本機測試,只需要使用指令 -``` + +中電商店使用 Flask 為框架,在本機測試,只需要使用指令 + +```bash flask run ``` + 這預設會在```http://127.0.0.1:5000```開啟網頁服務。若需要讓外網可以連接,我們推薦使用 Nginx 作為網站伺服器 ### DNS 定向 + 確保 Domain 確實指向伺服器主機 -### 安裝 Nginx(只提供 Linux 系統做法) + +### 安裝 Nginx(只提供 Linux 系統做法) + ```bash sudo apt update sudo apt install nginx ``` -### 撰寫設定檔 -在 /etc/nginx/sites-available/ 目錄下創建一個新的 config 檔,以網域名稱當作檔名,這裡以網域```store.scaict.org```舉例: + +### 撰寫組態檔 + +在 /etc/nginx/sites-available/ 目錄下新增一個新的 config 檔,以網域名稱當作檔名,這裡以網域```store.scaict.org```舉例: + ``` server { listen 80; @@ -112,16 +141,23 @@ server { } } ``` + ### 建立連結檔 -執行這則指令後,會在 sites-enabled 目錄中創建一個指向 store.scaict.org 配置文件的連結檔,使得 Nginx 能夠讀取並啟用這個網站配置,且不用把檔案複製兩份。 -``` + +執行這則指令後,會在 sites-enabled 目錄中新增一個指向 store.scaict.org 組態檔的連結檔,使得 Nginx 能夠讀取並啟用這個網站組態,且不用把檔案複製兩份。 + +```bash sudo ln -s /etc/nginx/sites-available/store.scaict.org /etc/nginx/sites-enabled/ ``` + ### 測試設定檔(可選) -``` + +```bash sudo nginx -t ``` + ### 重開 Nginx -``` + +```bash sudo systemctl restart nginx ``` diff --git a/docs/SCAICT-uwu/game.md b/docs/SCAICT-uwu/game.md index 0e91f11..951c600 100644 --- a/docs/SCAICT-uwu/game.md +++ b/docs/SCAICT-uwu/game.md @@ -4,7 +4,9 @@ authors: [iach526526] slug: game title: 遊戲間 --- + # 🎮遊戲間 + import RedText from '@site/src/components/HomepageFeatures/index'; 中電喵是一隻好動的貓咪,喜歡和大家玩遊戲,以下是他喜歡玩的遊戲一覽。有空的話就陪他玩一下吧! @@ -31,4 +33,4 @@ import RedText from '@site/src/components/HomepageFeatures/index'; - 勝利,加 5 電電點 - 敗北,扣 5 電電點 -- 和局,不發生任何事 \ No newline at end of file +- 和局,不發生任何事 diff --git a/docs/SCAICT-uwu/get-point.md b/docs/SCAICT-uwu/get-point.md index f660c6e..571a2a5 100644 --- a/docs/SCAICT-uwu/get-point.md +++ b/docs/SCAICT-uwu/get-point.md @@ -4,6 +4,7 @@ authors: [iach526526] slug: point title: 如何獲得電電點 --- + # ⚡獲得電電點 在中電會的 Discord 伺服器中,活躍的成員可以獲得「電電點」。使用電電點,可以在中電商店購買限量周邊。以下將列舉幾項主要的獲得管道。 @@ -18,4 +19,4 @@ title: 如何獲得電電點 ## 遊戲 -和中電喵玩小遊戲,獲勝時也可以獲得電電點。詳細的遊戲方法可以參考[遊戲間](./game.md) \ No newline at end of file +和中電喵玩小遊戲,獲勝時也可以獲得電電點。詳細的遊戲方法可以參考[遊戲間](./game.md) diff --git a/docs/SCAICT-uwu/intro.md b/docs/SCAICT-uwu/intro.md index ca57871..fa32bcd 100644 --- a/docs/SCAICT-uwu/intro.md +++ b/docs/SCAICT-uwu/intro.md @@ -6,6 +6,7 @@ title: 快速入門 --- # 快速入門 + ## 這是什麼? 中電喵是一隻住在中電會 Discord 社群的一隻貓咪,喜歡唱、跳、coding、算數。你可以透過斜線指令 (slash command) 或在專用頻道和它互動 @@ -18,12 +19,12 @@ title: 快速入門 - 在伺服器享受所有中電喵的服務 ### 使用指北 -- [獲得電電點](./get-point.md) +- [獲得電電點](./get-point.md) - [遊戲間](./game.md) - - [兌換/領取獎品](./shop) ### 官網寫的不清不楚,我可以到哪裡問問題? + - [GitHub](https://github.com/SCAICT/SCAICT-uwu/issues) - [伺服器 #🥺求助區](https://discord.com/invite/At7r54v94c) diff --git a/docs/SCAICT-uwu/shop.md b/docs/SCAICT-uwu/shop.md index 79cc679..3827b73 100644 --- a/docs/SCAICT-uwu/shop.md +++ b/docs/SCAICT-uwu/shop.md @@ -9,16 +9,16 @@ title: 🛒中電商店 [中電商店](http://store.scaict.org) 是中電喵的祖傳產業 -### 兌換商品 +## 兌換商品 電電點可以在中電商店進行消費,商店有各種中電相關周邊。實體商品目前暫不支持包裹運送,請在實體活動(中電會實體課程、SITCON 等資訊社群活動)找到中電幹部開啟商店畫面點擊確定兌換。 -### 🎰拉霸機 +## 🎰拉霸機 在某些特殊活動(詳見中電會伺服器)會發放稀有的「Ticket」,你可以在商店的拉霸機中使用。初次使用時會獲得一張 Ticket ,夠幸運的話,你可以一次獲得大量的電電點! - ---- -### 猜你想看: -[⚡獲得電電點](./get-point.md) \ No newline at end of file +## 猜你想看 + +- [⚡獲得電電點](./get-point.md) diff --git a/docs/Website/announcement.md b/docs/Website/announcement.md index d092f5f..f968414 100644 --- a/docs/Website/announcement.md +++ b/docs/Website/announcement.md @@ -9,15 +9,15 @@ sidebar_position: 5 * 調整網頁排版、字體大小 * 新增贊助廠商 * 新增參與社團 -* 更改介紹文字及目標 -* 更改社群連結 +* 變更介紹文字及目標 +* 變更社群連結 以下中電會網站資料請至[website-data](https://github.com/SCAICT/website-data)編輯 -* 更改首頁 LCD 屏幕公告 +* 變更首頁 LCD 畫面公告 * 新增/編輯活動 -## 如何添加公告? +## 如何新增公告? > 以下操作皆在 [website-data](https://github.com/SCAICT/website-data) @@ -38,28 +38,28 @@ sidebar_position: 5 ### 活動 -請以**完全相同格式**添加活動至 [events.md](https://github.com/SCAICT/website-data/blob/main/events.md) 檔案。沒有長度限制,過期活動需手動移除。 +請以**完全相同格式**新增活動至 [events.md](https://github.com/SCAICT/website-data/blob/main/events.md) 檔案。沒有長度限制,過期活動需手動移除。 ```markdown # 中電會聯合迎新 -* 一年一度中電會的電資社團聯合迎新開始報名了!
這次的地點在台中高工。透過這次的聯合迎新,各位可以多多認識其他社團和結交各大電神喔!另外,這次活動包含 Python 基礎和爬蟲,也是個學習 Python 的好機會,快點來報名吧! -* 11/12(日)9:30 ~ 17:00 -* 台中高工 資訊科工廠四 -* 200 元 -* https://scaict.org/src/img/%E8%83%8C%E5%BD%B1.webp +* 一年一度中電會的電資社團聯合迎新開始報名了!
這次的地點在台中高工。透過這次的聯合迎新,各位可以多多認識其他社團和結交各大電神喔!另外,這次活動包含 Python 基礎和爬蟲,也是個學習 Python 的好機會,快點來報名吧! +* 11/12(日)9:30 ~ 17:00 +* 臺中高工 資訊科工廠四 +* 200 元 +* https://scaict.org/src/img/%E8%83%8C%E5%BD%B1.webp ``` #### 注意事項 -* 請勿添加其他 markdown 語法,若需要換行請使用 `
`。空白行將忽略,可視整潔需求添加。 +* 請勿加上其他 markdown 語法,若需要換行請使用 `
`。空白行將忽略,可視整潔需求加上。 * 為維持版面整潔,請盡量保持活動訊息在三行以內,日期、時間、地點、費用一行以內。 * 圖片可選,請貼上圖片連結。若無圖片可以省略。 *活動部屬需要約 30 秒,請耐心等待。 ## 活動公告部屬流程 -GitHub Action 會在你編輯活動公告後自動將其轉成 Json 格式供網站前端使用 +GitHub Action 會在你編輯活動公告後自動將其轉成 JSON 格式供網站前端使用 ```mermaid graph TD @@ -74,5 +74,4 @@ graph TD H —> J[Finish] I —> J[Finish] C —>|No| J[Finish] - -``` \ No newline at end of file +``` diff --git a/docs/Website/edit-website.md b/docs/Website/edit-website.md index c867d8b..c926805 100644 --- a/docs/Website/edit-website.md +++ b/docs/Website/edit-website.md @@ -9,12 +9,12 @@ sidebar_position: 4 * 調整網頁排版、字體大小 * 新增贊助廠商 * 新增參與社團 -* 更改介紹文字及目標 -* 更改社群連結 +* 變更介紹文字及目標 +* 變更社群連結 以下情況請**不要編輯**此倉庫,麻煩移駕至 [website-data](https://github.com/SCAICT/website-data) -* 更改首頁 LCD 屏幕公告 +* 變更首頁 LCD 屏幕公告 * 新增/編輯活動 ## 部屬流程 @@ -59,10 +59,10 @@ _那拜託不要亂動_ "embeddedLanguageFormatting": "auto", "vueIndentScriptAndStyle": false, "parser": "babel" - } +} ``` ## 注意事項 * 要製作分頁請開資料夾,並命名檔案為 `index.html` -* 特殊活動有開倉庫可以直接[使用 GitHub Pages 部屬](./github-pages.md)。 \ No newline at end of file +* 特殊活動有開倉庫可以直接[使用 GitHub Pages 部屬](./github-pages.md)。 diff --git a/docs/Website/edit.md b/docs/Website/edit.md index 6d91da6..f36f1f8 100644 --- a/docs/Website/edit.md +++ b/docs/Website/edit.md @@ -9,16 +9,11 @@ sidebar_position: 3 ## 文字編輯 1. 進到你要編輯的檔案 - 2. 點擊鉛筆:pencil2:編輯 - -![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-edit.webp) - + ![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-edit.webp) 3. 編輯,不然你來幹嘛 - -4. 提交變更,點擊 Commit Changes 兩次。建議可以在 Commit Message 解釋你做了那些編輯。 - -![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-commit.webp) +4. 提交變更,點擊 Commit Changes 兩次。建議可以在 Commit Message 解釋你做了哪些編輯。 + ![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-commit.webp) ## 上傳圖片 @@ -26,11 +21,10 @@ sidebar_position: 3 > [點我上傳](https://github.com/SCAICT/website-data/upload/main/img) -要取得圖片網址(通常拿來放在活動公告中)請在新分頁開啟圖片 +要取得圖片網址(通常拿來放在活動公告中)請在新分頁開啟圖片 ![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-openImg.webp) 最後複製載入後的網址即可。 ![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-img-url.webp) - diff --git a/docs/Website/github-pages.md b/docs/Website/github-pages.md index abbab52..75eef9a 100644 --- a/docs/Website/github-pages.md +++ b/docs/Website/github-pages.md @@ -14,4 +14,4 @@ sidebar_position: 7 ![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/tutorial-pages.webp) -記得點選儲存。每次提交就會自動部署,需等待約1分鐘左右。 \ No newline at end of file +記得點選儲存。每次提交就會自動部署,需等待約1分鐘左右。 diff --git a/docs/Website/intro.md b/docs/Website/intro.md index a9863c5..8a4e88f 100644 --- a/docs/Website/intro.md +++ b/docs/Website/intro.md @@ -21,4 +21,4 @@ sidebar_position: 1 ## 常見及不常見問題 * [為甚麼我的資料沒有更新到網頁中?](./github-pages.md) -* [XXX倉庫是拿來幹嘛的?](./repo.md) \ No newline at end of file +* [XXX倉庫是拿來幹嘛的?](./repo.md) diff --git a/docs/Website/photo.md b/docs/Website/photo.md index 890cf91..458ee5b 100644 --- a/docs/Website/photo.md +++ b/docs/Website/photo.md @@ -6,4 +6,4 @@ sidebar_position: 6 將調完色的圖片上傳到 [website-data 倉庫](https://github.com/SCAICT/website-data/tree/main/)。建立資料夾,名稱為活動名稱,請盡量保持簡潔,否則網頁塞不下。 -![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/event-img.webp) \ No newline at end of file +![](https://raw.githubusercontent.com/SCAICT/website-data/main/img/event-img.webp) diff --git a/docs/Website/repo.md b/docs/Website/repo.md index 587ed4e..ea87112 100644 --- a/docs/Website/repo.md +++ b/docs/Website/repo.md @@ -6,6 +6,6 @@ sidebar_position: 2 有一些網頁倉庫看起來匪夷所思,以下是他們故事: -* [SCAICT.github.io](https://github.com/SCAICT/SCAICT.github.io) - 為避免首頁被其他活動倉庫使用 [GitHub Pages 部屬](./github-pages.md)時占走而建立的倉庫。永久重定向到中電會首頁。 -* [google-auth](https://github.com/SCAICT/google-auth) - 中電會舊的Google的驗證碼生成器。已封存。 -* [Website-Frontend](https://github.com/SCAICT/Website-Frontend) - 第二屆沒做完的網頁。已封存。 \ No newline at end of file +* [SCAICT.github.io](https://github.com/SCAICT/SCAICT.github.io) - 為避免首頁被其他活動倉庫使用 [GitHub Pages 部屬](./github-pages.md)時占走而建立的倉庫。永久重新導向到中電會首頁。 +* [google-auth](https://github.com/SCAICT/google-auth) - 中電會舊的Google的驗證碼產生器。已封存。 +* [Website-Frontend](https://github.com/SCAICT/Website-Frontend) - 第2屆沒做完的網頁。已封存。 diff --git a/docs/intro.md b/docs/intro.md index 1299580..08d8835 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -1,5 +1,6 @@ --- sidebar_position: 1 -title: 中電會文檔 +title: 中電會說明文件 --- -這裡是一個神奇的地方,包括一些技術秘密。不用我廢話了,開始閱讀吧 \ No newline at end of file + +這裡是一個神奇的地方,包括一些技術祕密。不用我廢話了,開始閱讀吧。 diff --git a/docs/jitsi/commands.md b/docs/jitsi/commands.md index d86b9bd..231431e 100644 --- a/docs/jitsi/commands.md +++ b/docs/jitsi/commands.md @@ -9,7 +9,7 @@ 把整個服務直接砍掉。 ```python - docker stop $(docker ps -q) +docker stop $(docker ps -q) ``` # Docker 環境 @@ -20,6 +20,7 @@ docker exec -it jitsi-docker-jitsi-meet-6692439-web-1 /bin/bash docker exec -it jitsi-docker-jibri-c92026a-web-1 /bin/bash ``` + 具體的ID可能會不太一樣,請你使用 docker ps 指令來確認 常見編輯檔案如下 @@ -42,6 +43,7 @@ cd ~/.jitsi-meet-cfg/CONFIG/web/ ```bash cd /usr/share/jitsi-meet ``` + 基本上就是下載圖片,然後取代原本的。 從官網下載圖片 (記得先 CD 到 image 資料夾) @@ -72,4 +74,4 @@ docker-compose -f docker-compose.yml -f jibri.yml ps ```bash :%s/[{;}]/&\r/g|norm! =gg -``` \ No newline at end of file +``` diff --git a/docs/prettier/action.md b/docs/prettier/action.md index 2dc8bd9..f9e3606 100644 --- a/docs/prettier/action.md +++ b/docs/prettier/action.md @@ -1,18 +1,18 @@ -— +--- sidebar_position: 6 - +--- # GitHub Actions 自動化 -使用 GitHub Actions 可以自動化你的開發流程,包括在每次 push 或 pull request 時自動檢查和格式化代碼,如果有問題會自動修復並提交 pull request。這裡我們將介紹如何配置和使用 GitHub Actions 來實現這一目標。 +使用 GitHub Actions 可以自動化你的開發流程,包括在每次 push 或 pull request 時自動檢查和格式化代碼,如果有問題會自動修復並提交 pull request。這裡我們將介紹如何設定和使用 GitHub Actions 來實現這一目標。 -## 設置 GitHub Actions +## 設定 GitHub Actions -首先,你需要在專案根目錄下創建一個 `.github/workflows` 目錄,並在該目錄下創建一個名為 `prettier.yml` 的文件。這個文件將包含 GitHub Actions 的配置。 +首先,你需要在專案根目錄下新增一個 `.github/workflows` 目錄,並在該目錄下新增一個名為 `prettier.yml` 的檔案。這個檔案將包含 GitHub Actions 的組態。 -### 範例配置 +### 範例組態檔 -以下是一個範例配置,用於在每次 push 或 pull request 時自動檢查和格式化代碼: +以下是一個範例組態檔,用於在每次 push 或 pull request 時自動檢查和格式化代碼: ```yaml name: Prettier Check @@ -58,22 +58,22 @@ jobs: body: ‘This pull request fixes the code formatting issues identified by Prettier.’ ``` -### 配置解釋 +### 組態說明 -- **`name`**: 為這個工作流命名,例如 `Prettier Check`。 -- **`on`**: 定義在何種情況下觸發這個工作流,這裡設置為在 `push` 和 `pull_request` 事件時觸發。 +- **`name`**: 為這個工作流程命名,例如 `Prettier Check`。 +- **`on`**: 定義在何種情況下觸發這個工作流程,這裡設定為在 `push` 和 `pull_request` 事件時觸發。 - **`jobs`**: 定義一個或多個作業(jobs),這裡我們只定義了一個名為 `prettier` 的作業。 -- **`runs-on`**: 指定作業運行的環境,這裡設置為 `ubuntu-latest`。 -- **`steps`**: 定義作業中的每一步操作: -- **Checkout repository**: 將專案的代碼檢出到 runner 環境中,使後續步驟可以訪問代碼。 -- **Set up Node.js**: 設置 Node.js 環境,這裡我們使用了版本 20。 -- **Install dependencies**: 安裝 Prettier 作為依賴,確保我們可以在後續步驟中使用它。 -- **Run Prettier check**: 使用 `npx prettier —check .` 檢查所有文件是否符合 Prettier 的格式規範。如果任何文件不符合規範,這一步會失敗。 -- **Run Prettier format (if needed)**: 如果上一步檢查失敗,這裡會運行 `npx prettier —write .` 自動格式化所有不符合規範的文件。 -- **Create Pull Request**: 如果有文件被格式化,這一步會自動創建一個新的 pull request,提交格式化後的代碼。使用 `peter-evans/create-pull-request@v5` 動作來自動創建 PR,並設置相關的 commit 信息和 PR 標題、描述。 +- **`runs-on`**: 指定作業運行的環境,這裡設定為 `ubuntu-latest`。 +- **`steps`**: 定義作業中的每一個步驟: +- **Checkout repository**: 將專案的程式碼檢出到 runner 環境中,使後續步驟可以存取代碼。 +- **Set up Node.js**: 設定 Node.js 環境,這裡我們使用了版本 20。 +- **Install dependencies**: 安裝 Prettier 作為依賴套件,確保我們可以在後續步驟中使用它。 +- **Run Prettier check**: 使用 `npx prettier —check .` 檢查所有檔案是否符合 Prettier 的格式規範。如果任何檔案不符合規範,這一步會失敗。 +- **Run Prettier format (if needed)**: 如果上一步檢查失敗,這裡會執行 `npx prettier —write .` 自動格式化所有不符合規範的檔案。 +- **Create Pull Request**: 如果有檔案被格式化,這一步會自動建立一個新的 pull request,提交格式化後的程式碼。使用 `peter-evans/create-pull-request@v5` 操作來自動建立 PR,並設定相關的 commit 資訊和 PR 標題、描述。 ## 部署和使用 -1. **創建工作流文件**: 將上述配置保存到專案根目錄下的 `.github/workflows/prettier.yml` 文件中。 -2. **推送代碼**: 將工作流文件推送到 GitHub repository。 -3. **檢查運行情況**: 每次 push 或 pull request 事件觸發時,可以在 GitHub 上的 Actions 標籤下查看工作流的運行情況。 \ No newline at end of file +1. **建立工作流程檔案**: 將上述組態儲存到專案根目錄下的 `.github/workflows/prettier.yml` 檔案中。 +2. **推送程式碼**: 將工作流程檔案推送到 GitHub repository。 +3. **檢查執行情況**: 每次 push 或 pull request 事件觸發時,可以在 GitHub 上的 Actions 標籤下查看工作流程的執行情況。 diff --git a/docs/prettier/install.md b/docs/prettier/install.md index 7abb90d..29e9949 100644 --- a/docs/prettier/install.md +++ b/docs/prettier/install.md @@ -2,39 +2,39 @@ sidebar_position: 3 --- -# 如何在 VSCode 安裝及使用 Prettier? +# 如何在 VS Code 安裝及使用 Prettier? -Visual Studio Code (VSCode) 是一個流行的代碼編輯器,Prettier 提供了專屬的擴充功能來幫助你在編寫代碼時自動格式化文件。這裡我們將介紹如何在 VSCode 中安裝和配置 Prettier。 +Visual Studio Code (VS Code) 是一個流行的代碼編輯器,Prettier 提供了專屬的擴充功能來幫助你在編寫代碼時自動格式化檔案。這裡我們將介紹如何在 VSCode 中安裝和設定 Prettier。 ## 安裝 Prettier 擴充功能 -1. **打開 VSCode**:啟動你的 VSCode 編輯器。 -2. **打開擴充功能市場**:點擊左側活動欄中的擴充功能圖標,或使用快捷鍵 `Ctrl+Shift+X`。 +1. **打開 VS Code**:啟動你的 VS Code 編輯器。 +2. **打開擴充功能市場**:點擊左側活動欄中的擴充功能圖示,或使用快捷鍵 `Ctrl+Shift+X`。 3. **搜尋 Prettier**:在搜尋欄中輸入 `Prettier - Code formatter`。 4. **安裝擴充功能**:找到由 `Prettier` 提供的擴充功能,點擊 `Install` 按鈕進行安裝。 -## 配置 Prettier +## 設定 Prettier -安裝完成後,你需要對 VSCode 進行一些配置來啟用 Prettier。 +安裝完成後,你需要對 VSCode 進行一些設定來啟用 Prettier。 1. **打開設定檔**:點擊右上角的齒輪圖標,選擇 `Settings`,或使用快捷鍵 `Ctrl+,`。 2. **搜尋 Prettier**:在設定搜尋欄中輸入 `Prettier`。 -3. **設置為預設格式化工具**:找到 `Editor: Default Formatter` 設定,將其設置為 `Prettier - Code formatter`。 -4. **啟用保存時自動格式化**:找到 `Editor: Format On Save` 設定,勾選此選項。 +3. **設定為預設格式化工具**:找到 `Editor: Default Formatter` 設定,將其設定為 `Prettier - Code formatter`。 +4. **啟用儲存時自動格式化**:找到 `Editor: Format On Save` 設定,勾選此選項。 -這樣,在保存文件時,VSCode 會自動使用 Prettier 來格式化你的代碼。 +這樣,在儲存檔案時,VSCode 會自動使用 Prettier 來格式化你的程式碼。 ## 使用 Prettier 格式化代碼 -有了以上配置,Prettier 將自動在你保存文件時格式化代碼。如果你想手動格式化某個文件,可以使用以下方法: +有了以上組態,Prettier 將自動在你儲存檔案時格式化代碼。如果你想手動格式化某個檔案,可以使用以下方法: -1. **右鍵格式化**:右鍵點擊文件編輯區,選擇 `Format Document`。 -2. **快捷鍵格式化**:使用快捷鍵 `Shift+Alt+F` 格式化當前打開的文件。 +1. **右鍵格式化**:右鍵點擊檔案編輯區,選擇 `Format Document`。 +2. **快捷鍵格式化**:使用快捷鍵 `Shift+Alt+F` 格式化當前打開的檔案。 ## 問題排查 如果你發現 Prettier 沒有按預期工作,可以嘗試以下步驟: 1. **檢查擴充功能安裝**:確認 `Prettier - Code formatter` 擴充功能已正確安裝並啟用。 -2. **檢查設定檔**:確保 `Default Formatter` 和 `Format On Save` 設定已正確配置。 -3. **檢查 .prettierrc 文件**:確認專案根目錄下是否有 `.prettierrc` 配置文件,並且配置無誤。 \ No newline at end of file +2. **檢查設定檔**:確保 `Default Formatter` 和 `Format On Save` 設定已正確設定。 +3. **檢查 .prettierrc 檔案**:確認專案根目錄下是否有 `.prettierrc` 組態檔,並且設定無誤。 diff --git a/docs/prettier/intro.md b/docs/prettier/intro.md index 751ea6d..4b8dc07 100644 --- a/docs/prettier/intro.md +++ b/docs/prettier/intro.md @@ -2,29 +2,27 @@ sidebar_position: 1 --- -— - # Prettier 是什麼? -Prettier 是一個強大的代碼格式化工具,用於確保你的代碼風格一致並且易於閱讀。它自動對你的代碼進行格式化,遵循一組預定義的規範,使得不同開發人員之間的代碼風格保持一致,減少因格式問題引起的爭議。 +Prettier 是一個強大的程式碼格式化工具,用於確保你的程式碼風格一致並且易於閱讀。它自動將你的程式碼格式化,遵循一組預先定義的規範,使得不同開發人員之間的程式碼風格保持一致,減少因格式問題引起的爭議。 ## 主要特點 -- **統一格式**:無論團隊成員的編碼風格如何,Prettier 都能自動將代碼格式化為統一的風格。 -- **多語言支持**:Prettier 支持多種編程語言,包括 JavaScript、TypeScript、CSS、HTML、JSON 等。 -- **易於集成**:Prettier 可以輕鬆地集成到現有的開發環境和工作流程中,支持大多數主流的 IDE 和編輯器。 -- **自動修復**:在保存文件時自動格式化代碼,減少手動調整的需求。 +- **統一格式**:無論團隊成員的程式碼風格如何,Prettier 都能自動將程式碼格式化為統一的風格。 +- **多語言支援**:Prettier 支持多種編程語言,包括 JavaScript、TypeScript、CSS、HTML、JSON 等。 +- **易於整合**:Prettier 可以輕鬆地整合到現有的開發環境和工作流程中,支援大多數主流的 IDE 和編輯器。 +- **自動修復**:在儲存檔案時自動格式化代碼,減少手動調整的需求。 ## 為什麼使用 Prettier? -1. **提升代碼可讀性**:統一的格式讓代碼更加整潔和易讀。 -2. **減少代碼審查的負擔**:專注於代碼邏輯和功能,而不是格式問題。 -3. **提高開發效率**:自動格式化減少了手動調整的時間,讓開發人員專注於編碼本身。 +1. **提升程式碼可讀性**:統一的格式讓代碼更加整潔和易讀。 +2. **減少程式碼審查的負擔**:專注於程式碼邏輯和功能,而不是格式問題。 +3. **提高開發效率**:自動格式化減少了手動調整的時間,讓開發人員專注於撰寫程式本身。 -## 如何工作? +## 如何運作? -Prettier 通過解析你的代碼,生成一棵抽象語法樹(AST),然後根據預定義的規則重新格式化代碼。這個過程是完全自動的,不需要人工干預。 +Prettier 透過解析你的程式碼產生成一棵抽象語法樹(AST),然後根據預先定義的規則重新格式化程式碼。這個過程是完全自動的,不需要人工干預。 ## 安裝與使用 -接下來的幾篇文檔將詳細介紹如何在本地環境和不同的 IDE 中安裝和使用 Prettier,以及如何配置和集成 Prettier 到你的開發流程中。 \ No newline at end of file +接下來的幾篇說明文件將詳細介紹如何在本地環境和不同的 IDE 中安裝和使用 Prettier,以及如何設定和整合 Prettier 到你的開發流程中。 diff --git a/docs/prettier/prettierignore.md b/docs/prettier/prettierignore.md index daba4a2..1af5738 100644 --- a/docs/prettier/prettierignore.md +++ b/docs/prettier/prettierignore.md @@ -4,17 +4,15 @@ sidebar_position: 5 # 如何設定 .prettierignore -`.prettierignore` 文件用於指定哪些文件或目錄應該被 Prettier 忽略。這類似於 `.gitignore` 文件,可以幫助你排除不需要格式化的文件。 +`.prettierignore` 檔案用於指定哪些檔案或目錄應該被 Prettier 忽略。這類似於 `.gitignore` 檔案,可以協助你排除不需要格式化的檔案。 :::warning - 除非特殊情況,請不要隨意排除檔案。 - ::: -## 創建 .prettierignore 文件 +## 新增 .prettierignore 檔案 -在專案的根目錄下創建一個名為 `.prettierignore` 的文件,然後添加你想忽略的文件或目錄。例如: +在專案的根目錄下新增一個名為 `.prettierignore` 的檔案,然後新增你想忽略的檔案或目錄。例如: ```plaintext # 忽略 node_modules 目錄 @@ -24,19 +22,19 @@ node_modules dist build -# 忽略特定文件類型 +# 忽略特定檔案類型 *.min.js *.bundle.js -# 忽略特定文件 +# 忽略特定檔案 src/ignore-this-file.js ``` ## 常見忽略項目 -以下是一些常見的 `.prettierignore` 配置項目: +以下是一些常見的 `.prettierignore` 組態項: -- **忽略依賴目錄**: +- **忽略依賴套件目錄**: ```plaintext node_modules ``` @@ -47,13 +45,13 @@ src/ignore-this-file.js build ``` -- **忽略特定文件類型**: +- **忽略特定檔案類型**: ```plaintext *.min.js *.bundle.js ``` -- **忽略特定配置文件**: +- **忽略特定組態檔**: ```plaintext .env ``` @@ -61,19 +59,19 @@ src/ignore-this-file.js ## 使用規範 1. **注釋**:使用 `#` 開頭的行表示注釋,會被忽略。 -2. **通配符**:支持使用 `*` 作為通配符來匹配文件名或擴展名。 +2. **通配符號**:支持使用 `*` 作為通配符號來匹配主檔名或副檔名。 3. **目錄**:直接指定目錄名稱,忽略整個目錄。 ## 檢查忽略規則 -你可以使用以下命令來檢查 `.prettierignore` 文件的效果,確認指定的文件是否被忽略: +你可以使用以下命令來檢查 `.prettierignore` 檔案的效果,確認指定的檔案是否已被忽略: ```bash prettier —check . ``` -這個命令會列出所有未被忽略並且需要格式化的文件。 +這個命令會列出所有未被忽略並且需要格式化的檔案。 -## 與其他忽略文件的關係 +## 與其他忽略檔案的關係 -`.prettierignore` 文件的作用類似於 `.gitignore`,但僅影響 Prettier 的格式化範圍。這意味著 `.prettierignore` 文件中的規則不會影響到 Git 的忽略規則,反之亦然。 \ No newline at end of file +`.prettierignore` 檔案的作用類似於 `.gitignore`,但僅影響 Prettier 的格式化範圍。這意味著 `.prettierignore` 檔案中的規則不會影響到 Git 的忽略規則,反之亦然。 diff --git a/docs/prettier/prettierrc.md b/docs/prettier/prettierrc.md index e68743f..509dd10 100644 --- a/docs/prettier/prettierrc.md +++ b/docs/prettier/prettierrc.md @@ -4,67 +4,67 @@ sidebar_position: 4 # 設定 .prettierrc 規範 -`.prettierrc` 文件用於配置 Prettier 的格式化規範。這些設定將會應用到專案中的所有文件,確保代碼風格一致。 +`.prettierrc` 檔案用於設定 Prettier 的格式化規範。這些設定將會套用到專案中的所有檔案,確保程式碼風格一致。 -## 創建 .prettierrc 文件 +## 新增 .prettierrc 檔案 -在專案的根目錄下創建一個名為 `.prettierrc` 的文件,然後添加你的配置。這裡是一些常見的配置選項,也是中電會目前習慣的配置選項: +在專案的根目錄下新增一個名為 `.prettierrc` 的檔案,然後新增組態項。這裡是一些常見的組態項,也是中電會目前習慣的組態項: ```json { - “printWidth”: 80, - “tabWidth”: 2, - “useTabs”: false, - “semi”: true, - “singleQuote”: true, - “trailingComma”: “all”, - “bracketSpacing”: true, - “jsxBracketSameLine”: false, - “arrowParens”: “avoid”, - “endOfLine”: “lf” + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": true, + "trailingComma": "all", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "avoid", + "endOfLine": "lf" } ``` -## 配置說明 +## 組態項說明 -- **`printWidth`**: 每行的最大長度,默認是 80 個字符。超過這個長度的行會被折行。 -- **`tabWidth`**: 設定一個 tab 等於多少個空格,默認是 2。 -- **`useTabs`**: 使用 tab 而不是空格縮進,默認是 `false`。 -- **`semi`**: 在語句結尾是否添加分號,默認是 `true`。 -- **`singleQuote`**: 使用單引號代替雙引號,默認是 `true`。 -- **`trailingComma`**: 在多行結構的最後一行是否添加逗號,有效值包括 `”none”`, `”es5”`, `”all”`,默認是 `”all”`。 -- **`bracketSpacing`**: 在對象字面量中的括號兩側添加空格,默認是 `true`。 -- **`jsxBracketSameLine`**: 在 JSX 中把 `>` 放在最後一個屬性所在行的末尾,而不是單獨成行,默認是 `false`。 -- **`arrowParens`**: 在只有一個參數的箭頭函數中省略括號,有效值包括 `”always”`, `”avoid”`,默認是 `”avoid”`。 -- **`endOfLine`**: 設定行尾的符號,有效值包括 `”lf”`, `”crlf”`, `”cr”`, `”auto”`,默認是 `”lf”`。 +- **`printWidth`**: 每行的最大長度,預設為 80 個字元。超過這個長度的行會被拆行。 +- **`tabWidth`**: 設定一個 tab 等於多少個空格,預設為 2。 +- **`useTabs`**: 使用 tab 而不是空格縮排,預設為 `false`。 +- **`semi`**: 在語句結尾是否加上分號,預設為 `true`。 +- **`singleQuote`**: 使用單引號代替雙引號,預設為 `true`。 +- **`trailingComma`**: 在多行結構的最後一行是否加上逗號,有效值包括 `"none"`, `"es5"`, `"all"`,預設為 `"all"`。 +- **`bracketSpacing`**: 在物件字面量中的括號兩側加上空格,預設為 `true`。 +- **`jsxBracketSameLine`**: 在 JSX 中把 `>` 放在最後一個屬性所在行的末尾,而不是單獨成行,預設為 `false`。 +- **`arrowParens`**: 在只有一個參數的箭頭函數中省略括號,有效值包括 `"always"`, `"avoid"`,預設為 `"avoid"`。 +- **`endOfLine`**: 設定行尾的換行字元,有效值包括 `"lf"`, `"crlf"`, `"cr"`, `"auto"`,預設為 `"lf"`。 -## 其他配置方式 +## 其他設定方式 -除了 `.prettierrc` 文件,你還可以使用以下方式配置 Prettier: +除了 `.prettierrc` 檔案,你還可以使用以下方式設定 Prettier: 1. **`.prettierrc.json`**: 使用 JSON 格式。 2. **`.prettierrc.yaml`**: 使用 YAML 格式。 3. **`.prettierrc.yml`**: 使用 YAML 格式。 4. **`prettier.config.js`**: 使用 JavaScript 格式。 -5. **`package.json`**: 在 `package.json` 中添加 `prettier` 字段。 +5. **`package.json`**: 在 `package.json` 中加上 `prettier` 欄位。 -例如,在 `package.json` 中添加以下配置: +例如,在 `package.json` 中新增以下組態項: ```json { - “prettier”: { - “printWidth”: 80, - “tabWidth”: 2, - “useTabs”: false, - “semi”: true, - “singleQuote”: true, - “trailingComma”: “all”, - “bracketSpacing”: true, - “jsxBracketSameLine”: false, - “arrowParens”: “avoid”, - “endOfLine”: “lf” + "prettier": { + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": true, + "trailingComma": "all", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "avoid", + "endOfLine": "lf" } } ``` -不過還是建議以 `.prettierrc` 文件進行操作。 \ No newline at end of file +不過還是建議以 `.prettierrc` 檔案進行操作。 diff --git a/docs/prettier/vscode.md b/docs/prettier/vscode.md index 68bc1c4..3dbdbbb 100644 --- a/docs/prettier/vscode.md +++ b/docs/prettier/vscode.md @@ -4,7 +4,7 @@ sidebar_position: 2 # 如何在本地安裝 Prettier? -在本地安裝 Prettier 可以讓你在編寫代碼時自動格式化文件。這裡我們將介紹如何使用 npm 來安裝 Prettier,並簡單介紹如何使用 yarn 和 npx。 +在本地安裝 Prettier 可以讓你在編寫代碼時自動格式化檔案。這裡我們將介紹如何使用 npm 來安裝 Prettier,並簡單介紹如何使用 yarn 和 npx。 ## 使用 npm 安裝 @@ -30,7 +30,7 @@ prettier —version npm install —save-dev prettier ``` -安裝完成後,可以在 `package.json` 文件中看到 Prettier 被列為開發依賴。 +安裝完成後,可以在 `package.json` 檔案中看到 Prettier 被列為開發依賴。 ## 使用 yarn 安裝 @@ -74,4 +74,4 @@ prettier —check . prettier —write . ``` -這個命令會自動格式化當前目錄下的所有文件。 \ No newline at end of file +這個命令會自動格式化當前目錄下的所有檔案。 \ No newline at end of file diff --git a/docs/totp.md b/docs/totp.md index 28c8247..30be220 100644 --- a/docs/totp.md +++ b/docs/totp.md @@ -6,36 +6,35 @@ sidebar_position: 5 ## 背景介紹 -為了保障帳號安全,中電會要求所有成員在使用 Google 帳號登入時必須啟用兩步驟驗證。這一額外的安全措施能有效防止未經授權的訪問,保護您的個人資料和敏感信息。本文將詳細介紹如何完成這一驗證過程,並提供必要的技術配置和操作指引。 +為了保障帳號安全,中電會要求所有成員在使用 Google 帳號登入時必須啟用雙重認證。這一額外的安全措施能有效防止未經授權的存取,保護您的個人資料和敏感資訊。本文將詳細介紹如何完成這一認證過程,並提供必要的技術組態和操作指引。 ## 兩步驟驗證原理 -兩步驟驗證(2-Step Verification),也稱為多因素驗證(MFA),是在您輸入密碼後,要求您再提供一個額外的驗證碼。這個驗證碼通常由專門的應用程序生成,如 Google Authenticator,或者由安全網站動態生成和發送。這樣,即使密碼被盜,攻擊者也無法進入您的帳戶,因為他們無法獲取該驗證碼。 +雙重認證(2-factor authentication),也稱為多重認證(MFA,multi-factor authentication),是在您輸入密碼後,要求您再提供一個額外的驗證碼。這個驗證碼通常由專門的應用程序生成,如 Google Authenticator,或者由安全網站動態生成和發送。這樣,即使密碼被盜,攻擊者也無法進入您的帳戶,因為他們無法獲取該驗證碼。 ## 使用方式 ### 1. 登入 Google 帳號 -首先,當您在登錄中電會網站時,會跳轉到 Google 的認證頁面,要求您輸入帳號和密碼。這是登錄的第一步。 +首先,當您在登入中電會網站時,會跳轉到 Google 的認證頁面,要求您輸入帳號和密碼。這是登入的第一步。 ### 2. 啟動兩步驟驗證 -在成功輸入正確的帳號和密碼後,系統將提示您進行兩步驟驗證。此時,您需要根據以下步驟操作: +在成功輸入正確的帳號和密碼後,系統將提示您進行雙重認證。此時,您需要根據以下步驟操作: -1. **點擊「試試其他方法」** +1. **點擊「試試其他方法」** 當系統提示需要驗證碼時,選擇「試試其他方法」選項。 - -2. **從 Google Authenticator 應用程式取得驗證碼** - 通過以下網址取得臨時驗證碼(該驗證碼在30秒後自動銷毀):[https://auth.scaict.org](https://auth.scaict.org)。在這個網址需要先登入您的 Google 帳號,才能獲得驗證碼。 +2. **從 Google Authenticator 應用程式取得驗證碼** + 通過以下網址取得臨時認證碼(該認證碼在30秒後自動銷毀):[https://auth.scaict.org](https://auth.scaict.org)。在這個網址需要先登入您的 Google 帳號,才能取得認證碼。 ### 3. 加入白名單 -如果您需要加入白名單以便使用此驗證服務,請在以下 GitHub 頁面創建一個新的 issue: -[https://github.com/SCAICT/google-totp/issues/new/choose](https://github.com/SCAICT/google-totp/issues/new/choose)。創建 issue 後,請有權限的人員在 `app/config.ts` 文件中加入您的 email。 +如果您需要加入白名單以便使用此認證服務,請在以下 GitHub 頁面建立一個新的 issue: +[https://github.com/SCAICT/google-totp/issues/new/choose](https://github.com/SCAICT/google-totp/issues/new/choose)。建立 issue 後,請有權限的人員在 `app/config.ts` 檔案中加入您的 email。 -### 4. 配置範例 +### 4. 範例組態 -以下是 `app/config.ts` 文件的配置範例: +以下是 `app/config.ts` 檔案的範例組態: ```javascript export const Config = { @@ -56,16 +55,16 @@ export const AllowedEmails = [ "tmting39@gmail.com" // 六月主題課程 ]; ``` -請有編輯權限的人在收到請求後確認並添加 email。 -## 注意事項 +請有編輯權限的人在收到請求後確認並加入 email。 -1. **請勿設定其他金鑰** - 為了避免他人無法登入,請勿設定其他金鑰,所有金鑰必須通過上述配置和流程來生成和管理。 +## 注意事項 -2. **驗證碼安全性** - 驗證碼具有時間效性,請確保在規定的時間內使用,過期後需重新獲取。 +1. **請勿設定其他金鑰** + 為了避免他人無法登入,請勿設定其他金鑰,所有金鑰必須透過上述設定和流程來產生和管理。 +2. **驗證碼安全性** + 驗證碼具有時效性,請確保在規定的時間內使用,過期後需重新取得。 ## 結論 -兩步驟驗證是保護您帳號安全的有效措施。通過上述步驟,您可以輕鬆完成中電會 Google 帳號的兩步驟驗證過程。這不僅增加了帳號的安全性,也為您的個人和工作信息提供了更多的保障。如果在使用過程中遇到任何問題,請隨時在 Discord 尋求幫助。 +雙重認證是保護您帳號安全的有效措施。透過上述步驟,您可以輕鬆完成中電會 Google 帳號的雙重認證過程。這不僅增加了帳號的安全性,也為您的個人和工作資訊提供了更多的保障。如果在使用過程中遇到任何問題,請隨時在 Discord 尋求協助。 diff --git a/docusaurus.config.js b/docusaurus.config.js index d739e0c..721f895 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -10,7 +10,7 @@ import { themes as prismThemes } from "prism-react-renderer"; /** @type {import('@docusaurus/types').Config} */ const config = { - title: "中電會 SCAICT 文檔", + title: "中電會 SCAICT 說明文件", tagline: "中電會的大小專案", favicon: "https://scaict.org/src/img/favicon.ico", @@ -68,7 +68,7 @@ const config = { // Replace with your project's social card image: "img/docusaurus-social-card.jpg", navbar: { - title: "SCAICT 文檔", + title: "SCAICT 說明文件", logo: { alt: "SCAICT Logo", src: "https://scaict.org/src/img/logo.svg", @@ -78,7 +78,7 @@ const config = { type: "docSidebar", sidebarId: "tutorialSidebar", position: "left", - label: "文檔", + label: "說明文件", }, { to: "/blog", label: "部落格", position: "left" }, { @@ -92,7 +92,7 @@ const config = { style: "dark", links: [ { - title: "文檔", + title: "說明文件", items: [ { label: "Tutorial",