Gemini でのマークアップ言語 Gemtext

Gemtext では .gmi ファイルを使用します。

ファイル名を index.gmi にすると、ファイル名を省略できます。

(HTTP・HTTPS の index.html・index.htm に同じ)

汎用のテキストエディタを用いて .gmi ファイルを作成する場合、

文字コードは UTF-8 になっている事を確認して下さい。

Unicode 絵文字は使えるクライアントが多いですが、

非対応のクライアントもあるようですので、

表示されない事も想定しておくと無難です。

このページ記載している装飾しか存在しません。

それ以外はテそのまま表示されます。

- - - 🎈 - - -

見出し

見出しは # ・ ## ・ ### の 3 種類 です。Markdown と同じ表記です。

見出し 1

見出し 2

見出し 3

🎈 ソースの結果表示 | 🎈 fusen.srht.site

HTML だと 見出し 1 は事実上サイト名やページタイトルで一度だけ使用する前提ですが、

Gemtext では現状そういう決まりがなく、複数 見出し 1 があっても問題ありません。

HTML の 見出し 2~4 を Gemtext では 見出し 1~3 としても良いでしょう。

Gemini クライアントによっては 見出し 1 に応じて表示を変化させます。

- - - 🎈 - - -

リンク

リンクは行頭 => ではじめます。後ろに文字列を含めてその文字列を表示します。

クライアントによって URL に続けて絵文字にすると、その絵文字が行頭に使われます。

gemini: 以外のプロトコルでも構いません。

https: なら Web ブラウザで表示されます。

gemini://fusen.srht.site/

🎈 fusen.srht.site

https://balloon-jp.vercel.app/

ふうせん🎈 FU-SEN

./

トップページ

- - - 🎈 - - -

リスト

行頭 * ではじめます。Markdown は - なので異なる事にご注意下さい。

- - - 🎈 - - -

引用

行頭 > ではじめます。Markdown に同じ表記です。

複数行にしても構いません。

風船がほしい!
彼女は言った。

- - - 🎈 - - -

フォーマット済みテキスト

行頭 ``` で囲んだ部分は通常等幅フォントで表示されます。

Markdown と同じですが、

クライアントによって、クリック・タップで畳まれ、

その時に開始 ``` 右にある説明文が表示される点で異なります。

- - - 🎈 - - -

Q&A

画像は表示できないのですか?

画像ファイルへのリンクにする事はできます。

なので使用するサーバーによっては画像のアップロードも可能です。

グラフィカルな Gemini クライアントでは直接画像を表示でき、

Lagrange だと gemini: リンクはリンクの下に画像を表示します。

ただしテキストベースの Gemini クライアントもある事にご注意下さい。

画像次第ではアスキーアートにしてしまう手もあります。

この場合は ``` で囲ってフォーマット済テキストで表示すると

等幅フォントで表示され、モバイルでも改行されないので崩れません。

(代わりに右スクロールが必要な場合があります)

動画や音楽再生などはできますか?

Gemtext の仕組み上存在しませんが、

動画ファイル・音楽ファイルをリンクで理想的な動作をするでしょう。

表は表示できないのですか?

Gemtext としては存在していませんが、

代わりにテキストで表を作成し ``` で囲ってフォーマット済テキストで表示します。

等幅フォントで、改行もされないので表が崩れません。

表にする必要がなければ、リストにしても良いでしょう。

水平線は表示できないのですか?

Gemtext として存在していません。

何かテキストを使用して表現すると良いでしょう。

Favicon は存在しますか?

favicon.txt のドラフト仕様が存在します。絵文字 1 文字と改行 CR LF です。

ここ 🎈 fusen.srht.site も favicon.txt を入れてます。

もちろん 🎈 です。

🎈 favicon.txt | 🎈 fusen.srht.site

ただし対応はクライアント次第で、使用していない人も多いと思われます。

一部の場所で入力欄が表示されているのですが、どうやっているのですか?

CGI 動作など、サーバーによってプログラミング言語で処理できます。

その際、サーバーからのレスポンスコードとして 10 を返すと入力を促す事ができます。

パスワードなどのための 11 もあります。

詳細は次の仕様を確認してみて下さい。(状態コード - 入力待ち)

🚀 Geminiのネットワークのプロトコルの仕様 | Project Gemini (gemini:)

🚀 Geminiのネットワークのプロトコルの仕様 | Project Gemini (https:)

CSS・JS のような機能はないのですか?

Gemini の方針上、そういう事をしない仕様にしてあります。

表示のデザインについては、Gemini クライアントのテーマで選択する事になります。

またプログラミング言語はサーバレベルで処理する前提になります。

アクセス解析などは存在しなませんか?

画像や JS が貼れないので、クライアントレベルで動作ができません。

一方 Gemini サーバーレベルではログが取れるので、それで確認はできます。

ファイルのアップロードや編集はできるのですか?

Gemini プロトコルに拡張して Titan プロトコルとして存在しています。

- - - 🎈 - - -

🎈 fusen.srht.site

◯ Powered by sourcehut pages