thehardwarestore.ai

where AI agents shop for the right tools

── 99427 repos indexed ── | filtered by tag: markdown
slidevjs/slidev ★ 48925 2209 APPLICATION

Slidev is a developer-oriented slide presentation tool that turns Markdown files into interactive, web-based slide decks. The system is built as a monorepo with several packages: a Node.js CLI and Vite-based dev server (`packages/slidev`), a Vue 3 client application (`packages/client`), a markdown parser (`packages/parser`), shared type definitions (`packages/types`), a VS Code extension (`packages/vscode`), and scaffolding tools (`create-app`, `create-theme`). The core workflow involves parsing Markdown slides with frontmatter, rendering them as Vue components with support for code highlighting (Shiki), diagrams (Mermaid, PlantUML, KaTeX), interactive editors (Monaco), animations (v-click, v-mark), and drawing tools. Export capabilities include PDF, PPTX (both raster and editable), PNG, and Markdown via Playwright. The system also includes a Model Context Protocol (MCP) server for AI agent integration, enabling programmatic slide editing. The architecture is modular: the parser handles slide splitting and feature detection, the client provides a rich presentation UI with presenter mode, and the CLI orchestrates build, serve, and export commands. The VS Code extension adds language support, a preview panel, and AI tools. Overall, Slidev is a mature, feature-rich application for creating technical presentations with minimal friction.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
hexojs/hexo ★ 41772 45 APPLICATION

Hexo is a mature, plugin-driven static site generator written in TypeScript for Node.js. It transforms Markdown (or other markup) content into a fully static website, supporting themes, helpers, tags, filters, and generators via a consistent extension API. The core architecture centers on a `Hexo` class that orchestrates configuration loading, plugin registration, file watching (via `Box`), content processing (processors), rendering (renderers with Nunjucks and highlight.js/prism), and static file generation. It includes a built-in CLI (`hexo new`, `hexo generate`, `hexo deploy`, etc.) and a lightweight database (`warehouse`) for metadata. The codebase is well-tested with extensive unit tests and CI across multiple OS/Node versions. While the architecture is clean and extensible, some technical debt exists (e.g., reliance on `bluebird` promises, `@ts-expect-error` workarounds, and complex regex-based processing).

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
docsifyjs/docsify ★ 31537 5783 APPLICATION

docsify is a client-side JavaScript documentation site generator that converts Markdown files into a fully functional, single-page application website with no build step required. It runs entirely in the browser, dynamically loading and rendering content from Markdown files served as static assets. The architecture centers on a core class composed via mixins (Fetch, Events, Render, VirtualRoutes, Router, Lifecycle) and a plugin system with lifecycle hooks (init, mounted, beforeEach, afterEach, doneEach, ready). Key features include hash or HTML5 history routing, full-text search using IndexedDB via Dexie.js, embed support for external files with fragment extraction, virtual routes for dynamically generated content, Vue.js component compatibility, and a theming system driven by CSS custom properties. The project includes built-in plugins for emoji, zoom-image, front-matter, external-script, Google Analytics, Gtag, Matomo, Disqus, and Gitalk. The codebase demonstrates solid software engineering practices: mixin-based composition, clean plugin API, memoized caching, debounced scroll handling, and a well-organized test suite covering unit, integration, and E2E tests. While not a data or research project, it showcases reusable patterns in client-side SPA development, particularly in routing abstraction, plugin lifecycle, and CSS theming. Some technical debt exists: deprecated configuration options (themeColor, topMargin), a forked YAML parser for front-matter, heavy use of globals, and an auto-generated emoji data file that may become stale. Overall, it is a mature, well-crafted tool with high utility for documentation sites.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
dokuwiki/dokuwiki ★ 4706 921 APPLICATION

DokuWiki is a mature, open-source PHP wiki engine designed for simplicity and ease of use. It provides a full wiki content management system with features including page creation/editing, revision history, access control lists (ACL), full-text search, media management, RSS/Atom feeds, a plugin system, and multiple authentication backends (plain, LDAP, Active Directory, PDO). The architecture is monolithic but highly modular, with a clear action dispatcher, an event-driven plugin system, a custom parser supporting both native DokuWiki syntax and GitHub Flavored Markdown (GFM), and a template system. Entry points include doku.php (main page request), feed.php, install.php, and various CLI tools (bin/). The codebase is well-structured with namespaced classes, extensive test coverage (PHPUnit), and a strong emphasis on internationalization (over 50 language packs). It is actively maintained with regular commits, CI pipelines, and a large plugin ecosystem.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
afar1/fieldtheory-cli ★ 2017 208 APPLICATION

Field Theory CLI is a local-first TypeScript application for managing X/Twitter bookmarks and building personal knowledge bases. It provides a comprehensive CLI interface for syncing bookmarks from Twitter/X (via OAuth API or browser session extraction), classifying content, exporting to markdown with wikilinks, generating interconnected wikis, and enabling agent workflows through skill installation for AI coding agents like Claude Code and Codex. The application features a 'Possible' idea generation pipeline that applies bookmark collections to repositories for innovation planning, with local data storage in ~/.fieldtheory/ using SQLite FTS5 for full-text search. Built with modular architecture separating concerns into bookmarks, ideas, agent context, and document operations modules.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found

react-native-nitro-markdown is a high-performance native Markdown parser and renderer for React Native, built on a vendored md4c C library (forked as nitromd) and the Nitro Modules framework for direct JSI bridging. It provides full CommonMark and GitHub Flavored Markdown support, plus extensions for LaTeX inline/block math, task lists, and strikethrough. The library offers three primary consumption modes: a full `<Markdown>` React component with customizable renderers, a `<MarkdownStream>` component designed for progressive rendering of streaming text (e.g., from LLM output), and a headless API (`parseMarkdown`, `extractPlainText`, `createMarkdownSession`) for server-side or non-React usage. Architecture is layered: native C++ parser produces a typed JSON AST, which is consumed by a React rendering pipeline with caching, incremental updates, and a plugin system. The repository includes a comprehensive test suite (unit, conformance, snapshot, C++ unit, E2E Maestro), performance benchmarks, fuzz testing, and a CI/CD pipeline for automated releases. It is a mature, well-engineered library with strong focus on correctness, performance, and developer experience, though it is tightly coupled to the iOS/Android native runtime and Nitro Modules ecosystem.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ScrapeGraphAI/Scrapegraph-ai ★ 31671 3233 APPLICATION

ScrapeGraphAI is a Python library that extracts structured data from websites and local documents using LLM-driven graph pipelines. Instead of a traditional web scraper with hardcoded selectors, users define extraction through natural-language prompts and optional Pydantic schemas; the library then executes a directed graph of nodes such as fetching, parsing, chunking, and answer generation. The public API is a set of graph classes (SmartScraperGraph, SearchGraph, JSONScraperGraph, CSVScraperGraph, SpeechGraph, ScriptCreatorGraph, etc.) in scrapegraphai/graphs, each composing reusable nodes from scrapegraphai/nodes and running them on a BaseGraph execution engine. It is consumed programmatically in Python and supports many LLM providers (OpenAI, Ollama, Groq, Mistral, Anthropic, DeepSeek, xAI, NVIDIA, MiniMax) and multiple fetching backends (Playwright, Selenium, Chromium, BrowserBase, Scrape.do). The architecture is a lightweight DAG framework: nodes have typed inputs/outputs, can branch conditionally, iterate, merge results, and accumulate cost/token metadata; BaseGraph walks the graph, handles state, and collects execution information. The repository also contains document loaders, model token/cost registries, prompt templates, telemetry, proxy rotation, screenshot-scraping utilities, a GraphBuilder that constructs graphs from natural language, and integrations such as Burr and Indexify. While the README aggressively promotes a commercial hosted API at scrapegraphai.com, the repository itself is a self-contained open-source library with examples and tests. The codebase is generally well structured and modular, with clear separation between graphs, nodes, prompts, helpers, utils, and models. It shows signs of rapid growth: some typos, duplicated test fixtures, hardcoded model pricing tables, a Python version mismatch between pyproject and Dockerfile, and dependency fragility around LangChain and optional browser/OCR packages. These issues are manageable but give the codebase a medium technical drift. Overall it is an active, useful library for LLM-based extraction, and several utilities are good candidates for reuse outside the project.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
tw93/MiaoYan ★ 8670 518 APPLICATION

MiaoYan is a local-first macOS Markdown note-taking application (Swift 6, AppKit, macOS 12+) that treats notes as plain .md/.markdown/.txt files in a user-selected folder. In production it is a desktop editor: an FSEvents watcher detects external file changes, cmark-GFM renders Markdown through a single pipeline, and a WebKit preview surface (vendored KaTeX, Mermaid, PlantUML, Markmap, Reveal.js) handles rendering. The app ships wikilinks/backlinks, version history, CJK-aware typography normalization, PDF/HTML/PNG/PPT export, and URL routing (miaoyan://, nv://, nvalt://). There is no server component — cloud sync is deliberately delegated to iCloud Drive/Nutstore/Dropbox. Distribution includes Sparkle auto-update, Homebrew, App Store, a bash CLI (miao), and an agent-facing SKILL.md. The architecture is a monolith with two UI shells: the primary AppKit storyboard window (ViewController, EditTextView, SidebarProjectView) and an in-progress SwiftUI shell launched via -MiaoYanShell YES. Both shells share the Business/ layer, with dedicated parity tests keeping them aligned. A Foundation-only MiaoYanCore package holds platform-agnostic text logic (frontmatter parsing, multi-encoding detection, search matching, preview extraction) shared with an iOS build — the cleanest architectural boundary in the repo. Core domain services include Storage/Note/Project models, NoteVersionManager, WikilinkIndex, CloudSyncManager (NSMetadataQuery-based), and debounced atomic saves using renamex_np RENAME_SWAP. Engineering strengths: an extensive regression-driven test suite (26+ files) covering real incident history (editor buffer ownership #543, storage relocation, save debounce, shell parity), strict CI where SwiftLint and swift-format warnings block merges, tiered highlighting for very large files, xattr-based note metadata, legacy encoding support (UTF-8/UTF-16/GB18030/Big5/CP1252), and localization in five languages. Notable weaknesses: ViewController is a god-class accumulating layout/keyboard/storage/preview/PPT logic; the dual-UI shell carries ongoing parity risk; saveCloudPins/restoreCloudPins are empty stubs (cloud pin sync is unimplemented); large hand-maintained regex sets in NotesTextProcessor; UserDefaults key sprawl; two Package.resolved manifests with a Sparkle version mismatch (2.8.0 vs 2.9.0); and a large vendored DownView.bundle JS payload that is an update/maintenance burden.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
thlorenz/doctoc ★ 4463 486 APPLICATION

doctoc is a CLI tool that automatically generates and updates a table of contents (TOC) for Markdown files. It parses markdown and HTML headings, creates anchor links compatible with GitHub, GitLab, Bitbucket, and other platforms, and inserts the TOC into the file between special comment markers. The tool supports a wide range of configuration options including heading level limits, custom titles, ordered/unordered lists, indentation styles, and pragma comment styles (legacy or compact). It can operate on single files or recursively scan directories, and offers a dry-run mode for CI validation. The architecture is a straightforward Node.js CLI application. The entry point is `doctoc.js`, which parses command-line arguments via `minimist` and delegates to `lib/transform.js` for the core TOC generation logic. `lib/transform.js` uses `@textlint/markdown-to-ast` to parse Markdown into an AST, `htmlparser2` to extract HTML headings, and `anchor-markdown-header` to generate anchor links. `lib/content-generation.js` handles the creation of comment markers (pragmas) for different syntaxes (`.md`, `.mdx`) and styles. `lib/file.js` provides recursive file discovery. The tool is distributed as an npm package and can also be used as a pre-commit hook via the provided `.pre-commit-hooks.yaml`. External dependencies are minimal and well-chosen: `@textlint/markdown-to-ast` for parsing, `htmlparser2` for HTML parsing, `anchor-markdown-header` for anchor generation, `loglevel` for logging, and `minimist` for argument parsing. The codebase is written in CommonJS style with `'use strict'`, and tests use the `tap` framework with a comprehensive suite of fixtures covering edge cases like frontmatter, emoji headers, nested markdown, and various formatting options.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
yaoyao2mm/cheatreader ★ 637 18 APPLICATION

CheatReader is a Flutter-based desktop ebook reader designed for low-distraction reading. It provides a floating, always-on-top window that supports single-line and multi-line reading modes, transparency, a boss key for quick hide/restore, system tray integration, and app disguise (icon/name change). The application imports local files in multiple formats (txt, epub, html, md, fb2, docx, pdf) via text extraction, never modifying the source. It features a bookshelf with reading progress tracking, customizable keyboard shortcuts, auto page-turn, full-text search, and a control panel for all settings. The architecture is a standard Flutter app with platform-specific abstractions for window management, file import, and startup behavior, targeting Windows, macOS, and Linux. The codebase is well-tested, localized in English and Chinese, and uses a spec-driven development process (OpenSpec). While the main reader surface widget is large (~2600 lines), the overall structure demonstrates solid engineering with reusable patterns for platform abstraction, settings persistence, and text extraction.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
imrofayel/fylepad ★ 305 22 APPLICATION

fylepad is a note-taking application built with Vue 3 and Tauri that provides a rich text editing experience with AI integration. It functions as both a web application and cross-platform desktop app, offering features like markdown editing, diagram support (Mermaid, PlantUML), media embeddings (YouTube, Spotify), and AI-powered text assistance. The application uses a local-first approach with IndexedDB/SQLite storage and optional cloud synchronization. The architecture follows a component-based pattern with Vue.js, utilizing Tiptap for the core editor functionality and numerous extensions for specialized features. State management is handled through Vue composables, and the UI is built with @nuxt/ui components. The application includes sophisticated features like offline support, conflict resolution, and a responsive interface that adapts between web and desktop contexts.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
longbridge/feishu-pages ★ 304 38 APPLICATION

feishu-pages is a monorepo application that exports Feishu (Lark) wiki knowledge base to Markdown for static site generators. It consists of three workspaces: feishu-docx (a library for converting Feishu Docx documents to Markdown), feishu-pages (the main CLI tool that orchestrates the export process), and website (a VitePress documentation site). The CLI authenticates with the Feishu Open API, fetches wiki space structure, converts document blocks to Markdown, downloads and rewrites asset URLs, generates YAML frontmatter for static site generators, and outputs a structured directory of Markdown files with SUMMARY.md and docs.json for navigation. The architecture features clear separation of concerns with dedicated modules for API interactions, document processing, asset handling, and summary generation.

RATING: 8.4/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
GTJasonMK/lessAI ★ 498 59 APPLICATION

LessAI is a Tauri 2 desktop application for AI-assisted document rewriting. It supports importing documents in plain text, Markdown, LaTeX, DOCX, and PDF formats, segmenting them into rewrite units, and sending them to an OpenAI-compatible LLM for rewriting. The system provides a workbench view with a side-by-side editor and review panel, enabling users to view diff hunks, accept/reject suggestions, and finalize writeback to the original file. For complex formats like DOCX and PDF, a slot-based model preserves locked placeholders (e.g., tables, images, hyperlinks) while allowing editable text regions to be rewritten. The application includes a web demo mode for plain text only, a full settings UI for provider configuration, and an in-app update mechanism. The architecture is a monolith split between a Rust backend (Tauri commands, document adapters, rewrite pipeline) and a React/TypeScript frontend with custom hooks, progressive rendering, and a slot-based structured editor. The codebase is well-structured with extensive unit tests, roundtrip test fixtures, and CI/CD pipelines for cross-platform bundles.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
simonguo/react-code-view ★ 199 32 APPLICATION

React Code View is a React component library for rendering code with live preview and syntax highlighting. It provides a CodeView component that combines an editable code editor, live preview, and syntax highlighting, allowing developers to create interactive code examples. The library includes build tool plugins (unplugin) for Vite, Webpack, Rollup, esbuild, and Rspack that enable importing markdown files as React components with automatic code block processing. At its core, it uses Sucrase for JSX/TS transformation, Shiki for syntax highlighting, and CodeMirror 6 for the editing experience, with code execution happening in a sandboxed environment.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
marktext/marktext ★ 60071 4449 APPLICATION

MarkText is a cross-platform desktop markdown editor (Electron + Vue 3) powered by the Muya WYSIWYG engine. It provides real-time rendering of CommonMark, GFM, and extended syntax including KaTeX math, mermaid/plantuml diagrams, footnotes, tables, task lists, and 30+ themes. The monorepo contains four packages: `desktop` (Electron shell with IPC, preferences, spellcheck, export), `muya` (TypeScript core editor with block-based state, snabbdom rendering, undo/redo via ot-json1, clipboard, and floating UI components), `muyajs` (legacy JavaScript engine, still present for partial feature parity), and `website` (Next.js documentation site). The architecture follows a block tree pattern where each block type (paragraph, heading, list, table, etc.) is a subclass with consistent parent/content interfaces. Communication between the Electron main and renderer processes uses typed IPC channels. The codebase demonstrates strong software engineering practices with extensive unit and e2e test coverage (Playwright, Vitest), reproducible builds (pnpm monorepo), and a focus on regression testing for edge cases. However, the ongoing migration from the legacy `muyajs` engine to the new `muya` engine introduces some code duplication and technical drift, and some modules retain prototype-style JavaScript alongside modern TypeScript classes.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
iBigQiang/feedgrab ★ 608 67 APPLICATION

feedgrab is a universal content aggregation tool that fetches, normalizes, and saves content from 18+ platforms (Twitter/X, Xiaohongshu, WeChat, YouTube, Bilibili, GitHub, HackerNews, Medium, Reddit, Weibo, Douyin, Telegram, RSS, Feishu, Kdocs, Zsxq, FlowUs, and more) into Obsidian-compatible Markdown files with YAML frontmatter. It operates as a CLI tool, a Python library, and an MCP server, featuring a modular architecture with per-platform fetchers that implement a multi-tier fallback strategy (direct API → CDP browser reuse → Playwright launch → Jina Reader) to maximize resilience against anti-scraping measures. The system includes robust utilities for deduplication, media download, Groq Whisper transcription, paywall bypass, and cookie rotation for authenticated platforms. Originally developed as a 'vibe coding' personal project, it has evolved into a well-structured application with a service layer, typed configuration, and comprehensive CLI commands (login, doctor, batch search, setup wizard). It is actively maintained, with frequent commits addressing platform API changes and adding new features.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
NiklasRosenstein/pydoc-markdown ★ 502 116 APPLICATION

Pydoc-Markdown is a Python library and CLI tool for generating API documentation in Markdown format from Python source code. Unlike many documentation tools, it does not execute the code but instead parses it using the docspec library, making it safe for use with untrusted code. The system features a plugin architecture with loaders (currently only Python), processors (for converting docstrings from Google, Sphinx, Pydoc-Markdown formats to Markdown), renderers (for outputting to Markdown files, MkDocs, Hugo, Docusaurus, or Jinja2 templates), and source linkers (for generating links to source code on GitHub, GitLab, etc.). It can be configured via YAML, TOML, or used programmatically. The project also integrates with Novella for Markdown preprocessing, allowing inline @pydoc tags in documentation files. The codebase is well-structured with clean interfaces, comprehensive test coverage, and a well-defined plugin system. It demonstrates solid software engineering practices including dependency injection, configuration via dataclasses, and entry-point-based plugin discovery. The project has been actively maintained with regular releases and community contributions, though the maintainer has noted limited time for development. The architecture supports extensibility, making it suitable for integration into documentation pipelines for Python projects.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
webdiscus/html-bundler-webpack-plugin ★ 203 34 APPLICATION

html-bundler-webpack-plugin is a webpack plugin that processes HTML templates and bundles associated assets (CSS, JS, images, etc.) into output HTML files. It treats HTML as a webpack entry point, resolves dependencies via webpack's module system, and updates asset references to hashed output URLs. The plugin supports multiple template engines (Pug, Handlebars, EJS, Nunjucks, etc.), asset inlining, subresource integrity, hot module replacement, and code splitting. Architecture consists of a main plugin class, loader infrastructure, and modular preprocessors. It integrates with webpack's compilation hooks for asset extraction and HTML modification. Examples demonstrate usage with frameworks like React, Vue, and CSS tools like TailwindCSS.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
timlrx/rehype-prism-plus ★ 201 18 APPLICATION

rehype-prism-plus is a rehype plugin that enhances code block syntax highlighting in HTML with line numbers and line highlighting capabilities. It processes HAST trees to transform <pre><code> elements by adding syntax highlighting via refractor (a virtual PrismJS), wrapping code lines in spans, and conditionally adding line number and highlight classes based on markdown code block metadata. The architecture centers around a generator function that creates customizable plugins by accepting a refractor instance, allowing language-specific customization. Key entry points include the default export (all languages), common.js (subset of languages), and generator.js (custom language sets). Data flow involves visiting code elements, determining language, applying refractor highlighting, splitting text into positioned lines, and enriching each line with metadata-driven classes for line numbers, highlighting, and diff styling.

RATING: 8.2/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
shd101wyy/vscode-markdown-preview-enhanced ★ 2065 253 APPLICATION

This is a VS Code extension that provides an enhanced markdown preview with live updates, scroll sync, diagram rendering (Mermaid, PlantUML, Vega, etc.), math typesetting (KaTeX/MathJax), wikilinks, backlinks, graph view, AI translation, and multiple export formats (HTML, PDF, Pandoc, etc.). The architecture is a monolithic extension with a central PreviewProvider class managing webview panels, backed by the crossnote library for markdown processing. It registers over 30 commands and multiple VS Code providers (hover, completion, document link, custom editor, graph view). The codebase is well-structured with TypeScript, has CI/CD pipelines, and demonstrates good engineering practices such as mutex-based singletons, request sequencing, and CSP generation. However, the PreviewProvider class is large (~1200 lines) and handles many responsibilities, indicating potential for modularization. The extension is actively maintained with frequent releases and security fixes.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: