{"id":17793205,"url":"https://github.com/jcbhmr/ezmdpage","last_synced_at":"2026-04-02T00:34:26.242Z","repository":{"id":145777141,"uuid":"617601181","full_name":"jcbhmr/ezmdpage","owner":"jcbhmr","description":"📝 Write raw Markdown in .html files that gets auto-rendered on page load","archived":false,"fork":false,"pushed_at":"2024-09-27T04:39:21.000Z","size":2596,"stargazers_count":14,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-08T20:48:05.355Z","etag":null,"topics":["html","markdeep","markdown","md","offline-capable","plaintext","renderer"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"morgan3d/markdeep","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jcbhmr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-22T18:14:13.000Z","updated_at":"2024-05-23T20:44:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9c92f31-84b7-48f8-8033-78f245c5a2b5","html_url":"https://github.com/jcbhmr/ezmdpage","commit_stats":null,"previous_names":["togajam/ezmd","togajam/ezmdpage","jcbhmr/md-html"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/jcbhmr/ezmdpage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcbhmr%2Fezmdpage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcbhmr%2Fezmdpage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcbhmr%2Fezmdpage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcbhmr%2Fezmdpage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcbhmr","download_url":"https://codeload.github.com/jcbhmr/ezmdpage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcbhmr%2Fezmdpage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29892330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T09:48:51.284Z","status":"ssl_error","status_checked_at":"2026-02-27T09:48:43.992Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["html","markdeep","markdown","md","offline-capable","plaintext","renderer"],"created_at":"2024-10-27T11:05:15.158Z","updated_at":"2026-02-27T11:43:28.285Z","avatar_url":"https://github.com/jcbhmr.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy self-rendering Markdown pages\n\n📝 Write raw Markdown in `.html` files that gets auto-rendered everywhere \\\n💡 Inspired by [markdeep]\n\n\u003cdiv align=\"center\"\u003e\n\n![](https://github.com/togajam/ezmdpage/assets/61068799/6272eb94-1b39-4e5b-9bea-9257b2e2c4b9)\n\n\u003c!-- prettier-ignore --\u003e\n[Test page](https://jcbhmr.me/ezmdpage/)\n| [ezmdpage \u0026 Alpine.js](https://jcbhmr.me/ezmdpage/alpinejs.html)\n| [ezmdpage \u0026 Vue.js](https://jcbhmr.me/ezmdpage/vuejs.html)\n\n\u003c/div\u003e\n\n📂 Works with `file:///document.html` documents \\\n📜 Failsafe text fallback when JavaScript is disabled \\\n🎨 Styled using GitHub's Markdown CSS \\\n🏝️ Works offline!\n\n## Installation\n\n![unpkg.com](https://img.shields.io/static/v1?style=for-the-badge\u0026message=unpkg.com\u0026color=EFEFEF\u0026logo=Udemy\u0026logoColor=8B4513\u0026label=)\n![jsDelivr](https://img.shields.io/static/v1?style=for-the-badge\u0026message=jsDelivr\u0026color=E84D3D\u0026logo=jsDelivr\u0026logoColor=FFFFFF\u0026label=)\n\nYou can \u003ckbd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eS\u003c/kbd\u003e\u003c/kbd\u003e [the `ezmdpage.min.js` file] to\ndownload it and load it locally (for offline use) or use an npm CDN like\n[unpkg.com] or [jsDelivr] to load it from the web:\n\n\u003c!-- prettier-ignore --\u003e\n```html\n\u003cscript src=\"ezmdpage.min.js\"\u003e\u003c/script\u003e\u003cplaintext /\u003e\n\u003cscript src=\"https://unpkg.com/ezmdpage@2\"\u003e\u003c/script\u003e\u003cplaintext /\u003e\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/ezmdpage@2\"\u003e\u003c/script\u003e\u003cplaintext /\u003e\n```\n\n\u003cdetails\u003e\u003csummary\u003e💡 You may also configure your formatter \u0026 editor\u003c/summary\u003e\n\nTo get the best editing experience, you can configure Prettier or your other\nfavorite formatter to use its Markdown parser/beautifier on `.html` files.\n\n```jsonc\n// package.json\n{\n  \"prettier\": {\n    \"overrides\": [\n      {\n        \"files\": [\"*.html\"],\n        \"options\": {\n          \"parser\": \"markdown\"\n        }\n      }\n    ]\n  }\n}\n```\n\n💡 You can also use a custom suffix like `.md.html` or something if you have\nother non-ezmdpage HTML content in your workspace too.\n\n⚛️ To get proper syntax highlighting in VS Code, you'll need to configure it to\nuse its Markdown mode for `.html` files. You can do this by adding this to your\n`.vscode/settings.json` file:\n\n```jsonc\n{\n  \"files.associations\": {\n    \"*.html\": \"markdown\"\n  }\n}\n```\n\n\u003c/details\u003e\n\n⚠️ This project is intended to be used on a plain HTML page. It may not work\nwith other non-Markdown content on the page.\n\n## Usage\n\n![Markdown](https://img.shields.io/static/v1?style=for-the-badge\u0026message=Markdown\u0026color=000000\u0026logo=Markdown\u0026logoColor=FFFFFF\u0026label=)\n![Browser](https://img.shields.io/static/v1?style=for-the-badge\u0026message=Browser\u0026color=4285F4\u0026logo=Google+Chrome\u0026logoColor=FFFFFF\u0026label=)\n\nAfter adding the magic `\u003cscript\u003e` to your `.md.html` file, you can get started\nediting your document in ernest! You can use any relgular old text editor to\ncompose your markdown; even Windows Notepad works great! ezmdpage even works\nwith local `file:` URLs: you can just email or share a plain `.html` file with\nsomeone, and they will be able to open and view it.\n\n````md\n\u003cscript src=\"https://unpkg.com/ezmdpage@2\"\u003e\u003c/script\u003e\u003cplaintext /\u003e\n\n# Hello world!\n\nThis is my **Markdown document**! There's some \u003cmark\u003eHTML\u003c/mark\u003e elements in\nhere \u003cu\u003etoo\u003c/u\u003e since Markdown supports _inline HTML_.\n\n| Look at this cool 😎 GFM table! | Wow!                |\n| ------------------------------- | ------------------- |\n| We can even do math!            | $ax^2 + bx + c = 0$ |\n\n```js\nconsole.log(\"Code highlighting works too!\");\n```\n\n\u003e All other Markdown features work as expected.\n\n\u003cscript\u003e\n  // You can even use \u003cscript\u003e tags! There's NO SAFETY FILTER for HTML elements.\n  const html = `\u003cp\u003eIt's ${new Date().toLocaleTimeString()}!\u003c/p\u003e`;\n  document.body.append(document.createRange().createContextualFragment(html));\n\u003c/script\u003e\n````\n\n🤩 For more cool examples like using [Alpine.js with ezmdpage], check out [the\nGitHub Pages site] which hosts the `test/` folder demos!\n\n## Development\n\n![JavaScript](https://img.shields.io/static/v1?style=for-the-badge\u0026message=JavaScript\u0026color=222222\u0026logo=JavaScript\u0026logoColor=F7DF1E\u0026label=)\n![CSS](https://img.shields.io/static/v1?style=for-the-badge\u0026message=CSS\u0026color=1572B6\u0026logo=CSS3\u0026logoColor=FFFFFF\u0026label=)\n![Vite](https://img.shields.io/static/v1?style=for-the-badge\u0026message=Vite\u0026color=646CFF\u0026logo=Vite\u0026logoColor=FFFFFF\u0026label=)\n\nThis project uses [Vite] to create a IIFE bundle of all the CSS and JavaScript\nthat gets injected into the page. It's basically just [Marked] \u0026 [HighlightJS].\nWe use [vite-plugin-css-injected-by-js] to inline the CSS into the JavaScript\nbundle.\n\nℹ Note that we use the `main` field in `package.json` and not the new `exports`\nfield. This is because [unpkg.com] doesn't support the new `exports` field. See\n[mjackson/unpkg#265]. unpkg.com is the most popular CDN for non-ESM npm\npackages, so it makes sense to bend over backwards to support it.\n\n\u003c!-- prettier-ignore-start --\u003e\n[markdeep]: https://casual-effects.com/markdeep/\n[marked]: https://marked.js.org/\n[highlightjs]: https://highlightjs.org/\n[mjackson/unpkg#265]: https://github.com/mjackson/unpkg/issues/265\n[vite]: https://vitejs.dev/\n[unpkg.com]: https://unpkg.com/\n[jsdelivr]: https://www.jsdelivr.com/\n[vite-plugin-css-injected-by-js]: https://github.com/marco-prontera/vite-plugin-css-injected-by-js#readme\n[alpine.js with ezmdpage]: https://togajam.github.io/ezmdpage/alpinejs.html\n[the github pages site]: https://togajam.github.io/ezmdpage/\n[the `ezmdpage.min.js` file]: https://togajam.github.io/ezmdpage/ezmdpage.min.js\n\u003c!-- prettier-ignore-end --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcbhmr%2Fezmdpage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcbhmr%2Fezmdpage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcbhmr%2Fezmdpage/lists"}