summaryrefslogtreecommitdiff
path: root/README.gmi
diff options
context:
space:
mode:
authortjp <tjp@ctrl-c.club>2024-01-03 08:29:40 -0700
committertjp <tjp@ctrl-c.club>2024-01-03 08:29:40 -0700
commit6c9558c0d2201d933b1d396febeb6e70ceaad058 (patch)
tree565b8b048fc3e63b6c2eb6892a6f356f0c3c15aa /README.gmi
parent4b3dd896fb0c157e0d727f39ccb6d940a75d1cce (diff)
working basic navigation and marks
Diffstat (limited to 'README.gmi')
-rw-r--r--README.gmi48
1 files changed, 37 insertions, 11 deletions
diff --git a/README.gmi b/README.gmi
index 13175ca..4dfb32d 100644
--- a/README.gmi
+++ b/README.gmi
@@ -14,7 +14,7 @@ These posts offer up some helpful but uncommon ideas for a browser:
## Commands
-The default action is "go", so just putting an integer or URL in the command bar goes there.
+The default action for a completely empty command is "print", which will display the current page. If, however, a URL is entered then "go" is implied.
* re[load]: re-request and re-display the current page
* r[oot]: go to the root of the current site, or /~username root if in a tilde-path
@@ -22,16 +22,33 @@ The default action is "go", so just putting an integer or URL in the command bar
* b[ack]: back in history
* f[orward]: forward in history
* n[ext]: go to the next link in the previous history page - see below (like "back" followed by "go N+1" where N is the link index we used to get to the current page)
-* p[revious]: go to the previous link in the previous history page - see below
+* pre[vious]: go to the previous link in the previous history page - see below
* u[p]: go to the parent directory of the current page
* g[o] <link>: visits a URL, which may be an integer in which case it's the numbered link on the current page, or an absolute or relative URL
* hi[story]: display the current history
-* l[ess]: pipe the current page's content through less(1)
+* p[rint]: display the current page
+* l[inks]: filter the page down to just a list of its links
* |<shell command>: pipe the page's content through any shell command, executed with "sh -c"
* s[ave] <path>: save the page's content at a particular filesystem path
* h[elp] [<command>]: show a help screen, optionally the one about a specific command
* m[ark]: bookmarks, see below
* t[our]: tours, seee below
+* q[uit]: exit the browser
+
+## URL specifiers
+
+Commands which take URLs can take them in a variety of forms:
+* full absolute URLs with or without a scheme
+* relative URLs interpreted relative to the current page
+* "." always refers to the current page's URL
+* positive integers - the link index shown next to links on the current page
+* "m:<name>" - the link saved by a mark with a specific name
+* "t:<N>" - the URL in the default tour at index N
+* "t<X>:<N>" - The URL in the X tour at index N
+
+The "tour add" command additionally also supports ranges of URLs in these forms:
+* "x-y" where x and y are integers, this expands to the range of links in the current page from x to y, inclusive on both ends
+* "*" adds all the links on the current page
## Next/Previous
@@ -46,9 +63,9 @@ On any other nagivation, this context is cleared and next/previous actions won't
## Marks
* named "m[ark]" instead of "bookmark" so "m" is used instead of interfering with "back/b"
-* "mark a[dd] <url> <name>" adds a single mark. <name> can contain slashes to create a heirarchy
+* "mark a[dd] <name> <url>" adds a single mark. <name> can contain slashes to create a heirarchy
* "mark g[o] <name>" visits the given url
-* "mark l[s]" shows the list of marks
+* "mark l[ist]" shows the list of marks
* "mark X" with a non-command argument defaults to "mark go X"
## Tour
@@ -56,19 +73,28 @@ On any other nagivation, this context is cleared and next/previous actions won't
* "t[our]" on it's own defaults to "tour next"
* "tour x y z", where x is not a valid command name, defaults to "tour add x y z"
-* "tour a[dd]" allows any valid links as arguments including both integer indices and absolute or relative URLs
-* additional URL specifiers specific to "tour add" are "x-y" which expands to the integer range between x and y (inclusive on both ends), and "*" meaning everything on the current page
-* the variant "tour add n[ext] x y z" adds its items to the next position in the tour, before anything else that was still to come
+* "tour a[dd]" allows any valid links as additional arguments - see "URL specifiers" above for details
+* the variant "tour add n[ext] x y z" adds items next in the tour after the current position
* "tour next" visits the next link in the current tour
* "tour sh[ow]" prints the current tour and where we currently are
* "tour c[lear]" empties the current tour
-* "tour l[s]" lists the default tour and any non-empty letter tours
+* "tour l[ist]" lists the default tour and any non-empty letter tours
* "tour p[revious]" goes back to the previous link in the tour
-* "tour g[o]" takes an index and jumps to that position in the tour
+* "tour g[o] i" takes an index and jumps to that position in the tour
-* "tour s[et]" takes a single lower-case alphabetic character to select *which* tour should become active
+* "tour s[et] x" takes a single lower-case alphabetic character to select *which* tour should become active
* without this letter, it re-selects the default tour
* the default tour is the empty one. it is always active and empty upon startup
* the other letter-identified tours have their state preserved when the program exits
+
+## Config file
+
+The config file is located at XDG_DATA_HOME/x-1/config.toml. This is usually under .local/share in your home directory.
+
+It contains the following configuration options:
+
+* default_scheme (string): the URL scheme to use in the "go" command when none is provided. default "gemini"
+* soft_wrap (int): the number of columns to wrap, or -1 to not add soft wrapping. default 72
+* download_folder (string): path at which to store files saved by the "save" command. default $HOME