creating tables from hierarchic structured data in Markdown documents
MdQuery allows to generate automatic tables and lists in a Markdown document.
MdQuery extracts a hierarchic datastructure from a Markdown document (with [MdData][mddata]) and replaces data queries in HTML comments by a table or a list, containing the result of the query.
Take a look at the test case for tables and the test case for lists to get an impression, how it works.
Since version 0.2.4, filter
and sort-by
statements are supported for lists and tables.
Take a look at the test case for filtered lists and
test case for sorted lists.
MdQuery can be used as a function or as a Gulp transformation.
MdQuery makes use of GulpText simple to provide the API. Therefore, it currently supports three ways of usage.
- Use the
readFileSync(path)
function, to get the processed content of a Markdown file. - Specify a Markdown string, to get the processed string.
- Give no arguments, to get a gulp transformation.
Hint: Please note, the main entry in the API of MdQuery is the transform
attribute of the module.
Use the function readFileSync(path)
and specify a path to the Markdown file.
var mdquery = require('mdquery').transform;
var result = mdquery.readFileSync('project_a/docs/index.md');
Give a string to process as Markdown text.
var mdquery = require('mdquery').transform;
var result = mdquery('# Introduction ...');
Call without arguments to create a Gulp transformation.
var mdquery = require('mdquery').transform;
var gulp = require('gulp');
gulp.task('preprocess-markdown', function() {
return gulp.src('docs/*.md')
.pipe(mdquery())
.pipe(gulp.dest('out'));
});
MdQuery is published under the MIT license.