Usually, it's a good idea to link to full URLs like this:
=> gemini://transjovian.org/page/Introduction Introduction
Result:
On this wiki, linking to another page can use a relative link. As relative links keep using the same scheme, you can follow relative links using your browser if you're reading this page on the web.
If the page name is a single word, you should be good to go:
=> Introduction
Result:
This doesn't work when pages have spaces in their names. In that case, you have to percent encode the space as %20:
=> A%20longer%20introduction A longer introduction
Result:
The same is true for non-ASCII characters, stricly speaking. You need to percent-encode the UTF-8 bytes. Example:
=> Alex%20Schr%c3%b6der Alex Schröder
Result:
Fortunately for English speakers that like short page titles, we'll be fine often enough. And if not, just copy the URLs from your Gemini clients, like you would on the web. 😁
Alternatively, here's a little Perl script that will allow you to do the following:
$ percent-encode Alex Schröder Alex%20Schr%c3%b6der
I've created a script for myself called "percent-encode" with the following code:
#!/usr/bin/env perl use v5.10; die "Encode what?\n" unless @ARGV; my %safe = map {$_ => 1} ('a' .. 'z', 'A' .. 'Z', '0' .. '9', '-', '_', '.', '!', '~', '*', "'", '(', ')', '#'); $" = ''; my @letters = split //, join ' ', @ARGV; foreach my $letter (@letters) { $letter = sprintf("%%%02x", ord($letter)) unless $safe{$letter}; } say @letters;