{"_id":"@dantenl/umejs","_rev":"6-ca52310c70061a6eebbb304b91c7ebd6","name":"@dantenl/umejs","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"@dantenl/umejs","version":"1.0.0","keywords":[],"author":{"name":"dante_nl"},"license":"GPL-3.0","_id":"@dantenl/umejs@1.0.0","maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"homepage":"https://github.com/dante-nl/umejs#readme","bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"dist":{"shasum":"cff113e73a2b40139d7a7a0a07881713b36ad5ed","tarball":"https://registry.npmjs.org/@dantenl/umejs/-/umejs-1.0.0.tgz","fileCount":9,"integrity":"sha512-XV5EdUPUV0XlB3u90irl5l502Ud9m82p3pftn4Y/vv02N4im8RIfo51vTwJjraPGf5h3vBsbphPBMWK4tVnRgw==","signatures":[{"sig":"MEYCIQC8YFDguJQeMgPoMzhGELOG5BDXAQJEtu3uVswfmF9bWgIhAMEBoGvR651W8fv7RatuNF4RxzqPNwFUvPpb3obYc0Q6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60677},"main":"index.js","type":"commonjs","gitHead":"2b903b6d01eecd3a94af4dfb7742a0361251c680","scripts":{"test":"node --test"},"_npmUser":{"name":"dantenl","email":"patrons_swirls1w@icloud.com"},"repository":{"url":"git+https://github.com/dante-nl/umejs.git","type":"git"},"_npmVersion":"11.10.1","description":"Untitled Markdown Engine","directories":{"lib":"lib"},"_nodeVersion":"22.13.0","dependencies":{"marked":"^18.0.5","express":"^5.2.1","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/umejs_1.0.0_1783027940236_0.665823673994093","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dantenl/umejs","version":"1.0.1","keywords":[],"author":{"name":"dante_nl"},"license":"GPL-3.0","_id":"@dantenl/umejs@1.0.1","maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"homepage":"https://github.com/dante-nl/umejs#readme","bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"dist":{"shasum":"b86aed36774ea7adebacadb3af1ea54058a8852f","tarball":"https://registry.npmjs.org/@dantenl/umejs/-/umejs-1.0.1.tgz","fileCount":9,"integrity":"sha512-nnPN4kMyN35rLlLOadZAn0DmzRUzwYT0J6zpKZDro7K/W+cdO7xDQDyRp34vl0SNF5yjb42Z1aNZ6cV+YbOt7g==","signatures":[{"sig":"MEYCIQCyBcsNKXWBNnTViEKVkFnBeIzB4RlcxGb9cmJ8b2ishQIhAK9ntsi+929JMp7nFaFS+QypCC97tnQT1jL3cfxIMxzx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60681},"main":"index.js","type":"commonjs","gitHead":"d05f187c395f176fb6ecbb42e469d5a432e0611c","scripts":{"test":"node --test"},"_npmUser":{"name":"dantenl","email":"patrons_swirls1w@icloud.com"},"repository":{"url":"git+https://github.com/dante-nl/umejs.git","type":"git"},"_npmVersion":"11.10.1","description":"Untitled Markdown Engine","directories":{"lib":"lib"},"_nodeVersion":"22.13.0","dependencies":{"marked":"^18.0.5","express":"^5.2.1","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/umejs_1.0.1_1783033103840_0.9597993511835561","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dantenl/umejs","version":"1.0.3","keywords":[],"author":{"name":"dante_nl"},"license":"GPL-3.0","_id":"@dantenl/umejs@1.0.3","maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"homepage":"https://github.com/dante-nl/umejs#readme","bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"dist":{"shasum":"ba96254ddc59ad400922f6ff41f62ebd193736cb","tarball":"https://registry.npmjs.org/@dantenl/umejs/-/umejs-1.0.3.tgz","fileCount":9,"integrity":"sha512-idwPyk/fR6GOKPJTQn1wT4XOeNaxNE1kxudCPc7hbI/TS2poSna1Mufpr6rWmJlfrBENfitsrzHutJkP+UNGEA==","signatures":[{"sig":"MEUCIQCJGuvbbWzUTy+7dMniO4tlfOdvfs0GHv7dXFfQVi8zMwIgAvyFIhbxQkDM87MBsiDYyn078hKz/S7HvtVF+tSgx0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60733},"main":"index.js","type":"commonjs","engines":{"node":"^22.0.0"},"gitHead":"973f7fb2e8b3b45d19f35462678bd38069c605a8","scripts":{"test":"node --test"},"_npmUser":{"name":"dantenl","email":"patrons_swirls1w@icloud.com"},"repository":{"url":"git+https://github.com/dante-nl/umejs.git","type":"git"},"_npmVersion":"11.10.1","description":"Untitled Markdown Engine","directories":{"lib":"lib"},"_nodeVersion":"22.13.0","dependencies":{"marked":"^18.0.5","express":"^5.2.1","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/umejs_1.0.3_1783036176109_0.18947606374168968","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dantenl/umejs","version":"1.1.0","keywords":[],"author":{"name":"dante_nl"},"license":"GPL-3.0","_id":"@dantenl/umejs@1.1.0","maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"homepage":"https://github.com/dante-nl/umejs#readme","bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"dist":{"shasum":"8cb6e3549a85998c95ee870316b9dbc1770ba66a","tarball":"https://registry.npmjs.org/@dantenl/umejs/-/umejs-1.1.0.tgz","fileCount":9,"integrity":"sha512-7KhtyndClfGGSiPXviFBowfOktTsCt6G3gLXjYtnrK5mmq+SgS7u16cSodxjyweiIai8vAs/vm7nt4/+VK6PRg==","signatures":[{"sig":"MEUCIQCcrvoObF/i3MFpWiigESQ5Hq3IVCYdP36JN9OKHY6k1QIgWUk3KqAuQxjoX9TO75gPjjDaG7wdRu6a+kFV/NMAC78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dantenl%2fumejs@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61142},"main":"index.js","type":"commonjs","engines":{"node":"^22.0.0"},"gitHead":"30d9b45fa49eee019585c1d652b4c0c3c4ac3dec","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a07b94a7-97dd-4a0f-8f7d-7061e50d2591"}},"repository":{"url":"git+https://github.com/dante-nl/umejs.git","type":"git"},"_npmVersion":"11.16.0","description":"Untitled Markdown Engine","directories":{"lib":"lib"},"_nodeVersion":"24.18.0","dependencies":{"marked":"^18.0.5","express":"^5.2.1","gray-matter":"^4.0.3"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/umejs_1.1.0_1783116259387_0.22258861788882744","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@dantenl/umejs","version":"1.2.0","keywords":["markdown","engine","parser","express","static-site","gray-matter","marked"],"author":{"name":"dante_nl"},"license":"GPL-3.0","_id":"@dantenl/umejs@1.2.0","maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"homepage":"https://github.com/dante-nl/umejs#readme","bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"c8":{"exclude":["dist/**","build/**","coverage/**","tests/**","**/*.config.js","**/*.config.ts"],"reporter":["text","html"]},"dist":{"shasum":"a36469c1c5aea6f3f76eedbc6288cb118ef407d6","tarball":"https://registry.npmjs.org/@dantenl/umejs/-/umejs-1.2.0.tgz","fileCount":16,"integrity":"sha512-whZjnOaCknFqf2KOVmltZEKWybYi8Ptv824GorF7cGq2haZRiE9vDWMvDegAsAXzrR0wpooqrj/WGyo0Bi5yAg==","signatures":[{"sig":"MEQCIFzVwYRFwg08qZDX285ANManfbwQvtxOpRuKrn6/6JtDAiBSHX35AgIzrqW2PSZKi/pI1Q0q9tl9MnEbSYLWKVyQsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dantenl%2fumejs@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82111},"main":"index.js","type":"commonjs","types":"types/index.d.ts","engines":{"node":">=22.13 <27.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./dist/esm/index.mjs","default":"./dist/esm/index.mjs","require":"./index.js","module-sync":"./dist/esm/index.mjs"}},"gitHead":"b91615932de6ee5b34079bb96e9085f1cb6565a9","scripts":{"lint":"eslint .","test":"c8 --check-coverage --lines 80 --branches 80 node --test","build":"node esbuild.config.mjs","format":"prettier --write .","lint:fix":"eslint --fix .","test:esm":"node --test ./tests/esm-verify.test.mjs ","build:types":"tsc","test:coverage":"c8 --reporter=html --reporter=text node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a07b94a7-97dd-4a0f-8f7d-7061e50d2591"}},"repository":{"url":"git+https://github.com/dante-nl/umejs.git","type":"git"},"_npmVersion":"11.16.0","description":"Untitled Markdown Engine","directories":{"lib":"lib"},"_nodeVersion":"24.18.0","allowScripts":{"esbuild@0.28.1":true},"dependencies":{"marked":"^18.0.5","gray-matter":"^4.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","eslint":"^10.6.0","esbuild":"^0.28.1","globals":"^17.7.0","prettier":"^3.9.4","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.0"},"peerDependencies":{"express":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/umejs_1.2.0_1783350505110_0.785514369469176","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@dantenl/umejs","version":"1.2.1","description":"Untitled Markdown Engine","keywords":["markdown","engine","parser","express","static-site","gray-matter","marked"],"homepage":"https://github.com/dante-nl/umejs#readme","bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"repository":{"type":"git","url":"git+https://github.com/dante-nl/umejs.git"},"license":"GPL-3.0","author":{"name":"dante_nl"},"type":"commonjs","main":"index.js","directories":{"lib":"lib"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix .","format":"prettier --write .","build":"node esbuild.config.mjs","build:types":"tsc","test":"c8 --check-coverage --lines 80 --branches 80 node --test","test:esm":"node --test ./tests/esm-verify.test.mjs ","test:coverage":"c8 --reporter=html --reporter=text node --test"},"engines":{"node":">=22.13 <27.0.0"},"dependencies":{"gray-matter":"^4.0.3","marked":"^18.0.5"},"peerDependencies":{"express":">=5.0.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./dist/esm/index.mjs","require":"./index.js","default":"./index.js"}},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^26.1.0","c8":"^11.0.0","esbuild":"^0.28.1","eslint":"^10.6.0","globals":"^17.7.0","prettier":"^3.9.4","typescript":"^6.0.3"},"publishConfig":{"access":"public"},"allowScripts":{"esbuild@0.28.1":true},"types":"types/index.d.ts","c8":{"exclude":["dist/**","build/**","coverage/**","tests/**","**/*.config.js","**/*.config.ts"],"reporter":["text","html"]},"gitHead":"9d5b6861af5b2a2b7a55cc33f086fe9dc4f5d945","_id":"@dantenl/umejs@1.2.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-46WUmY0GMZsYdexYZ/6HJ6UUWb5gpwOYgbUqKVUYd4GoQ03y+IZoKsVUF3oUena0oFNufSqKDW6EeBD3Hs49KQ==","shasum":"245fb70336f8480d16a964389054ee3e03ca1e99","tarball":"https://registry.npmjs.org/@dantenl/umejs/-/umejs-1.2.1.tgz","fileCount":16,"unpackedSize":82050,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dantenl%2fumejs@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDrwi9V7pzfzMUk98KjDNzG/CHMgS61vBKGQSIFrIz2vgIgMoAfYzGdvSDdWqpGiKiNyJ5eMvqLlAoZAqZN3cVPgWM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a07b94a7-97dd-4a0f-8f7d-7061e50d2591"}},"maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/umejs_1.2.1_1783422839988_0.8850707900144223"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T21:32:19.936Z","modified":"2026-07-07T11:14:00.400Z","1.0.0":"2026-07-02T21:32:20.427Z","1.0.1":"2026-07-02T22:58:23.960Z","1.0.3":"2026-07-02T23:49:36.233Z","1.1.0":"2026-07-03T22:04:19.523Z","1.2.0":"2026-07-06T15:08:25.259Z","1.2.1":"2026-07-07T11:14:00.121Z"},"bugs":{"url":"https://github.com/dante-nl/umejs/issues"},"author":{"name":"dante_nl"},"license":"GPL-3.0","homepage":"https://github.com/dante-nl/umejs#readme","keywords":["markdown","engine","parser","express","static-site","gray-matter","marked"],"repository":{"type":"git","url":"git+https://github.com/dante-nl/umejs.git"},"description":"Untitled Markdown Engine","maintainers":[{"name":"dantenl","email":"patrons_swirls1w@icloud.com"}],"readme":"![girl with flower and text \"umejs\"](https://ume.dantenl.com/media/images/umejs_banner.png)\n\n# ume.js\n\n[![npm version](https://img.shields.io/npm/v/%40dantenl%2Fumejs?style=for-the-badge)](https://www.npmjs.com/package/@dantenl/umejs)\n\numejs (short for **u**nnamed **m**arkdown **e**ngine) is a small little project that you can slot into Express to automagically convert Markdown files into a static website. It's easy to set up for any existing project or to create a new project, for example a blog. It's quite small, but at the same time very flexible.\n\nIf you want to see a site generated by ume, check out [the documentation](https://ume.dantenl.com).\n\n## Quickstart\n\nSimply download it from npm and it's ready in your project!\n\n```\nnpm install @dantenl/umejs\n```\n\nLet's set up a sample website for ume! Here's an example for your `main.js` file in Express:\n\n```js\n// main.js\nconst ume = require('@dantenl/umejs');\nconst express = require('express');\nconst path = require('path');\n\nconst app = express();\nconst PORT = 3000;\n\nconst blogMiddleware = ume({\n    contentDir: path.join(__dirname, 'content'), // where .md files live\n    templatePath: path.join(__dirname, 'templates', 'layout.ume.html'), // main layout\n    // there are more config options, check out the docs!\n});\n\n// initialise the middleware\napp.use('/*slug', blogMiddleware);\n\n// start the server\napp.listen(PORT, () => {\n    console.log(`Server running at http://localhost:${PORT}`);\n});\n```\n\nThis is all you ned for your main JS file! Now we need a simple template:\n\n```html\n<!-- templates/layout.ume.html -->\n<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <meta charset=\"UTF-8\" />\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n        <title>{title}</title>\n    </head>\n    <body>\n        {_BODY}\n    </body>\n</html>\n```\n\nNow we need to create a simple article!\n\n```\n---\n# content/example.md\ntitle: example!\ndate: 2026-06-29\n---\n\n# hey there!\n```\n\nAll you need to do now is start up your project and open your browser to `http://localhost:3000/hello` and your content should be visible!\n\nThis is just the tip of the iceberg though, ume is quite a lot more advanced than this! Including stuff like partials and custom variables!\n","readmeFilename":"README.md"}