Skip to content

Commit 242cb18

Browse files
committed
Optimized HTML for performance and readability
1 parent 9ec5755 commit 242cb18

File tree

1 file changed

+66
-34
lines changed

1 file changed

+66
-34
lines changed

pug/index.pug

Lines changed: 66 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,67 @@
11
- let pluginData = pageInfo.data['webperf-plugin-javascript'].run ? pageInfo.data['webperf-plugin-javascript'].run : pageInfo.data['webperf-plugin-javascript'].pageSummary
22

33
if pluginData.knowledgeData && pluginData.knowledgeData.issues && pluginData.knowledgeData.issues.length > 0
4-
h1 Grouped Issues
5-
- let groupedIssues = {};
6-
- pluginData.knowledgeData.issues.forEach(issue => {
7-
- let key = `${issue.rule}-${issue.category}-${issue.severity}`;
8-
- if (!groupedIssues[key]) {
9-
- groupedIssues[key] = { rule: issue.rule, category: issue.category, severity: issue.severity, count: 0 };
10-
- }
11-
- groupedIssues[key].count++;
12-
- });
13-
- const severityOrder = { critical: 4, error: 3, warning: 2, info: 1 };
14-
- let sortedGroupedIssues = Object.values(groupedIssues).sort((a, b) => {
15-
- if (severityOrder[b.severity] !== severityOrder[a.severity]) {
16-
- return severityOrder[b.severity] - severityOrder[a.severity];
17-
- }
18-
- return b.count - a.count;
19-
- });
20-
table
21-
thead
22-
tr
23-
th Rule
24-
th Category
25-
th Severity
26-
th Count
27-
tbody
28-
each value in sortedGroupedIssues
4+
- if (pluginData.knowledgeData.issues.length > 15)
5+
h1 Grouped Issues
6+
- let groupedIssues = {};
7+
- pluginData.knowledgeData.issues.forEach(issue => {
8+
- let key = `${issue.rule}-${issue.category}-${issue.severity}`;
9+
- if (!groupedIssues[key]) {
10+
- groupedIssues[key] = { rule: issue.rule, category: issue.category, severity: issue.severity, count: 0 };
11+
- }
12+
- groupedIssues[key].count++;
13+
- });
14+
- const severityOrder = { critical: 4, error: 3, warning: 2, info: 1 };
15+
- let sortedGroupedIssues = Object.values(groupedIssues).sort((a, b) => {
16+
- if (severityOrder[b.severity] !== severityOrder[a.severity]) {
17+
- return severityOrder[b.severity] - severityOrder[a.severity];
18+
- }
19+
- return b.count - a.count;
20+
- });
21+
table
22+
thead
2923
tr
30-
td
31-
a(href=`#rule-${value.rule}`)= value.rule
32-
td= value.category
33-
td= value.severity
34-
td= value.count
24+
th Rule
25+
th Category
26+
th Severity
27+
th Count
28+
tbody
29+
each value in sortedGroupedIssues
30+
tr
31+
td
32+
a(href=`#rule-${value.rule}`)= value.rule
33+
td= value.category
34+
td= value.severity
35+
td= value.count
3536

36-
// Add tables for each rule
37-
each value in sortedGroupedIssues
38-
h2(id=`rule-${value.rule}`)= `Rule: ${value.rule}`
37+
// Add tables for each rule
38+
each value in sortedGroupedIssues
39+
h2(id=`rule-${value.rule}`)= `Rule: ${value.rule}`
40+
p
41+
strong Category:
42+
= value.category
43+
br
44+
strong Severity:
45+
= value.severity
46+
- if (pluginData.knowledgeData.issues.filter(issue => issue.rule === value.rule).length > 100)
47+
p Note: Only the first 100 issues are displayed.
48+
table
49+
thead
50+
tr
51+
th URL
52+
th Text
53+
th Line
54+
th Column
55+
tbody
56+
- let limitedIssues = pluginData.knowledgeData.issues.filter(issue => issue.rule === value.rule).slice(0, 100);
57+
each issue in limitedIssues
58+
tr
59+
td= issue.url
60+
td= issue.text
61+
td= issue.line
62+
td= issue.column
63+
- else
64+
h1 Issues
3965
table
4066
thead
4167
tr
@@ -47,7 +73,7 @@ if pluginData.knowledgeData && pluginData.knowledgeData.issues && pluginData.kno
4773
th Line
4874
th Column
4975
tbody
50-
each issue in pluginData.knowledgeData.issues.filter(issue => issue.rule === value.rule)
76+
each issue in pluginData.knowledgeData.issues
5177
tr
5278
td= issue.url
5379
td= issue.rule
@@ -56,3 +82,9 @@ if pluginData.knowledgeData && pluginData.knowledgeData.issues && pluginData.kno
5682
td= issue.text
5783
td= issue.line
5884
td= issue.column
85+
else
86+
p No issues found.
87+
88+
//- h2 Debug: Plugin Data
89+
//- pre
90+
//- code= JSON.stringify(pluginData, null, 3)

0 commit comments

Comments
 (0)