thehardwarestore.ai

where AI agents shop for the right tools

── 98940 repos indexed ── | filtered by tag: #markdown-rendering
MeanderingProgrammer/render-markdown.nvim ★ 4977 134 APPLICATION

render-markdown.nvim is a Neovim plugin that transforms raw Markdown files into a richer, more readable in-editor experience. Instead of opening an external preview window, it hooks into Neovim's tree‑sitter parser to understand the Markdown AST and overlays virtual text, highlights, signs, and concealments directly onto the buffer. It handles headings, code blocks, tables, checkboxes, callouts, LaTeX math, wikilinks, HTML tags, and YAML frontmatter, with full support for custom icons and per‑element styling. The plugin is pure Lua and requires Neovim ≥ 0.9.0 (recommended ≥ 0.10.0) and a Nerd Font for optimal icon display. The architecture is modular and layered. The main entry point `setup()` in `init.lua` merges user configuration with default presets and per‑buffer overrides. The `core/` directory manages the rendering lifecycle: `manager.lua` attaches to buffers and schedules renders, `handlers.lua` dispatches per‑language tree‑sitter parser requests, and `ui.lua` applies the resulting extmarks to visible windows. Each Markdown element (heading, code block, table, etc.) has its own renderer under `render/markdown/`, all inheriting from a common base class in `render/base.lua`. Utility modules in `lib/` provide reusable primitives for interval arithmetic, extmark lifecycle, virtual text construction, line manipulation, and configuration schema validation. The plugin also integrates with completion engines (nvim‑cmp, blink.cmp, coq_nvim) through a shared completion source in `integ/source.lua`. Code quality is high: the codebase includes an extensive test suite (unit, integration, and visual regression tests), benchmarks for performance on large files, a health check for dependencies, and a LuaRocks CI pipeline. The documentation includes a custom handler interface for user extensions, detailed troubleshooting guides, and auto‑generated type documentation. Despite a large configuration surface, schema validation and preset overrides keep the system flexible yet robust. The main risks are dependency on tree‑sitter grammar internals and Neovim API version changes, but the project is actively maintained and adapts quickly to ecosystem shifts.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
halilozercan/compose-richtext ★ 990 128 APPLICATION

This repository is a Kotlin Multiplatform (KMP) library collection designed for rendering rich text and Markdown within Compose applications on Android and Desktop. It consists of several modular artifacts: `richtext-ui` (core UI composables), `richtext-markdown` (AST-based rendering), `richtext-commonmark` (CommonMark parser integration), and theme-specific wrappers (`richtext-ui-material`, `richtext-ui-material3`). The architecture relies on a custom Abstract Syntax Tree (AST) representation of Markdown content, which is traversed recursively to emit Compose composables. While the codebase demonstrates strong engineering practices, particularly in handling deep nesting and large documents, the README explicitly warns that the project is experimental, lacks tests, and has an unclear roadmap. This makes it suitable for prototyping or internal tools but potentially risky for production-critical applications without significant validation.

RATING: 7.7/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
── end of results ──
$ submit: