{"id":15150854,"url":"https://github.com/jeffreymaomao/texfield","last_synced_at":"2026-01-19T23:02:07.348Z","repository":{"id":251742870,"uuid":"837923670","full_name":"Jeffreymaomao/TexField","owner":"Jeffreymaomao","description":" TexField, a web app / mac app to create and manage LaTeX notes on an infinite canvas.","archived":false,"fork":false,"pushed_at":"2025-04-07T06:28:13.000Z","size":35093,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T07:28:55.520Z","etag":null,"topics":["infinite-canvas","interactive-note","latex","latex-renderer","math-notes","mind-map","note-managment","web-application"],"latest_commit_sha":null,"homepage":"https://jeffreymaomao.github.io/TexField/","language":"JavaScript","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/Jeffreymaomao.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}},"created_at":"2024-08-04T12:59:14.000Z","updated_at":"2025-04-07T06:28:17.000Z","dependencies_parsed_at":"2025-01-28T09:36:52.343Z","dependency_job_id":null,"html_url":"https://github.com/Jeffreymaomao/TexField","commit_stats":{"total_commits":40,"total_committers":1,"mean_commits":40.0,"dds":0.0,"last_synced_commit":"646c33c4d43f348d0aac268b16a9f6ab0933118a"},"previous_names":["jeffreymaomao/texfield"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Jeffreymaomao/TexField","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeffreymaomao%2FTexField","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeffreymaomao%2FTexField/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeffreymaomao%2FTexField/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeffreymaomao%2FTexField/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jeffreymaomao","download_url":"https://codeload.github.com/Jeffreymaomao/TexField/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeffreymaomao%2FTexField/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28588968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T20:45:59.482Z","status":"ssl_error","status_checked_at":"2026-01-19T20:45:41.500Z","response_time":67,"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":["infinite-canvas","interactive-note","latex","latex-renderer","math-notes","mind-map","note-managment","web-application"],"created_at":"2024-09-26T14:43:12.442Z","updated_at":"2026-01-19T23:02:07.334Z","avatar_url":"https://github.com/Jeffreymaomao.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align='center'\u003e\n\u003ca href='https://jeffreymaomao.github.io/TexField/dist/'\u003e\n    \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./src/img/TexField.dark.png\"\u003e\n        \u003cimg alt=\"TexField Logo\" src=\"./src/img/TexField.light.png\" width='120'\u003e\n\t\u003c/picture\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003ch1 align='center'\u003eTexField\u003c/h1\u003e\n\u003c/p\u003e\n\n**TexField** is a web application designed for creating and managing LaTeX notes on an infinitely large canvas. By leveraging [KaTeX](https://katex.org/) for LaTeX rendering, TexField enables fast and efficient display of mathematical formulas directly in your browser.\n\n\n## Getting Started\n\n**TexField** is an online web application. To start using it, simply visit [![play](https://img.shields.io/badge/play-start-red.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEiIHdpZHRoPSI2MDAiIGhlaWdodD0iNjAwIj48cGF0aCBkPSJNMTI5IDExMWMtNTUgNC05MyA2Ni05MyA3OEwwIDM5OGMtMiA3MCAzNiA5MiA2OSA5MWgxYzc5IDAgODctNTcgMTMwLTEyOGgyMDFjNDMgNzEgNTAgMTI4IDEyOSAxMjhoMWMzMyAxIDcxLTIxIDY5LTkxbC0zNi0yMDljMC0xMi00MC03OC05OC03OGgtMTBjLTYzIDAtOTIgMzUtOTIgNDJIMjM2YzAtNy0yOS00Mi05Mi00MmgtMTV6IiBmaWxsPSIjZmZmIi8+PC9zdmc+)](https://jeffreymaomao.github.io/TexField/dist/)\n\n\u003cp align='center'\u003e\n    \u003cimg src='./assets/UI-main.png'\u003e\n\u003c/p\u003e\n\n## Usage / Shortcuts\n\n| MathEditor Action            |       Method (mac OS)        |               Method (Windows)               |\n| ---------------------------- | :--------------------------- | :------------------------------------------- |\n| Toggle Block Editing mode    | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e |        \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e        |\n| Create New Block             | \u003ckbd\u003ereturn\u003c/kbd\u003e |      \u003ckbd\u003eEnter\u003c/kbd\u003e      |\n| Delete Foucs Block           | \u003ckbd\u003edelete\u003c/kbd\u003e |    \u003ckbd\u003eBackspace\u003c/kbd\u003e    |\n| Move focus Up / Down | \u003ckbd\u003e↑\u003c/kbd\u003e or \u003ckbd\u003e↓\u003c/kbd\u003e | \u003ckbd\u003eUp Arrow\u003c/kbd\u003e or \u003ckbd\u003eDown Arrow\u003c/kbd\u003e |\n| Focus Block                  |            Click Block            |                    Click Block                    |\n\n| TexField Action     | Method (mac OS)                                         | Method (Windows)                                  |\n| ------------------- | :------------------------------------------------------ | :------------------------------------------------ |\n| Move Canvas         | Scroll Wheel / Drag Canvas                              | Scroll Wheel / Drag Canvas                        |\n| Add New Note        | Double Click                                            | Double Click                                      |\n| Add Path Link       | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + Drag Note       | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + Drag Note    |\n| Focus Note          | \u003ckbd\u003ecommand\u003c/kbd\u003e + Click Note                         | \u003ckbd\u003eCtrl\u003c/kbd\u003e + Click Note                      |\n| Focus Path          | Click Path                                              | Click Path                                        |\n| Move Note           | \u003ckbd\u003ecommand\u003c/kbd\u003e + Drag Note                          | \u003ckbd\u003eCtrl\u003c/kbd\u003e + Drag Note                       |\n| Center Note         | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eoption\u003c/kbd\u003e + \u003ckbd\u003e1~9\u003c/kbd\u003e | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eAlt\u003c/kbd\u003e + \u003ckbd\u003e1~9\u003c/kbd\u003e |\n| Delete Focused Note | Select Note ⇨ \u003ckbd\u003edelete\u003c/kbd\u003e                         | Select Note ⇨ \u003ckbd\u003eBackspace\u003c/kbd\u003e                |\n| Delete Focused Note | Select Path ⇨ \u003ckbd\u003edelete\u003c/kbd\u003e                         | Select Path ⇨ \u003ckbd\u003eBackspace\u003c/kbd\u003e                |\n\n| Global Action            | Method (mac OS)                                      | Method (Windows)                                  |\n| ------------------------ | ---------------------------------------------------- | ------------------------------------------------- |\n| Toggle Dark / Light mode | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eb\u003c/kbd\u003e                    | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eb\u003c/kbd\u003e                    |\n| Print PDF                | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003ep\u003c/kbd\u003e                    | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003ep\u003c/kbd\u003e                    |\n| Full Screen              | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003ef\u003c/kbd\u003e                    | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003ef\u003c/kbd\u003e                    |\n| Export JSON              | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003ee\u003c/kbd\u003e                    | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003ee\u003c/kbd\u003e                    |\n| Import JSON              | Drag and Drop file to Window                         | Drag and Drop file to Window                      |\n| Export LaTeX             | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003ee\u003c/kbd\u003e | \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003ee\u003c/kbd\u003e |\n\n## User Interface\n\n### Introduction about \"Note\", \"Block\" and \"Canvas\"\n\n\u003cp align='center'\u003e\n    \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/UI-block-intro-dark.png\"\u003e\n        \u003cimg alt=\"TexField Focusing\" src=\"./assets/UI-block-intro-light.png\" width='100%'\u003e\n\t\u003c/picture\u003e\n\u003c/p\u003e\n\nThe images above provide a simple introduction to the interface. The surrounding area is the Canvas, the center contains \"Note\", and within the notes ate editable regions for mathematical formulas called \"Block\". You can click on a block to focus on it.\n\n---\n\n\n### Toggling between \"Normal Mode\" and \"Edit Mode\"\n\n\u003cp align='center'\u003e\n    \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/UI-block-edit-dark.png\"\u003e\n        \u003cimg alt=\"TexField Editing\" src=\"./assets/UI-block-edit-light.png\" width='100%'\u003e\n\t\u003c/picture\u003e\n\u003c/p\u003e\nThe image above shows how to edit a \"Block\". After focusing on a \"Block\", you can press \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e (For Windows user, press \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e) to toggle between \"Normal Mode\" and \"Edit Mode\".\n\n---\n\n\n### Adding / Deleting \"Blocks\" \u0026 Draging \"Canvas\" and \"Note\"\n\n\u003cp align='center'\u003e\n    \u003cpicture align='left'\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/UI-block-add-delete-dark-opt.gif\"\u003e\n        \u003cimg alt=\"TexField Add / Delete Block\" src=\"./assets/UI-block-add-delete-light-opt.gif\" width=\"49%\"\u003e\n    \u003c/picture\u003e\n    \u003cpicture align='right'\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/UI-note-canvas-drag-dark-opt.gif\"\u003e\n        \u003cimg alt=\"TexField drag note \u0026 canvas\" src=\"./assets/UI-note-canvas-drag-light-opt.gif\" width=\"49%\"\u003e\n\t\u003c/picture\u003e\n\u003c/p\u003e\n\n- The left video shows how to add and delete \"Blocks\". After focusing on a \"Block\", press \u003ckbd\u003eenter\u003c/kbd\u003e (For Windows users, press \u003ckbd\u003eEnter\u003c/kbd\u003e) to add a new \"Block\" below the focused \"Block\". Press \u003ckbd\u003edelete\u003c/kbd\u003e (For Windows users, press \u003ckbd\u003eBackspace\u003c/kbd\u003e) to delete the focused \"Block\".\n- The right video shows how to move the entire \"Canvas\" and a single \"Note\". Dragging the \"Canvas\" directly will move the entire canvas. Press and hold \u003ckbd\u003ecommand\u003c/kbd\u003e (For Windows users, hold \u003ckbd\u003eCtrl\u003c/kbd\u003e), then click on a \"Note\" to focus on it and drag it to move the \"Note\" individually.\n\n\u003e [!Note]\n\u003e\n\u003e The video I present is the old version. Therefore, adding/deleting \"Block\" need to hold command/ctrl. However, in current version, you don't need to do that.\n\n---\n\n### Linking two \"Notes\" by a \"Path\"\n\n\u003cp align='center'\u003e\n    \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/UI-add-path-dark-opt.gif\"\u003e\n        \u003cimg alt=\"TexField Editing\" src=\"./assets/UI-add-path-light-opt.gif\" width='100%'\u003e\n\t\u003c/picture\u003e\n\u003c/p\u003e\n\nThe video above shows how to link two \"Notes\". Press and hold \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e and click-drag one of the \"Note\" to create a \"Path\", which is Bezier curve (For Windows user, hold \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eShift\u003c/kbd\u003e). Then, while holding the keys, release the click on the other \"Note\" to connect them with a \"Path\".\n\n---\n\n### Focus / Delete \"Note\" and \"Path\"\n\n\u003cp align='center'\u003e\n    \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/UI-note-path-delete-dark-opt.gif\"\u003e\n        \u003cimg alt=\"TexField Editing\" src=\"./assets/UI-note-path-delete-light-opt.gif\" width='100%'\u003e\n\t\u003c/picture\u003e\n\u003c/p\u003e\n\nThe video above shows how to delete \"Block\" and \"Path\". First, use \u003ckbd\u003ecommand\u003c/kbd\u003e + click (Windows users, \u003ckbd\u003eCtrl\u003c/kbd\u003e + click) to select a \"Note\", or directly click a \"Path\" to select it. Then press \u003ckbd\u003eDelete\u003c/kbd\u003e (Windows users, \u003ckbd\u003eBackspace\u003c/kbd\u003e) to delete the selected \"Note\" or \"Path\".\n\n\u003e [!CAUTION]\n\u003e Currently, operations on \"Notes\" or \"Paths\" do not have an undo feature.\n\u003e Therefore, deleting or moving \"Notes\" and \"Paths\" cannot be undone.\n\n## Features\n\n- **Infinite Canvas**: Interact with a canvas that expands indefinitely to manage and organize your LaTeX notes and diagrams.\n- **KaTeX Integration**: Utilize KaTeX for efficient and accurate LaTeX rendering, supporting a wide range of mathematical notation.\n\n## Technology Stack\n\n![JavaScript](https://img.shields.io/badge/JavaScript-gray?style=plastic\u0026logo=javascript) ![CSS](https://img.shields.io/badge/CSS-gray?style=plastic\u0026logo=css3\u0026logoColor=rgb(100,160,250)) ![HTML](https://img.shields.io/badge/HTML-gray?style=plastic\u0026logo=html5\u0026logoColor=rgb(250,150,100)) ![LaTeX](https://img.shields.io/badge/LaTeX-gray?style=plastic\u0026logo=LaTeX)\n\n## License\n\n**TexField** is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.\n\n## Contact\n\nFor any questions or feedback, feel free to reach out to us at [jeffrey0613mao@gmail.com](jeffrey0613mao@gmail.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffreymaomao%2Ftexfield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffreymaomao%2Ftexfield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffreymaomao%2Ftexfield/lists"}