Skip to content
This repository was archived by the owner on Jun 24, 2024. It is now read-only.

Library for Markdown Parsing and Transformation

License

Notifications You must be signed in to change notification settings

alineco/markdown-transform

 
 

Repository files navigation

Markdown Transform

downloads npm version Build Status lerna GitHub license Join the Accord Project Slack

A transformation framework for converting markdown content to HTML, Slate (for rich-text editing) and others DOMs.

Architecture Diagram

Note: you can regenerate this diagram by visiting http://www.plantuml.com/plantuml/uml/ and pasting the contents of architecture.puml from this repository.

Documentation

This mono-repo contains the following packages, where each package implements some transformations:

  • markdown-common : converts markdown strings to/from the CommonMark DOM
  • markdown-cicero : converts CommonMark DOM to/from the CiceroMark DOM
  • markdown-slate : converts CiceroMark DOM to/from the Slate DOM
  • markdown-html : converts CiceroMark DOM to HTML
  • markdown-cli : command line utilities

CommonMark DOM

The CommonMark DOM is a model for the elements of CommonMark, expressed as a Concerto schema, and serialized as a JSON graph.

The schema is defined here: https://models.accordproject.org/commonmark/markdown.html

CiceroMark DOM

The CiceroMark DOM extends the CommonMark DOM, defining nodes for Clause, Variable and ComputedVariable.

The schema is defined here: https://models.accordproject.org/cicero/dom.html

Slate DOM

The Slate DOM is defined by the Slate HTML content-editable WYSIWYG editing framework.

Available Scripts

In the project directory, you can run:

npm run build

Invokes lerna to build all the markdown-* packages.

npm run test

Invokes lerna to run the test suite.


Instructions

This is a short reference guide, for a more full context, please refer to our CONTRIBUTING guide and information for DEVELOPERS.

Development

  1. Fork project to your repository
  2. Clone to local machine with git clone
  3. cd into the directory
  4. Run npm install
  5. Build in watch mode npm run build:watch

Accord Project Logo

Accord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the Linux Foundation. The technical charter for the Accord Project can be found here.

Learn More About Accord Project

Overview

Documentation

Contributing

The Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.

Find out what’s coming on our blog.

Join the Accord Project Technology Working Group Slack channel to get involved!

For code contributions, read our CONTRIBUTING guide and information for DEVELOPERS.

License

Accord Project source code files are made available under the Apache License, Version 2.0. Accord Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0).

Copyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See LF Projects Trademark Policy.

About

Library for Markdown Parsing and Transformation

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 93.4%
  • Shell 6.6%