Maintaining large data lists, made easy
Describe is a markup language designed to write and maintain complex data lists that are compiled on demand to various formats, such as html, xml, sql and json. It is simple to use, intuitive and easy to master. Describe is readily extendible - implementing support for new target languages or customizing the transpilation process is straightforward, making it adaptable to a wide range of projects.
Built on a state of the art parsing platform such as ANTLR 4.13, Describe offers a robust grammar, although the compiler is currently in beta and some bugs are to be expected. It is available for free under the AGPL v3 license, but commercial licenses are negotiable as well.
While ANTLR ensures strong grammar handling, the compiler is still under active development, and occasional bugs may occur. We appreciate your patience and value your contributions, as we continue to improve the tool.
In order to run the DescribeCompilerCLI.exe
you need a Windows PC with DotNet framework version 8.0 or higher. In order to reference the DescribeCompilerAPI.dll
in your DotNet projects, you need to target DotNet framework version 8.0 or higher. In order to use the Amazon Lambda project, on the other hand, you need to upload it to AWS. Also, be sure to check out our wiki for the complete documentation.
In order to highlight Describe code, you can download the xml files for Notepad++ from the folder Highlighting, or use the instructions provided in said folder to set up your preferred text editor.
Write a title of each list, followed by an arrow ->
and the elements, one on a line, separated by comma ,
and end with a semicolon ;
. Add [links]
in square brackets, and <tag>
items in order to piece lists together. Add additional data as {decorators}
in curly brackets or as tilde inversions - ~
. For more info visit the documentation/github or explore Describe source codes and test cases in this huge collection/github.
Run the CLI compiler by specifying the target folder (or file) as first argument and output file (or folder) as second argument. Add options after that, if needed.
The final output will depend on the translator used - and you can easily write your own translator, or use the ones that are prebuilt for you. Here we are using a set of particular HTML templates to build a bare-bone website. The JSON translator is one of the particularly usefull ones. With that tanslator you produce JSON that can be consumed from web applications.
- Use GitHub's issue reporter on the right
- Send me an email vchernev91@abv.bg (might take a few days)
- You can reach me on Viber as well: +359-885-18-05-86
We are excited to present the Describe Markup Language Transpiler v1.0.
- 1.0-beta (ANTLR4, Describe v1.1)
- 0.9.3 (Support for Describe Language v1.0 - Official)
- 0.9.2 (Added features and bugfixes)
- 0.9.1 (Refactoring, added features and bugfixes)
- 0.9 (Initial release - Open beta)
- We currently have inbuilt translators for HTML, XML, JSON and SQL (although the SQL one is just for uploading whole parsed files to a database). If you need to target other languages, or need specific functionality, you'd have to write your own translator class - it is very easy. I will give updates here when more translators are available.