Skip to content

eXist-db/exist-markdown

Repository files navigation

markdown

License GitHub release exist-db CI

Markdown Parser in XQuery

Based on regular expressions and fast enough for rendering small to mid-sized documents.

The parser extends the original Markdown proposal with fenced code blocks and tables. These are additional features found in Github Flavored Markdown.

Requirements

  • exist-db version: 5.x or greater

  • node version: 12.x (for building from source)

Installation

  1. Install the Markdown package from eXist's package repository via the dashboard, or download the markdown-1.0.0.xar file from GitHub releases page.

  2. Open the dashboard of your eXist-db instance and click on package manager.

    1. Click on the add package symbol in the upper left corner and select the .xar file you just downloaded.
  3. You have successfully installed the markdown library into exist.

Building from source

  1. Download, fork or clone this GitHub repository
  2. Calling npm start in your CLI will install required dependencies from npm and create a .xar:
cd exist-markdown
npm start

To install it, follow the instructions above.

Running Tests

This app uses mochajs as a test-runner. To run the tests type:

npm test

This will automatically build and install the library into your local eXist, assuming it can be reached on http://localhost:8080/exist. If this is not the case, edit .existdb.json and change the properties for the localhost server to match your setup.

To run tests locally your app needs to be installed in a running exist-db instance at the default port 8080 and with the default dba user admin with the default empty password.

A quick way to set this up for docker users is to simply issue:

docker create --name exist-ci -p 8080:8080 existdb/existdb:latest
docker cp ./markdown-*.xar exist-ci:exist/autodeploy
docker start exist-ci && sleep 30
npm test

Contributing

You can take a look at the Contribution guidelines for this project

License

GNU-LGPL © The eXist-db Authors