why no scroll

This commit is contained in:
Luxferre
2024-10-08 11:02:26 +03:00
parent a932a3cda6
commit 6a717bfb9c
2 changed files with 22 additions and 16 deletions
+6 -1
View File
@@ -61,6 +61,7 @@ In general, there are two reasons why a feature might not be implemented in BFG:
* Any sort of embedded non-text content * Any sort of embedded non-text content
* NPS and Titan protocols and other means of content uploading \* * NPS and Titan protocols and other means of content uploading \*
* Gopher+ protocol extensions * Gopher+ protocol extensions
* Scroll protocol (see FAQ)
* Guppy protocol (UDP-based, don't want to introduce another third-party dependency) * Guppy protocol (UDP-based, don't want to introduce another third-party dependency)
(\* probably will be implemented in a separate program) (\* probably will be implemented in a separate program)
@@ -168,9 +169,13 @@ Alternatively, you can do a proposal in the "Issues" section or even create a pa
However, one of the BFG's goals is to stay under 1000 SLOC no matter what. However, one of the BFG's goals is to stay under 1000 SLOC no matter what.
If you want feature creep, feel free to switch to more suitable clients like Lagrange. If you want feature creep, feel free to switch to more suitable clients like Lagrange.
### Why aren't you going to implement the Scroll protocol in BFG?
The [Scroll protocol](gemini://scrollprotocol.us.to/) is essentially advertised as an extended version of Gemini with some features of Spartan, despite being described as merely "inspired by Gemini and Gopher+". It introduces a new document format that essentially is a hybrid between Gemtext and Markdown. Implementing a reasonable amount of support for the inline markup alone will bloat the BFG's codebase beyond the desired limit. On top of that, the protocol imposes passing additional metadata and content classification, which, again, takes some more codebase to implement and doesn't add anything really useful in my opinion. The Scroll protocol just seems to introduce more unnecessary complexity the BFG browser is not designed for.
### Why does a Gopher-over-TLS (`gophers://` URL) resource still show plain `gopher://` links? ### Why does a Gopher-over-TLS (`gophers://` URL) resource still show plain `gopher://` links?
Due to a limitation of the Gopher-over-TLS protocol itself, we cannot determine if the Gophermap entry points to a plain Gopher or a Gopher-over-TLS resource. Hence, only the links belonging to the same host/port pair that was already opened with a `gophers://` link are displayed as `gophers://` links. Everything else needs to be adjusted manually for now. Sorry for the inconvenience. Due to a purely technical limitation of the Gopher protocol (or rather the Gophermap format) itself, we cannot determine if a particular Gophermap entry points to a plain Gopher or a Gopher-over-TLS resource. Hence, only the links belonging to the same host/port pair that was already opened with a `gophers://` link are displayed as `gophers://` links. Everything else needs to be adjusted manually for now. Sorry for the inconvenience.
## Credits ## Credits
+16 -15
View File
@@ -1,11 +1,3 @@
[style.link.focused]
background=#111
foreground=cyan
[style.link.normal]
background=#111
foreground=#eee
[widget] [widget]
entryfont=Noto Sans entryfont=Noto Sans
entryfontsize=11 entryfontsize=11
@@ -15,7 +7,16 @@ statusfont=Noto Sans
statusfontsize=11 statusfontsize=11
ttkTheme=gtkTtk ttkTheme=gtkTtk
[style.link.normal]
background=#111
foreground=#eee
[style.link.focused]
background=#111
foreground=cyan
[bookmarks] [bookmarks]
AuraGem=gemini://auragem.letz.dev/
Gophoogle=gopher://shibboleths.org:70/1/home Gophoogle=gopher://shibboleths.org:70/1/home
HOI.ST=gopher://hoi.st HOI.ST=gopher://hoi.st
Nightfall City=nex://nightfall.city Nightfall City=nex://nightfall.city
@@ -23,10 +24,6 @@ Project Gemini=gemini://geminiprotocol.net
Spartan Portal=spartan://mozz.us Spartan Portal=spartan://mozz.us
TLGS=gemini://tlgs.one TLGS=gemini://tlgs.one
[style.error]
background=#111
foreground=red
[style.general] [style.general]
background=#111 background=#111
foreground=#eee foreground=#eee
@@ -35,10 +32,14 @@ monofontsize=12
textfont=Noto Sans textfont=Noto Sans
textfontsize=12 textfontsize=12
[style.highlight] [style.error]
background=yellow background=#111
foreground=#111 foreground=red
[net] [net]
timeout=5000 timeout=5000
[style.highlight]
background=yellow
foreground=#111