diff --git a/custom-style.css b/custom-style.css index 4b6346d..c8687a2 100644 --- a/custom-style.css +++ b/custom-style.css @@ -70,7 +70,7 @@ h5 { font-size: 1.1em; } -.boxed, .SVerbatim, p .stt { +.boxed, .SVerbatim, .stt { background-color: rgb(232, 232, 255); font-size: 0.90em; } diff --git a/docs.scrbl b/docs.scrbl index 5ea3485..1fcd15d 100644 --- a/docs.scrbl +++ b/docs.scrbl @@ -27,26 +27,14 @@ @subsection{Mirrors} -@(define (mirrors-file-table onion?) - (for/list ([item (with-input-from-file "files/instances.json" (lambda () (read-json)))] - #:when (eq? onion? (regexp-match? #rx"\\.onion" (hash-ref item 'instance)))) - (define-values (owner-name owner-website instance) - (apply values (for/list ([key '(owner_name owner_website instance)]) - (hash-ref item key)))) - (list (if (string? owner-website) (hyperlink owner-website owner-name) owner-name) - (if onion? (hyperlink instance "Visit onion site") (url instance))))) - @tabular[#:style (style "user-table instance-list user-table--title" null) `((,(literal "Hoster") ,(literal "Link")) - ,@(mirrors-file-table #f))] - -@subsection{Onion Mirrors} - -Please note: You need the @hyperlink["https://www.torproject.org/" "Tor browser"] to see these. - -@tabular[#:style (style "user-table instance-list user-table--title" null) - `((,(literal "Hoster") ,(literal "Link")) - ,@(mirrors-file-table #t))] + ,@(for/list ([item (with-input-from-file "files/instances.json" (lambda () (read-json)))]) + (define-values (owner-name owner-website instance) + (apply values (for/list ([key '(owner_name owner_website instance)]) + (hash-ref item key)))) + (list (if (string? owner-website) (hyperlink owner-website owner-name) owner-name) + (url instance))))] @hyperlink["https://docs.breezewiki.com/files/instances.json" "Machine-readable data"] @@ -71,17 +59,6 @@ If you'd like to be automatically redirected from fandom.com to breezewiki.com, @bold{There you go, all done!} If it works, you can stop reading here. } -@subsection{Apple iPhone redirect} - -If you want to be redirected in Safari on iOS or macOS, you can use Redirect Web for Safari. - -@itemlist[#:style 'ordered -@item{Install @hyperlink["https://apps.apple.com/us/app/redirect-web-for-safari/id1571283503" "Redirect Web for Safari"]} -@item{Download this file: @url{https://docs.breezewiki.com/files/breezewiki-redirector.json}} -@item{Open the file with the @italic{Files} app, click on the @italic{Share} icon, click @italic{Redirect Web}, and click @italic{Import}. The redirect should now be enabled in Redirect Web's list.} -@item{Once it's imported, it's safe to delete the @italic{breezewiki.redirectweb} file.} -] - @subsection{Browser extension: Redirector} This will redirect you with no fanfare. It works in Firefox and Chrome on the computer. @@ -169,7 +146,7 @@ The distribution includes the Racket runtime, libraries, and everything else nee This method is recommended for people who want to edit the source code, or for people who can't use the compiled distribution. @itemlist[#:style 'ordered -@item{Install Racket. Please install the latest version. 8.11 or later is required. @hyperlink["https://download.racket-lang.org/" "Download it here if your package manager is old."]} +@item{Install Racket. Please install the latest version. 8.4 or later is required. @hyperlink["https://download.racket-lang.org/" "Download it here if your package manager is old."]} @item{Clone the repository from @url{https://gitdab.com/cadence/breezewiki}.} @item{Run @code{raco pkg install --auto req} to install the @code{raco req} command.} @item{Run @code{raco req -d} in the repository to install dependencies.} @@ -220,52 +197,6 @@ If you're running BreezeWiki in production (i.e. not for development) then check Please set up your configuration file. You must restart BreezeWiki for it to take effect. -@subsection[#:tag "Required options"]{Required options} - -No options are strictly required, but some are highly recommended, depending on where you're running BreezeWiki. - -When running in production, @code{canonical_origin} is highly recommended. - -When running for local development, @code{debug = true} is recommended. - -@subsection{Detailed Options} - -@defthing[canonical_origin value #:value ""]{ -The primary URL where people can access the homepage of your instance. - -For example, @code{https://breezewiki.com} -} - -@defthing[bind_host value #:value "auto"]{ -Which hostname to run the server on. The default value is auto. Auto means 127.0.0.1 in debug mode, otherwise, all interfaces. If you don't know what this means, don't change it. -} - -@defthing[port value #:value "10416"]{ -Which port to run the server on. -} - -@defthing[debug boolean #:value "false"]{ -Enables debugging mode, for debugging BreezeWiki during development. - -Enables more runtime checks and more verbose output. Turns off some browser caching. -} - -@defthing[feature_search_suggestions boolean #:value "true"]{ -Enables the search suggestions feature. - -When enabled, any text typed in the search box will be sent to Fandom servers in order to provide suggestions. -} - -@defthing[log_outgoing boolean #:value "true"]{ -Whether to log outgoing requests to Fandom to the console. -} - -@defthing[strict_proxy boolean #:value "proxy"]{ -This won't work anymore due to jsonp. - -Whether to put more URLs through the proxy. If false, just a minimal set is proxied. If true, additionally proxies page stylesheets and links to image files, thereby reducing the potential for end-users to connect to Fandom servers. -} - @subsection{File} Configuration options are added to the @code{config.ini} file. It is a regular INI file. When running from source, @code{config.ini} goes next to @code{breezewiki.rkt} in the root directory of the repo. @@ -284,7 +215,7 @@ canonical_origin = debug = false feature_search_suggestions = true log_outgoing = true -strict_proxy = false +strict_proxy = true } @subsubsection{Format} @@ -312,6 +243,50 @@ Here is an example of using environment variables in a typical shell: bw_port=4000 bw_debug=false racket dist.rkt } +@subsection[#:tag "Required options"]{Required options} + +No options are strictly required, but some are highly recommended, depending on where you're running BreezeWiki. + +When running for local development, @code{debug = true} is recommended. + +When running in production, @code{canonical_origin} is highly recommended. + +@subsection{Detailed Options} + +@defthing[bind_host value #:value "auto"]{ +Which hostname to run the server on. The default value is auto. Auto means 127.0.0.1 in debug mode, otherwise, all interfaces. If you don't know what this means, don't change it. +} + +@defthing[port value #:value "10416"]{ +Which port to run the server on. +} + +@defthing[canonical_origin value #:value ""]{ +The primary URL where people can access the homepage of your instance. + +For example, @code{https://breezewiki.com} +} + +@defthing[debug boolean #:value "false"]{ +Enables debugging mode, for debugging BreezeWiki during development. + +Enables more runtime checks and more verbose output. Turns off some browser caching. +} + +@defthing[feature_search_suggestions boolean #:value "true"]{ +Enables the search suggestions feature. + +When enabled, any text typed in the search box will be sent to Fandom servers in order to provide suggestions. It will be sent via the proxy if the strict_proxy option is set. +} + +@defthing[log_outgoing boolean #:value "true"]{ +Whether to log outgoing requests to Fandom to the console. +} + +@defthing[strict_proxy boolean #:value "true"]{ +Whether to put more URLs through the proxy. If false, just a minimal set is proxied. If true, additionally proxies page stylesheets and links to image files, thereby reducing the potential for end-users to connect to Fandom servers. +} + @; ----------------------------------------------------------------------------- @section{Developing BreezeWiki} diff --git a/files/breezewiki.redirectweb b/files/breezewiki.redirectweb deleted file mode 100644 index 1091f6b..0000000 --- a/files/breezewiki.redirectweb +++ /dev/null @@ -1,26 +0,0 @@ -{ - "appVersion" : "5.1.1", - "bundleID" : "io.github.mshibanami.RedirectWebForSafari", - "createdAt" : "2023-12-29T09:39:20.571Z", - "kind" : "RedirectList", - "redirects" : [ - { - "captureGroupProcesses" : [ - ], - "comments" : "", - "destinationURLPattern" : "https:\/\/breezewiki.com\/$1\/wiki\/$2", - "exampleURLs" : [ - "https:\/\/minecraft.fandom.com\/wiki\/Bricks" - ], - "excludeURLPatterns" : [ - ], - "isEnabled" : true, - "kind" : "Redirect", - "sourceURLPattern" : { - "type" : "wildcard", - "value" : "https:\/\/*.fandom.com\/wiki\/*" - }, - "title" : "fandom.com -> breezewiki.com" - } - ] -} diff --git a/files/instances.json b/files/instances.json index 1592ab6..59e3200 100644 --- a/files/instances.json +++ b/files/instances.json @@ -2,17 +2,10 @@ {"owner_name": "Cadence", "owner_website": "https://cadence.moe", "instance": "https://breezewiki.com"}, {"owner_name": "Artemis Everfree", "owner_website": "https://artemis.sh/", "instance": "https://antifandom.com"}, {"owner_name": "PussTheCat.org", "owner_website": "https://pussthecat.org", "instance": "https://breezewiki.pussthecat.org"}, - {"owner_name": "mint.lgbt", "owner_website": "https://mint.lgbt", "instance": "https://breeze.mint.lgbt"}, - {"owner_name": "Opnxng", "owner_website": "https://about.opnxng.com", "instance": "https://z.opnxng.com"}, - {"owner_name": "hyperreal", "owner_website": "https://hyperreal.coffee", "instance": "https://breezewiki.hyperreal.coffee"}, - {"owner_name": "untitaker", "owner_website": "mailto:admin@woodland.cafe", "instance": "https://breezewiki.woodland.cafe"}, - {"owner_name": "Fijxu", "owner_website": "https://nadeko.net", "instance": "https://breezewiki.nadeko.net"}, - {"owner_name": "AlexPewMaster", "owner_website": "https://reallyaweso.me", "instance": "https://fandom.reallyaweso.me"}, - {"owner_name": "Rafo", "owner_website": "https://r4fo.com", "instance": "https://breezewiki.r4fo.com/"}, - {"owner_name": "Artemis Lena", "owner_website": "https://artemislena.eu", "instance": "https://bw.artemislena.eu"}, + {"owner_name": "https://kevin.payravi.dev", "owner_website": "https://kevin.payravi.dev", "instance": "https://bw.hamstro.dev"}, + {"owner_name": "Project Segfault", "owner_website": "https://projectsegfau.lt", "instance": "https://bw.projectsegfau.lt"}, {"owner_name": "Hostux", "owner_website": "https://hostux.network", "instance": "https://breeze.hostux.net"}, - {"owner_name": "Private.coffee", "owner_website": "https://private.coffee/", "instance": "https://breezewiki.private.coffee"}, - {"owner_name": "Fijxu", "owner_website": "https://nadeko.net", "instance": "http://breezewiki.nadekonfkhwlxwwk4ycbvq42zvcjmvo5iakl4tajojjwxd4a5dcetuyd.onion"}, - {"owner_name": "Rafo", "owner_website": "https://r4fo.com", "instance": "http://breezewiki.r4focoma7gu2zdwwcjjad47ysxt634lg73sxmdbkdozanwqslho5ohyd.onion"}, - {"owner_name": "Private.coffee", "owner_website": "https://private.coffee/", "instance": "http://breezewiki.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion"} + {"owner_name": "Artemis Lena", "owner_website": "https://artemislena.eu", "instance": "https://bw.artemislena.eu"}, + {"owner_name": "Whatever Social", "owner_website": "https://whatever.social", "instance": "https://nerd.whatever.social"}, + {"owner_name": "Frontend Friendly", "owner_website": "https://frontendfriendly.xyz", "instance": "https://breezewiki.frontendfriendly.xyz"} ]