feat: update website-creator to static mode with ConsentOS + tracking scripts
- Remove Astro DB (no longer needed for consent logging) - Change from SSR to static output mode - Add TrackingScripts.astro with GA4, GTM, Umami, Clarity, FB Pixel, Google Ads, TikTok, LINE - Use ConsentOS consent-loader.js for auto-blocking tracking scripts - Update Dockerfile to nginx static hosting - Remove old consent template (custom consent no longer needed) - Update SKILL.md, AGENTS.md, README.md documentation - Add nginx.conf for static hosting
This commit is contained in:
@@ -6,8 +6,7 @@
|
||||
#
|
||||
# This script migrates websites to Astro + Tina CMS:
|
||||
# - Converts content to Tina CMS format
|
||||
# - Sets up Astro DB for consent logging
|
||||
# - Adds PDPA-compliant consent system
|
||||
# - Sets up external consent system integration
|
||||
# - Preserves content and structure
|
||||
#
|
||||
# Requirements:
|
||||
@@ -49,8 +48,7 @@ Examples:
|
||||
Features:
|
||||
- Detects source website technology (Astro, Next.js, etc.)
|
||||
- Converts content to Tina CMS format
|
||||
- Sets up Astro DB for consent logging (PDPA compliant)
|
||||
- Adds cookie consent banner with Thai law compliance
|
||||
- Sets up external consent system integration
|
||||
- Preserves SEO metadata and content structure
|
||||
|
||||
EOF
|
||||
@@ -160,22 +158,6 @@ migrate_content() {
|
||||
log_success "Content migration complete"
|
||||
}
|
||||
|
||||
add_consent_system() {
|
||||
log_info "Adding PDPA-compliant consent system..."
|
||||
|
||||
local consent_template="$(dirname "$(dirname "$(readlink -f "$0")")")/templates/consent"
|
||||
|
||||
if [ ! -d "$consent_template" ]; then
|
||||
log_warning "Consent template not found, skipping"
|
||||
return
|
||||
fi
|
||||
|
||||
# Copy consent files
|
||||
cp -r "$consent_template"/* "$TARGET_PATH/src/components/consent/" 2>/dev/null || true
|
||||
|
||||
log_success "Consent system added"
|
||||
}
|
||||
|
||||
create_tina_schema() {
|
||||
log_info "Creating Tina CMS schema..."
|
||||
|
||||
@@ -302,25 +284,14 @@ Self-hosted Git-based CMS for visual content editing.
|
||||
### ✅ Tailwind CSS 4.x
|
||||
Latest Tailwind with @tailwindcss/vite plugin.
|
||||
|
||||
### ✅ Astro DB
|
||||
Built-in database for consent logging and dynamic content.
|
||||
|
||||
### ✅ PDPA Consent System
|
||||
Thai Personal Data Protection Act compliant cookie consent:
|
||||
- Cookie banner with Accept/Reject/Preferences
|
||||
- Consent logging in Astro DB
|
||||
- API endpoint for consent management
|
||||
|
||||
### ✅ Nano Stores
|
||||
Lightweight client-side state management.
|
||||
### ✅ External Consent System
|
||||
Integration with consent.moreminimore.com for PDPA compliance.
|
||||
|
||||
## Project Structure
|
||||
|
||||
\`\`\`
|
||||
$TARGET_PATH/
|
||||
├── src/
|
||||
│ ├── components/
|
||||
│ │ └── consent/ # PDPA consent system
|
||||
│ ├── content/
|
||||
│ │ ├── posts/ # Blog posts (Tina managed)
|
||||
│ │ └── pages/ # Static pages (Tina managed)
|
||||
@@ -332,8 +303,6 @@ $TARGET_PATH/
|
||||
│ └── global.css
|
||||
├── .tina/
|
||||
│ └── schema.ts # Tina content schema
|
||||
├── db/
|
||||
│ └── config.ts # Astro DB config
|
||||
├── Dockerfile
|
||||
└── AGENTS.md # AI agent instructions
|
||||
\`\`\`
|
||||
@@ -377,16 +346,6 @@ This will install:
|
||||
- Auth.js for authentication
|
||||
- Database adapter for content storage
|
||||
- Git provider for content management
|
||||
|
||||
## PDPA Compliance
|
||||
|
||||
The consent system logs:
|
||||
- User consent choices (accept/reject)
|
||||
- Cookie categories (analytics, marketing, functional)
|
||||
- Timestamp and user agent
|
||||
- IP address (for compliance auditing)
|
||||
|
||||
Logs are stored in Astro DB and can be exported for compliance reporting.
|
||||
EOF
|
||||
|
||||
log_success "Migration report: $TARGET_PATH/MIGRATION_REPORT.md"
|
||||
@@ -423,7 +382,6 @@ main() {
|
||||
analyze_source_content
|
||||
copy_template
|
||||
migrate_content
|
||||
add_consent_system
|
||||
create_tina_schema
|
||||
create_migration_report
|
||||
|
||||
|
||||
Reference in New Issue
Block a user