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 ブラウザで表示されます。
https://balloon-jp.vercel.app/
- - - 🎈 - - -
リスト
行頭 * ではじめます。Markdown は - なので異なる事にご注意下さい。
- 項目 1
- 項目 2
- 項目 3
- - - 🎈 - - -
引用
行頭 > ではじめます。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 プロトコルとして存在しています。
- - - 🎈 - - -