# API
The Argdown repository is a "monorepo" containing a number of different npm packages in its /packages
folder. All are published under the @argdown
namespace and the MIT license. The two most important packages are @argdown/core and @argdown/node. Both packages have their own extensively commented API documentation. Here is a list of all packages with links to their documentations or README files.
All packages except @argdown/sandbox are written in Typescript and compiled to Javascript.
# @argdown/core
API documentation (opens new window)
Contains the Argdown parser and lexer, the basic ArgdownApplication class that manages plugins and the plugins for all central tasks, including the ParserPlugin, ModelPlugin, MapPlugin, HtmlExportPlugin, JSONExportPlugin, DotExportPlugin. This package is used in all tools using the Argdown parser.
# @argdown/node
API documentation (opens new window)
Contains the AsynArgdownApplication subclass supporting asynchronous plugin methods. Instantiates this class with all plugins and processes preconfigured and predefined so that you can use it directly without any additional setup. Provides plugins that are specific to Argdown applications that are running in Node.js and not in the browser, for example the LoadFilePlugin and the SaveAsPlugin.
# @argdown/image-export
Provides png, jpg and webp export plugin. If installed (npm install -g @argdown/image-export
) will be automatically used by @argdown/cli
and @argdown/pandoc-filter
. This is not part of @argdown/node
because of its file size and dependency on chrome/chromium, which might cause problems in some linux installations.
# @argdown/map-views
Contains the VizJs and Dagre map views used in the live previews of @argdown/sandbox and argdown-vscode.
# @argdown/web-components
Contains web-component used in the markdown-it, remark, marked, gatsby plugins and the pandoc filter. The VSCode extension uses the component in the Markdown preview. The Argdown documentation also uses the web-component for all Argdown snippets.
# @argdown/sandbox
The browser-based editor. This is a Vue-application depending on @argdown/core and @argdown/map-views.
# @argdown/language-server
An editor-agnostic language server for the Argdown language with code linter, code assistance and code completion providers. Implements the language server protocol (opens new window) and depends on @argdown/core and @argdown/node.
# @argdown/vscode
The VS Code extension, depending on @argdown/core, @argdown/node, @argdown/language-server and @argdown/map-views
# @argdown/cli
The commandline tool, depending on @argdown/node and @argdown/core.
# @argdown/pandoc-filter
Pandoc filter that allows to generate Argdown-in-Markdown pdfs and html files.
# @argdown/markdown-it-plugin
Markdown-it plugin that converts Argdown codeblocks to the web-component
# @argdown/marked-plugin
Marked plugin that converts Argdown codeblocks to the web-component
# @argdown/remark-plugin
Remark plugin that converts Argdown codeblocks to the web-component
# @argdown/gatsby-plugin
Gatsby plugin that converts Argdown codeblocks to the web-component. Uses the remark plugin.
# @argdown/highlightjs
Highlightjs syntax highlighting support for Argodwn.
# @argdown/prism
Prism.js syntax highlighting support for Argdown.
# @argdown/codemirror-mode
Simple Codemirror mode for Argdown syntax highlighting support.
# ArgVu
A font for Argdown with nice ligatures.