diff --git a/src/data.rkt b/src/data.rkt index e8a9e69..cdd8c39 100644 --- a/src/data.rkt +++ b/src/data.rkt @@ -91,5 +91,5 @@ #:max-age (* 60 60 24 365 10))))) (define (user-cookies-setter-url req new-settings) - (format "/set-user-settings?~a" (params->query `(("ref" . ,(url->string (request-uri req))) + (format "/set-user-settings?~a" (params->query `(("next_location" . ,(url->string (request-uri req))) ("new_settings" . ,(format "~a" new-settings)))))) diff --git a/src/page-set-user-settings.rkt b/src/page-set-user-settings.rkt index 3f37692..2fbc573 100644 --- a/src/page-set-user-settings.rkt +++ b/src/page-set-user-settings.rkt @@ -12,7 +12,7 @@ (define (page-set-user-settings req) (response-handler - (define ref (dict-ref (url-query (request-uri req)) 'ref)) + (define next-location (dict-ref (url-query (request-uri req)) 'next_location)) (define new-settings (read (open-input-string (dict-ref (url-query (request-uri req)) 'new_settings)))) (define headers (user-cookies-setter new-settings)) - (generate-redirect ref #:headers headers))) + (generate-redirect next-location #:headers headers))) diff --git a/src/page-wiki.rkt b/src/page-wiki.rkt index 2cd14dc..6f22ad8 100644 --- a/src/page-wiki.rkt +++ b/src/page-wiki.rkt @@ -19,6 +19,7 @@ "data.rkt" "pure-utils.rkt" "syntax.rkt" + "tree-updater.rkt" "xexpr-utils.rkt" "url-utils.rkt") @@ -30,51 +31,19 @@ preprocess-html-wiki) (module+ test - (require rackunit) - (define wiki-document - '(*TOP* - (div (@ (class "mw-parser-output")) - (aside (@ (role "region") (class "portable-infobox pi-theme-wikia pi-layout-default")) - (h2 (@ (class "pi-item pi-title") (data-source "title")) - "Infobox Title") - (figure (@ (class "pi-item pi-image") (data-source "image")) - (a (@ (href "https://static.wikia.nocookie.net/nice-image.png") (class "image image-thumbnail") (title "")) - (img (@ (src "https://static.wikia.nocookie.net/nice-image-thumbnail.png") (class "pi-image-thumbnail"))))) - (div (@ (class "pi-item pi-data") (data-source "description")) - (h3 (@ (class "pi-data-label")) - "Description") - (div (@ (class "pi-data-value")) - "Mystery infobox!"))) - (div (@ (data-test-collapsesection) (class "collapsible collapsetoggle-inline collapsed")) - (i (b "This section is hidden for dramatic effect.")) - (div (@ (class "collapsible-content")) - (p "Another page link: " - (a (@ (data-test-wikilink) (href "https://test.fandom.com/wiki/Another_Page") (title "Another Page")) - "Another Page")))) - (figure (@ (class "thumb tnone")) - (a (@ (href "https://static.wikia.nocookie.net/nice-image.png") (class "image") (data-test-figure-a)) - (img (@ (src "data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D") - (data-src "https://static.wikia.nocookie.net/nice-image-thumbnail.png") - (class "thumbimage lazyload")))) - (noscript - (a (@ (href "https://static.wikia.nocookie.net/nice-image.png") (class "image")) - (img (@ (src "https://static.wikia.nocookie.net/nice-image-thumbnail.png") - (data-src "https://static.wikia.nocookie.net/nice-image-thumbnail.png") - (class "thumbimage"))))) - (figcaption "Test figure!")) - (iframe (@ (src "https://example.com/iframe-src"))))))) + (require rackunit)) (define (preprocess-html-wiki html) - (define (rr* find replace contents) + (define ((rr* find replace) contents) (regexp-replace* find contents replace)) ((compose1 ; fix navbox list nesting ; navbox on right of page has incorrect html "
  • " and the xexpr parser puts the
  • much further up the tree ; add a