mirror of
https://tildegit.org/sbgodin/HtmGem.git
synced 2023-08-25 13:53:12 +02:00
Adds the style "pre"
This commit is contained in:
parent
1a01e8bd81
commit
0f6e3467eb
4
TODO
4
TODO
@ -1,16 +1,12 @@
|
|||||||
* manage url encoding: The filename fetched on disk may differ from that was asked by URL.
|
* manage url encoding: The filename fetched on disk may differ from that was asked by URL.
|
||||||
* check /etc/passwd not accessible: Perform sanity checks against unauthorized access.
|
* check /etc/passwd not accessible: Perform sanity checks against unauthorized access.
|
||||||
* a way to get the source of a page, using urlrewriting
|
|
||||||
* options to activate the text decoration
|
* options to activate the text decoration
|
||||||
* HTML caching: Nginx tries the html, if not found use this script to build it
|
* HTML caching: Nginx tries the html, if not found use this script to build it
|
||||||
* configuration: Fetch configuration in current dir, tries parents.
|
|
||||||
* css: file location or in-place or in config?
|
|
||||||
* Command line API for script and testing.
|
* Command line API for script and testing.
|
||||||
* Page menu on upper and lower sides: [parent dir] [root dir] [inline images] [raw response] [view cert]
|
* Page menu on upper and lower sides: [parent dir] [root dir] [inline images] [raw response] [view cert]
|
||||||
* Check unicode capability, UTF16 input, etc…
|
* Check unicode capability, UTF16 input, etc…
|
||||||
* Manage different type of carriage return: CR CR/LF LF
|
* Manage different type of carriage return: CR CR/LF LF
|
||||||
* Do not output an empty line for the last carriage return of the document
|
* Do not output an empty line for the last carriage return of the document
|
||||||
* Test on a shared hosting
|
|
||||||
* Text localisation
|
* Text localisation
|
||||||
* Manage logging (cache refresh, debug)
|
* Manage logging (cache refresh, debug)
|
||||||
* Split the main loop in two: one part to decode the text to internal language, the other to make the HTML
|
* Split the main loop in two: one part to decode the text to internal language, the other to make the HTML
|
||||||
|
23
index.gmi
23
index.gmi
@ -37,21 +37,26 @@ Il est supposé que HtmGem est installé à la racine du site dans un répertoir
|
|||||||
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 lorsqu’un fichier ayant le même nom que la page mais avec l’extension **.css** existe. Dans ce cas, il est utilisé.
|
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 lorsqu’un fichier ayant le même nom que la page mais avec l’extension **.css** existe. Dans ce cas, il est utilisé.
|
||||||
|
|
||||||
Lorsque l’option css est activé dans la configuration (voir //rewrite// plus haut) d’autres comportements sont possibles :
|
Lorsque l’option css est activé dans la configuration (voir //rewrite// plus haut) d’autres comportements sont possibles :
|
||||||
* &style=source : le code source de la page est envoyée au navigateur, voir ci-après…
|
* &style=**htmgem** : Utilise le style par défaut, mais en tant que fichier externe.
|
||||||
* &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=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=<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=/<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…
|
||||||
|
|
||||||
## Réécriture d’URL pour afficher le code source
|
## Réécriture d’URL pour afficher le code source
|
||||||
|
|
||||||
|
Par défaut, le code source du fichier **.gmi** n’est pas accessible extérieurement puisqu’il est interprété à la volée par HtmGem. Il est possible cependant d’ajouter l’affichage
|
||||||
|
|
||||||
Pour obtenir le source avec un lien du type
|
Pour obtenir le source avec un lien du type
|
||||||
=> index.gmi.source
|
=> index.gmi.source Envoie le code source, le navigateur l‘affichera comme une longue ligne. À utiliser en ligne commande avec **wget**!
|
||||||
Il faut ajouter la ligne suivante pour la réécriture d’URL :
|
=> index.gmi.pre Affiche le code source dans le navigateur, l’ayant adapté avec la balise **<pre>**.
|
||||||
|
Il faut ajouter les lignes suivantes dans la réécriture d’URL, ici pour Nginx :
|
||||||
> rewrite ^(.+\.gmi)\.source$ /htmgem/?url=$1&style=source;
|
> rewrite ^(.+\.gmi)\.source$ /htmgem/?url=$1&style=source;
|
||||||
|
> rewrite ^(.+\.gmi)\.pre$ /htmgem/?url=$1&style=pre;
|
||||||
|
|
||||||
# Quand tout marche…
|
# Quand tout marche…
|
||||||
Parmi les fichiers et répertoires distribués, seuls sont utiles :
|
Parmi les fichiers et répertoires distribués, seuls sont utiles :
|
||||||
* **htmgem/index.php** : Il se charge de traduire le gemtext en HTML
|
* **htmgem/index.php** : Il se charge de traduire le gemtext en HTML
|
||||||
* **htmgem/css/htmgem.css : S’il manque, l’affichage sera dépourvu de style — littéralement.
|
* **htmgem/css/htmgem.css** : S’il manque, l’affichage sera dépourvu de style — littéralement.
|
||||||
Les autres peuvent être supprimés (y compris ce présent fichier) bien qu’ils ne présentent aucun danger. Ils restent nécessaires au développement du projet et son disponible sur le site de HtmGem.
|
Les autres peuvent être supprimés (y compris ce présent fichier) bien qu’ils ne présentent aucun danger. Ils restent nécessaires au développement du projet et sont disponibles sur le site de HtmGem.
|
||||||
|
13
index.php
13
index.php
@ -295,6 +295,19 @@ $page_title = @$matches[1];
|
|||||||
|
|
||||||
if ("source" == $style) {
|
if ("source" == $style) {
|
||||||
echo $fileContents;
|
echo $fileContents;
|
||||||
|
} elseif ("pre" == $style) {
|
||||||
|
$fileContents = htmlspecialchars($fileContents, ENT_HTML5|ENT_NOQUOTES, "UTF-8", false);
|
||||||
|
echo <<<EOL
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>$page_title</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
</head>
|
||||||
|
<pre>$fileContents</pre>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
EOL;
|
||||||
} else {
|
} else {
|
||||||
$parts = pathinfo($filePath);
|
$parts = pathinfo($filePath);
|
||||||
$localCss = $parts["filename"].".css";
|
$localCss = $parts["filename"].".css";
|
||||||
|
Loading…
Reference in New Issue
Block a user