forked from cadence/breezewiki
precompile regexp patterns
This commit is contained in:
parent
2694eb7245
commit
23650067ef
1 changed files with 16 additions and 6 deletions
|
@ -100,19 +100,29 @@
|
||||||
(define (cardimage-class-updater c)
|
(define (cardimage-class-updater c)
|
||||||
(string-append c " bw-updated-cardtable-cardimage"))
|
(string-append c " bw-updated-cardtable-cardimage"))
|
||||||
|
|
||||||
|
; precompute wikiurl regex for efficency
|
||||||
|
(define wikiurl-regex (pregexp (format "^https://(~a)\\.fandom\\.com(/wiki/.*)$" px-wikiname)))
|
||||||
|
|
||||||
(define attributes-updater
|
(define attributes-updater
|
||||||
(compose1
|
(compose1
|
||||||
; uncollapsing
|
; uncollapsing
|
||||||
#;(curry attribute-maybe-update 'class
|
#;(curry attribute-maybe-update 'class
|
||||||
(λ (class) (string-join (classlist-updater (string-split class " ")) " ")))
|
(λ (class) (string-join (classlist-updater (string-split class " ")) " ")))
|
||||||
(curry attribute-maybe-update 'class class-updater)
|
(curry attribute-maybe-update 'class class-updater)
|
||||||
|
|
||||||
; change links to stay on the same wiki
|
; change links to stay on the same wiki
|
||||||
(curry attribute-maybe-update 'href
|
(let
|
||||||
(λ (href)
|
; precompute wikiname replacement pattern
|
||||||
((compose1
|
([wiki-substitution (format "/~a\\1" wikiname)])
|
||||||
(λ (href) (regexp-replace #rx"^(/wiki/.*)" href (format "/~a\\1" wikiname)))
|
(curry attribute-maybe-update 'href
|
||||||
(λ (href) (regexp-replace (pregexp (format "^https://(~a)\\.fandom\\.com(/wiki/.*)" px-wikiname)) href "/\\1\\2")))
|
(λ (href)
|
||||||
href)))
|
((compose1
|
||||||
|
; ok so these don't actually depend on each other.
|
||||||
|
; one will match or the other
|
||||||
|
; also we don't really need regex here.
|
||||||
|
(λ (href) (regexp-replace #rx"^(/wiki/.*)$" href wiki-substitution))
|
||||||
|
(λ (href) (regexp-replace wikiurl-regex href "/\\1\\2")))
|
||||||
|
href))))
|
||||||
; add noreferrer to a.image
|
; add noreferrer to a.image
|
||||||
(curry u
|
(curry u
|
||||||
(λ (v) (and #;(eq? element-type 'a)
|
(λ (v) (and #;(eq? element-type 'a)
|
||||||
|
|
Loading…
Reference in a new issue