{"_id":"@elrond25/eleventy-calendar-plugin","name":"@elrond25/eleventy-calendar-plugin","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@elrond25/eleventy-calendar-plugin","version":"1.0.0","description":"An Eleventy plugin that provides a graphical calendar view of your site's publishing schedule, showing both upcoming and past posts. Each calendar entry links to the post and displays the source markdown file name.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/caraya/calendar-plugin.git"},"keywords":[],"author":{"name":"Carlos Araya","email":"carlos.araya@gmail.com"},"license":"MIT","type":"module","bugs":{"url":"https://github.com/caraya/calendar-plugin/issues"},"homepage":"https://github.com/caraya/calendar-plugin#readme","gitHead":"26ceedbb1b933d2ba85313d16ddfe9dc30a76693","_id":"@elrond25/eleventy-calendar-plugin@1.0.0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-TRV3NJkkvUbPU+Xk8OUcUgdeEEE9hmAmCozFfa7wz6yfHjIxI3zpic9M3vjZTmOqvghe+Ib7/mRV2xFwHSgKnQ==","shasum":"f0afde69b996a730a183b5f607fa780e151aaed8","tarball":"https://registry.npmjs.org/@elrond25/eleventy-calendar-plugin/-/eleventy-calendar-plugin-1.0.0.tgz","fileCount":5,"unpackedSize":27784,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB7HwxP+lkICAP/MyBGoQyrpyw1BP4XLy1IS1jLkuQK5AiEAs0Te2QUhKdrLFkoZtn2OvUOXQHTalll1KDEc1PdIuEc="}]},"_npmUser":{"name":"elrond25","email":"carlos.araya@gmail.com"},"directories":{},"maintainers":[{"name":"elrond25","email":"carlos.araya@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eleventy-calendar-plugin_1.0.0_1764695412435_0.29579547893965397"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-02T17:10:12.276Z","1.0.0":"2025-12-02T17:10:12.615Z","modified":"2025-12-02T17:10:12.883Z"},"maintainers":[{"name":"elrond25","email":"carlos.araya@gmail.com"}],"description":"An Eleventy plugin that provides a graphical calendar view of your site's publishing schedule, showing both upcoming and past posts. Each calendar entry links to the post and displays the source markdown file name.","homepage":"https://github.com/caraya/calendar-plugin#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/caraya/calendar-plugin.git"},"author":{"name":"Carlos Araya","email":"carlos.araya@gmail.com"},"bugs":{"url":"https://github.com/caraya/calendar-plugin/issues"},"license":"MIT","readme":"# Eleventy Publishing Calendar Plugin\n\nAn Eleventy plugin that provides a graphical calendar view of your site's publishing schedule, showing both upcoming and past posts. Each calendar entry links to the post and displays the source markdown file name.\n\n## Features\n\n- HTML grid calendar view with posts listed by date\n- Links to posts with file names\n- Customizable appearance via options\n- Support for multiple content types (e.g., posts, events)\n- Navigation controls for previous/next month\n- Uses Temporal API for date handling\n\n## Installation Requirements\n\n- Node.js (version 16+ recommended for Temporal support; otherwise install `@js-temporal/polyfill`)\n- Eleventy (11ty) project\n\n## Installation\n\n1. Copy `eleventy-plugin-publishing-calendar.js` to your Eleventy project's root directory.\n\n2. If using Node.js < 20, install the Temporal polyfill:\n\n   ```bash\n   npm install @js-temporal/polyfill\n   ```\n\n3. In your `.eleventy.js` file, add:\n\n   ```javascript\n   import publishingCalendar from './eleventy-plugin-publishing-calendar';\n\n   export default function(eleventyConfig) {\n     eleventyConfig.addPlugin(publishingCalendar, {\n       // options (see below)\n     });\n   };\n   ```\n\n## Configuration Options\n\nPass options as the second argument to `addPlugin`:\n\n- `collections`: Array of collection names to include (default: `['posts']`)\n- `calendarClass`: CSS class for the calendar container (default: `'publishing-calendar'`)\n- `dayClass`: CSS class for day cells (default: `'calendar-day'`)\n- `postClass`: CSS class for post entries (default: `'calendar-post'`)\n- `navClass`: CSS class for navigation (default: `'calendar-nav'`)\n- `colors`: Object with color overrides:\n  - `header`: Background for day headers (default: `'#f0f0f0'`)\n  - `today`: Background for today (default: `'#e0f7fa'`)\n  - `past`: Background for past days (default: `'#f5f5f5'`)\n  - `future`: Background for future days (default: `'#fff'`)\n- `layout`: Layout style (currently only `'grid'` supported)\n- `polyfillUrl`: URL for the Temporal polyfill (default: jsdelivr CDN)\n\n## Usage\n\nIn your Eleventy templates (e.g., `.njk`, `.md`):\n\n**Nunjucks (.njk):**\n\n- For current month: `{% publishingCalendar %}`\n- For specific month: `{% publishingCalendar 11, 2025 %}` (Note the comma)\n\n**Liquid (.liquid):**\n\n- For current month: `{% publishingCalendar %}`\n- For specific month: `{% publishingCalendar 11 2025 %}`\n\nThe plugin generates HTML with inline CSS. Override styles in your site's CSS for customization.\n\n## Content Types\n\nSet `contentType` in post frontmatter to differentiate types (e.g., `contentType: event`). The plugin adds this as a CSS class for styling.\n\n## Navigation\n\nPrevious/Next links are included. For dynamic navigation without page reloads, implement client-side JavaScript to update the calendar based on URL parameters or AJAX.\n\n## Example\n\n```javascript\n// .eleventy.js\neleventyConfig.addPlugin(publishingCalendar, {\n  collections: ['posts', 'events'],\n  colors: {\n    today: '#ffeb3b',\n    past: '#e0e0e0'\n  }\n});\n```\n\n```liquid\n<!-- In a template -->\n<h1>Publishing Calendar</h1>\n{% publishingCalendar %}\n```\n","readmeFilename":"README.md","_rev":"1-8c297a171a750331f2f9446b1422dbae"}