generateMinified method

String generateMinified()

Generate a minified version (no extra whitespace)

Implementation

String generateMinified() {
  final buffer = StringBuffer();
  buffer.write('<?xml version="1.0" encoding="UTF-8"?>');
  buffer.write(
    '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">',
  );

  final cleanBase = baseUrl.endsWith('/')
      ? baseUrl.substring(0, baseUrl.length - 1)
      : baseUrl;

  for (final entry in entries) {
    final cleanPath = entry.path.startsWith('/')
        ? entry.path
        : '/${entry.path}';
    final fullUrl = '$cleanBase$cleanPath';

    buffer.write('<url>');
    buffer.write('<loc>${_escapeXml(fullUrl)}</loc>');
    if (entry.lastModified != null) {
      buffer.write('<lastmod>${_formatDate(entry.lastModified!)}</lastmod>');
    }
    buffer.write('<changefreq>${entry.changeFrequency.value}</changefreq>');
    buffer.write('<priority>${entry.priority.toStringAsFixed(1)}</priority>');
    buffer.write('</url>');
  }

  buffer.write('</urlset>');
  return buffer.toString();
}