4.3.5 • Published 1 year ago

pub-generator v4.3.5

Weekly downloads
64
License
MIT
Repository
github
Last release
1 year ago

pub-generator

CI

  • markdown/handlebars site generator
  • runs in node as part of pub-server, or in browser e.g. inside pub-pkg-editor

installation

pub-generator is included with pub-server and runs as part of the server.

server usage

the server instantiates a single generator as follows:

// resolve config
var opts = require('pub-resolve-opts')(opts, path.join(__dirname, 'node_modules'));

// instatiate generator
var generator = require('pub-generator')(opts);

// install plugins
u.each(opts.generatorPlugins, function(plugin) {
  require(plugin.path)(generator);
});

// read all sources and compile
generator.load(cb)

a minimal express page renderer would look like this:

app.get(function(req, res, next) {
  var page = generator.findPage(req.url);
  if (!page) return next();
  res.send(generator.renderDoc(page));
});

browser usage

pub-server can deliver the generator to clients in browserified form at /pub/_generator.js. Here is a slightly simplified version of this (jQuery) script. Options and plugins are retrieved separately for caching reasons.

$.getJSON('/pub/_opts.json')
.fail(function(jqXHR) { alert('unable to load /pub/_opts.json'); })
.done(function(respData) {

  // opts includes source.file data for all sources
  // see pub-server serve-scripts
  var opts = respData;

  // start client-side pub-generator
  var generator = window.generator = require('pub-generator')(opts);

  // get browserified generator plugins - avoid caching across directories
  $.getScript('/pub/_generator-plugins.js?_=' + encodeURIComponent(opts.basedir))
  .fail(function(jqXHR) { alert('unable to load generator plugins'); })
  .done(function(script) {

    generator.load(function(err) {
      if (err) return opts.log(err);

      // slightly ugly way to notify client (editor) that generator is ready
      if (window.onGeneratorLoaded) {
        window.onGeneratorLoaded(generator);
      }
    });
  });
});
4.3.5

1 year ago

4.3.4

1 year ago

4.3.3

2 years ago

4.3.2

2 years ago

4.3.1

2 years ago

4.3.0

3 years ago

4.2.0

3 years ago

4.1.3

3 years ago

4.1.2

3 years ago

4.1.1

3 years ago

4.1.0

4 years ago

4.0.0

4 years ago

3.3.0

4 years ago

3.5.0

4 years ago

3.2.0

4 years ago

3.0.0

4 years ago

2.4.2

4 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.5

5 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.18.17

5 years ago

1.18.16

5 years ago

1.18.15

5 years ago

1.18.14

8 years ago

1.18.13

8 years ago

1.18.12

8 years ago

1.18.11

8 years ago

1.18.10

8 years ago

1.18.9

8 years ago

1.18.8

8 years ago

1.18.7

9 years ago

1.18.6

9 years ago

1.18.5

9 years ago

1.18.4

9 years ago

1.18.3

9 years ago

1.18.2

9 years ago

1.18.1

9 years ago

1.18.0

9 years ago

1.17.2

9 years ago

1.17.1

9 years ago

1.17.0

9 years ago

1.16.3

9 years ago

1.16.2

9 years ago

1.16.1

9 years ago

1.16.0

9 years ago

1.15.0

9 years ago

1.14.0

9 years ago

1.13.0

9 years ago

1.12.2

9 years ago

1.12.1

9 years ago

1.12.0

9 years ago

1.11.0

9 years ago

1.10.5

9 years ago

1.10.4

9 years ago

1.10.3

9 years ago

1.10.2

9 years ago

1.10.1

9 years ago

1.10.0

9 years ago

1.9.5

9 years ago

1.9.4

9 years ago

1.9.3

9 years ago

1.9.2

9 years ago

1.9.1

9 years ago

1.9.0

9 years ago

1.8.0

9 years ago

1.7.0

9 years ago

1.6.0

9 years ago

1.5.3

9 years ago

1.5.2

9 years ago

1.5.1

9 years ago

1.5.0

9 years ago

1.4.0

9 years ago

1.3.0

9 years ago

1.2.2

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago