awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
markdoc avatar

markdoc/markdoc

0
View on GitHub↗
8,060 星标·226 分支·TypeScript·MIT·3 次浏览markdoc.dev↗

Markdoc

Markdoc is a documentation content framework that extends standard Markdown with custom tags, typed schemas, and reusable components, parsing content into an abstract syntax tree and rendering it as React elements or HTML. It provides a structured authoring system where documents are processed through an AST-based pipeline, enabling validation, transformation, and flexible output generation.

The framework distinguishes itself through a schema-driven validation pipeline that checks document structure and attribute values against defined rules, and a pluggable renderer architecture that accepts renderable trees for any output format. It supports conditional content evaluation with boolean expressions and switch/case logic, function injection for runtime data transformation, and partial template inclusion for content reuse across documents. Custom tag schemas allow definition of reusable elements with typed attributes and custom transform logic, while annotation-based attribute binding enables per-element customization without inline syntax.

Markdoc includes capabilities for content manifests, page-level metadata, frontmatter access, table of contents generation, code syntax highlighting, and tabbed content sections. It provides programmatic transformation for static analysis and validation, runtime value injection, and integration with frameworks like Next.js for server-side rendering. The framework supports both block and inline custom components, rich tables, and shorthand class and ID syntax, with options for custom page layouts and heading IDs.

Features

  • Markdown-Based Content Authoring - Provides a Markdown-based syntax extended with custom tags and components for creating documentation sites.
  • Markdown Custom Tags - Extends standard Markdown with custom tags, typed schemas, and reusable components for rich documentation authoring.
  • Reusable Content Blocks - Provides partial template inclusion and variable passing for composing documents from reusable content blocks.
  • Schema Validators - Validates document nodes and attributes against defined schema rules before rendering.
  • Markdown Extensions - Extends standard Markdown with custom tags, nodes, and functions for rich content authoring.
  • Markdoc - Converts parsed abstract syntax trees into renderable data structures using custom schemas and components.
  • Markdown - Transforms parsed Markdown ASTs into renderable content structures using optional configuration.
  • Custom Rendering Integrations - Accepts a renderable tree and returns any desired output format, enabling integration with any UI framework.
  • Inline Function Invocations - Invokes JavaScript-like functions from document body, annotations, or tag attributes to transform values.
  • Markdown Node Transformers - Converts parsed Markdown nodes into any renderable format via custom transform functions.
  • Markdown Parsing Pipelines - Parses Markdown source text into an abstract syntax tree for further processing.
  • Markdown AST Parsing - Converts raw Markdown strings into abstract syntax trees capturing content structure and location.
  • Component Tree Renderers - Converts Markdown documents into React component trees for interactive documentation features.
  • Multi-Format Document Rendering - Transforms parsed content into HTML or other output formats through pluggable renderers.
  • Live Page Content Readers - Inserts content from separate files into a document so the same text appears in multiple places without duplication.
  • Partial Document Inclusion - Embeds separate files into documents via partial tags, enabling content reuse across multiple pages.
  • Renderable AST Transformations - Converts abstract syntax trees into serializable intermediate representations for flexible output generation.
  • Conditional Content Blocks - Uses variables, functions, and conditional tags to control what content renders based on runtime data.
  • Reusable Content Snippets - Loads and renders partial files from a designated directory to reuse content across pages.
  • Pluggable Template Renderers - Accepts a renderable tree and returns any output format through configurable renderers for HTML, React, and custom frameworks.
  • Abstract Syntax Tree Parsing - Parses Markdown extended with custom tags into an abstract syntax tree for further processing.
  • Document - Provides a system for attaching typed attributes to document nodes via separate annotation blocks.
  • AST Transformation Pipelines - Implements an AST transformation pipeline that converts Markdown into a renderable intermediate representation.
  • Conditional Logic Evaluation - Evaluates boolean expressions within document templates to conditionally render content based on variable states.
  • Custom Component Tags - Defines custom tags that map to React components or Web Components for interactive content elements.
  • Markdown Tag Composition - Extends standard Markdown with custom tags enclosed in delimiters to create reusable, nestable content components.
  • Markdown Tag Syntax Extensions - Adds a declarative tag syntax to Markdown for expressing document hierarchy, interactive components, and conditional content.
  • Schema-Backed Markdown Tags - Registers custom tags with schemas that map to components, including typed attributes and allowed child content.
  • Component Data Passing - Passes typed values to custom tags using HTML-like or annotation syntax for component configuration.
  • Conditional Rendering - Renders content only when specified conditions evaluate to true, with optional fallback for false conditions.
  • Markdown Block Components - Provides a system for defining custom block-level components within Markdown content using typed schemas.
  • Configurable Document Rendering - Passes variables, custom tags, nodes, functions, and partials to control how Markdown content renders.
  • HTML Document Renderers - Converts the renderable tree into an HTML string for direct use in web pages or server responses.
  • Markdown Render Overrides - Overrides how standard Markdown elements render by defining custom node schemas.
  • Content Transformers - Parses documents into traversable ASTs for static analysis, validation, and automated transformation.
  • React Renderers - Converts the renderable tree into React elements using a mapping of custom tags to components.
  • Markdown-to-React Renderers - Converts Markdown documents into React element trees with support for custom components.
  • HTML Content Renderers - Transforms content into HTML on the server using a configurable renderer with custom tags and nodes.
  • Documentation Frameworks - Provides a content framework that parses Markdown into an AST and renders it as React components or HTML.
  • Custom Validation Functions - Runs user-defined validation functions on document nodes and tags to enforce content constraints.
  • Content Manifest Builders - Parses documents on the server to build a route-to-content mapping for dynamic serving.
  • Document-Level Switch/Case Logic - Implements switch/case conditional rendering in documents using custom tags.
  • Rich Table Syntaxes - Ships a list-based table syntax supporting code blocks, lists, and configurable column spans.
  • Content Manifests - Generates page manifests and validates content at build time for rendering Markdown documents as pages in Next.js.
  • Server-Side Rendering Integrations - Integrates with Next.js for server-side rendering of Markdown documents with custom components.
  • Frontmatter - Exposes parsed frontmatter values as template variables for rendering inside document bodies.
  • Content Validation Rules - Ships a build-time validation pipeline that checks document structure and attributes against custom rules.
  • Template Partials - Loads and renders reusable content snippets from external files with context-specific variable passing.
  • Looping Content Blocks - Iterates over items in a custom tag's transform function to generate repeated content from a data array.
  • Custom Runtime Logic - Registers user-defined JavaScript functions callable within content to transform data or perform custom operations.
  • Documentation Validators - Checks documents for correctness separately from the rendering pipeline using custom rules.
  • Schema-Driven Validations - Checks document structure and attribute values against defined schemas during transformation to catch errors before rendering.
  • Dynamic Function Injection - Registers user-defined JavaScript functions callable from document body and tag attributes for runtime data transformation.
  • Heading Identifiers - Overrides default heading nodes to generate custom HTML id attributes for deep linking.
  • Document Conditional Evaluations - Evaluates boolean expressions and variable comparisons to control content visibility in documents.
  • Undefined Value Handling - Returns specified default values when variables are undefined to prevent rendering errors.
  • Tag Attribute Schemas - Provides per-tag attribute type configuration with validation rules to enforce correct usage.
  • Page Metadata Overrides - Attaches structured metadata like title and description to documents using frontmatter formats.
  • Custom Components - Creates reusable custom elements for tags to encapsulate rendering logic within Markdown content.
  • Separate Block Annotations - Applies attributes to inline Markdown nodes using a separate annotation block for per-element customization.
  • Custom Inline Tag Definitions - Defines new tags that render as inline elements, automatically wrapped in paragraph nodes.
  • Separate Block Annotations - Attaches typed data to any node by placing attributes in a separate annotation block after the node.
  • Syntax Highlighting - Applies syntax highlighting to code blocks by replacing default fence nodes with custom renderers.
  • Tabbed Content Panes - Groups content into tabs using custom tags and components that switch between labeled panels.
  • Data Value Injections - Inserts server-side data into documents at render time, updating output as data changes.
  • Next.js - Registers and renders Next.js-specific tags directly inside content for framework integration.
  • Template Variable Injection - Inserts dynamic, serializable values prefixed with a symbol into document content at render time.
  • Document Attribute Passing - Attaches typed values to tags and nodes to control their rendering behavior in document pipelines.
  • Document Layout Wrappers - Provides a mechanism to wrap rendered Markdown content in custom layout components.
  • Table of Contents Generators - Collects all headings from the transformed document tree and renders them as a navigable list with anchor links.
  • Markdown 编辑器 - Listed in the “Markdown 编辑器” section of the Great Open Source Project awesome list.

