{"id":13457552,"url":"https://github.com/Hufe921/canvas-editor","last_synced_at":"2025-03-24T14:32:07.785Z","repository":{"id":37802152,"uuid":"427384949","full_name":"Hufe921/canvas-editor","owner":"Hufe921","description":"rich text editor by canvas/svg","archived":false,"fork":false,"pushed_at":"2025-03-17T13:24:42.000Z","size":42775,"stargazers_count":4024,"open_issues_count":65,"forks_count":613,"subscribers_count":63,"default_branch":"main","last_synced_at":"2025-03-19T20:31:17.692Z","etag":null,"topics":["ai","browser","canvas","canvas-editor","control","date-picker","editor","emr","latex","pdf","pdf-generation","rich-text","svg","typescript","vite","word","wysiwyg"],"latest_commit_sha":null,"homepage":"https://hufe.club/canvas-editor-docs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hufe921.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"Hufe921","custom":"https://hufe.club/donate.jpg"}},"created_at":"2021-11-12T14:18:16.000Z","updated_at":"2025-03-19T08:30:29.000Z","dependencies_parsed_at":"2024-02-04T17:32:34.314Z","dependency_job_id":"e463978f-3bbc-4c28-bb77-24d54a822d40","html_url":"https://github.com/Hufe921/canvas-editor","commit_stats":{"total_commits":999,"total_committers":24,"mean_commits":41.625,"dds":"0.048048048048048075","last_synced_commit":"9880deb116e0b135556592b124dc95861fc2b0b6"},"previous_names":[],"tags_count":107,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hufe921%2Fcanvas-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hufe921%2Fcanvas-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hufe921%2Fcanvas-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hufe921%2Fcanvas-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hufe921","download_url":"https://codeload.github.com/Hufe921/canvas-editor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245289603,"owners_count":20591100,"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":["ai","browser","canvas","canvas-editor","control","date-picker","editor","emr","latex","pdf","pdf-generation","rich-text","svg","typescript","vite","word","wysiwyg"],"created_at":"2024-07-31T09:00:29.569Z","updated_at":"2025-03-24T14:32:07.778Z","avatar_url":"https://github.com/Hufe921.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Hufe921","https://hufe.club/donate.jpg"],"categories":["TypeScript","Rich text editor"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ecanvas-editor\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.npmjs.com/package/@hufe921/canvas-editor\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@hufe921/canvas-editor.svg?sanitize=true\" alt=\"Version\"\u003e\u003c/a\u003e\n \u003ca href=\"https://github.com/hufe921/canvas-editor/actions\" target=\"_blank\"\u003e\n  \u003cimg alt=\"Cypress Passing\" src=\"https://github.com/hufe921/canvas-editor/workflows/cypress/badge.svg\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/hufe921/canvas-editor/graphs/contributors\" target=\"_blank\"\u003e\n  \u003cimg alt=\"GitHub Contributors\" src=\"https://img.shields.io/github/contributors/hufe921/canvas-editor\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/@hufe921/canvas-editor\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/npm/l/@hufe921/canvas-editor.svg?sanitize=true\" alt=\"License\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Hufe921/canvas-editor/issues/new/choose\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e a rich text editor by canvas/svg\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://hufe.club/canvas-editor\" target=\"_blank\"\u003eView Demo\u003c/a\u003e\n  ·\n  \u003ca href=\"https://hufe.club/canvas-editor-docs\" target=\"_blank\"\u003eView Docs\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/Hufe921/canvas-editor/issues/new?assignees=\u0026labels=\u0026projects=\u0026template=bug_report.yml\" target=\"_blank\"\u003eReport Bug\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/Hufe921/canvas-editor/issues/new?assignees=\u0026labels=%3Asparkles%3A+feature+request\u0026projects=\u0026template=feature_request.yml\" target=\"_blank\"\u003eRequest Feature\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/Hufe921/canvas-editor/discussions\" target=\"_blank\"\u003eFAQ\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eLove the project? Please consider \u003ca href=\"https://hufe.club/donate.jpg\" target=\"_blank\"\u003edonating\u003c/a\u003e to help it improve!\u003c/p\u003e\n\n## Tips\n\n1. Official plugin: [canvas-editor-plugin](https://github.com/Hufe921/canvas-editor-plugin)\n2. The render layer by svg is under development, see [feature/svg](https://github.com/Hufe921/canvas-editor/tree/feature/svg)\n3. The export pdf feature is available now, see [feature/pdf](https://github.com/Hufe921/canvas-editor/tree/feature/pdf)\n4. The AI-powered text processing demo, see [feature/ai](https://github.com/Hufe921/canvas-editor/tree/feature/ai)\n\n## Basic usage\n\n```bash\nnpm i @hufe921/canvas-editor --save\n```\n\n```html\n\u003cdiv class=\"canvas-editor\"\u003e\u003c/div\u003e\n```\n\n```javascript\nimport Editor from '@hufe921/canvas-editor'\n\nnew Editor(document.querySelector('.canvas-editor'), {\n  main: [\n    {\n      value: 'Hello World'\n    }\n  ]\n})\n```\n\n## Features\n\n- Rich text operations (Undo, Redo, Font, Size, Bold, Italic, Underline, Strikeout, Superscript, Alignment, Title, List, ...)\n- Insert elements (Table, Image, Link, Code Block, Page Break, Math Formula, Date Picker, Block, ...)\n- Print (Based on canvas to picture, pdf drawing)\n- Controls (Select, Text, Date, Radio, Checkbox)\n- Contextmenu (Internal, Custom)\n- Shortcut keys (Internal, Custom)\n- Drag and Drop(Text, Element, Control)\n- Header, Footer, Page Number\n- Page Margin\n- Watermark\n- Pagination\n- Comment\n- Catalog\n\n## Roadmap\n\n1. Table paging\n2. Control rules\n3. Improve performance\n4. [CRDT](https://github.com/Hufe921/canvas-editor/tree/feature/CRDT)\n\n## Snapshot\n\n![image](https://github.com/Hufe921/canvas-editor/blob/main/src/assets/snapshots/main_v0.9.35.png)\n\n## Install\n\n`yarn`\n\n## Dev\n\n`npm run dev`\n\n## Build\n\n#### app\n\n`npm run build`\n\n#### lib\n\n`npm run lib`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHufe921%2Fcanvas-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHufe921%2Fcanvas-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHufe921%2Fcanvas-editor/lists"}