forked from cadence/breezewiki
		
	Unify application footer
This commit is contained in:
		
							parent
							
								
									eabe699587
								
							
						
					
					
						commit
						6be10ed319
					
				
					 2 changed files with 37 additions and 41 deletions
				
			
		|  | @ -5,6 +5,8 @@ | ||||||
| (provide | (provide | ||||||
|  ; timeout durations for http-easy requests |  ; timeout durations for http-easy requests | ||||||
|  timeouts |  timeouts | ||||||
|  |  ; generates a consistent footer | ||||||
|  |  application-footer | ||||||
|  ; generates a consistent template for wiki page content to sit in |  ; generates a consistent template for wiki page content to sit in | ||||||
|  generate-wiki-page) |  generate-wiki-page) | ||||||
| 
 | 
 | ||||||
|  | @ -14,6 +16,38 @@ | ||||||
| 
 | 
 | ||||||
| (define timeouts (make-timeout-config #:lease 5 #:connect 5)) | (define timeouts (make-timeout-config #:lease 5 #:connect 5)) | ||||||
| 
 | 
 | ||||||
|  | (define (application-footer source-url) | ||||||
|  |   `(footer (@ (class "custom-footer")) | ||||||
|  |            (div (@ (class ,(if source-url "custom-footer__cols" "internal-footer"))) | ||||||
|  |                 (div (p | ||||||
|  |                       (img (@ (class "my-logo") (src "/static/breezewiki.svg")))) | ||||||
|  |                      (p | ||||||
|  |                       (a (@ (href "https://gitdab.com/cadence/breezewiki")) | ||||||
|  |                          ,(format "~a source code" (config-get 'application_name)))) | ||||||
|  |                      (p | ||||||
|  |                       (a (@ (href "https://docs.breezewiki.com")) | ||||||
|  |                          "Documentation and more information")) | ||||||
|  |                      (p | ||||||
|  |                       (a (@ (href "https://lists.sr.ht/~cadence/breezewiki-discuss")) | ||||||
|  |                          "Discussions / Bug reports / Feature requests")) | ||||||
|  |                      ,(if (config-true? 'instance_is_official) | ||||||
|  |                           `(p ,(format "This instance is run by the ~a developer, " (config-get 'application_name)) | ||||||
|  |                               (a (@ (href "https://cadence.moe/contact")) | ||||||
|  |                                  "Cadence.")) | ||||||
|  |                           `(p | ||||||
|  |                             ,(format "This unofficial instance is based off the ~a source code, but is not controlled by the code developer." (config-get 'application_name))))) | ||||||
|  |                 ,(if source-url | ||||||
|  |                      `(div (p "This page displays proxied content from " | ||||||
|  |                               (a (@ (href ,source-url) (rel "noreferrer")) ,source-url) | ||||||
|  |                               ". Text content is available under the Creative Commons Attribution-Share Alike License 3.0 (Unported), " | ||||||
|  |                               (a (@ (href "https://www.fandom.com/licensing")) "see license info.") | ||||||
|  |                               " Media files may have different copying restrictions.") | ||||||
|  |                            (p ,(format "Fandom is a trademark of Fandom, Inc. ~a is not affiliated with Fandom." (config-get 'application_name)))) | ||||||
|  |                      `(div (p "Text content on wikis run by Fandom is available under the Creative Commons Attribution-Share Alike License 3.0 (Unported), " | ||||||
|  |                               (a (@ (href "https://www.fandom.com/licensing")) "see license info.") | ||||||
|  |                               " Media files and official Fandom documents have different copying restrictions.") | ||||||
|  |                            (p ,(format "Fandom is a trademark of Fandom, Inc. ~a is not affiliated with Fandom." (config-get 'application_name)))))))) | ||||||
|  | 
 | ||||||
| (define (generate-wiki-page source-url wikiname title content) | (define (generate-wiki-page source-url wikiname title content) | ||||||
|   (define (required-styles origin) |   (define (required-styles origin) | ||||||
|     (map (λ (dest-path) (format dest-path origin)) |     (map (λ (dest-path) (format dest-path origin)) | ||||||
|  | @ -46,29 +80,6 @@ | ||||||
|                           (div (@ (id "content") #;(class "page-content")) |                           (div (@ (id "content") #;(class "page-content")) | ||||||
|                                (div (@ (id "mw-content-text")) |                                (div (@ (id "mw-content-text")) | ||||||
|                                     ,content)) |                                     ,content)) | ||||||
|                           (footer (@ (class "custom-footer")) |                           ,(application-footer source-url))))))) | ||||||
|                                   (div (@ (class "custom-footer__cols")) |  | ||||||
|                                        (div |  | ||||||
|                                         (p |  | ||||||
|                                          (img (@ (class "my-logo") (src "/static/breezewiki.svg")))) |  | ||||||
|                                         (p |  | ||||||
|                                          (a (@ (href "https://gitdab.com/cadence/breezewiki")) |  | ||||||
|                                             ,(format "~a source code" (config-get 'application_name)))) |  | ||||||
|                                         (p |  | ||||||
|                                          (a (@ (href "https://lists.sr.ht/~cadence/breezewiki-discuss")) |  | ||||||
|                                             "Discussions / Bug reports / Feature requests")) |  | ||||||
|                                         ,(if (config-get 'instance_is_official) |  | ||||||
|                                              `(p ,(format "This instance is run by the ~a developer, " (config-get 'application_name)) |  | ||||||
|                                                  (a (@ (href "https://cadence.moe/contact")) |  | ||||||
|                                                     "Cadence.")) |  | ||||||
|                                              `(p |  | ||||||
|                                                ,(format "This unofficial instance is based off the ~a source code, but is not controlled by the code developer." (config-get 'application_name))))) |  | ||||||
|                                        (div |  | ||||||
|                                         (p "This page displays proxied content from " |  | ||||||
|                                            (a (@ (href ,source-url) (rel "noreferrer")) ,source-url) |  | ||||||
|                                            ". Text content is available under the Creative Commons Attribution-Share Alike License 3.0 (Unported), " |  | ||||||
|                                            (a (@ (href "https://www.fandom.com/licensing")) "see license info.") |  | ||||||
|                                            " Media files may have different copying restrictions.") |  | ||||||
|                                         (p ,(format "Fandom is a trademark of Fandom, Inc. ~a is not affiliated with Fandom." (config-get 'application_name)))))))))))) |  | ||||||
| (module+ test | (module+ test | ||||||
|   (check-not-false (xexp->html (generate-wiki-page "" "test" "test" '(template))))) |   (check-not-false (xexp->html (generate-wiki-page "" "test" "test" '(template))))) | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| (require net/url | (require net/url | ||||||
|          html-writing |          html-writing | ||||||
|          web-server/http |          web-server/http | ||||||
|  |          "application-globals.rkt" | ||||||
|          "xexpr-utils.rkt" |          "xexpr-utils.rkt" | ||||||
|          "config.rkt") |          "config.rkt") | ||||||
| 
 | 
 | ||||||
|  | @ -57,23 +58,7 @@ | ||||||
|                           (div (@ (id "content") #;(class "page-content")) |                           (div (@ (id "content") #;(class "page-content")) | ||||||
|                                (div (@ (id "mw-content-text")) |                                (div (@ (id "mw-content-text")) | ||||||
|                                     ,@content)) |                                     ,@content)) | ||||||
|                           (footer (@ (class "custom-footer")) |                           ,(application-footer #f))))))) | ||||||
|                                   (div (@ (class "internal-footer")) |  | ||||||
|                                        (img (@ (class "my-logo") (src "/static/breezewiki.svg"))) |  | ||||||
|                                        ,(if (config-true? 'instance_is_official) |  | ||||||
|                                             `(div |  | ||||||
|                                               (p ,(format "This instance is run by the ~a developer, " (config-get 'application_name)) |  | ||||||
|                                                 (a (@ (href "https://cadence.moe/contact")) |  | ||||||
|                                                    "Cadence.")) |  | ||||||
|                                               (p "Hosting generously provided by " |  | ||||||
|                                                  (a (@ (href "http://alphamethyl.barr0w.net/")) |  | ||||||
|                                                     "alphamethyl."))) |  | ||||||
|                                             `(p |  | ||||||
|                                               ,(format "This unofficial instance is based off the ~a source code, but is not controlled by the code developer." (config-get 'application_name)))) |  | ||||||
|                                        (p "Text content on wikis run by Fandom is available under the Creative Commons Attribution-Share Alike License 3.0 (Unported), " |  | ||||||
|                                           (a (@ (href "https://www.fandom.com/licensing")) "see license info.") |  | ||||||
|                                           " Media files and official Fandom documents have different copying restrictions.") |  | ||||||
|                                        (p ,(format "Fandom is a trademark of Fandom, Inc. ~a is not affiliated with Fandom." (config-get 'application_name))))))))))) |  | ||||||
| (module+ test | (module+ test | ||||||
|   (check-not-false (xexp->html body))) |   (check-not-false (xexp->html body))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue