示例#1
0
 linkify: function(tok, heading) {
   var url = relative(fp);
   url += '/#';
   url += toc.slugify(heading);
   tok.content = mdu.link(tok.content, url);
   return tok;
 }
示例#2
0
  var tables = files.map(function (file) {
    if (file.match('index.md')) return
    if (file.match('README.md')) return
    if (file.match('node_modules')) return

    var filenameSlug = toc.slugify(path.parse(file).name)
    var originalLinkify = toc.linkify
    var table = toc(fs.readFileSync(file, 'utf8'), {
      filter: function(str, ele, arr) {
        // Skip top-level elements if their slug matches a slug of the filename.
        return ele.level != 1 || ele.slug != filenameSlug
      },
      linkify: function(tok, text, slug, opts) {
        // Use empty options arg to avoid infinite recursion.
        var tok = originalLinkify(tok, text, slug, {})
        // Prepend filename to links.
        tok.content = tok.content.replace('#', file + '#')
        return tok
      }
    })

    // Add filename as a heading.
    return '### [' + filenameSlug + '](' + file + ')\n\n' + table.content
  })
 remarkable.renderer.rules.heading_open = function (tokens, idx) {
     return '<h' + tokens[idx].hLevel + ' id=' + toc.slugify(tokens[idx + 1].content) + '>';
 };