{"id":15130827,"url":"https://github.com/frabjous/multiedit","last_synced_at":"2026-02-24T09:34:13.570Z","repository":{"id":257176944,"uuid":"857534839","full_name":"frabjous/multiedit","owner":"frabjous","description":"Javascript for creating simple multi-modal web editors that allow switching between WYSIWYG, markdown and HTML source editing modes.","archived":false,"fork":false,"pushed_at":"2025-05-12T16:37:46.000Z","size":533,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-07T07:03:34.974Z","etag":null,"topics":["html-source","markdown","wysiwyg-editor","wysiwyg-html-editor"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frabjous.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-14T22:42:24.000Z","updated_at":"2025-05-12T16:37:49.000Z","dependencies_parsed_at":"2025-02-11T18:56:58.945Z","dependency_job_id":"aca2ad41-7c88-47a0-8e72-02b10b216f4d","html_url":"https://github.com/frabjous/multiedit","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"d496905e60d5db642ceb9cfef03f6385f1e2c9f7"},"previous_names":["frabjous/multiedit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/frabjous/multiedit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frabjous%2Fmultiedit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frabjous%2Fmultiedit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frabjous%2Fmultiedit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frabjous%2Fmultiedit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frabjous","download_url":"https://codeload.github.com/frabjous/multiedit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frabjous%2Fmultiedit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29777905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"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-source","markdown","wysiwyg-editor","wysiwyg-html-editor"],"created_at":"2024-09-26T03:06:58.442Z","updated_at":"2026-02-24T09:34:13.424Z","avatar_url":"https://github.com/frabjous.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# multiedit\n\nJavascript module for creating simple multi-modal web editors that allow switching between WYSIWYG, markdown and HTML source editing modes.\n\nBased on [ProseMirror](https://prosemirror.net/) and [CodeMirror](https://codemirror.net/).\n\n## Installing\n\nClone this repository into a subdirectory of your webserver’s document root. E.g.,\n\n```sh\ncd /var/www/\ngit clone --depth 1 https://github.com/frabjous/multiedit.git\n```\n\nUse npm to install the dependencies, and create a browser-loadable bundle.\n\n```sh\ncd multiedit\nnpm install\nnpm run build\n```\n\nThe last command should create a file `multieditor.mjs`.\n\nLoad the `multieditor.mjs` script in your document through a module script tag, and create an editor using the `multieditor(..)` function.\n\n```html\n\u003cscript type=\"module\"\u003e\nimport multieditor from \"./multiedit/multieditor.mjs\";\nconst me = multieditor({\n    parent: document.body,\n    mode: 'wysiwyg',\n    content: '\u003cp\u003e\u003c/p\u003e'\n});\n\u003c/script\u003e\n```\n\nThe `parent` argument can either be a DOM element, or, if a string is passed instead, an id of a DOM element. The editor will be placed inside this element.\n\nThe `mode` argument determines what mode the editor starts in, and should be one of `'wysiwyg'` for the ProseMirror WYSIWYG editing mode, `'md'` for the Markdown editing mode, or `'html'` for the HTML source editing mode.\n\nThe `content` argument determines the initial content of the editor, and should consist of HTML if either the `'wysiwyg'` or `'html'` editing modes are used at the start, or of markdown if the `'md'` mode is used at the start.\n\nThe modes can be switched between each other using the radio buttons at the bottom.\n\nThe current state and contents of the editor can be determined with the `gatherinfo()` method.\n\n```javascript\nconst info = me.gatherinfo();\n```\n\nThis returns an object with three properties:\n\n```json\n{\n    \"mode\": \"⟨current mode: 'wysiwyg'|'md'|'html'⟩\",\n    \"content\": \"⟨editor content, either html or md depending on mode⟩\",\n    \"html\": \"⟨the markdown converted to html in md mode⟩\"\n}\n```\n\nNote also that when the script is loaded it also assigns the `multieditor(..)` function to the global `window` object as well, so it can be called outside of a module so long as the module is already loaded.\n\n## License\n\nLICENSE: GNU GPL v3 or later. You should have received a copy of the GNU General\nPublic License along with this program. If not, see\n\u003chttps://www.gnu.org/licenses/gpl-3.0.html\u003e.\n\n© 2024 Kevin C. Klement. \u003cklement@umass.edu\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrabjous%2Fmultiedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrabjous%2Fmultiedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrabjous%2Fmultiedit/lists"}