💾 Archived View for blakes.dev › gmEditor › docs.txt captured on 2024-12-17 at 09:18:43.
⬅️ Previous capture (2024-06-16)
-=-=-=-=-=-=-
___
,---. ,--,--,--. / (_) | o
| .-. || | \__ __| _|_ __ ,_
' '-' '| | | | / / | | | / \_/ |
.`- / `--`--`--' \___/\_/|_/|_/|_/\__/ |_/
`---'
gmEditor: v2.0.1
This GMCapsule extension module allows you to easily and powerfully upload to
Gemini capsules via the Titan companion protocol.
It is configured with the "uploads" key in GMCapsule's config file
(see below).
subject to IP ban or certificate removal if you do this.
it's more likely that I'll ignore your request if you ask for help. This is
not your fault, but you have been warned.
if they're in the URL. Be careful about what token is currently active! This
is why gmEditor put in various checks, like the path repeated in the delete
token, the content checks for move and copy, and the accidental overwrite
checks.
To set backed-up Gemtext files to render as Gemtext, add the following line
to the root ".meta" file:
=== CONFIGURATION REFERENCE ===
[uploads]
certs = 23ac...
# WHITESPACE separated public key or certificate fingerprints.
# These 'certs' apply to all hostnames by default.
# REQUIRED unless a per-domain section is configured.
[uploads:example.com]
# Replace example.com with your actual hostname.
# This section is entirely optional.
# If it's excluded, the defaults apply.
certs = 23ac...
# Same as above; but for just this domain, if set.
# NOTE: If 'certs' is unset, it defaults to the 'certs' under [uploads].
allow_global_certs = False
# set to True to allow both this domain's 'certs' and global 'certs'.
exclude = PATH PATH2...
# WHITESPACE separated path globs to exclude, i.e. '*.zip' or 'excluded/'.
=== ACTION TOKEN REFERENCE ===
<empty>
Edit the current file, or create it if necessary. The "current file" is the
one you're trying to create or edit in your client; typically this shows up
after the domain name and port in the URL bar or at the top of your editing
form.
On success: 30 redirect to the current file on Gemini.
about |OR| help
This help page!
20 status code with this page in plain-text. The tick-marks at the top force
Gemtext-only clients to render this page in preformatted plain text.
delete <PATH>
Replace <PATH> with the path to delete, which must match the request PATH.
Include the leading /. This is done as a confirmation step, both to prevent
accidental file deletion and to prevent accidentally deleting the wrong
file, which might happen when a client tries to re-use a token.
If you forget the path or get it wrong, the upload handler will tell you.
The content is not checked for this request. To save bandwidth, leave it
empty.
On success: 52 status code with message "Deleted successfully".
copy <PATH> |OR| cp <PATH>
Replace <PATH> with the destination to copy the file being edited to. If
the leading / is not present, the path is relative to the current file or
directory.
The contents must be empty or identical to the source file. This is to
prevent ambiguity. If you want to edit the current file and copy the
original, use the related "backup" token.
On success: 30 redirect to the new <PATH> on Titan, so you can edit it.
Token will be unset.
move <PATH> |OR| mv <PATH> |OR| rename <PATH>
Replace <PATH> with the new path of this file. If the leading / is not
present, the path is relative to the current file or directory, useful for
renaming.
The contents must be empty or identical to the source file. This is to
prevent ambiguity.
On success: 30 redirect to the new <PATH> on Titan, so you can edit it.
Token will be unset.
backup [PATH]
Copy the current version of the edited file to [PATH], or if it's not
provided, a timestamped backup version, and apply the contents to the
edited file as normal.
If the edited contents are empty, the original file is untouched. If the
edited file is actually a directory, the directory gets backed up!
If the edited contents are not empty, though, and the edited file is a
directory, the index.gmi file gets edited and backed up.
An autogenerated file name consists of the original filename, a hyphen,
the UNIX timestamp at the time of backup, and the suffix ".bak".
On success:
if empty: 30 redirect to the backed-up file on Titan, with the
token unset.
if not empty: 30 redirect to the current file on Gemini.
import <PATH>
Copy the contents of the provided file path to the current file. The
contents must be empty to confirm this action.
Future improvements may allow remote lookups by URI.
On success: 30 redirect to the current file on Gemini.
[e]ls
Lists the contents of the current directory (either the current file or the
directory it's in).
No editing operation is done.
The file or directory must already exist.
On success: 20 status code with a directory listing in Gemtext. The links
are to the Gemini version, unless "els" is used, in which case the Titan
paths will be linked to instead for easy editing.
WARNING: your browser may not look up the contents of the link before
offering the Titan form to you! So this is best paired with action tokens
that don't use the content, like copy, ls, import, or delete.