blog/scripts/update-theme.ts
radishzzz 2f80ab9523 feat: add new post creation script and theme update script, remove git-protect.list and sync-upstream.sh
- Deleted `README-zh.md` and `README.md` as they are no longer needed.
- Removed `git-protect.list` to streamline the synchronization process.
- Introduced `new-post.ts` script for easier blog post creation with default metadata.
- Added `update-theme.ts` script to simplify theme updates from the upstream repository.
- Updated content configuration to handle optional updated dates correctly.
- Adjusted pin values in theme guide documents to allow a range from 0-99 instead of 1-99.
2025-05-28 20:41:08 +01:00

32 lines
888 B
TypeScript
Executable file

import { execSync } from 'node:child_process'
import process from 'node:process'
// pnpm update-theme
// Check and set up the remote repository
try {
execSync('git remote get-url upstream', { stdio: 'ignore' })
}
catch {
execSync('git remote add upstream https://github.com/radishzzz/astro-theme-retypeset.git', { stdio: 'inherit' })
}
// Update theme from upstream repository
try {
execSync('git fetch upstream', { stdio: 'inherit' })
const beforeHash = execSync('git rev-parse HEAD', { encoding: 'utf8' }).trim()
execSync('git merge upstream/main', { stdio: 'inherit' })
const afterHash = execSync('git rev-parse HEAD', { encoding: 'utf8' }).trim()
if (beforeHash === afterHash) {
console.log('✅ Already up to date')
}
else {
console.log('✨ Updated successfully')
}
}
catch (error) {
console.error('❌ Update failed:', error)
process.exit(1)
}