History

Cleanup tailwind classes when generating markup

IgnusG committed 4 years ago

Commit 7efdd2d1 parent 268441f1 file · +25 −1Browse files

Unified · Split

lib/docs/filters/tailwindcss/clean_html.rb+25−1
@@ -1,3 +1,26 @@
1# Removes all classes not allowlisted in the below semantic_classes array - such as tailwinds utility classes
2def cleanup_tailwind_classes(node)
3 class_name = node.attr("class")
4
5 if class_name == nil
6 return node.children.each { |child| cleanup_tailwind_classes(child) }
7 end
8
9 semantic_classes = ["code", "color-swatch", "color-swatch-container", "color-tone-information", "color-swatch-group", "color", "colors", "long-quick-reference"]
10
11 classes = class_name.split.select do |klas|
12 semantic_classes.include? klas
13 end
14
15 if classes.length === 0
16 node.delete("class")
17 else
18 node.set_attribute("class", classes.join(" "))
19 end
20
21 node.children.each { |child| cleanup_tailwind_classes(child) }
22end
23
1module Docs24module Docs
2 class Tailwindcss25 class Tailwindcss
3 class CleanHtmlFilter < Filter26 class CleanHtmlFilter < Filter
@@ -52,11 +75,12 @@ module Docs · 48 unmodified lines
52 node.parent.parent['class'] = node.parent.parent['class'].gsub(/bg-.*?\b/, ' ');75 node.parent.parent['class'] = node.parent.parent['class'].gsub(/bg-.*?\b/, ' ');
53 end76 end
54 77
78 @doc.traverse { |node| cleanup_tailwind_classes(node) }
79
55 #remove weird <hr> (https://github.com/damms005/devdocs/commit/8c9fbd859b71a2525b94a35ea994393ce2b6fedb#commitcomment-50091018)80 #remove weird <hr> (https://github.com/damms005/devdocs/commit/8c9fbd859b71a2525b94a35ea994393ce2b6fedb#commitcomment-50091018)
56 css('hr').remove81 css('hr').remove
57 82
58 doc83 doc
59
60 end84 end
61 end85 end
62 end86 end