docs: function () {
      var text = '[' + this.tag
  
      _.each(this.attrs.numeric, function (value) {
        if (/\s/.test(value)) {
          text += ' "' + value + '"'
        } else {
          text += ' ' + value
        }
      })
  
      _.each(this.attrs.named, function (value, name) {
        text += ' ' + name + '="' + value + '"'
      })
  
      // If the tag is marked as `single` or `self-closing`, close the
      // tag and ignore any additional content.
      if (this.type === 'single') {
        return text + ']'
      } else if (this.type === 'self-closing') {
        return text + ' /]'
      }
  
      // Complete the opening tag.
      text += ']'
  
      if (this.content) {
        text += this.content
      }
  
      // Add the closing tag.
      return text + '[/' + this.tag + ']'
    }