Gopher で特殊な仕様なのは、gophermap で、
そもそもはディレクトリのファイル表示を行うためのものですが、
機能が拡張され、現在は HTML や Gemtext のような役割のファイルで、
ここから様々な表示を行ったり、リンク・検索などを実現します。
サーバーによっては自動生成してくれる場合もありますが、
多くのサーバーでは gophermap を生成する事になるでしょう。
各行は次のように記載します。タブで区切ります。
@表示文字列( タブ )セレクター( タブ )ホスト名( タブ )ポート番号
@ = 種類 で、この文字で表示するファイルの種別や
リンク・検索などを判別します。
通常のテキストはこのような表記になります。
i表示文字列( タブ )( タブ )null.host( タブ )0
i は「情報テキストメッセージ」で、
ホスト名とポート番号は仮の内容で良いです。
Gopher プロトコルでは自動改行をしないので、
適度な長さで改行を入れる必要があるので、ご注意下さい。
そのため、通常はパソコンで参照するのに適した横幅になり、
スマートフォンの縦長表示では表示しきれず、
横長表示にする必要があります。
gopher: 内のメニューへリンクする場合は、次のようになります。
1fusen.nya.je( タブ )/japanese/( タブ )fusen.nya.je( タブ )70
上で gother://fusen.nya.je:70/1/japanese/ へのリンクになります。
行頭 1 は「ディレクトリ・Gother メニュー」の意味です。
外部 https: へのリンクは行頭 h(html ファイル)で
h説明文( タブ )URL:https://〜 とします。
hfusen.nya.je (https:)( タブ )URL:https://fusen.nya.je/
gemini: なども上記同様種類は h で有効です。
また種類には画像などがありますが、Gopherspace 内で使用し、
他のプロトコルでの表示であれば、
h説明文( タブ )URL:h〜 を使用する形で良いようです。
Gopher プロトコルの仕様となっている RFC1436 に記載のある種類で
主に使用する種類は次のとおりです。
(現在 Gopher サーバーで主流となっている Gophernicus が対応)
・ 0 - テキストファイル
・ 1 - ディレクトリ・Gopher メニュー
・ 3 - エラーコード (Gopher サーバーが返す)
・ 5 - 圧縮ファイル (.zip .tar など)・DOS ファイル
・ 7 - Gopher 全文検索
・ 9 - バイナリーファイル (ダウンロード動作になる)
・ g - GIF ファイル
・ I - 画像ファイル (.gif 以外)
RFC1436 に記載のない非公式ですが、次は現在よく使用されます。
(Gophernicus 対応)
・ h - HTML ファイル (他プロトコルへのリンクに使用)
・ i - 情報テキストメッセージ (単なる文字表示で使われる)
RFC1436 に記載のある種類なので公式に定義されていますが、
現在通常使われない種類はこちらです。
Gopher サーバーによっては対応していません。
(Gophernicus 非対応)
・ 2 - CCSO ネームサーバー
・ 4 - BinHex エンコードファイル
・ 6 - uuencode ファイル
・ 8 - Telnet
・ + - ミラーサーバー・代理サーバー
・ T - Telnet 3270
更に Gother+ の種類として、次が存在します。
・ : - ビットマップファイル
・ ; - 動画ファイル(Gophernicus 対応)
・ < - 音声ファイル
その他非公式な種類として、次があります。
・ c - カレンダーファイル
・ d - 文章ファイル (.doc や .pdf ファイル・Gophernicus 対応)
・ p - 画像ファイル (通常 .png ファイル)
・ r - .rtf ファイル (リッチテキストフォーマット)
・ s - 音声ファイル (主に .wav ファイル・Gophernicus 対応)
・ P - .pdf ファイル
・ X - .xml ファイル
他にも独自に拡張しているサーバーがあります
(英数は予約されているので、記号が使われます)
種類やホスト名・ポート番号を簡略して記載できるサーバーも存在します。
- - - 🎈 - - -
🎈 フォーマット済みテキスト
行頭から 3 文字空白を入れるとフォーマット済みテキストにします。
また、Markdown・Gemtext 同様に ``` で囲む形式も有効です。
- - - 🎈 - - -
🎈 Q&A
🎈 全体がフォーマット済みテキスト表示になり、正常に出力しません。
サーバーにより、タイトル行に特定の行頭コードを使用します。
例えば Gopher サーバー Gophernicus だと 1 行目は !タイトル ですが、
英語版 Wikipedia には /タイトル で記載されています。
実際に変換される iタイトル ではじめても動作するでしょう。
🎈 行頭文字に特定の記号を含む行から動作がおかしくなります。
Gopher サーバー Gophernicus では、行頭文字を省略できますが、
例えば行頭 . でファイルの終わりを意味しているので、
たまたま . ではじまる行があるとここで出力を止めてしまいます。
この場合は iテキスト文(タブ) と記載して下さい。
i.説明文(タブ)
Motsognir など、行頭の種類記載が必須なサーバーもあります。
🎈 なぜ行頭の文字で判別する仕様になっているのですか?
古来からの Unix ライクのシステムは、
拡張子によるファイルの種類の判別を行いませんでした。
そのため、出力する種類を教える手段が必要です。
MS-DOS→Windows の影響で、現在は拡張子の付与も当たり前になり、
拡張子でファイルの種類を判別できるようになったので、
Gemtext プロトコルはそれを利用していて、
リンクは => 行頭のみになっています。他は装飾関連の仕様です。
- - - 🎈 - - -
(DIR) fusen.nya.je
- - - 🎈 - - -
(HTM) 😺 Powered by nya.je