# pd4d10/hashmd

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pd4d10-hashmd).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,342 stars · 293 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/pd4d10/hashmd
- awesome-repositories: https://awesome-repositories.com/repository/pd4d10-hashmd.md

## Topics

`markdown` `markdown-editor` `markdown-viewer` `svelte`

## Description

HashMD is a Markdown editor and viewer built around a small core that gains features through optional plugin packages. The editor provides a toolbar for writing and a preview for reading, and a ready-made React component lets React applications embed it with minimal setup.

Most capabilities are opt-in plugins rather than built-in behavior. Plugins add GitHub-style tables and task lists, front matter, line breaks, syntax highlighting for fenced code blocks, math formula typesetting, diagrams drawn from text definitions, and click-to-zoom for images. Highlighting and math come as paired plugins, so the same content can be rendered in the browser or pre-rendered on the server.

Under the hood, Markdown is parsed into a syntax tree, transformed by plugins, and converted to HTML. The repository is a JavaScript monorepo in which the core, plugins, and framework wrapper are built and published together under one shared version number. Toolbar icons are generated from SVG files by a build script, and the repo includes an example app for previewing changes during development.

## Tags

### Content Management & Publishing

- [Markdown Editors](https://awesome-repositories.com/f/content-management-publishing/markdown-editors.md) — Provides an editable and read-only Markdown component with a writing toolbar and a reading preview that renders plain Markdown text.
- [Markdown Extensions](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/content-authoring-tools/markdown-based-content-authoring/markdown-based-content-authoring/markdown-extensions.md) — Renders Markdown through a core engine that accepts pluggable extensions to customize how content is processed. ([source](https://github.com/pd4d10/hashmd/tree/main/packages))
- [Renderer Engine Extensibility](https://awesome-repositories.com/f/content-management-publishing/dynamic-markup-rendering/custom-rendering-integrations/renderer-engine-extensibility.md) — Provides a pluggable core that parses Markdown into a syntax tree, transforms it through plugins, and outputs HTML in the browser or on a server.
- [Plugin-Based Editors](https://awesome-repositories.com/f/content-management-publishing/markdown-editors/plugin-based-editors.md) — Offers a small-core Markdown editor that gains tables, highlighting, math, diagrams, front matter, and image zoom through separate optional plugin packages.
- [Extended Syntax Renderers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/markdown-markup-tools/markdown-tools/markdown-renderers/multi-syntax-renderers/technical-extended-syntax/extended-syntax-renderers.md) — Offers optional plugins adding GitHub-style tables and task lists, front matter metadata, and line breaks to Markdown parsing. ([source](https://github.com/pd4d10/hashmd/tree/main/packages))
- [Technical Content Renderers](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/markdown-markup-tools/markdown-tools/technical-content-renderers.md) — Renders Markdown containing highlighted code, math formulas, and text-defined diagrams into polished pages, in the browser or pre-rendered on a server.
- [Diagram Renderers](https://awesome-repositories.com/f/content-management-publishing/markdown-renderers/diagram-renderers.md) — Turns diagram definitions in Markdown code blocks into flowcharts and graphs rendered inline within the document. ([source](https://github.com/pd4d10/hashmd/tree/main/packages))

### Business & Productivity Software

- [Markdown Document Authoring](https://awesome-repositories.com/f/business-productivity-software/markdown-note-managers/collaborative-editing/markdown-document-authoring.md) — Lets users write and preview Markdown in an editor extended with tables, math formulas, diagrams, and code highlighting through add-on plugins.

### Software Engineering & Architecture

- [Core Capability Extensions](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/plugin-extenders/core-capability-extensions.md) — Attaches tables, highlighting, math, diagrams, front matter, line breaks, and image zoom to a core editor through separate plugin packages. ([source](https://github.com/pd4d10/hashmd/blob/main/tsconfig.json))
- [Core Engine Extension Points](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-extensibility/application-extensibility-frameworks/core-engine-extension-points.md) — Exposes hooks from a minimal core that optional plugin packages attach to, adding tables, math, and diagrams only when needed.
- [Markdown Plugin Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures/pipeline-plugins/markdown-plugin-pipelines.md) — Parses Markdown into a syntax tree, transforms it through plugins, and converts the result to HTML.

### User Interface & Experience

- [React Component Wrappers](https://awesome-repositories.com/f/user-interface-experience/markdown-and-syntax-highlighting/syntax-highlighting-editors/react-component-wrappers.md) — Ships a ready-made React component that wraps the Markdown editor and viewer for embedding with minimal setup.
- [Syntax-Highlighted Code Blocks](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/code-presentation-utilities/code-line-highlighting/syntax-highlighting/code-block-highlighting-hooks/syntax-highlighted-code-blocks.md) — Colors fenced code snippets by language, with separate plugins for browser rendering and server pre-rendering. ([source](https://github.com/pd4d10/hashmd/tree/main/packages))

### Part of an Awesome List

- [React Editors](https://awesome-repositories.com/f/awesome-lists/devtools/react-editors.md) — Provides a ready-made React component that embeds the Markdown editor and viewer into React applications. ([source](https://github.com/pd4d10/hashmd/tree/main/packages))
- [React Framework Integration](https://awesome-repositories.com/f/awesome-lists/devtools/react-framework-integration.md) — Provides a ready-made React component package that wraps the core Markdown editor so React apps can embed it with minimal setup. ([source](https://github.com/pd4d10/hashmd/blob/main/tsconfig.json))

### Development Tools & Productivity

- [Markdown Plugin Array Customizations](https://awesome-repositories.com/f/development-tools-productivity/plugin-systems/custom-plugin-registrations/markdown-plugin-array-customizations.md) — Lets projects attach only the optional plugins they need, such as front matter, line breaks, or image zoom, to customize Markdown processing.

### Graphics & Multimedia

- [Server-Side Rendering Architectures](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/systems/server-side-rendering-architectures.md) — Ships paired browser and server plugins so highlighted code and math formulas can be rendered client-side or pre-rendered on the server.

### Web Development

- [Component Wrappers](https://awesome-repositories.com/f/web-development/framework-native-component-libraries/component-wrappers.md) — Wraps the framework-agnostic editor core in a small React component layer for minimal-setup embedding.
- [Math Expression Server-Side Renderers](https://awesome-repositories.com/f/web-development/server-side-rendering/svg-server-side-renderers/math-expression-server-side-renderers.md) — Typesets math expressions written in Markdown into equations, with separate browser and server-side rendering plugins. ([source](https://github.com/pd4d10/hashmd/tree/main/packages))
