Unified · Split
| @@ -1,3 +1,26 @@ | ||
| 1 | +# Removes all classes not allowlisted in the below semantic_classes array - such as tailwinds utility classes | |
| 2 | +def 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) } | |
| 22 | +end | |
| 23 | + | |
| 1 | 24 | module Docs |
| 2 | 25 | class Tailwindcss |
| 3 | 26 | class CleanHtmlFilter < Filter |
| @@ -52,11 +75,12 @@ module Docs · 48 unmodified lines | ||
| 52 | 75 | node.parent.parent['class'] = node.parent.parent['class'].gsub(/bg-.*?\b/, ' '); |
| 53 | 76 | end |
| 54 | 77 | |
| 78 | + @doc.traverse { |node| cleanup_tailwind_classes(node) } | |
| 79 | + | |
| 55 | 80 | #remove weird <hr> (https://github.com/damms005/devdocs/commit/8c9fbd859b71a2525b94a35ea994393ce2b6fedb#commitcomment-50091018) |
| 56 | 81 | css('hr').remove |
| 57 | 82 | |
| 58 | 83 | doc |
| 59 | − | |
| 60 | 84 | end |
| 61 | 85 | end |
| 62 | 86 | end |