-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathNotes.txt
232 lines (188 loc) · 10.3 KB
/
Notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
============================
Author: Luke Emmet
Title: ideas for GemiNaut and history of changes
Date: 20-May-2020
============================
# Deploy notes
* run the MSI installer
# Bugs
# To do
conversation with kevinsan:
- F5 for reload (as well as Ctrl-R which is natural)
- bookmarks bar
- ctrl-click for popup, otherwise inline?
kevinsan> I hadn't thought of that, yes it works fine.
<lukee> Next version will probably be able to show images within the client, rather than launching an external webbrowser
<lukee> I just need to finish a bit of logic and UI so you can specify a max timeout and response size before the connection is abandoned
<lukee> since in Gemini we never know how big the response is
<kevinsan> that will be useful. are you planning an image viewer pop-up, or will you replace the view?
<lukee> first iteration it will replace the view
<lukee> but I would like to do an image popup like a lightbox, which I think will feel more fluid and integrated
<kevinsan> yes, i think there are different image-viewing use-cases. like, when i'm viewing a diagram that accompanies some text, I need to also see the text.
<lukee> yes
<kevinsan> but viewing a photo, that's all I want to look at.
<lukee> how would you like to control that decision?
<kevinsan> If I was writing my own client, I'd use a ctrl-click for popup.
<lukee> another option I've considered is some kind of button or menu on the link.
<lukee> maybe like a [+] - if you clicked that it would show inline, otherwise the rest of the link would do a replace
<lukee> or another option - you click (or otherwise activate) on the link and a menu appears with "popup" and "show inline" or something like that?
<kevinsan> both of those would work, though I wonder if it would add clutter? menu sounds cumbersome
<kevinsan> a hover popup on the link could show usage (e.g. "Click to view, Ctrl-click for popup")
<lukee> well all of this can be explored. My inclination is to keep the tooltip/hover popup for information about the link. But yes there is some fruitful options here
<lukee> is->are
# Nice to have
* non-blocking calls to command line apps allowing user to cancel page loads mid flow etc
* custom context menu, not the default mshtml one
* some kind of progress bar or activity thing when downloading larger files
* File-Print menu
* Ctrl-R refreshes
* find text on current page (works, but wire up to menu)
* zoom reset to 100%
* register with windows to handle gemini:// protocol (with consent, not automatic)
* navigate to parent folder
* use EdgeHtml for rendering engine
* more experiments to try other theme ideas
* some better design documentation or summary of overall aproach and direction
# Blocked things
Needs updating to EdgeHTML rendering engine
* popup images as an option to display them (lightbox style perhaps)
* bring back the nice rounded borders in Fabric theme, recently turned off for 0.8.1
* darken the background a tiny bit in Fabric theme to be less saturated
* rounded borders in Fabric theme
Needs updates to gemget
* TOFU support for server certs
* client certs
# Maybe implement some day
* integrate c# library for gemini protocol - a new one or maybe from TwinPeaks client
* strip out terminal colour escape codes - e.g. on
gemini://bleyble.com/users/quokka/run2plan/couch25k.gmi
* persistent page specifc deep linking e.g. foo.gmi#foo links to the foo heading in that doc - but no standard on that yet
# Done
## 0.8.8
* application binaries and installer are now signed
* can access the small web (document web) using native converter html->gmi
* default is to try to check certificate validity on all servers, if validation not successful, warn with toast message and connect anyway
* can render text/html files served in gemini (simplified)
* scrollbars on preformatted text areas only appear when region is hovered to reduce clutter
* can access the small web using an HTTP proxy for Gemini (e.g. https://github.com/LukeEmmet/duckling-proxy)
* live footnote style links for native converter or if HTTP proxy uses numbered citations (e.g. "[1]")
* integrate Goose to allow for a "simplified" view of web content
* allow switching modes between different rendering options for web content
* update to use latest gemget 1.5
* fix bug to allow downloading from paths having no file extension
* fix bug to correctly render mailto: links
* create application installer
* slighly more whitespace (increased line spacing) in themes to improve readability
## 0.8.7
* only show tooltip on preformatted text if non-empty
* drop use of proxy for gopher and allow file downloading
* display images directly from gopher
* use maintained gopher client gopher-get published to https://github.com/LukeEmmet/gopher-get
* resource download possible from cgi script as well as static files
* improve link wrap in gopher using monospace fonts in fabric themes
* file->new to start a new GemiNaut instance with the current URL to fork the browsing session
* can start with a URL commandline parameter
* use same identity in classic fabric theme for /~foo as users/foo
* navigated or redirected URIs are now normalised (e.g. remove port if it is the default for the scheme)
* binary files can now be downloaded to chosen location, not open in proxy (gemini)
* can specify download max size/time before abandoning
* new settings window for download options and home url
* when upgrading from previous version, keep previous settings
* hanging indents for bullets and links in terminal theme
* keyboard shortcuts for bookmarks (e.g. Alt+B) and other menus
* build links correctly when a port is given within the URL
* server size and timeout for slow or too large content
* simple image display within GemiNaut
* updated build of gemget
## 0.8.6
* .net based identikons
* show same theme for /~foo as users/foo
* use latest gemget 0.1.4
* reinstate get-theme-id for theme normalisation - reimplement in c#
* preformatted text areas now have their own scroll added when overflowed
* plain text content no longer rendered as text/gemini, but as plain text.
* themeing - a user should now generally get the same theme on gopher as in gemini for the same domain
* gopher page titles: only trim off extension for pages, not maps
* common themeing for /~foo and /users/foo on the same domain
* better feedback messages if content was not successfully converted
* support search in gopher
* check uri is valid before navigating to it
* dont render content from gopher using gemini markup apart form links
* autolink urls occupying a whole gopher text lines, with minor variants
* gopher text wrapping - softwrap beyond 85 chars, otherwise fixed width
* integrate gopher client based on go-gopher
## 0.8.5
* update to use gemget 0.1.2
* show server text in input prompt
* tooltips in bookmarks list
* separators between sections of bookmarks list with "--" or "__"
* automatic title creation from url for gopher pages
* support gopher:// protocol as well as gemini://
* help pages now use text/gemini and have table of contents
* about:// protocol with help files now dogfooded using local GMI files
* tweaks and minor improvements to plain theme to get hanging indents on links and bullets
* better vertical formatting - e.g. always have blank space before and after a heading
* new dark theme
* add and manage bookmarks
* theme look up from a themes folder - so users can create their own
* navigation buttons
* icon hinting at probable links to binary files such as images, audio, video, pdf, zip etc.
* don't remove commas and other separators from text lines
* link formation if there is a slash in query string is not handled correctly
* page in gemini space
* url escaping (percent encoding) fixed for input params (esp when contain + / and <space>)
* only show TOC if more than one entry
* show site id in window title
## 0.8.3
* page specific table of contents
## 0.8.2
* fix keyboard focus problem so you dont have to click into browser on each page
* display view->source GMI as utf-8
## 0.8.1 first release
* added simple userguide
* infer the document title from the first heading or para text line and show in window caption
* workaround for GemGet bug which overwrites into the output file, rather than replacing the whole file
* user selectable themes (4 to start with Fabric, Plain, Terminal and Unified UI)
* html escape source content before display
* pass torture tests relating to link formation
* detect response redirect urls and adjust links accordingly
(e.g. gemini://gemini.circumlunar.space/users/solderpunk ->
gemini://gemini.circumlunar.space/users/solderpunk/)
* pad output with blank lines at end for better display of short content
* new plain line blocks always preceded by at least one blank line
* prettify spacing of headings, always have a blank line before these.
* prettify spacing of links/bullets, always have a blank line unless previous element was one too
(e.g. gemini://gemini.circumlunar.space:1965/users/acdw/ is laid out more pleasantly)
* when loading raw gmi for view source get browser to interpret as text/plain
* application icon from http://www.iconarchive.com/show/pretty-office-8-icons-by-custom-icon-design/Text-align-left-icon.html
* txtUrl follows page better
* local versions of Rebol and GmiConverters and Gemget folders used if found
* more pretty handling of page not found (status 51)
* txtUrl never shows https urls
* user can edit home page
* show prompt for query building
* decorate links to expected binary files with document glyph to hint content
* hanging indent on bullets and links
* visual hinting of non gemini links with glyph and link style
* show tooltip of url to be navigated to
* code fences for preformatted areas, including label as tooltip
* toast popups for error conditions
* session and server independent identikons and page background texture
* user based visual identity/theme for personal sub-sites, not requiring author control
* view source
* launch external urls in system browser
* use http proxy for common binary file types
* empty cache on close
* prettify links, headings and bullets
## Inherent features in virture of using mshtml HTML library
* go back and forward remembers scroll offset
* rich CSS styling and visual design
* smooth scrolling
* tab through page links
* cursor keys, page/up down, keyboard shortcuts for back/forwards
* zoom with wheelmouse
* navigate forwards, back, quickly (browser cache)
* wrap long lines to window
* Ctrl+F to find in current page
* Select all, copy to clipboard
* Ctrl+P to print page