{"_id":"@adaptive-ds/website-content-pipeline","_rev":"8-3a1650c407d28e3d45d222f101b09b78","name":"@adaptive-ds/website-content-pipeline","dist-tags":{"latest":"0.7.1"},"versions":{"0.1.0":{"name":"@adaptive-ds/website-content-pipeline","version":"0.1.0","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.1.0","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"6b0a9a0ab939a2a90998092640f2541fdd7f7fd4","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.1.0.tgz","fileCount":69,"integrity":"sha512-ANOT3rkBJjCYd6VQ9+8ge3EDF6iJgG3MQ3HR04ALHNVyQnIpfamSEkctnRBEXGVdX5kqvmtoGxZVZyzx+8j3xw==","signatures":[{"sig":"MEUCIBBECm9E8b4RJub580LplRl0KcaPYes2eDhT5Oi8KyyPAiEA3Fgz3xpSbwz3BP4+LGH6dWE0k2u9awngFj2t+Tv7yXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43085},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"7480ebee1b125d6118ff0ba7e1d969dfb6060938","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"david1gp","email":"david1gruppenplan@gmail.com"},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"10.9.4","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"marked":"^18.0.4","valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.1.0_1779457189808_0.6753681756813608","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@adaptive-ds/website-content-pipeline","version":"0.2.0","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.2.0","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"a7e09e189cda9eaa95e46291b66d0a47c900501a","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.2.0.tgz","fileCount":69,"integrity":"sha512-pyadE8b3qLar2Ko5zrXQMG9nmWNV/Wz+4k6YRv7Rqkv9ZjHeqwLVizpl49X3BM5O/qTZNIdtJcde4xfQXR0Bsw==","signatures":[{"sig":"MEUCIQCizh12eRdqMpIMAGRHpiWQhpKM9NK+j1EYIjA+ZQwWCwIgY3UZ/vsMUpv5yEhAwtMtXzjrffX/KGBfyabXTOU6wqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44611},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"4263abb10ce9f44d2a3a7edbcff3257833e6ea3a","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","release":"bash ./ops/release.sh","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"11.15.0","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.2.0_1779532756839_0.6402106774797991","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@adaptive-ds/website-content-pipeline","version":"0.3.0","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.3.0","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"a3f46213495c0b60c8ba20b8e7e65a28f01c6642","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.3.0.tgz","fileCount":69,"integrity":"sha512-1Hwnr3p5O4gC3SVciHBfeToxowmc+eK181d8EWkVMj+okFoOcb6tJOlXnQtdjsn3RPKEcOl0dyNdjiYwpQHTlw==","signatures":[{"sig":"MEQCIH13BJk29w9NB/EERbZ14/zLpgXApvyBOpzYeAiMu4sWAiBwwTD1t/8qhZhlZ6PRPfYe6ujvM5Ee9UAT89zlCbKfUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"abe0ec6cf19d44f63cfc6307dbf33433693b081f","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","release":"bash ./ops/release.sh","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"11.15.0","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.3.0_1779779872307_0.6661382767345236","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@adaptive-ds/website-content-pipeline","version":"0.4.0","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.4.0","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"a1fb63be89ae07a67201f3414ad230a95b4b97ff","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.4.0.tgz","fileCount":69,"integrity":"sha512-pTWxU7ZBCg7XC9bX0ZBwoRq6PKpZw/AnYM6JrjIGRNKe9yR+k90ffK9QW4FRGT+rUhCmPrhmynY4tucKLI8/Xw==","signatures":[{"sig":"MEYCIQDh3miarIu1JMuOnHIq+c+rhUouQoexOuvRGc8eaLdrNAIhAJe1VROFWE7+vS1rLKDL7LHi5KbHiALpuNwPATIuTTBX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57928},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"70c7cc71ba290375a662c4acbaed0a2f9d6e733f","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","release":"bash ./ops/release.sh","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"11.15.0","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.4.0_1779782971225_0.5344259407095695","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@adaptive-ds/website-content-pipeline","version":"0.5.0","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.5.0","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"50726614f976d95b7a9c962a80948d06ebb24a77","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.5.0.tgz","fileCount":72,"integrity":"sha512-iEuNv8XOKhXSZ3dr/QT2o5tuQgg2bQ3m/zwxhTwVrt6oKZWAYaIEOSaKgEBcZtEOKlAjryLGk+g/lcSQofNpkw==","signatures":[{"sig":"MEYCIQDC9dSRjVN3cpYxPAzOaL/YMdhmwc4EnC8tBSKWLDU4wQIhAOMty73fY7RreNsvWu85Z3TnwQFa75XW4TdCF1U347S+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60370},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"6fd360b56a77d34d019007c21b7d8da6ab81b659","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","release":"bash ./ops/release.sh","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"11.16.0","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.5.0_1780110795023_0.12520595943602753","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@adaptive-ds/website-content-pipeline","version":"0.6.0","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.6.0","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"9f59a79d818e128a14721ef8b47cc2957864438b","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.6.0.tgz","fileCount":72,"integrity":"sha512-L9SodngEnrvPizz4U6d9csiVJOhuDN/HLgNqCui+K8ttgn4VFpWc/faJEc43dj15DZ+7sAETQAeElGbXVhtKCw==","signatures":[{"sig":"MEUCIFQeY0h5mvvMTWoBwjUT021k12ocaKXOiG2HnY4LeeGfAiEA0BhP6pzmkVZpFPV6ahxdOB1l63uEcvmOv2BdtvWz29c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60572},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"742ddb3c0450cb92f8a95ae98ba283ecd9ee3468","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","release":"bash ./ops/release.sh","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"11.16.0","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.6.0_1780113422804_0.8952496265223755","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@adaptive-ds/website-content-pipeline","version":"0.6.1","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","_id":"@adaptive-ds/website-content-pipeline@0.6.1","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"homepage":"https://github.com/david1gp/website-content-pipeline","bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"dist":{"shasum":"ee1273124c442237375455788613a324e120c49e","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.6.1.tgz","fileCount":75,"integrity":"sha512-JbYQuyy0biqepTmZXsyV5v6d47JCPmSrTH2gg4B5/gYUbynsuQQa+gQkGT/yDBeuE8xRJ8NT7jDsIRidtUo0VQ==","signatures":[{"sig":"MEQCIEcdz0DAqJUhv0esijb3eAzF0gqQPs9dx0fH41kAvQYpAiA+PCH9tYBgrD05lcU/WrnP6g5jtq/y/nZBH7jgej34vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61668},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*.js":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"gitHead":"93678331d11f17e90169d4146e660c1af8d88ede","private":false,"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","format":"bunx biome check --write src","release":"bash ./ops/release.sh","typecheck":"bunx tsgo --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"repository":{"url":"git+https://github.com/david1gp/website-content-pipeline.git","type":"git"},"_npmVersion":"11.16.0","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"valibot":"^1.4.0","gray-matter":"^4.0.3","@adaptive-ds/assets-optimizer":"^0.6.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"~6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/website-content-pipeline_0.6.1_1780115280311_0.6031126698924287","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@adaptive-ds/website-content-pipeline","version":"0.7.1","description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","homepage":"https://github.com/david1gp/website-content-pipeline","repository":{"type":"git","url":"git+https://github.com/david1gp/website-content-pipeline.git"},"bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"license":"MIT","type":"module","private":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./*.js":{"import":"./dist/*.js","types":"./dist/*.d.ts"}},"scripts":{"build":"rm -rf ./dist && bun tsc -p ./tsconfig.lib.json","typecheck":"bunx tsgo --noEmit","release":"bash ./ops/release.sh","format":"biome format --write src test package.json tsconfig.json tsconfig.lib.json biome.json"},"dependencies":{"@adaptive-ds/assets-optimizer":"^0.12.0","gray-matter":"^4.0.3"},"peerDependencies":{"valibot":"^1.4.0"},"devDependencies":{"@biomejs/biome":"^2.5.2","@types/bun":"latest","@types/node":"^25.9.1","typescript":"~6.0.3"},"prettier":{"semi":false,"printWidth":120,"trailingComma":"all"},"gitHead":"97709eb1fdf2634438403137606bf52e9287c39a","_id":"@adaptive-ds/website-content-pipeline@0.7.1","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-DM0vI0YJwfuO1+PpCVaNTWPb9NE6tihkVGWl1ZVtcOIhISHyvXZ+qvRR14PB948km0TJK2YY07AI25jc7QB2kg==","shasum":"83f2d225f59f81aa7cac911c7bcce6978d2d7bb7","tarball":"https://registry.npmjs.org/@adaptive-ds/website-content-pipeline/-/website-content-pipeline-0.7.1.tgz","fileCount":78,"unpackedSize":63669,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@adaptive-ds%2fwebsite-content-pipeline@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDbFwPDFj+t4A0GLBdTokmJVnt8Ujy9Ts3mtrPEzoTGbAIhAMXSJl4A5cU8nE8mLmwfcYRp9uXBioBzPI04b8ijX1UU"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:46ef5976-54c3-430d-a863-3b701105877f"}},"directories":{},"maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/website-content-pipeline_0.7.1_1784196240600_0.3604901206681712"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-22T13:39:49.663Z","modified":"2026-07-16T10:04:01.160Z","0.1.0":"2026-05-22T13:39:49.948Z","0.2.0":"2026-05-23T10:39:16.980Z","0.3.0":"2026-05-26T07:17:52.444Z","0.4.0":"2026-05-26T08:09:31.348Z","0.5.0":"2026-05-30T03:13:15.175Z","0.6.0":"2026-05-30T03:57:02.946Z","0.6.1":"2026-05-30T04:28:00.477Z","0.7.1":"2026-07-16T10:04:00.828Z"},"bugs":{"url":"https://github.com/david1gp/website-content-pipeline/issues"},"license":"MIT","homepage":"https://github.com/david1gp/website-content-pipeline","keywords":["content-pipeline","markdown","frontmatter","seo","scheduled-content","rclone","website-content"],"repository":{"type":"git","url":"git+https://github.com/david1gp/website-content-pipeline.git"},"description":"Markdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.","maintainers":[{"name":"david1gp","email":"david1gruppenplan@gmail.com"}],"readme":"# @adaptive-ds/website-content-pipeline\n\nMarkdown content processing pipeline for scheduled website articles, generated content lists, raw public content, and featured images.\n\n## What it does\n\n- Reads scheduled markdown articles from a content directory\n- Normalizes and validates frontmatter (title, description, dates, author, slug, image, imageAlt) **in memory** — it never rewrites your source `.md` files\n- Generates a typed `contentList.ts` for consumption by the site\n- Optionally syncs source content from a remote (rclone bisync) and publishes optimized assets to a destination remote\n- Optimizes content images and (optionally) generates missing featured images via an external service\n- Provides a separate, opt-in `contentClean` step to canonicalize frontmatter on disk when you explicitly want it\n\n## Install\n\n```bash\nbun add @adaptive-ds/website-content-pipeline\n```\n\n## Usage\n\n```ts\nimport { contentProcess } from \"@adaptive-ds/website-content-pipeline\"\n\nawait contentProcess({\n  contentDir: \"./public/ratgeber\",\n  contentListOutputPath: \"./src/app/content/contentList.ts\",\n  imageOriginalsDir: \"./images\",\n  imageOptimizedDir: \"./public/images\",\n  imagePromptsDir: \"./src/app/content/image-prompts\",\n  formatContentListWithBiome: true,\n})\n```\n\n## API\n\n### `contentProcess(options)`\n\nRuns the full pipeline. **It is read-only with respect to your source `.md` files** — frontmatter is normalized in memory only to build `contentList.ts`.\n\n1. (optional, with `--sync`) bisync source content from `sourceRemote`; on a failed bisync it auto-retries once with `--resync` to re-establish a missing/stale baseline, then continues\n2. read + normalize + validate each `.md` in memory\n3. generate featured-image prompts / missing images (prompt files are only rewritten when their content changes)\n4. when `publicContentDir` differs from `contentDir`, copy the **raw** source `.md` to the public dir as a build artifact (only when missing or changed)\n5. optimize images\n6. generate `contentList.ts`\n7. (optional, with `--sync`) sync public content to `destinationRemote`\n\nA normal run leaves every source `.md` byte- and mtime-identical, so rclone bisync sees no spurious changes and propagates real edits/deletes normally.\n\n### `contentClean(options)`\n\nThe explicit, opt-in counterpart to `contentProcess`. Iterates the content dir and canonicalizes each `.md`'s frontmatter (`normalizeFrontmatter` → `cleanFrontmatter` → `matter.stringify`), writing **only when the normalized output differs from the source** (so re-running on already-clean content is a true no-op and never churns mtimes). Pure-local: no bisync, no remote sync.\n\nReturns `ContentCleanResult`: `{ scanned, changed: string[], unchanged }`.\n\n```ts\nimport { contentClean } from \"@adaptive-ds/website-content-pipeline\"\n\nconst result = contentClean({\n  contentDir: \"./public/ratgeber\",\n  contentListOutputPath: \"./src/app/content/contentList.ts\",\n  imageOriginalsDir: \"./images\",\n  imageOptimizedDir: \"./public/images\",\n  imagePromptsDir: \"./src/app/content/image-prompts\",\n})\n```\n\nRun `contentClean` only when you deliberately want to re-canonicalize frontmatter (e.g. after bulk-importing messy drafts), then run `contentProcess` to pick up and publish the changes.\n\n## Configuration\n\nSee `ContentProcessOptions` in `src/types.ts` for the full set of options. Key fields:\n\n- `contentDir` (required): where source `.md` files live\n- `contentListOutputPath` (required): output path for the generated content list\n- `imageOriginalsDir`, `imageOptimizedDir`: image input/output directories\n- `imagePromptsDir`: where image-generation prompts are written\n- `sourceRemote`, `destinationRemote`: rclone remotes for bisync/publish\n- `publicContentDir`, `publicPathBase`: where raw content is copied and its public URL base\n- `optimizeImages`, `generateMissingImages`, `generateImagePrompts`: toggles\n- `formatContentListWithBiome`: opt in to run `bunx --no-install biome format --write` on the generated list, using the consuming project's Biome config at `cwd`. Requires `@biomejs/biome` to be installed by that project.\n\n## Scripts\n\n```bash\nbun run build      # compile to dist/\nbun run typecheck  # type-check without emit\nbun run format     # biome check --write\nbun run release    # bump version, build, commit, tag, push, GitHub release (ops/release.sh)\n                   # pushing the v* tag triggers .github/workflows/publish.yml, which publishes to npm\n```\n\n## Exports\n\nSee exported functions in `src/index.ts` (e.g. `contentProcess`, `contentClean`, `cleanFrontmatter`, `normalizeFrontmatter`, `generateContentListCode`).\n","readmeFilename":"README.md"}