{"_id":"@astracms/astro-loader","_rev":"6-f77c2b32ef393daff6fd2eddbcc3cbcd","name":"@astracms/astro-loader","dist-tags":{"latest":"1.0.3"},"versions":{"0.1.0":{"name":"@astracms/astro-loader","version":"0.1.0","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"author":{"name":"AstraCMS"},"license":"MIT","_id":"@astracms/astro-loader@0.1.0","maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"homepage":"https://github.com/astracms/astracms#readme","bugs":{"url":"https://github.com/astracms/astracms/issues"},"dist":{"shasum":"93dae3a7507c290afa7e13ee3c1cc8a2109329b5","tarball":"https://registry.npmjs.org/@astracms/astro-loader/-/astro-loader-0.1.0.tgz","fileCount":4,"integrity":"sha512-FYLmXuuewYmJ/XvI/cMZtPAtnh7nMfsDOc4J6cWx29JPmcPSkHCmENbAXEM3GbYw3ZYluD/QD6LbIlA1GPzmJw==","signatures":[{"sig":"MEUCIQCQ1bzRdjWljMdxhRHa57TsA+Y5fN56JX/ZG1Tqq8PW6wIgVqQsOFLrGB59yLvvmW8aS3bM31adm6sJr4LscSu/Slc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30466},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"344ba9095ccdddd538c79ad6abca2da505956803","private":false,"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --external astro","build":"tsup src/index.ts --format esm --dts --external astro","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"},"repository":{"url":"git+https://github.com/astracms/astracms.git","type":"git","directory":"packages/astro-loader"},"_npmVersion":"11.6.2","description":"Astro Content Collection loader for AstraCMS","directories":{},"_nodeVersion":"25.1.0","dependencies":{"zod":"^3.24.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^5.0.0","typescript":"^5.7.2"},"peerDependencies":{"astro":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-loader_0.1.0_1765012762044_0.2574288752102001","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@astracms/astro-loader","version":"0.1.1","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"author":{"name":"AstraCMS"},"license":"MIT","_id":"@astracms/astro-loader@0.1.1","maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"homepage":"https://github.com/astracms/astracms#readme","bugs":{"url":"https://github.com/astracms/astracms/issues"},"dist":{"shasum":"b15dfc466c1519e90a1dde819dc0d24ded017c2f","tarball":"https://registry.npmjs.org/@astracms/astro-loader/-/astro-loader-0.1.1.tgz","fileCount":5,"integrity":"sha512-8rZYNPykJHUME2m7UGZcezhTeDzQE7+ONFgSuH00LnH+cWbtpa1hnfqlHuvv1S4NC8X9RpWJ89Jfvu5aMuRGSQ==","signatures":[{"sig":"MEUCIHNw5g6ES1dNQZqmkyOULqmWum5YY2FdFyYWRJoqk8DMAiEAk8OnKPuDhZMRMsdC/fhXtkV8r3Dqy10ZTZerEQxtexk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65217},"main":"./dist/index.js","type":"module","_from":"file:astracms-astro-loader-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --external astro","build":"tsup src/index.ts --format esm --dts --external astro","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"},"_resolved":"/tmp/7e00aed058f127ed100f0a95a9628ccf/astracms-astro-loader-0.1.1.tgz","_integrity":"sha512-8rZYNPykJHUME2m7UGZcezhTeDzQE7+ONFgSuH00LnH+cWbtpa1hnfqlHuvv1S4NC8X9RpWJ89Jfvu5aMuRGSQ==","repository":{"url":"git+https://github.com/astracms/astracms.git","type":"git","directory":"packages/astro-loader"},"_npmVersion":"10.9.4","description":"Astro Content Collection loader for AstraCMS","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.24.2","@astracms/core":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^5.0.0","typescript":"^5.7.2"},"peerDependencies":{"astro":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-loader_0.1.1_1765128506863_0.8805409255922378","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@astracms/astro-loader","version":"0.1.2","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"author":{"name":"AstraCMS"},"license":"MIT","_id":"@astracms/astro-loader@0.1.2","maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"homepage":"https://github.com/astracms/astracms#readme","bugs":{"url":"https://github.com/astracms/astracms/issues"},"dist":{"shasum":"696a2b16a850740f0254eff635ec34de8db652d6","tarball":"https://registry.npmjs.org/@astracms/astro-loader/-/astro-loader-0.1.2.tgz","fileCount":5,"integrity":"sha512-9k8y3aJHBsy9PKpomUHFwjEUqcSKShiDWDiA6HKVC3WA9yZAepITd2gK5ocFw0C2T0+RgTALZP8ZF2LM6W4ksQ==","signatures":[{"sig":"MEYCIQDWIPkJLcZlff07627Nc+ulU4RWGnUM1YYaNiIpY/4CIQIhAM+AUFDVawd7UZw4SVRxYakKVSEMSNd/PGGib6eNW63d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65758},"main":"./dist/index.js","type":"module","_from":"file:astracms-astro-loader-0.1.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --external astro","build":"tsup src/index.ts --format esm --dts --external astro","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"},"_resolved":"/tmp/e2fba542e2b44b500b8a796343fce02c/astracms-astro-loader-0.1.2.tgz","_integrity":"sha512-9k8y3aJHBsy9PKpomUHFwjEUqcSKShiDWDiA6HKVC3WA9yZAepITd2gK5ocFw0C2T0+RgTALZP8ZF2LM6W4ksQ==","repository":{"url":"git+https://github.com/astracms/astracms.git","type":"git","directory":"packages/astro-loader"},"_npmVersion":"10.9.4","description":"Astro Content Collection loader for AstraCMS","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.24.2","@astracms/core":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^5.0.0","typescript":"^5.7.2"},"peerDependencies":{"astro":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-loader_0.1.2_1765347724931_0.5301524189181916","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@astracms/astro-loader","version":"1.0.0","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"author":{"name":"AstraCMS"},"license":"MIT","_id":"@astracms/astro-loader@1.0.0","maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"homepage":"https://github.com/astracms/astracms#readme","bugs":{"url":"https://github.com/astracms/astracms/issues"},"dist":{"shasum":"a866ffccb394f5d9d3b334db7c5c53d68cfd6802","tarball":"https://registry.npmjs.org/@astracms/astro-loader/-/astro-loader-1.0.0.tgz","fileCount":5,"integrity":"sha512-dWTzRcwBfy9jxXO1nQ1sfh4M0GaaDcvUYvkKqcPThyLZdnQwru5MZf6+qxIJm7gFzDZqGBVg05nqd5TkXHxvBg==","signatures":[{"sig":"MEUCIQCSNRJyricxjB+301GAJBp750BJnIGXncbcFvuKZ+rivgIgAt8JpX5bHy28MNMZ5MurWQ73r6kvDUXS3NewQhdn2SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65758},"main":"./dist/index.js","type":"module","_from":"file:astracms-astro-loader-1.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --external astro","build":"tsup src/index.ts --format esm --dts --external astro","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"},"_resolved":"/tmp/9c69ae6c8348c4ac2a1f7af76b20f787/astracms-astro-loader-1.0.0.tgz","_integrity":"sha512-dWTzRcwBfy9jxXO1nQ1sfh4M0GaaDcvUYvkKqcPThyLZdnQwru5MZf6+qxIJm7gFzDZqGBVg05nqd5TkXHxvBg==","repository":{"url":"git+https://github.com/astracms/astracms.git","type":"git","directory":"packages/astro-loader"},"_npmVersion":"10.9.4","description":"Astro Content Collection loader for AstraCMS","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.24.2","@astracms/core":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^5.0.0","typescript":"^5.7.2"},"peerDependencies":{"astro":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-loader_1.0.0_1765514818621_0.5465597385149243","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@astracms/astro-loader","version":"1.0.2","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"author":{"name":"AstraCMS"},"license":"MIT","_id":"@astracms/astro-loader@1.0.2","maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"homepage":"https://github.com/astracms/astracms#readme","bugs":{"url":"https://github.com/astracms/astracms/issues"},"dist":{"shasum":"0b30a694490e2eff0978d7bcaeef0f395c1f93c7","tarball":"https://registry.npmjs.org/@astracms/astro-loader/-/astro-loader-1.0.2.tgz","fileCount":5,"integrity":"sha512-XOaYCnZ5RJ0oYfLVg6YhUD6736YEfytv+eMmwi+JzYwK9HcWzRUpN+J5EXNOX+qbPW8oW/4HMABTh9PhNctvEw==","signatures":[{"sig":"MEUCIQDTRwxhc6HCaxPoZd+qNwlByJvub9jh2EFUuWUwi2ppKgIgDnFR2MvjHVjByeGOObQZANwjJJhGSxY7TNw3VtRaRHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65758},"main":"./dist/index.js","type":"module","_from":"file:astracms-astro-loader-1.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"private":false,"scripts":{"dev":"tsup src/index.ts --format esm --dts --watch --external astro","build":"tsup src/index.ts --format esm --dts --external astro","typecheck":"tsc --noEmit"},"_npmUser":{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"},"_resolved":"/tmp/197138de4ad878e6cdda976d2848fa69/astracms-astro-loader-1.0.2.tgz","_integrity":"sha512-XOaYCnZ5RJ0oYfLVg6YhUD6736YEfytv+eMmwi+JzYwK9HcWzRUpN+J5EXNOX+qbPW8oW/4HMABTh9PhNctvEw==","repository":{"url":"git+https://github.com/astracms/astracms.git","type":"git","directory":"packages/astro-loader"},"_npmVersion":"10.9.4","description":"Astro Content Collection loader for AstraCMS","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^3.24.2","@astracms/core":"1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","astro":"^5.0.0","typescript":"^5.7.2"},"peerDependencies":{"astro":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-loader_1.0.2_1765567271008_0.6643241745926698","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@astracms/astro-loader","version":"1.0.3","description":"Astro Content Collection loader for AstraCMS","type":"module","private":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"main":"./dist/index.js","types":"./dist/index.d.ts","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"author":{"name":"AstraCMS"},"license":"MIT","homepage":"https://docs.astracms.dev","peerDependencies":{"astro":"^5.0.0"},"dependencies":{"zod":"^3.24.2","@astracms/core":"1.0.3"},"devDependencies":{"astro":"^5.0.0","tsup":"^8.3.0","typescript":"^5.7.2"},"scripts":{"build":"tsup src/index.ts --format esm --dts --external astro","dev":"tsup src/index.ts --format esm --dts --watch --external astro","typecheck":"tsc --noEmit"},"_id":"@astracms/astro-loader@1.0.3","_integrity":"sha512-KiSD/iLBX8jT1K/K0lz94EniDKYFKVGD/fsCkYTgS2sOR/RoHCz5g/xFthnTXWYsrcEr3VATGC5/OWLaGAa22g==","_resolved":"/tmp/e2a98c4e7e239a8d4514e0ce4533f8a7/astracms-astro-loader-1.0.3.tgz","_from":"file:astracms-astro-loader-1.0.3.tgz","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-KiSD/iLBX8jT1K/K0lz94EniDKYFKVGD/fsCkYTgS2sOR/RoHCz5g/xFthnTXWYsrcEr3VATGC5/OWLaGAa22g==","shasum":"f556b46fe98ec80b1e79247ed924d5d1710f11ec","tarball":"https://registry.npmjs.org/@astracms/astro-loader/-/astro-loader-1.0.3.tgz","fileCount":5,"unpackedSize":65667,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGmCjFWHxcd1FTHf49jucbt23Fi4kijWzMWUOiIggZUsAiEAlAASInwPdEsW08Heblq8nA/90cM14t/W1WKhTxiZMb8="}]},"_npmUser":{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"},"directories":{},"maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro-loader_1.0.3_1765714214727_0.003628989779915326"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-06T09:19:21.909Z","modified":"2025-12-14T12:10:15.599Z","0.1.0":"2025-12-06T09:19:22.248Z","0.1.1":"2025-12-07T17:28:27.019Z","0.1.2":"2025-12-10T06:22:05.057Z","1.0.0":"2025-12-12T04:46:58.780Z","1.0.2":"2025-12-12T19:21:11.192Z","1.0.3":"2025-12-14T12:10:14.866Z"},"author":{"name":"AstraCMS"},"license":"MIT","homepage":"https://docs.astracms.dev","keywords":["astro","astro-loader","content-collections","cms","astracms","blog","headless-cms"],"description":"Astro Content Collection loader for AstraCMS","maintainers":[{"name":"kalana.kt","email":"e19198@eng.pdn.ac.lk"}],"readme":"# @astracms/astro-loader\n\nAstro Content Collection loaders for [AstraCMS](https://astracms.dev). Seamlessly integrate your AstraCMS content into Astro.js projects.\n\n## Features\n\n- 🚀 **4 Content Loaders**: Posts, Categories, Tags, and Authors\n- 🔐 **Dual API Support**: Works with both v1 (workspaceId) and v2 (API key) authentication\n- 📝 **Markdown Rendering**: Full support for Astro's `<Content />` component\n- 🔄 **Incremental Builds**: Content digests for efficient rebuilds\n- 📘 **TypeScript**: Full type safety with Zod schema validation\n- 🎯 **Filtering**: Filter posts by categories, tags, and search queries\n\n## Installation\n\n```bash\nnpm install @astracms/astro-loader\n# or\npnpm add @astracms/astro-loader\n# or\nyarn add @astracms/astro-loader\n```\n\n## Quick Start\n\n### 1. Configure Environment Variables\n\n```bash\n# .env\nASTRACMS_API_KEY=your_api_key_here\n```\n\n### 2. Set Up Content Collections\n\n```typescript\n// src/content.config.ts\nimport { defineCollection } from 'astro:content';\nimport {\n  postsLoader,\n  categoriesLoader,\n  tagsLoader,\n  authorsLoader,\n} from '@astracms/astro-loader';\n\nconst config = {\n  apiKey: import.meta.env.ASTRACMS_API_KEY,\n};\n\nconst posts = defineCollection({\n  loader: postsLoader({\n    ...config,\n    format: 'markdown', // or 'html'\n  }),\n});\n\nconst categories = defineCollection({\n  loader: categoriesLoader(config),\n});\n\nconst tags = defineCollection({\n  loader: tagsLoader(config),\n});\n\nconst authors = defineCollection({\n  loader: authorsLoader(config),\n});\n\nexport const collections = { posts, categories, tags, authors };\n```\n\n### 3. Use in Your Pages\n\n```astro\n---\n// src/pages/blog/[slug].astro\nimport { getCollection, render } from 'astro:content';\n\nexport async function getStaticPaths() {\n  const posts = await getCollection('posts');\n  return posts.map((post) => ({\n    params: { slug: post.id },\n    props: { post },\n  }));\n}\n\nconst { post } = Astro.props;\nconst { Content } = await render(post);\n---\n\n<article>\n  <h1>{post.data.title}</h1>\n  <p>{post.data.description}</p>\n  \n  {post.data.coverImage && (\n    <img src={post.data.coverImage} alt={post.data.title} />\n  )}\n  \n  <div class=\"meta\">\n    <span>Category: {post.data.category.name}</span>\n    <span>Published: {post.data.publishedAt.toLocaleDateString()}</span>\n  </div>\n  \n  <div class=\"tags\">\n    {post.data.tags.map((tag) => (\n      <a href={`/tags/${tag.slug}`}>{tag.name}</a>\n    ))}\n  </div>\n  \n  <Content />\n  \n  <div class=\"authors\">\n    {post.data.authors.map((author) => (\n      <div class=\"author\">\n        {author.image && <img src={author.image} alt={author.name} />}\n        <span>{author.name}</span>\n        {author.role && <span>{author.role}</span>}\n      </div>\n    ))}\n  </div>\n</article>\n```\n\n## API Reference\n\n### `postsLoader(options)`\n\nLoads blog posts from AstraCMS.\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `apiKey` | `string` | * | API key (recommended for v2 API) |\n| `workspaceId` | `string` | * | Workspace ID (required for v1 API) |\n| `apiVersion` | `'v1' \\| 'v2'` | | API version (defaults to 'v2') |\n| `format` | `'html' \\| 'markdown'` | | Content format (default: `'markdown'`) |\n| `categories` | `string[]` | | Filter by category slugs |\n| `excludeCategories` | `string[]` | | Exclude category slugs |\n| `tags` | `string[]` | | Filter by tag slugs |\n| `excludeTags` | `string[]` | | Exclude tag slugs |\n| `query` | `string` | | Search query |\n\n\\* Either `apiKey` or `workspaceId` is required\n\n### `categoriesLoader(options)`\n\nLoads categories from AstraCMS.\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `apiKey` | `string` | * | API key (recommended) |\n| `workspaceId` | `string` | * | Workspace ID |\n| `apiVersion` | `'v1' \\| 'v2'` | | API version |\n| `query` | `string` | | Search query |\n| `excludeCategories` | `string[]` | | Exclude category slugs |\n\n### `tagsLoader(options)`\n\nLoads tags from AstraCMS.\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `apiKey` | `string` | * | API key (recommended) |\n| `workspaceId` | `string` | * | Workspace ID |\n| `apiVersion` | `'v1' \\| 'v2'` | | API version |\n| `query` | `string` | | Search query |\n\n### `authorsLoader(options)`\n\nLoads authors from AstraCMS.\n\n| Option | Type | Required | Description |\n|--------|------|----------|-------------|\n| `apiKey` | `string` | * | API key (recommended) |\n| `workspaceId` | `string` | * | Workspace ID |\n| `apiVersion` | `'v1' \\| 'v2'` | | API version |\n| `query` | `string` | | Search query |\n\n## Schemas\n\nThe package exports Zod schemas that you can use for custom validation or extend:\n\n```typescript\nimport {\n  postSchema,\n  categorySchema,\n  tagSchema,\n  authorSchema,\n} from '@astracms/astro-loader';\n\n// Extend the post schema\nconst customPostSchema = postSchema.extend({\n  customField: z.string(),\n});\n```\n\n## Authentication\n\n### API Key (v2 API) - Recommended\n\n```typescript\npostsLoader({\n  apiKey: import.meta.env.ASTRACMS_API_KEY,\n});\n```\n\n### Workspace ID (v1 API)\n\n```typescript\npostsLoader({\n  apiVersion: 'v1',\n  workspaceId: 'your-workspace-id',\n});\n```\n\n## Requirements\n\n- Astro 5.0 or later\n- AstraCMS account with API access\n\n## License\n\nMIT\n","readmeFilename":"README.md"}