aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorOmar Polo <op@omarpolo.com>2021-01-27 14:42:40 +0000
committerOmar Polo <op@omarpolo.com>2021-01-27 14:42:40 +0000
commit286c4f40a54be609d0c03e8229826d9fee5ad8d3 (patch)
tree9a4602cc71e31e99755c0ad0ded162c344fbcb2a /README.md
parent46af8c6cfe1f1ec15d93bc58791f4596c610785b (diff)
readme tweaks
fix features list and talk about I18N
Diffstat (limited to 'README.md')
-rw-r--r--README.md28
1 files changed, 24 insertions, 4 deletions
diff --git a/README.md b/README.md
index 7329dae..fe104e1 100644
--- a/README.md
+++ b/README.md
@@ -28,15 +28,15 @@ Please consult the [manpage](gmid.1) for more information.
## Features
- IRI support (RFC3987)
+ - punycode support
- dual stack: can serve over both IPv4 and IPv6
- CGI scripts
- (very) low memory footprint
- small codebase, easily hackable
- virtual hosts
- - rules per-location
- - directory listings
- - mime types configurable
- - index file configurable
+ - per-location rules
+ - optional directory listings
+ - configurable mime types
- sandboxed by default on OpenBSD, Linux and FreeBSD
- chroot support
@@ -47,6 +47,26 @@ Please consult the [manpage](gmid.1) for more information.
connection per-second you'd probably want to run multiple gmid
instances behind relayd/haproxy or a different server.
+
+## Internationalisation (IRIs, UNICODE, punycode, all that stuff)
+
+Even thought the current Gemini specification doesn't mention anything
+in this regard, I do think these are important things, so I tried to
+implement them in the most user-friendly way I could think of.
+
+For starters, gmid has full support for IRI (RFC3987 --
+Internationalized Resource Identifiers). IRIs are a superset of URI,
+so there aren't incompatibilities with URI-only clients.
+
+There is full support also for punycode. In theory, the users doesn't
+even need to know that punycode is a thing. The hostname in the
+configuration file can (and must be) written with proper UNICODE, gmid
+will do the rest.
+
+The only missing piece is UNICODE normalisation. gmid doesn't
+do that (yet).
+
+
## Building
gmid depends on a POSIX libc, OpenSSL/LibreSSL and libtls (provided