HtmGem/index.gmi

134 lines
6.7 KiB
Plaintext
Raw Normal View History

2021-03-10 10:13:33 +00:00
# HtmGem, voir Gemini via le web
2021-03-09 00:51:45 +00:00
2021-03-09 19:19:17 +00:00
Ceci est la page dinstallation et de présentation d**HtmGem**.
2021-03-10 10:13:33 +00:00
=> tutogemtext.gmi Cliquez ici pour voir le tutoriel pour écrire des pages Gemini.
2021-03-09 19:19:17 +00:00
2021-03-10 10:13:33 +00:00
HtmGem permet dhéberger des pages Gemini et de les publier sur un serveur web muni de **Php**. À louverture dune page ***.gmi**, il la traduit pour le navigateur web. Cette présente page est affichée de cette façon. Gemini utilise son propre protocole, format, clients et serveurs ; HtmGem permet den utiliser le format (Gemtext) via le web.
2021-03-10 09:47:40 +00:00
```
Gemini est un nouveau protocole internet qui :
* est plus lourd que gopher,
* est plus léger que le web,
* nen remplacera aucun,
* vise le rapport puissance sur poids maximum,
* prend la vie privée très sérieusement.
```
=> https://gemini.circumlunar.space/
=> https://tildegit.org/sbgodin/HtmGem/archive/master.zip Téléchargez la branche courante pour linstaller
=> https://tildegit.org/Sbgodin/htmgem Code source, rapports de bug, commentaires…
2021-03-10 09:47:40 +00:00
=> https://gmi.sbgodin.fr/htmgem Page principale de HtmGem via le web
=> gemini://gmi.sbgodin.fr/htmgem Page principale de HtmGem via Gemini
=> CHANGELOG.gmi Journal des modifications (//changelog//)
=> COPYING.gmi GNU Affero General Public License (AGPLv3)
2021-03-10 09:47:40 +00:00
———————————————————— ————————————————————
# Installation
Pour faire fonctionner HtmGem — après avoir copié les fichiers — il ne reste quà ajouter une règle de ré-écriture dURL (//URL Rewriting//). Si vous pouvez lire ce texte en ayant demandé //htmgem.php// avec le navigateur, il ne reste que cette dernière étape à franchir 😄
2021-03-08 23:48:07 +00:00
2021-03-10 10:13:33 +00:00
## Prérequis
* Php v7.3 minimum
* Module **Php-mbstring** pour gérer lunicode
* Un serveur web (Apache et Nginx testés)
* Module **mod-rewrite** pour intercepter les pages Gemini
2021-03-08 23:48:07 +00:00
### Nginx
```
# Ce texte doit être placé dans la configuration du serveur.
2021-03-09 00:51:45 +00:00
index index.php index.gmi index.html
2021-03-08 23:48:07 +00:00
rewrite ^(.+\.gmi)$ htmgem/?url=$1;
```
### Apache
```
# Ce texte peut se placer à la racine du site dans un fichier ".htaccess".
2021-03-09 00:51:45 +00:00
DirectoryIndex index.php index.gmi index.html
2021-03-08 23:48:07 +00:00
RewriteEngine on
RewriteRule ^(.+\.gmi)$ htmgem/?url=$1
```
Par la suite,
2021-03-10 09:47:40 +00:00
* Quand un fichier se terminant par **.gmi** sera demandé, HtmGem le traduira à la volée en HTML.
2021-03-08 23:48:07 +00:00
* Quand seul le répertoire sera demandé (http://site.tld/path) le fichier //index.gmi// sera automatiquement choisi.
2021-03-09 19:19:17 +00:00
Le paramétrage dApache et de Nginx est similaire. Par la suite, la syntaxe Nginx sera utilisée.
2021-03-08 23:48:07 +00:00
## Tester HtmGem
2021-03-09 19:19:17 +00:00
2021-03-08 23:48:07 +00:00
Il est supposé que HtmGem est installé à la racine du site dans un répertoire //HtmGem//. Sinon, il faudra simplement adapter les liens.
2021-03-11 10:05:01 +00:00
Chargez cette présente page directement, en cliquant ci-après.
2021-03-08 23:48:07 +00:00
=> index.gmi
2021-03-11 10:05:01 +00:00
Enfin, pour vérifier que le fichier //index.gmi// est automatiquement appelé quand le fichier **.gmi** nest pas indiqué :
2021-03-10 13:26:29 +00:00
=> /htmgem
2021-03-09 19:19:17 +00:00
2021-03-10 09:47:40 +00:00
Linstallation est terminée 🥳 La suite du texte donne des informations complémentaires, et nest pas nécessaire dans limmédiat. Les fichiers **.gmi** que vous créerez seront disponibles dès maintenant.
2021-03-10 10:13:33 +00:00
=> tutogemtext.gmi Inspirez-vous du tutoriel
2021-03-08 23:48:07 +00:00
2021-03-09 10:26:31 +00:00
———————————————————— ————————————————————
2021-03-09 19:19:17 +00:00
# Configuration avancée
2021-03-09 10:26:31 +00:00
2021-03-09 19:19:17 +00:00
Par défaut, le style est incorporé dans chaque page récupérée par le navigateur web. Le même style est utilisé pour toutes les pages, //htmgem/css/htmgem.css//, sauf lorsquun fichier ayant le même nom que la page mais avec lextension **.css** existe dans le même répertoire. Dans ce cas, il est utilisé.
2021-03-09 10:26:31 +00:00
Lorsque loption css est activé dans la configuration (voir //rewrite// plus haut) dautres comportements sont possibles. **Attention**, cela ne fonctionnera pas avec un client Gemini puisque HtmGem nest accessible que via un navigateur web.
2021-03-09 11:02:04 +00:00
* &style=**htmgem** : Utilise le style par défaut, mais en tant que fichier externe.
* &style=**none** : La page HTML est envoyée sans style.
* &style=**<autre nom>** : Le fichier htmgem/css/<autre nom>.css est utilisé en tant que style externe.
* &style=**/<path>** : Le fichier indiqué (chemin absolu) est utilisé en tant que style externe.
* &style=**source** : Le code source de la page est envoyée au navigateur, voir ci-après…
* &style=**pre** : Le code source de la page est envoyée au navigateur encadré par des //<pre>//, voir ci-après…
2021-03-09 10:26:31 +00:00
2021-03-09 19:19:17 +00:00
## Réécriture dURL pour préciser le style à utiliser
2021-03-09 10:26:31 +00:00
2021-03-09 19:19:17 +00:00
Modifier la configuration du serveur web fonctionne mais est assez lourd. On peut tester un style en particulier de la façon suivante :
2021-03-20 23:19:58 +00:00
> https://site.tld/htmgem/index.php?url=/url/page.gmi&style=<…>
2021-03-09 11:02:04 +00:00
2021-03-09 19:19:17 +00:00
Il est aussi possible de faire une réécriture dURL qui intègre le style :
> rewrite ^(.+\.gmi)$ /htmgem/?url=$1;
2021-03-11 10:04:27 +00:00
> rewrite ^(.+\.gmi)\ *\|\ *([\w_]+)$ /htmgem/?url=$1&style=$2;
2021-03-09 10:26:31 +00:00
2021-03-09 19:19:17 +00:00
Par exemple, lorsque ce sera activé :
2021-03-11 10:04:27 +00:00
=> index.gmi%20|%20source Le lien index.gmi | source Produit le code source, pas bien lisible à lécran. À utiliser avec //wget//.
=> index.gmi%20|%20pre Produit le code source de façon lisble à lécran en utilisant la balise **<pre>**.
2021-03-09 19:19:17 +00:00
=> index.gmi Ouvre la page avec le style par défaut, avec le style importé dans len-tête.
2021-03-10 23:28:53 +00:00
=> css Sélecteur de style : une page de démo pour essayer chaque style 😎
2021-03-09 19:19:17 +00:00
### Avec les styles déjà fournis
2021-03-11 10:04:27 +00:00
=> index.gmi%20|%20htmgem Ouvre la page avec le style par défaut (//htmgem.css//), mais le style est importé dans len-tête.
=> index.gmi%20|%20none Ouvre la page courante avec le style //none//. Aucune CSS utilisée.
2021-03-09 19:19:17 +00:00
2021-03-11 10:04:27 +00:00
=> index.gmi%20|%20terminal Style //terminal//
=> index.gmi%20|%20black_wide Style //black wide//
=> index.gmi%20|%20simple Style //simple//
2021-03-09 19:19:17 +00:00
## Décoration du texte
2021-03-09 19:19:17 +00:00
La décoration du texte, qui interprête le **gras** par exemple, ne fait pas partie de la définition de GemText. La décoration du texte sapplique partout sauf sur les titres et blocs préformatés.
### Désactiver la décoration du texte
On peut :
* désactiver et activer la décoration du texte avec une ligne **^^^**,
* ajouter ce qui suit à la **réécriture** dURL :
2021-03-09 19:19:17 +00:00
> &textDecoration=0
———————————————————— ————————————————————
2021-03-08 23:48:07 +00:00
# Quand tout marche…
2021-03-09 19:19:17 +00:00
2021-03-10 10:13:33 +00:00
Parmi les fichiers et répertoires distribués, seuls sont utiles pour le fonctionnement de HtmGem :
* **htmgem/index.php** : Il se charge de traduire le gemtext en HTML.
2021-03-09 11:02:04 +00:00
* **htmgem/css/htmgem.css** : Sil manque, laffichage sera dépourvu de style — littéralement.
2021-03-10 10:13:33 +00:00
* **htmgem/css/… : Conservez les styles que vous utilisez.
Les autres peuvent être supprimés (y compris ce présent fichier //index.gmi//) bien quils ne présentent aucun danger.