const fs = require('fs'); const path = require('path'); const PROJECT_DIR = process.env.PROJECT_DIR || path.resolve(__dirname, '..', '..'); const CONTENT_PATH = process.env.CONTENT_PATH || path.join(PROJECT_DIR, 'content', 'site.json'); const THEME_PATH = process.env.THEME_PATH || path.join(PROJECT_DIR, 'content', 'theme.json'); function readJson(filePath) { return JSON.parse(fs.readFileSync(filePath, 'utf8')); } function writeJson(filePath, data) { const tmpPath = `${filePath}.tmp`; fs.writeFileSync(tmpPath, JSON.stringify(data, null, 2) + '\n', 'utf8'); fs.renameSync(tmpPath, filePath); } module.exports = { readContent: () => readJson(CONTENT_PATH), writeContent: (data) => writeJson(CONTENT_PATH, data), readTheme: () => readJson(THEME_PATH), writeTheme: (data) => writeJson(THEME_PATH, data), CONTENT_PATH, THEME_PATH, PROJECT_DIR, };