code: function injectLineNumbers(tokens, idx, options, env, slf) {
      var line;
      if (tokens[idx].map && tokens[idx].level === 0) {
        line = tokens[idx].map[0];
        tokens[idx].attrJoin('class', 'line');
        tokens[idx].attrSet('data-line', String(line));
      }
      return slf.renderToken(tokens, idx, options, env, slf);
    }
docs: Inject line numbers for sync scroll. Notes:  - We track only headings and paragraphs on first level. That's enough. - Footnotes content causes jumps. Level limit filter it automatically.