code: 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.');
    }
  }
docs: 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}