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

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

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/sandbox

README

The browser-based editor. This is a Vue-application depending on @argdown/core.

@argdown/language-server

README

An editor-agnostic language server for the Argdown language with code linter, code assistance and code completion providers. Implements the language server protocol and depends on @argdown/core and @argdown/node.

@argdown/vscode

README

The VS Code extension, depending on @argdown/core, @argdown/node and @argdown/language-server.

@argdown/cli

README

The commandline tool, depending on @argdown/node and @argdown/core.