Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelrsweet/mmd
Miniature markdown library
https://github.com/michaelrsweet/mmd
c markdown
Last synced: 19 days ago
JSON representation
Miniature markdown library
- Host: GitHub
- URL: https://github.com/michaelrsweet/mmd
- Owner: michaelrsweet
- License: apache-2.0
- Created: 2017-04-10T05:36:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-22T23:16:11.000Z (8 months ago)
- Last Synced: 2024-10-13T08:44:12.386Z (about 1 month ago)
- Topics: c, markdown
- Language: C
- Homepage: https://www.msweet.org/mmd
- Size: 299 KB
- Stars: 21
- Watchers: 7
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
mmd - Miniature Markdown Library
================================![Version](https://img.shields.io/github/v/release/michaelrsweet/mmd?include_prereleases)
![Apache 2.0](https://img.shields.io/github/license/michaelrsweet/mmd)
![Build Status](https://img.shields.io/github/actions/workflow/status/michaelrsweet/mmd/build.yml?branch=master)
![Coverity Scan Status](https://img.shields.io/coverity/scan/22387.svg)`mmd` is a miniature markdown parsing "library" consisting of a single C source
file and accompanying header file. `mmd` mostly conforms to the [CommonMark][]
version of markdown syntax with the following exceptions:- Embedded HTML markup and entities are explicitly not supported or allowed;
the reason for this is to better support different kinds of output from the
markdown "source", including XHTML, man, and `xml2rfc`.- Tabs are silently expanded to the markdown standard of four spaces since HTML
uses eight spaces per tab.- Some pathological nested link and inline style features supported by
CommonMark (`******Really Strong Text******`) are not supported by `mmd`.In addition, `mmd` supports a couple (otherwise undocumented) markdown
extensions:- Metadata as used by Jekyll and other web markdown solutions.
- "@" links which resolve to headings within the file.
- Tables and task lists as used by the [Github Flavored Markdown Spec][GFM].
`mmd` also includes a standalone utility called `mmdutil` that can be used to
generate HTML and man page source from markdown.I'm providing `mmd` as open source under the Apache License Version 2.0 with
exceptions for use with GPL2/LGPL2 applications which allows you do pretty much
do whatever you like with it. Please do provide feedback and report bugs to the
Github project page at so that everyone can
benefit.[CommonMark]: https://spec.commonmark.org
[GFM]: https://github.github.com/gfmRequirements
------------You'll need a C compiler.
How to Incorporate in Your Project
----------------------------------Add the `mmd.c` and `mmd.h` files to your project. Include the `mmd.h`
header in any file that needs to read/convert markdown files."Kicking the Tires"
-------------------The supplied makefile allows you to build the unit tests on Linux and macOS (at
least), which verify that all of the functions work as expected to produce a
HTML file called `testmmd.html`:make test
The makefile also builds the `mmdutil` program.
Installing `mmdutil`
--------------------You can install the `mmdutil` program by copying it to somewhere appropriate or
run:make install
to install it in `/usr/local` along with a man page.
Legal Stuff
-----------Copyright © 2017-2024 by Michael R Sweet.
mmd is licensed under the Apache License Version 2.0 with an (optional)
exception to allow linking against GPL2/LGPL2-only software. See the files
"LICENSE" and "NOTICE" for more information.