{"_id":"@croffledev/nuxt-directus-blog","_rev":"4-94734d7d7ced48de72964c3ef6b96e0a","name":"@croffledev/nuxt-directus-blog","dist-tags":{"latest":"1.0.2"},"versions":{"0.1.0":{"name":"@croffledev/nuxt-directus-blog","version":"0.1.0","_id":"@croffledev/nuxt-directus-blog@0.1.0","maintainers":[{"name":"bluenyang","email":"xpsj20@gmail.com"}],"dist":{"shasum":"cf7c93192e1a411333240acd602b1fa393b476de","tarball":"https://registry.npmjs.org/@croffledev/nuxt-directus-blog/-/nuxt-directus-blog-0.1.0.tgz","fileCount":16,"integrity":"sha512-662ApzOUq0jU2ZpWUwLQGrYvneeVtHLkaLx0dk4zpHITB2AXOQfArzgyzZ7+6LlVqAd+ho8rk2TVVv/pTCNZtQ==","signatures":[{"sig":"MEQCIDmDO5w5h2KPdLV4SY2ZW+xTxhMH3ccGv2VRwij/ZYOIAiB7F+6Kc96Ojrfo7uR/qgRruLch/KS7hAQ7EZKpnhQKZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16632},"type":"module","_from":"file:croffledev-nuxt-directus-blog-0.1.0.tgz","exports":{".":"./nuxt.config.ts"},"scripts":{"typecheck":"echo \"layer typecheck runs via consuming Nuxt app\""},"_npmUser":{"name":"bluenyang","email":"xpsj20@gmail.com"},"_resolved":"C:\\Users\\BLUENY~1\\AppData\\Local\\Temp\\6163fd45a0d95e1da3de5f622d7dc462\\croffledev-nuxt-directus-blog-0.1.0.tgz","_integrity":"sha512-662ApzOUq0jU2ZpWUwLQGrYvneeVtHLkaLx0dk4zpHITB2AXOQfArzgyzZ7+6LlVqAd+ho8rk2TVVv/pTCNZtQ==","_npmVersion":"11.13.0","description":"Nuxt layer: Nitro API routes and composables for Croffle Directus blogs","directories":{},"_nodeVersion":"24.15.0","dependencies":{"feed":"^6.0.0","@croffledev/directus-blog-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.5.0"},"peerDependencies":{"nuxt":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nuxt-directus-blog_0.1.0_1786030533361_0.32362497286851255","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@croffledev/nuxt-directus-blog","version":"1.0.0","_id":"@croffledev/nuxt-directus-blog@1.0.0","maintainers":[{"name":"bluenyang","email":"xpsj20@gmail.com"}],"dist":{"shasum":"ad556b26d9807a94bf20fff01d5bd80f13d1b580","tarball":"https://registry.npmjs.org/@croffledev/nuxt-directus-blog/-/nuxt-directus-blog-1.0.0.tgz","fileCount":23,"integrity":"sha512-5+6V77i2Gg+ufBiPipBK6Gm7LuPzlwkJlZHkjG3f2x7iEgec0gL/sAsuV2Du9DJ3AfRH1AmUGUbkbFkFfcibgQ==","signatures":[{"sig":"MEUCIQDN93ZBDbmFcGEOubPPo55XWRvDTxLSlBPozK14p0l1wAIgahKZELtpBmdhGPhF21NRxwsIX3vjwZHTDh1ngXZ/cCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@croffledev%2fnuxt-directus-blog@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28727},"type":"module","exports":{".":"./nuxt.config.ts"},"scripts":{"typecheck":"echo \"layer typecheck runs via consuming Nuxt app\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:979a60ef-8001-43ee-b33e-4e865b37edc4"}},"repository":{"url":"git+https://github.com/team-croffle/blogs.git","type":"git","directory":"packages/nuxt-directus-blog"},"description":"Nuxt layer: Nitro API routes and composables for Croffle Directus blogs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"feed":"^6.0.0","@croffledev/directus-blog-core":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.5.2"},"peerDependencies":{"nuxt":"^4.5.2"},"_npmOperationalInternal":{"tmp":"tmp/nuxt-directus-blog_1.0.0_1787845795222_0.8943811902368299","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@croffledev/nuxt-directus-blog","version":"1.0.1","_id":"@croffledev/nuxt-directus-blog@1.0.1","maintainers":[{"name":"bluenyang","email":"xpsj20@gmail.com"}],"dist":{"shasum":"cba98f4644427b222b91388d541baf469c9ab742","tarball":"https://registry.npmjs.org/@croffledev/nuxt-directus-blog/-/nuxt-directus-blog-1.0.1.tgz","fileCount":23,"integrity":"sha512-207K3frejBUHQXcP2eZOXudbCEZqEetfohjeOn+OCtYyMdSKvBYs/D0J897hSwM2XhZer+W0uRHuiZrF7jmtXg==","signatures":[{"sig":"MEQCICkDrRmVebi6ZGI7XRZdEPxgK7cxctMMRkX0u+B+Z41JAiAvDfv2hMe3g4T9h2wFDASxajAaa+l2tv7CJPPn5Vvehw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@croffledev%2fnuxt-directus-blog@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28727},"type":"module","exports":{".":"./nuxt.config.ts"},"scripts":{"typecheck":"echo \"layer typecheck runs via consuming Nuxt app\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:979a60ef-8001-43ee-b33e-4e865b37edc4"}},"repository":{"url":"git+https://github.com/team-croffle/blogs.git","type":"git","directory":"packages/nuxt-directus-blog"},"description":"Nuxt layer: Nitro API routes and composables for Croffle Directus blogs","directories":{},"_nodeVersion":"22.23.2","dependencies":{"feed":"^6.0.0","@croffledev/directus-blog-core":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^4.5.2"},"peerDependencies":{"nuxt":"^4.5.2"},"_npmOperationalInternal":{"tmp":"tmp/nuxt-directus-blog_1.0.1_1787847551258_0.6252489050202164","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@croffledev/nuxt-directus-blog","version":"1.0.2","license":"MIT","description":"Nuxt layer: Nitro API routes and composables for Croffle Directus blogs","type":"module","repository":{"type":"git","url":"git+https://github.com/team-croffle/blogs.git","directory":"packages/nuxt-directus-blog"},"exports":{".":"./nuxt.config.ts"},"dependencies":{"@croffledev/directus-blog-core":"1.0.2","feed":"^6.0.0"},"peerDependencies":{"nuxt":"^4.5.2"},"devDependencies":{"nuxt":"^4.5.2"},"publishConfig":{"access":"public"},"scripts":{"typecheck":"echo \"layer typecheck runs via consuming Nuxt app\""},"_nodeVersion":"22.23.2","_id":"@croffledev/nuxt-directus-blog@1.0.2","dist":{"integrity":"sha512-9LngxinHMCe8hH9LMrJZfV0ZJ7GDeAwSgQpQxA0fvr87qsIysfkKIO+FayiYxnAGq8hJ++bUiTH+TRJaajZCbA==","shasum":"d0c8c88c9a9d3808fba87dee281f788c3c12f236","tarball":"https://registry.npmjs.org/@croffledev/nuxt-directus-blog/-/nuxt-directus-blog-1.0.2.tgz","fileCount":24,"unpackedSize":29816,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@croffledev%2fnuxt-directus-blog@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHwJ5BaqYnoUP28FCXWMUJM6DkmUxeS5X/tMiHVP3zV9AiEA7nQw/cxoQt0ypwlCJHhdbRUpvZ9RlaQpVl4MZAF2lgM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:979a60ef-8001-43ee-b33e-4e865b37edc4"}},"directories":{},"maintainers":[{"name":"bluenyang","email":"xpsj20@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt-directus-blog_1.0.2_1787899510064_0.8165874916922533"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-06T15:35:33.196Z","modified":"2026-08-28T06:45:10.532Z","0.1.0":"2026-08-06T15:35:33.555Z","1.0.0":"2026-08-27T15:49:55.353Z","1.0.1":"2026-08-27T16:19:11.397Z","1.0.2":"2026-08-28T06:45:10.202Z"},"repository":{"type":"git","url":"git+https://github.com/team-croffle/blogs.git","directory":"packages/nuxt-directus-blog"},"description":"Nuxt layer: Nitro API routes and composables for Croffle Directus blogs","maintainers":[{"name":"bluenyang","email":"xpsj20@gmail.com"}],"readme":"# @croffledev/nuxt-directus-blog\n\nNuxt Layer 패키지입니다. Nitro `/api/*` 라우트와 data composable을 제공하고,\n`@croffledev/directus-blog-core`를 사용합니다.\n\n## 사용\n\n```ts\n// nuxt.config.ts\nexport default defineNuxtConfig({\n  extends: ['@croffledev/nuxt-directus-blog'],\n  runtimeConfig: {\n    public: {\n      blogUrl: process.env.BLOG_URL,\n      blogSlug: process.env.BLOG_SLUG,\n      directusUrl: process.env.DIRECTUS_URL,\n      homepageUrl: process.env.HOMEPAGE_URL,\n      emailAddress: process.env.EMAIL_ADDRESS,\n      blogTitle: process.env.BLOG_TITLE,\n      blogDescription: process.env.BLOG_DESCRIPTION,\n      blogAuthor: process.env.BLOG_AUTHOR,\n    },\n  },\n});\n```\n\n## 제공 API\n\n| Method | Path                | 설명                                   |\n| ------ | ------------------- | -------------------------------------- |\n| GET    | `/api/home`         | 최근 글 · 시리즈                       |\n| GET    | `/api/posts`        | 목록 / 검색 / category·tag·series 필터 |\n| GET    | `/api/post/:idx`    | 글 상세                                |\n| GET    | `/api/sidebar`      | 사이드바 트리                          |\n| GET    | `/api/sitemap-urls` | sitemap source                         |\n| GET    | `/rss.xml`          | RSS 2.0                                |\n\n## Composables\n\n- `useHome()`\n- `usePostList(limit, page, search?, category?, tag?, series?)`\n- `usePostDetail(postIdx)`\n- `useSidebar()`\n- `useSetting()` — sidebar payload의 `blogSettings`\n\nUI/브랜드는 앱에 두고, 이 Layer는 CMS 계약과 data fetching만 담당합니다.\n","readmeFilename":"","license":"MIT"}