UNPKG

@tistory-skin-previewer/astro

Version:

Astro integration for Tistory skin previewing

82 lines (76 loc) 2.6 kB
'use strict'; var url = require('url'); var fs = require('fs'); // src/index.ts function tistoryPreviewer() { return { name: "astro-tistory-skin-previewer", hooks: { "astro:config:setup": ({ command, addMiddleware, injectRoute, updateConfig, config // injectScript, }) => { console.log("========= tistory-skin-previewer. By BlueNyang ========="); const skinEntry = url.fileURLToPath( new URL("./src/pages/skin.astro", config.root) ); if (command === "dev") { if (fs.existsSync(skinEntry)) { const skinContent = fs.readFileSync(skinEntry, "utf-8"); if (!skinContent.includes("export const prerender = false")) { console.error(` \u{1F6AB} \uD2F0\uC2A4\uD1A0\uB9AC \uC2A4\uD0A8 \uD504\uB9AC\uBDF0\uC5B4 \uC124\uC815 \uD544\uC694 src/pages/skin.astro \uD30C\uC77C\uC5D0 \uB2E4\uC74C \uAD6C\uBB38\uC744 \uCD94\uAC00\uD574\uC8FC\uC138\uC694: --- export const prerender = false; --- \uC774 \uC124\uC815\uC774 \uC5C6\uC73C\uBA74 \uB3D9\uC801 \uB77C\uC6B0\uD305\uC5D0\uC11C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. `); console.warn("\u26A0\uFE0F prerender = false \uC124\uC815\uC744 \uD655\uC778\uD574\uC8FC\uC138\uC694!"); process.exit(1); } } addMiddleware({ entrypoint: "@tistory-skin-previewer/astro/middleware", order: "pre" }); injectRoute({ pattern: "/[...slug]", entrypoint: skinEntry }); injectRoute({ pattern: "/", entrypoint: skinEntry }); } updateConfig({ vite: { build: { rollupOptions: { output: { // 3. CSS 파일을 'style.css' 단일 파일로 빌드 assetFileNames: (assetInfo) => { if (assetInfo.name?.endsWith(".css")) { return "style.css"; } return "assets/[name]-[hash][extname]"; } } } }, // 3. 빌드 시 CSS 경로를 './style.css'로 변경 // command === 'build'일 때만 base를 변경하도록 조건 추가 가능 base: command === "build" ? "./" : "/" } }); } } }; } module.exports = tistoryPreviewer; //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map