{"id":18055749,"url":"https://github.com/marinerer/jotter","last_synced_at":"2025-04-11T02:01:53.353Z","repository":{"id":71370282,"uuid":"604654848","full_name":"Marinerer/jotter","owner":"Marinerer","description":"🚗 Developing some lightweight front-end libraries. 记录一些轻量级的前端库 (造轮子)。👉 主打 \"简洁、通用、无依赖\"。","archived":false,"fork":false,"pushed_at":"2025-03-15T13:17:04.000Z","size":451,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T13:17:33.437Z","etag":null,"topics":["drag","drag-and-drop","draw-text","event-emitter","task-scheduler","websocket","websocket-connection"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Marinerer.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-21T14:15:53.000Z","updated_at":"2025-03-15T13:17:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"f45e86d8-e056-4b75-9df3-00cc373bb494","html_url":"https://github.com/Marinerer/jotter","commit_stats":{"total_commits":180,"total_committers":2,"mean_commits":90.0,"dds":0.03888888888888886,"last_synced_commit":"1c61ced5bc7bdee7d5aa897ec84f9782e73da3ca"},"previous_names":["marinerer/jotter","meqn/jotter"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marinerer%2Fjotter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marinerer%2Fjotter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marinerer%2Fjotter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marinerer%2Fjotter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Marinerer","download_url":"https://codeload.github.com/Marinerer/jotter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245367380,"owners_count":20603677,"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":["drag","drag-and-drop","draw-text","event-emitter","task-scheduler","websocket","websocket-connection"],"created_at":"2024-10-31T01:11:50.262Z","updated_at":"2025-03-28T01:38:39.571Z","avatar_url":"https://github.com/Marinerer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jotter\n\n\u003e Developing some lightweight front-end libraries (build wheels). Mainly \"simple, generic, no dependencies\".\n\n记录一些轻量级的前端库 (造轮子)。👉 主打 \"简洁、通用、无依赖\"。\n\n全部来自工作中开发的源码，非常适合项目中实现一些简单功能。\n\n## 📦 Packages\n\n| Package                                                                             | Version                                                                                                                           | Description                                                                         |\n| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |\n| [kitify](https://github.com/Marinerer/kitify)                                       | [![version](https://img.shields.io/npm/v/kitify?style=flat-square)](https://www.npmjs.com/package/kitify)                         | A lightweight and easy-to-use utility library.                                      |\n| [@jotter/websocket](https://github.com/Marinerer/jotter/tree/main/libs/websocket)   | [![version](https://img.shields.io/npm/v/@jotter/websocket?style=flat-square)](https://www.npmjs.com/package/@jotter/websocket)   | Modern and useful WebSocket wrapper, with standard WebSocket API.                   |\n| [@jotter/animator](https://github.com/Marinerer/jotter/tree/main/libs/Animator)     | [![version](https://img.shields.io/npm/v/@jotter/animator?style=flat-square)](https://www.npmjs.com/package/@jotter/animator)     | Animator is an animation playback controller.                                       |\n| [@jotter/drag](https://github.com/Marinerer/jotter/tree/main/libs/Drag)             | [![version](https://img.shields.io/npm/v/@jotter/drag?style=flat-square)](https://www.npmjs.com/package/@jotter/drag)             | Lightweight \"drag-and-drop\" library of draggable elements within a specified range. |\n| [@jotter/idle-task](https://github.com/Marinerer/jotter/tree/main/libs/IdleTask)    | [![version](https://img.shields.io/npm/v/@jotter/idle-task?style=flat-square)](https://www.npmjs.com/package/@jotter/idle-task)   | A task scheduler based on browser idle time.                                        |\n| [canvas-draw-text](https://github.com/Marinerer/jotter/tree/main/libs/drawText)     | [![version](https://img.shields.io/npm/v/canvas-draw-text?style=flat-square)](https://www.npmjs.com/package/canvas-draw-text)     | A utility designed to simplify Canvas text rendering.                               |\n| [canvas-scrollbar](https://github.com/Marinerer/jotter/tree/main/libs/scrollbar)    | [![version](https://img.shields.io/npm/v/canvas-scrollbar?style=flat-square)](https://www.npmjs.com/package/canvas-scrollbar)     | A lightweight, customizable scrollbar implementation for HTML Canvas elements.      |\n| [dom-event-emit](https://github.com/Marinerer/jotter/tree/main/libs/domEmit)        | [![version](https://img.shields.io/npm/v/dom-event-emit?style=flat-square)](https://www.npmjs.com/package/dom-event-emit)         | A type-safe, flexible DOM event emitter for browser environments.                   |\n| [@jotter/emitter](https://github.com/Marinerer/jotter/tree/main/libs/emitter)       | [![version](https://img.shields.io/npm/v/@jotter/emitter?style=flat-square)](https://www.npmjs.com/package/@jotter/emitter)       | Simple and modern event emitter library.                                            |\n| [@jotter/dateformat](https://github.com/Marinerer/jotter/tree/main/libs/dateFormat) | [![version](https://img.shields.io/npm/v/@jotter/dateformat?style=flat-square)](https://www.npmjs.com/package/@jotter/dateformat) | A date/time formatting function.                                                    |\n| [@jotter/from-now](https://github.com/Marinerer/jotter/tree/main/libs/fromNow)      | [![version](https://img.shields.io/npm/v/@jotter/from-now?style=flat-square)](https://www.npmjs.com/package/@jotter/from-now)     | A relative time formatting functions.                                               |\n| [@jotter/position](https://github.com/Marinerer/jotter/tree/main/libs/position)     | [![version](https://img.shields.io/npm/v/@jotter/position?style=flat-square)](https://www.npmjs.com/package/@jotter/position)     | Positioning a DOM element relative to another DOM element.                          |\n\n### [@jotter/websocket](./libs/websocket/README.md)\n\n\u003e Modern and useful WebSocket API wrapper class with additional features such as auto-reconnect, message queuing and Keep-alive detection.\n\u003e\n\u003e 标准且实用的 WebSocket 包装器，具有标准 `WebSocket API`。支持心跳检测，异常消息处理和自动重连机制。\n\n- ⏰ With Standard WebSocket API\n- 🧬 Automatic Reconnection\n- 💓 Keep-alive (Ping) Support\n- 📮 Message Queuing\n- 🌐 Flexible Configuration\n\n### [@jotter/animator](./libs/Animator/README.md)\n\n\u003e A lightweight animation controller library for managing time-based animation progress.\n\u003e\n\u003e 一个轻量级的动画控制库，用于管理基于时间的动画进度。\n\n- ⏯ Pause/Resume support\n- 🔄 Loop animation support\n- 🚥 Progress Control\n- 🚌 Rate Control\n- ⏱ Forward/Backward control\n- 🎯 Custom Animation\n\n### [@jotter/drag](./libs/Drag/README.md)\n\n\u003e A lightweight, flexible `drag-and-drop` library for making DOM elements draggable with mouse and touch support.\n\u003e\n\u003e 一个轻量级的拖拽库，允许你快速而轻松地使DOM元素在指定区域内拖动。\n\n- 🎯 Directional constraints (horizontal/vertical/free)\n- 📱 Mouse and touch support\n- 🔒 Customizable drag boundaries\n- 🎨 Position or transform-based movement\n- 🎮 Custom drag handles\n- 📦 Zero dependencies\n\n### [canvas-draw-text](./libs/drawText/README.md)\n\n\u003e A utility designed to simplify Canvas text rendering that offers advanced features for text layout, styling, and management on HTML5 Canvas.\n\u003e\n\u003e 旨在简化 Canvas 文本渲染的实用工具函数，它为 HTML5 Canvas 上的文本布局、样式和管理提供高级功能。\n\n- ✂️ Automatic Text Wrapping\n- 📰 Text Alignment\n- 📊 Rich Text Styling\n- 🧮 Layout Control\n- 🗳️ Overflow Handling\n- 🌏 Detailed Return Data\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a [Pull Request](https://github.com/Marinerer/jotter/pulls).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarinerer%2Fjotter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarinerer%2Fjotter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarinerer%2Fjotter/lists"}