📱 Responsive Design - Adaptive for mobile, tablet, and desktop.
🌗 Light / Dark Mode - Auto-follows system preference with manual toggle support.
📃 SSR Dynamic Content Filtering - List filtering and pagination via History API.
🌏 i18n Support - Easy to extend and manage multilingual content.
📰 Sitemap & Feed Subscription - Automated generation of Sitemap and RSS, Atom, JSON Feed.
🔗 OpenGraph Support - Built-in Open Graph meta tags for optimized social media sharing.
📝 Comment System - Based on Cloudflare D1, easy deployment with privacy control; supports OAuth authentication and guest comments.
🔔 Desktop Notifications - Real-time notifications using Web Push API.
Before you begin, make sure you have the following accounts:
- Cloudflare Account - For deployment and database hosting
- GitHub Account - For code hosting and automated deployment
git clone https://github.com/tuyuritio/astro-theme-thought-lite.git
cd astro-theme-thought-lite
git remote rename origin theme
git remote add origin <your-git-repo>
npm install
-
Create Cloudflare D1, refer to Cloudflare D1 Configuration Guide.
-
Configure Cloudflare Turnstile, refer to Turnstile Configuration Guide.
-
Configure OAuth authentication, refer to OAuth Configuration Guide.
-
Basic site information configuration, refer to Site Configuration Guide.
-
Create
.env
file and add variables:cp .env.example .env
Variable Description PUBLIC_TIMEZONE
*Default display timezone, refer to Timezone List PASS_KEY
*Used for generating tokens, 16-byte Base64 format key, generate with openssl rand -base64 16
NOTIFY_PUBLIC_KEY
*VAPID public key for desktop push notifications, generate with npx web-push generate-vapid-keys
NOTIFY_PRIVATE_KEY
*VAPID private key for desktop push notifications, generated along with public key AUTHOR_ID
Author ID for identifying site author in comment section; check in Cloudflare D1 Panel *
indicates required options.
# Generate local test database
npm run db:migrate:local
# Start development server
npm run dev
npm run build
npm run deploy
For automated deployment using GitHub Actions, refer to GitHub Actions Configuration Guide.
git checkout main
git pull origin main
git fetch theme
git merge theme/main
npm i
npm run db:migrate:local
Content creation is centralized in the src/content
directory, mainly including:
note
- Notesjotting
- Jottingspreface
- Prefaceinformation
- Information
All sections support multiple languages. Please create language subdirectories under the corresponding section directory before writing content. For details, refer to Content Creation Guide.
- Main Framework - Astro
- Type Checking - TypeScript
- Style Sheets - Less.js
- Reactive Components - Svelte
- CSS Engine - UnoCSS
- Icons - Iconify
- Serif Fonts - Google Fonts
- Monospace Fonts - ZeoSeven Fonts
- Table of Contents - Tocbot
- Image Viewer - Medium Zoom
- TypeScript ORM - Drizzle ORM
- Database - Cloudflare D1
- Deployment - Cloudflare Workers
This project is licensed under GPLv3.