123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- package gen
- import (
- "git.clearsky.net.au/cody/gex.git/gen/domquery"
- )
- func AddClassAttr(htmlStr string, className string) string {
- dom := domquery.LoadHTML(htmlStr)
- tags := dom.QuerySelectorAll("*")
- for _, tag := range tags {
- if isExcludedTag(tag.TagName()) {
- continue
- }
- tag.ClassListAdd(className)
- }
- return dom.InnerHTML()
- }
- func isExcludedTag(tagName string) bool {
- validTags := map[string]bool{
- "html": true,
- "head": true,
- "style": true,
- "script": true,
- "link": true,
- "meta": true,
- "title": true,
- "slot": true,
- "block": true,
- "layout": true,
- "part": true,
- }
- return validTags[tagName]
- }
- func ExtractCSS(htmlStr *string) string {
- document := domquery.LoadHTML(*htmlStr)
- styleTag := document.QuerySelector("style")
- css := ""
- if styleTag.InnerHTML() != "" {
- css = styleTag.InnerHTML()
- styleTag.SetOuterHTML("")
- *htmlStr = document.InnerHTML()
- }
- return css
- }
|