X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=NOTES.org;fp=NOTES.org;h=0000000000000000000000000000000000000000;hb=cfd6bea1a70a4d2fd7255bef66533aaec3b3fe3c;hp=a0358ab1b45c6ff4d405ab2cd6b5719353cc688c;hpb=94c335f94d7cb418c963999682f52e3f53528796;p=elpher.git diff --git a/NOTES.org b/NOTES.org deleted file mode 100644 index a0358ab..0000000 --- a/NOTES.org +++ /dev/null @@ -1,119 +0,0 @@ -#+TITLE: Development notes/ideas - -* Planned improvements - -** TODO Allow multiple elpher buffers - - Shouldn't be too hard, just need elpher-current-node to be -buffer-local and allow various buffer-switching procedures to -do something sensible. - -** TODO Remove "redraw" command -This is only necessary for returning from displaying the raw -server response. If I can provide a better way of doing that -then we can get rid of redraw entirely. - -** TODO Replace support for user-specified starting pages -This used to be available, but was removed during a refactor. - -** TODO Allow for grouping of bookmarks -To support this I'd like to add a bookmark page specific -set of keybindings. Currently all bindings available on -the bookmark page are available everywhere else. But -expanding and collapsing bookmark groups sounds like it -might need more specific bindings. - -** IN-PROGRESS Implement Gemini support [88%] - -Here is the checklist of features required before release: -- [X] basic genimi transactions -- [ ] gemini transactions requiring client certificates -- [X] gemini input handling -- [X] gemini map files (text/gemini) -- [X] Support for plain text responses (text/*) -- [X] Support for image responses (text/image) -- [X] Support for mime-specified character encodeing -- [X] Saving responses to disk -- [X] Viewing raw responses - -The last few will be made infinitely easier if we factor the -gopher "getter" code differently. - -* Current issues - -* Completed improvements - -** DONE Turn on lexical scoping - - A branch exists for this, but there are some compilation kinks -to iron out. - - -** DONE Implement support for telnet entries - -Similar to http entries, telnet entries will be handled by code -external to elpher. However it seems I made http entry handling a -special case, and I don't want another! So the only option is to -bring both http and telnet entries back into the fold by representing -them both as standard nodes and having the grunt work done by getter -functions. - -** DONE Allow users to access selected and current node details. - -** DONE Implement bookmark system - - Currently the bookmark page replaces the current page, and it - does so silently (i.e. it doesn't become part of the link hierarchy). - I think this is a mistake, as it results in confusing behaviour when - traversing the link hierarchy after visiting one of the bookmarked links. - - Instead, I think I should - 1. Make the bookmark page part of the hierarchy, and - 2. Reinstate the visited node hash table to avoid excess link hierarchy pollution. - - In order to accomplish 1. it will be necessary to make the bookmark page renderer - a proper getter function, and one that never caches the contents of the buffer. - - Actually, I might have to think about that a bit more. I don't know - how to answer the question of what the best thing to do with node - parent links when using a cached node in place of a new node. (Maybe - I always update node.parent unless parent is already an ancestor of - node?) - - -** DONE Support character encoding diversity - -** DONE Make URLs the basic address type. -Currently I waste a lot of effort converting between -URL and non-URL representations. This is unnecessary, and -actually makes lots of things uglier. - -For example, the bookmarks file contains addresses in Elpher's -internal representation, whereas I expect users would prefer -it contain URLs. - -So the idea would be for (elpher-node-address node) to be -a either a string or a symbol, with symbols used for "special" -pages (bookmarks, start page, etc). The getter functions -`elpher-address-selector' etc will still do what they currently -do, but will process the URL to do it. - -This also means that non-gopher URLs will be explicitly represented -as such: no more abusing the "h" type for these. - -* Old issues - -** DONE Org mode faces are not present in recent emacs versions -Even 26.1 doesn't seem to have these. This means that, for many -users, elpher doesn't show any difference between any of the -item types. Not a major problem at all, but the faces we inherit -from should definitely be ones which have been present for much -longer. Perhaps the font lock mode faces are the way to go after -all. - -Update: changed all default faces to inherit from font-lock and basic faces. - -** DONE URL-centric addressing breaks bookmark file compatibility - -Need a way to allow people to rescue their old bookmark files -following this update.