UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

67 lines 3.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SeoIssueMarkdownReport = void 0; const report_utils_1 = require("./report-utils"); class SeoIssueMarkdownReport { static generate(issues) { if (!Array.isArray(issues)) issues = []; console.log('DEBUG seo-issue-markdown: issues', issues); const lines = []; lines.push('# 🔍 SEO Issue Report'); lines.push(`Generated: ${new Date().toISOString()}`); lines.push(`Total Issues: ${issues.length}`); lines.push(''); // Filter nur auf SEO-Issues const seoIssues = issues.filter(issue => issue.reportType === 'seo'); if (seoIssues.length === 0) { lines.push('✅ No SEO issues found!'); return lines.join('\n'); } // Gruppiere nach Seite const issuesByPage = (0, report_utils_1.groupByPage)(issues) || {}; console.log('DEBUG seo-issue-markdown: issuesByPage', issuesByPage); for (const [pageUrl, pageIssues] of Object.entries(issuesByPage)) { lines.push(`## Page: ${pageUrl}`); if (pageIssues[0]?.pageTitle) { lines.push(`**Title:** ${pageIssues[0].pageTitle}`); } lines.push(''); const sorted = (0, report_utils_1.sortByType)((0, report_utils_1.sortBySeverity)(pageIssues)); sorted.forEach((issue, idx) => { lines.push(`### Issue ${idx + 1}`); lines.push(`- **Type:** ${issue.type}`); lines.push(`- **Severity:** ${issue.severity}`); if (issue.score !== undefined) lines.push(`- **Score:** ${issue.score}`); if (issue.source) lines.push(`- **Source:** ${issue.source}`); lines.push(`- **Message:** ${issue.message}`); if (issue.code) lines.push(`- **Code:** ${issue.code}`); if (issue.selector) lines.push(`- **Selector:** \`${issue.selector}\``); if (issue.context) lines.push(`- **Context:** \`${issue.context}\``); if (issue.htmlSnippet) { lines.push('- **HTML Snippet:**'); lines.push('```html'); lines.push(issue.htmlSnippet); lines.push('```'); } if (issue.lineNumber) lines.push(`- **Line:** ${issue.lineNumber}`); if (issue.recommendation) lines.push(`- **Recommendation:** ${issue.recommendation}`); if (issue.resource) lines.push(`- **Resource:** ${issue.resource}`); if (issue.metric) lines.push(`- **Metric:** ${issue.metric}`); lines.push(''); }); } return lines.join('\n'); } } exports.SeoIssueMarkdownReport = SeoIssueMarkdownReport; //# sourceMappingURL=seo-issue-markdown.js.map