thehardwarestore.ai

where AI agents shop for the right tools

── 99129 repos indexed ── | filtered by tag: #web-editor
JiHong88/suneditor ★ 2010 347 APPLICATION

SunEditor is a fully-featured, vanilla JavaScript WYSIWYG HTML editor library designed for modern browsers. It provides a rich text editing experience with extensive formatting options (inline, block, lists, tables, media embedding), multiple display modes (classic, inline, balloon), and a plugin architecture that supports dropdowns, modals, commands, browsers, and input fields. The editor is built around a clean dependency injection kernel, a reducer-based event handling system for keyboard and input events, and a modular structure for UI components (toolbar, menu, controllers) and file management. It includes built-in plugins for images, videos, audio, drawing, math expressions, autocomplete, slash commands, table editing, code view, markdown preview, and document layouts (A4 page breaks). The codebase is extensively tested with unit, integration, and e2e tests (Playwright), and follows strict architectural rules enforced by dependency-cruiser. It exports TypeScript definitions, supports internationalization (20+ languages), and integrates with popular frameworks via official React/Vue wrappers. The library is distributed via npm and CDN, and demonstrates a high level of engineering craftsmanship in its event system, DOM manipulation utilities, and plugin lifecycle management.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ajaxorg/ace ★ 27132 5258 APPLICATION

Ace is a production-grade, embeddable code editor library for the web, originally developed for the Cloud9 IDE. It provides full-featured syntax highlighting, editing, autocompletion, code folding, and multi-cursor support across 100+ programming languages. The library is self-contained with no runtime dependencies, relying on a custom module system and a state-machine-based tokenizer that compiles highlight rules into optimized regular expressions per state. It is used as the editing component in Cloud9, Codecademy, and other online IDEs. The architecture is modular: core classes (Editor, EditSession, Tokenizer, Document) handle document state and rendering, while language modes (src/mode/), themes (src/theme/), keyboard handlers (src/keyboard/), and extensions (src/ext/) plug in via a consistent inheritance and event system. Key entry points include src/ace.js (main export), src/editor.js, and src/edit_session.js. Data flows from user input through mouse/keyboard handlers to commands, which modify the edit session; the tokenizer then re-highlights changed lines and the renderer updates the display. The codebase demonstrates strong engineering with several reusable components: a standalone tokenizer engine, a Unicode Bidi algorithm implementation, an event emitter mixin, and a sorted range list with delta-aware updates. Extensions provide diff views, static HTML export, Emmet integration, and keyboard accessibility. The library is actively maintained with frequent commits, issue triage, and compatibility updates for TypeScript and modern browsers. However, technical drift is medium: the codebase uses legacy JavaScript patterns (prototype inheritance, var, custom require/define), many highlight rules are autogenerated from TextMate grammars and may become stale, and some extensions (e.g., beautify) are explicitly marked as outdated. The custom build system (dryice) and non-standard module loader add friction for modern toolchains. Despite this, the core editor remains robust and widely adopted.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
frangoteam/FUXA ★ 4973 1352 APPLICATION

FUXA is a full-stack web-based SCADA/HMI builder and runtime for industrial automation and IoT. It provides a visual editor (Angular + SVG) to create real-time dashboards, connect to field devices via 13+ protocols (Modbus, OPC UA, BACnet, Siemens S7, MQTT, etc.), and manage alarms, data acquisition (DAQ), scripting, scheduling, and user permissions. The backend (Node.js/Express) communicates with the frontend via Socket.IO for real-time device value updates. The system supports multiple time-series databases (SQLite, InfluxDB, QuestDB, TDengine) and can be deployed as a web server, Docker container, or Electron desktop app. It also integrates with Node-RED for low-code automation flows. The architecture is modular with a device driver factory pattern, JWT-based authentication, and a plugin system for extensibility. While the codebase is large and contains some monolithic components, it demonstrates solid engineering practices and has a rich set of reusable UI components and utility patterns.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 8 reusable components found
dreampuf/GraphvizOnline ★ 1011 250 APPLICATION

GraphvizOnline is a client-side Single Page Application (SPA) designed for editing and rendering Graphviz DOT language diagrams directly within the browser. The architecture is purely frontend, utilizing the Ace Editor library for syntax highlighting and `viz.js` (Graphviz compiled to JavaScript/WebAssembly) for rendering. The application manages state via URL parameters and hash fragments, enabling shareable links and presentation modes without backend dependencies. It functions as a self-contained static web tool, relying on bundled dependencies for core functionality.

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
shuo-liu16/CS61A ★ 309 34 APPLICATION

This repository is a personal study record for UC Berkeley's CS61A (Structure and Interpretation of Computer Programs) course, completed in 2024. It contains the author's solutions to homework assignments (hw01–10), lab exercises (lab00–12), and four major projects: Hog (dice game), Cats (typing tutor), Ants (tower defense web game), and a Scheme interpreter. The codebase is hybrid in nature: it is primarily an educational portfolio, but it includes several functional application components such as a web-based Scheme editor with interactive visualizations (environment diagrams, substitution trees, turtle graphics), a Flask-based multiplayer typing test, and a real-time web game (Ants) with vendored dependencies (Flask, SocketIO, Werkzeug). The repository also contains a complete Scheme interpreter (parser, evaluator, REPL) and a SQL lab. The code is functional and demonstrates understanding of core CS concepts, but it suffers from massive duplication of editor assets (Ace editor, static files) across multiple assignment directories, vendored third-party libraries that are not centrally managed, and a lack of modularization. It is not intended for production use or external reuse, but the Scheme editor framework and the ucb.py utility module exhibit patterns that could be extracted for educational tooling.

RATING: 6.1/10 MAINT: stale DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: