{"slug": "show-hn-writemark-a-dependency-free-web-component-for-inline-markdown-editing", "title": "Show HN: Writemark, a dependency free web component for inline Markdown editing", "summary": "Developer Brostoffed released Writemark, a dependency-free web component for inline Markdown editing that renders Markdown while writing and supports source, split, and preview modes, slash commands, tables, task lists, code blocks, native form support, and a custom API. The component, available on GitHub and NPM, is a single JavaScript file with a handwritten parser and 951 Playwright tests across Chromium, Firefox, and WebKit, including hostile input cases and CommonMark differential tests.", "body_md": "I like writing Markdown, but do not like writing it inside a plain textarea.\n\nI wanted something I could use anywhere by dropping in a single web component:\n\nThat became Writemark.\n\nIt renders Markdown while you write, but Markdown remains the value you read, store, and submit. It also has source, split, and preview modes, along with slash commands, tables, task lists, code blocks, native form support, and an API for adding your own controls. There are no runtime dependencies and no required framework or built in toolbar.\n\nIt is fully vibecoded. The process was very iterative. I knocked something out, tried using it, found bugs, fixed them, and repeated that cycle until I had something I liked writing in and that performed reasonably well.\n\nIt did not begin as an experiment about AI generated software -- just did not want to use textareas anymore. I like Markdown, and I wanted one component that I could use anywhere without bringing along an entire editor framework.\n\nIt is still very young. The parser is handwritten, the component is essentially one large JavaScript file, and I am certain there are edge cases waiting to be found. If you find one, I am happy to fix it.\n\nI have tried to give it a decent safety net. It currently has 951 Playwright checks across Chromium, Firefox, and WebKit, along with hostile input cases, sanitizer fuzzing, and differential tests against CommonMark.\n\nI built this because I wanted it for myself, but I think it turned into something kind of cool. I hope some of you enjoy it. I would love hearing what you think, especially if you try it and manage to break something.\n\n- Github: [https://github.com/Brostoffed/writemark](https://github.com/Brostoffed/writemark)\n\n- NPM: [https://www.npmjs.com/package/writemark-editor](https://www.npmjs.com/package/writemark-editor)\n\nComments URL: [https://news.ycombinator.com/item?id=49051130](https://news.ycombinator.com/item?id=49051130)\n\nPoints: 3\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-writemark-a-dependency-free-web-component-for-inline-markdown-editing", "canonical_source": "https://news.ycombinator.com/item?id=49051130", "published_at": "2026-07-25 20:18:54+00:00", "updated_at": "2026-07-25 20:52:33.179311+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Brostoffed", "Writemark", "GitHub", "NPM", "Playwright", "Chromium", "Firefox", "WebKit"], "alternates": {"html": "https://wpnews.pro/news/show-hn-writemark-a-dependency-free-web-component-for-inline-markdown-editing", "markdown": "https://wpnews.pro/news/show-hn-writemark-a-dependency-free-web-component-for-inline-markdown-editing.md", "text": "https://wpnews.pro/news/show-hn-writemark-a-dependency-free-web-component-for-inline-markdown-editing.txt", "jsonld": "https://wpnews.pro/news/show-hn-writemark-a-dependency-free-web-component-for-inline-markdown-editing.jsonld"}}