lib/url.js
function JekyllUrl (options) {
  options = options || {};

  this.template = options.template;
  this.placeholders = options.placeholders;
  this.permalink = options.permalink;

  if (!this.template) {
    throw new Error('One of template or permalink must be supplied.');
  }
}
function JekyllUrl (options) {
  options = options || {};

  this.template = options.template;
  this.placeholders = options.placeholders;
  this.permalink = options.permalink;

  if (!this.template) {
    throw new Error('One of template or permalink must be supplied.');
  }
}
function JekyllUrl ( options ) { options = options || { } ; this . template = options . template ; this . placeholders = options . placeholders ; this . permalink = options . permalink ; if ( ! this . template ) { throw new Error ( 'One of template or permalink must be supplied.' ) ; } }
Methods that generate a URL for a resource such as a Post or a Page.

@example
new JekyllUrl({
template: '/:categories/:title.html',
placeholders: {':categories': 'ruby', ':title' => 'something'}
}).toString();

@class JekyllUrl
@param {object} options - One of :permalink or :template must be supplied.
@param {string} options.template - The String used as template for URL generation,
or example "/:path/:basename:output_ext", where
a placeholder is prefixed with a colon.
@param {string} options.:placeholders - A hash containing the placeholders which will be
replaced when used inside the template. E.g.
{ year: (new Date()).getFullYear() } would replace
the placeholder ":year" with the current year.
@param {string} options.permalink - If supplied, no URL will be generated from the
template. Instead, the given permalink will be
used as URL.
@see {@link https://github.com/jekyll/jekyll/blob/cc82d442223bdaee36a2aceada64008a0106d82b/lib/jekyll/url.rb|Mimicked Jekyll Code}
Methods that generate a URL for a resource such as a Post or a Page .