Star 历史

markdoc/markdoc 的 Star 历史图表markdoc/markdoc 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Markdoc 的开源替代方案

相似的开源项目,按与 Markdoc 的功能重合度排序。
  • wooorm/remarkwooorm 的头像

    wooorm/remark

    8,923在 GitHub 上查看↗

    Remark is a markdown processor that parses markdown text into a structured JSON abstract syntax tree for programmatic analysis and transformation. It functions as a markdown AST parser and processor, utilizing a plugin framework to manage extensible syntax and transformation rules. The project enables custom markdown syntax extensions and content transformation through a plugin system, allowing for the addition of non-standard markup and metadata. It also includes a markdown linter to identify style inconsistencies and ensure adherence to writing standards. The toolset covers markdown docume

    JavaScript
    在 GitHub 上查看↗8,923
  • lunet-io/markdiglunet-io 的头像

    lunet-io/markdig

    5,257在 GitHub 上查看↗

    Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other target formats. It is a CommonMark compliant parser and extensible engine that can transform Markdown into a searchable and manipulatable abstract syntax tree. The library provides a framework for adding custom syntax and rendering logic through a modular pipeline of parsers and renderers. It supports native ahead-of-time compilation and trimming to minimize binary size. Capabilities include the generation of structured HTML with custom attributes and styling, the extraction

    C#
    在 GitHub 上查看↗5,257
  • facebook/reactfacebook 的头像

    facebook/react

    245,669在 GitHub 上查看↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    在 GitHub 上查看↗245,669
  • code-farmer-i/vue-markdown-editorcode-farmer-i 的头像

    code-farmer-i/vue-markdown-editor

    1,270在 GitHub 上查看↗

    This project is a web-based markdown editing component designed for integration into Vue applications. It provides a text input interface for creating and modifying markdown content, featuring real-time rendering and a live preview that transforms source text into formatted HTML. The editor is built on a modular framework that supports custom plugins and visual themes, allowing developers to extend core functionality and align the workspace appearance with host application designs. It utilizes a standardized hook architecture to enable these extensions, ensuring that the editing environment c

    JavaScripteditormarkdownvue
    在 GitHub 上查看↗1,270
查看 Markdoc 的所有 30 个替代方案→

常见问题解答

markdoc/markdoc 是做什么的?

Markdoc is a documentation content framework that extends standard Markdown with custom tags, typed schemas, and reusable components, parsing content into an abstract syntax tree and rendering it as React elements or HTML. It provides a structured authoring system where documents are processed through an AST-based pipeline, enabling validation, transformation, and flexible output generation.

markdoc/markdoc 的主要功能有哪些?

markdoc/markdoc 的主要功能包括:Markdown-Based Content Authoring, Markdown Custom Tags, Reusable Content Blocks, Schema Validators, Markdown Extensions, Markdoc, Markdown, Custom Rendering Integrations。

markdoc/markdoc 有哪些开源替代品?

markdoc/markdoc 的开源替代品包括: wooorm/remark — Remark is a markdown processor that parses markdown text into a structured JSON abstract syntax tree for programmatic… lunet-io/markdig — Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… code-farmer-i/vue-markdown-editor — This project is a web-based markdown editing component designed for integration into Vue applications. It provides a… vanessa219/vditor — Vditor is a browser-based Markdown editor and rendering engine that supports multiple editing interfaces, including a… russross/blackfriday — Blackfriday is a Go library for parsing and converting Markdown text into HTML, LaTeX, and other structured formats.…