Skip to content

Commit

Permalink
refactor(docs): use 'dot' to generate the message documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
richardschneider committed Sep 10, 2016
1 parent 3b85a30 commit ceea9fe
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 35 deletions.
34 changes: 0 additions & 34 deletions bin/mkdoc.js

This file was deleted.

38 changes: 38 additions & 0 deletions doc/make.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
'use strict';

let tm = require('../index'),
g = tm.grammar,
fs = require('fs'),
mkdirp = require('mkdirp'),
path = require('path'),
dot = require('dot'),
home = './dist/doc';

mkdirp.sync(home);

dot.templateSettings.strip = false;
var render = dot.process({ path: path.dirname(module.filename)});

function save(name, page) {
fs.writeFileSync(home + '/' + name + '.html', page);
}

// An array of message info sorted by message name
let messages = g.root
.terms.map(rule => rule.name)
.sort();
messages = messages.map(name => {
var example, ast;
g.rules[name].example(g, (e,s) => { example = s; });
tm.parse(example, (e,o) => { ast = JSON.stringify(o, null, 4); });
return {
name: name,
example: example,
ast: ast
};
});

module.exports.run = function run() {
save('index', render.messages({ messages: messages }));
};

30 changes: 30 additions & 0 deletions doc/messages.dot
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Messages</title>
</head>
<body>


{{~it.messages :m:index}}
<div><a href="#{{=m.name}}-msg">{{=m.name}}</a></div>
{{~}}

{{~it.messages :m:index}}
<h3 id="{{=m.name}}-msg"> {{=m.name}} Message</h3>
<p>...</p>

<h4>Definition</h4>
...

<h4>Example</h4>
<code>{{=m.example}}</code>

<h4>Syntax Tree</h4>
<code><pre>{{=m.ast}}</pre></code>

{{~}}

</body>
</html>
7 changes: 6 additions & 1 deletion gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ gulp.task('test-browser', ['dist'], function () {
.pipe(mochaPhantomJS({reporter: 'min'}));
});

gulp.task('docs', function(cb) {
require('./doc/make').run();
cb();
});

gulp.task('dist-lib', function() {
return browserify('./index.js', { standalone: 'tableMasterParser'})
.transform(babel, {presets: ['es2015']})
Expand Down Expand Up @@ -92,6 +97,6 @@ gulp.task('coverage', function () {
});

gulp.task('test', ['lint', 'istanbul']);
gulp.task('dist', ['dist-lib', 'dist-test']);
gulp.task('dist', ['docs', 'dist-lib', 'dist-test']);
gulp.task('ci', ['test', 'test-browser', 'dist']);
gulp.task('default', ['test']);
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"babel-preset-es2015": "^6.14.0",
"babelify": "^7.3.0",
"browserify": "^9.0.8",
"dot": "^1.0.3",
"glob": "^7.0.6",
"gulp": "^3.9.1",
"gulp-coveralls": "^0.1.4",
Expand Down

0 comments on commit ceea9fe

Please sign in to comment.