func markdown()

in Sources/CollectionsBenchmark/Benchmark/Benchmark+ChartLibrary.swift [313:351]


  func markdown(format: ImageFormat) throws -> String {
    var prefix = ""
    var result = """
      # Benchmark results
      
      Click to expand individual items below.

      """
    try apply { event in
      switch event {
      case .startGroup(let group):
        result += """
              \(prefix)<details open>
              \(prefix)  <summary><strong>\(group.title._xmlEscaped())</strong></summary>
              \(prefix)  <ul>\n
              """
        prefix += "  "
      case .endGroup(_):
        prefix = String(prefix.dropLast(2))
        result += """
              \(prefix)  </ul>
              \(prefix)</details>\n
              """
      case .startVariants, .endVariants:
        break
      case let .chart(directory: directory, number: number, chart: chart):
        let path = directory.isEmpty ? "" : directory + "/"
        let filename = "\(path)\(number) \(chart.title).\(format.rawValue)"
        let url = URL(fileURLWithPath: filename)
        result += """
          \(prefix)<details>
          \(prefix)  <summary>\(number): \(chart.title._xmlEscaped())</summary>
          \(prefix)  <img src=\"\(url.relativePath.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)!)\">
          \(prefix)</details>\n
          """
      }
    }
    return result
  }