{"id":23086968,"url":"https://github.com/chaseottofy/react-lite-markdown","last_synced_at":"2026-05-09T15:05:09.123Z","repository":{"id":94404297,"uuid":"607002025","full_name":"chaseottofy/react-lite-markdown","owner":"chaseottofy","description":"custom markdown parser/editor with real-time preview. Built with react - avoids dangerousHTML","archived":false,"fork":false,"pushed_at":"2023-03-13T18:54:03.000Z","size":644,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T05:16:50.228Z","etag":null,"topics":["content-editor","javascript","markdown","markdown-editor","markdown-parser","react","react-editor","react-markdown","react-markdown-editor"],"latest_commit_sha":null,"homepage":"https://chaseottofy.github.io/react-lite-markdown/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chaseottofy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-02-27T05:17:12.000Z","updated_at":"2023-03-03T02:32:21.000Z","dependencies_parsed_at":"2023-05-17T20:45:30.375Z","dependency_job_id":null,"html_url":"https://github.com/chaseottofy/react-lite-markdown","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseottofy%2Freact-lite-markdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseottofy%2Freact-lite-markdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseottofy%2Freact-lite-markdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaseottofy%2Freact-lite-markdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chaseottofy","download_url":"https://codeload.github.com/chaseottofy/react-lite-markdown/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247036150,"owners_count":20872906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["content-editor","javascript","markdown","markdown-editor","markdown-parser","react","react-editor","react-markdown","react-markdown-editor"],"created_at":"2024-12-16T19:39:53.781Z","updated_at":"2026-05-09T15:05:04.078Z","avatar_url":"https://github.com/chaseottofy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# markdown lite\n\n![screen](./screen_mark.png)\n\n## features\n\n- Lighthouse: 100, 100, 100, 100\n  - all themes adhere to contrast guidelines.\n  - passes all accessibility checks.\n  - tiny 50kb build.\n  - avoids dangerouslySetInnerHTML.\n- editor with real-time preview.\n- preview scrolls with editor.\n- switch between column/row layout.\n- resize column/row layout.\n- custom dynamic number line system.\n- real-time file size.\n- real-time word and line count.\n- local storage.\n- save and upload files.\n- copy to clipboard.\n\n### about\n\nWhat separates this from many other react markdown editors is the avoidance of dangerouslySetInnerHTML and the ability to resize the editor/preview panels. It also incorporates a dynamic numbered line system (similar to notepad++), along with three contrast-accessible themes, local storage, and a file upload/download system.\n\nNote that this is not traditional markdown. I've kept things limited to purely what I find useful/use most of the time.\n\nMarkdown expressions are rendered/represented as react elements. Aside from avoiding potential security risks, delivering content through an actual react element raises performance significantly. Using setDangerousHtml \u0026 then performing HTML sanitation goes against every core principle of react's reconciliation process.\n\n## commands\n\n```javascript\n#                H1\n##               H2\n###              H3\n*text*           bold\n[link](url)      link\n{url}            image\n\u003ccode\u003e\u003c/code\u003e    codeblock\n\u003e                blockquote\n- unordered      list\n___              linebreak\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaseottofy%2Freact-lite-markdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaseottofy%2Freact-lite-markdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaseottofy%2Freact-lite-markdown/lists"}