Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

六角學院 — 法律文件中心

六角學院各項服務的法律文件中心(服務條款 / 隱私權政策)。 採 Vite + Vue 3 + vite-ssg,build 時預渲染成靜態 HTML, 可直接部署到任何靜態主機,提供各服務申請所需的公開網址。

採「產品命名空間」設計:每個產品(如 Discord Bot)有獨立的文件路徑,新增其他產品的文件只需改設定檔,無需動程式(見下方〈新增一個產品〉)。

頁面網址

頁面 繁體中文 English
首頁(產品總覽) /
Discord Bot 文件總覽 /discord
└ 服務條款 /discord/terms /discord/en/terms
└ 隱私權政策 /discord/privacy /discord/en/privacy

網址規則:/<產品>/<文件> 為預設語系(繁中),其他語系帶語系前綴 /<產品>/<語系>/<文件>

開發與建置

pnpm install      # 安裝相依套件
pnpm dev          # 本機開發伺服器 (http://localhost:5173)
pnpm build        # 建置 + 預渲染,產物在 dist/
pnpm preview      # 預覽 dist/ 產物

新增一個產品(例如未來的 LINE Bot)

只要三步,路由、首頁卡片、產品頁與 sitemap 都會自動產生:

  1. 放內容:在 src/content/<slug>/ 放各文件的 markdown,命名為 <doc>.zh-TW.md<doc>.en.md (例:src/content/line/terms.zh-TW.mdsrc/content/line/privacy.en.md)。
  2. 登記產品:在 src/products.config.jsproducts 陣列加一筆,填 slug、名稱、summary 與各文件的 description
  3. pnpm build 即可。

文件標題(服務條款 / 隱私權政策)共用 products.config.jsdocTitles; 若要新增其他文件類型(如 cookies),在 docTitles 補一個對應標題,再於該產品的 docs 列出即可。

部署前必改

編輯 src/site.config.js

  • siteUrl:改成實際對外網址(影響 canonical、og:url、sitemap)
  • 其餘站台層級資訊(brandoperatorcontactEmail 等)視需要調整

各產品的文件清單、標題、effectiveDate 與描述則在 src/products.config.js

pnpm build 完成後會依 siteUrl 自動產生 dist/sitemap.xmldist/robots.txt

部署到 GitHub Pages

對外網址為 https://policies.hexschool.io(自訂子網域)。一行指令完成 build + 發布:

pnpm deploy        # = vite-ssg build && gh-pages -d dist -t

gh-pages 會把 dist/ 推到 gh-pages 分支(-t 確保連 .nojekyll 等 dotfile 一起發布)。 首次部署前需先完成:

  1. GitHub 設定:repo → Settings → Pages,Source 選 Deploy from a branch,分支選 gh-pages / (root)
  2. 自訂網域public/CNAME 已含 policies.hexschool.io(build 時會複製到 dist/,GitHub Pages 會自動讀取)。
  3. DNS(在 hexschool.io 的 DNS 服務商):新增一筆 CNAME 記錄 policies<你的帳號或組織>.github.io,待解析生效後於 Pages 頁面勾選「Enforce HTTPS」。

public/CNAMEpublic/.nojekyll 為部署所需,請勿刪除。 換網域時只要改 src/site.config.jssiteUrlpublic/CNAME 兩處即可。

替換 Logo

header 直接顯示 public/logo.svg,替換該檔即可(建議維持等比,高度約 30px 內顯示最佳)。

專案結構

├── index.html
├── vite.config.js              # 含 sitemap / robots 產生邏輯(路由由 products.config 推導)
├── public/
│   ├── logo.svg                # header 顯示的品牌 logo
│   └── favicon.svg
├── src/
│   ├── main.js                 # ViteSSG 進入點;依 products.config 動態產生路由
│   ├── App.vue                 # 版面(header logo / footer)
│   ├── site.config.js          # 站台層級設定(品牌、營運主體、siteUrl…)
│   ├── products.config.js      # 產品註冊表(新增產品 / 文件的唯一入口)
│   ├── styles.css
│   ├── views/
│   │   ├── Home.vue            # 首頁:列出所有產品
│   │   ├── ProductView.vue     # 單一產品的文件總覽(/<slug>)
│   │   └── LegalView.vue       # 文件頁(讀 markdown、設定 head)
│   └── content/                # 法律文字(依產品分資料夾)
│       └── discord/
│           ├── terms.zh-TW.md
│           ├── terms.en.md
│           ├── privacy.zh-TW.md
│           └── privacy.en.md

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages