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