๐ ๅบไบCloudflare Workers็่ถ ็ซ้ ทๅจ็บฟHTML้ข่งๆๅก ๐
ๆฏๆๆไปถไธไผ ๅไปฃ็ ็ฒ่ดด๏ผไธ้ฎ็ๆๅฏๅไบซ็้ข่ง้พๆฅ
๐ ็ซๅณไฝ้ช โข ๐ ไฝฟ็จๆๆกฃ โข ๐ ๏ธ ้จ็ฝฒๆ็จ โข ๐จ ้ข่งๆชๅพ
|
|
|
|
graph TB
A[๐ ็จๆท็้ข] --> B[โก Cloudflare Workers]
B --> C[๐ซ Cloudflare KVๅญๅจ]
B --> D[๐ ้ข่ง้พๆฅ็ๆ]
D --> E[๐ ๅ
จ็CDNๅๅ]
style A fill:#00ffff,stroke:#ff00ff,stroke-width:2px,color:#000
style B fill:#ff00ff,stroke:#00ffff,stroke-width:2px,color:#fff
style C fill:#00ff00,stroke:#ffff00,stroke-width:2px,color:#000
style D fill:#ffff00,stroke:#00ff00,stroke-width:2px,color:#000
style E fill:#ff0080,stroke:#0080ff,stroke-width:2px,color:#fff
ๅ็ฑป | ๆๆฏ | ๆ่ฟฐ |
---|---|---|
๐ ๅ็ซฏ | Cloudflare Workers | ่พน็ผ่ฎก็ฎ๏ผๅ จ็้จ็ฝฒ |
๐พ ๅญๅจ | Cloudflare KV | ๅๅธๅผ้ฎๅผๅญๅจ |
๐จ ๅ็ซฏ | HTML5/CSS3/JS | ๅ็ๆๆฏ๏ผๆ่ดๆง่ฝ |
๐ CDN | Cloudflare | ๅ จ็ๅ ้็ฝ็ป |
๐ง ้จ็ฝฒ | Wrangler CLI | ไธ้ฎ่ชๅจ้จ็ฝฒ |
# ๅฎ่ฃ
Wrangler CLI
npm install -g wrangler
# ็ปๅฝ Cloudflare
wrangler login |
# ๅ
้ไปๅบ
git clone https://github.com/xiyewuqiu/HTML-showing.git
# ่ฟๅ
ฅ็ฎๅฝ
cd html-showing |
# ๅๅปบ KV ๅฝๅ็ฉบ้ด
wrangler kv:namespace create "HTML_STORAGE"
# ้จ็ฝฒๅฐ Cloudflare
wrangler deploy |
๐ ็นๅปๅฑๅผ่ฏฆ็ปๆญฅ้ชค
- โ Cloudflare่ดฆๆท (ๅ ่ดน)
- โ Node.js ็ฏๅข (v16+)
- โ Git ็ๆฌๆงๅถ
-
ๅๅปบKVๅฝๅ็ฉบ้ด
# ๅๅปบ็ไบง็ฏๅขๅฝๅ็ฉบ้ด wrangler kv:namespace create "HTML_STORAGE" # ๅๅปบ้ข่ง็ฏๅขๅฝๅ็ฉบ้ด wrangler kv:namespace create "HTML_STORAGE" --preview
-
ๆดๆฐ้ ็ฝฎๆไปถ
# wrangler.toml [[kv_namespaces]] binding = "HTML_STORAGE" id = "your-namespace-id-here" preview_id = "your-preview-namespace-id-here"
# wrangler.toml - ๅฎๆด้
็ฝฎ็คบไพ
name = "html-showing"
main = "src/index.js"
compatibility_date = "2024-01-01"
# ่ชๅฎไนๅๅ (ๅฏ้)
routes = [
{ pattern = "preview.yourdomain.com/*", zone_name = "yourdomain.com" }
]
# ็ฏๅขๅ้ (ๅฏ้)
[vars]
ENVIRONMENT = "production"
MAX_FILE_SIZE = "10485760" # 10MB
้จ็ฝฒๅฎๆๅ๏ผไฝ ๅฐ็ๅฐ็ฑปไผผ่พๅบ๏ผ
โจ Success! Deployed to https://html-showing.your-subdomain.workers.dev
๐ ๆญๅ๏ผไฝ ็HTML้ข่งๆๅกๅทฒ็ปไธ็บฟ๏ผ
๐ ๆๅผ้จ็ฝฒ็URL โก ไบซๅ็งๆๆ็้ข |
๐ ๆๆฝHTMLๆไปถ ๐ ๆ็ฒ่ดดไปฃ็ |
๐ ็นๅป็ๆๆ้ฎ โก ็ง้ๅๅปบ้ข่ง |
๐ ไธ้ฎๅคๅถ้พๆฅ ๐ ๅ จ็่ฎฟ้ฎๅไบซ |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โก HTMLๅจ็บฟ้ข่ง โก โ
โ ๐ ไธไผ HTMLๆไปถๆ็ฒ่ดดไปฃ็ ๏ผ็ๆ็ซ้
ท้ข่ง้พๆฅ ๐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โก ๆไปถไธไผ ๐ป ไปฃ็ ่พๅ
ฅ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ๐ฎ โ
โ ้ๆฉHTMLๆไปถๆๆๆฝๅฐๆญคๅค โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ ๅฏๅจ้ข่ง็ๆๅจ ๐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- ๐ ้่นๅๅ ๆๆ: ๆๆๆ้ฎๅๆๅญ้ฝๆ็ซ้ ท็้่นๅๅ
- โจ ๅจๆ็ฒๅญ่ๆฏ: ็งปๅจ็็ฝๆ ผ็บฟๅ้ช็็ฒๅญๆๆ
- ๐จ ๅฝฉ่นๆธๅๆ้ฎ: ๅคๅฝฉๆธๅๆ้ฎ๏ผๆฌๅๆถๆๅ ๆณขๆซๆ
- ๏ฟฝ ๆต็ ๅจ็ปไบคไบ: ๆฏไธชๆไฝ้ฝๆ็ฒพๅฟ่ฎพ่ฎก็ๅจ็ปๅ้ฆ
๐ APIๆฅๅฃๆๆกฃ
ไธไผ HTMLๅ ๅฎนๅนถ็ๆ้ข่ง้พๆฅ
่ฏทๆฑๅๆฐ:
// FormData
{
"html": "<!DOCTYPE html>..." // HTMLๅ
ๅฎน
}
ๅๅบๆ ผๅผ:
{
"success": true,
"previewUrl": "https://your-domain.workers.dev/preview/uuid-here",
"previewId": "uuid-here"
}
่ฎฟ้ฎHTML้ข่ง้กต้ข
ๅๆฐ:
id
: ้ข่งๅฏไธๆ ่ฏ็ฌฆ
ๅๅบ: ๅฎๆดๆธฒๆ็HTML้กต้ข
๐ ้กน็ฎ็ปๆ
html-showing/
โโโ ๐ src/
โ โโโ ๐ index.js # ๆ ธๅฟWorker้ป่พ (1300+ ่ก)
โ โโโ ๐ HTTP่ทฏ็ฑๅค็
โ โโโ ๐จ ็งๆ้ฃCSSๆ ทๅผ
โ โโโ โก ๅจๆJavaScript
โ โโโ ๏ฟฝ ๅทฅๅ
ทๅฝๆฐ
โโโ โ๏ธ wrangler.toml # Cloudflare้
็ฝฎ
โโโ ๐ฆ package.json # ้กน็ฎไพ่ต
โโโ ๐ README.md # ้กน็ฎๆๆกฃ
ๆ ธๅฟๆไปถ่ฏดๆ:
src/index.js
: ๅ ๅซๅฎๆด็ๅๅ็ซฏ้ป่พwrangler.toml
: Cloudflare Workers้จ็ฝฒ้ ็ฝฎpackage.json
: ้กน็ฎๅ ๆฐๆฎๅไพ่ต็ฎก็
|
|
๐ ้็งๆฟ่ฏบ:
- โ ไธ่ฎฐๅฝ็จๆทIPๅฐๅ
- โ ไธๅญๅจไธชไบบไฟกๆฏ
- โ ้ข่ง้พๆฅ365ๅคฉๅ่ชๅจ้ๆฏ
- โ ็ฌฆๅGDPR้็งๆณ่ง
-
๐ด Fork ้กน็ฎ
# Fork ๅฐไฝ ็ GitHub ่ดฆๆท # ็ถๅๅ ้ๅฐๆฌๅฐ git clone https://github.com/xiyewuqiu/HTML-showing.git
-
๐ฟ ๅๅปบๅๆฏ
# ๅๅปบๅ่ฝๅๆฏ git checkout -b feature/amazing-feature # ๆไฟฎๅคๅๆฏ git checkout -b fix/bug-fix
-
๐ป ๅผๅไปฃ็
# ๆฌๅฐๅผๅๆต่ฏ wrangler dev # ๆไบคๆดๆน git commit -m "โจ Add amazing feature"
-
๐ค ๆไบคPR
# ๆจ้ๅฐไฝ ็ไปๅบ git push origin feature/amazing-feature # ็ถๅๅจGitHubๅๅปบPull Request
- ๐ Bugไฟฎๅค: ๅ็ฐๅนถไฟฎๅค้ฎ้ข
- โจ ๆฐๅ่ฝ: ๆทปๅ ๆ็จ็ๆฐ็นๆง
- ๐ ๆๆกฃ: ๆน่ฟๆๆกฃๅ็คบไพ
- ๐จ UI/UX: ไผๅ็้ขๅ็จๆทไฝ้ช
- โก ๆง่ฝ: ๆๅๆง่ฝๅไผๅไปฃ็
- ๐งช ๆต่ฏ: ๆทปๅ ๆต่ฏ็จไพ
- ไฝฟ็จๆๆไน็ๆไบคไฟกๆฏ
- ้ตๅพช็ฐๆ็ไปฃ็ ้ฃๆ ผ
- ๆทปๅ ๅฟ ่ฆ็ๆณจ้
- ็กฎไฟไปฃ็ ้่ฟๆต่ฏ
ๆฌ้กน็ฎ้็จMIT่ฎธๅฏ่ฏ๏ผๅฎๅ จๅผๆบๅ ่ดน๏ผ
MIT License
Copyright (c) 2024 HTML Showing
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
ๆไพๅผบๅคง็Workersๅนณๅฐ ๅๅ จ็CDNๆๅก |
ๆ่ฐขๆๆ่ดก็ฎ่ ๅไฝฟ็จ่ ็ๆฏๆ |
ๆฅ่ชๅฏน็พๅฅฝ็ฝ็ปไฝ้ช ็ไธๆ่ฟฝๆฑ |
โญ ็ปไธชStar โข ๐ด Fork้กน็ฎ โข ๐ ๆฅๅ้ฎ้ข โข ๐ก ๅ่ฝๅปบ่ฎฎ
ๅฆๆ่ฟไธช้กน็ฎๅฏนไฝ ๆๅธฎๅฉ๏ผ่ฏท็ปไธชโญStarๆฏๆไธไธ๏ผ