check: abbr (match term in article + stats)
This commit is contained in:
parent
191329a69c
commit
b66769a20a
|
@ -0,0 +1,16 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
Tyto - Littérateur
|
||||||
|
- Repository: https://git.a-lec.org/echolib/tyto
|
||||||
|
- Issues: https://git.a-lec.org/echolib/tyto/-/issues
|
||||||
|
- Changelog: https://git.a-lec.org/echolib/tyto/-/blob/main/CHANGELOG.md
|
||||||
|
- License: https://git.a-lec.org/echolib/tyto/-/blob/main/LICENSE
|
||||||
|
|
||||||
|
Tyto - Litterateur is a Libre project to create and manage multiple
|
||||||
|
websites from articles' files. Tyto uses its own syntax to convert
|
||||||
|
your articles in HTML5 static pages. Tyto works on a GNU/Linux system
|
||||||
|
and needs minimal dependancies.
|
||||||
|
- python3 rsync nano gawk curl
|
||||||
|
|
||||||
|
## [0.9.0] First Commit version (pre-final)
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Installation manuelle
|
||||||
|
|
||||||
|
Si vous utilisez Debian, il est plus que recommandé de procéder à
|
||||||
|
l'installation par le paquet .deb
|
||||||
|
|
||||||
|
## Préparer les dossiers
|
||||||
|
````
|
||||||
|
sudo mkdir -p /var/lib/tyto /etc/tyto /var/log/tyto
|
||||||
|
sudo touch /usr/local/bin/tyto
|
||||||
|
sudo chown -R USER:GROUP /var/lib/tyto /etc/tyto /var/log/tyto
|
||||||
|
sudo chown USER:GROUP /usr/local/bin/tyto
|
||||||
|
sudo chmod +x /usr/local/bin/tyto
|
||||||
|
|
||||||
|
git clone https://git.a-lec.org/echolib/tyto
|
||||||
|
rsync -a folders'repo/ to /folders/
|
||||||
|
|
||||||
|
# Créer votre dossier pour le serveur web
|
||||||
|
# On utilise en général /var/www/
|
||||||
|
# Celui-ci sera à renseigner lors de la création d'un domaine dans Tyto
|
||||||
|
sudo mkdir -p /var/www/
|
||||||
|
````
|
|
@ -0,0 +1,180 @@
|
||||||
|
# STL: Statique Littérateur
|
||||||
|
STL est une évolution du projet GSL. STL permet de créer un ou plusieurs
|
||||||
|
sites web/blogs statiques, en fonction de leur nom de domaine.
|
||||||
|
|
||||||
|
Tout comme GSL, STL reprend une grande partie de l'écriture nouvelle de
|
||||||
|
vos articles, en apportant quelques évolutions. Les articles sont donc
|
||||||
|
au format .stl.
|
||||||
|
|
||||||
|
|
||||||
|
# Fonctionnement de STL ; le dossier de base
|
||||||
|
Contrairement à GSL, vos articles et les pages de votre site web sont
|
||||||
|
situés dans le même dossier de base. Pour obtenir ce dossier de base,
|
||||||
|
et configurer votre domaine, vous devez d'abord vous placer dans le
|
||||||
|
dossier de votre choix, puis lancer la commande de configuration.
|
||||||
|
|
||||||
|
```
|
||||||
|
cd MON-DOSSIER-PREFERE
|
||||||
|
stl domain new
|
||||||
|
|
||||||
|
# Vous pouvez également pré-remplir votre domaine en fonction de l'URL
|
||||||
|
stl domain new https://mon-site.xyz
|
||||||
|
```
|
||||||
|
|
||||||
|
Dans ce dossier de base (MON-DOSSIER-PREFERE), après la configuration de
|
||||||
|
votre domaine, vous trouverez de nouveaux dossiers :
|
||||||
|
- articles/
|
||||||
|
- - images/
|
||||||
|
- - files/
|
||||||
|
|
||||||
|
Les sous-dossiers images/ et files/ sont proposés afin de faciliter la
|
||||||
|
réutilisation d'images et de fichiers (PDF, ou autres) déjà présents
|
||||||
|
dans un autre article. Lors de la synchronisation, il seront copiés à la
|
||||||
|
racine wip de votre serveur. Le but : faire en sorte que le
|
||||||
|
navigateur n'ait pas à recharger un même fichier depuis une URL
|
||||||
|
différente - ce qui plomberait la rapidité d'affichage de la page et
|
||||||
|
l'intérêt d'un site statique. L'utilisation de cette fonction dans vos
|
||||||
|
articles est simple ; voir la documentation expliquant comment écrire un
|
||||||
|
article dans le dossier help.
|
||||||
|
|
||||||
|
Dans le dossier du serveur (/var/www est un exemple), vous trouverez
|
||||||
|
les dossiers suivants :
|
||||||
|
- /var/www/DOMAIN/wip/
|
||||||
|
- - template (logos, styles.css, sidebar.html, footer.html, metas.html...)
|
||||||
|
- - images
|
||||||
|
- - files
|
||||||
|
- /var/www/DOMAIN/www/ (non créé pour une installation locale)
|
||||||
|
- - template/
|
||||||
|
- - images
|
||||||
|
- - files
|
||||||
|
|
||||||
|
|
||||||
|
## Installation (server, ou local)
|
||||||
|
Il est possible d'utiliser STL de 2 manières différentes. Lors de la
|
||||||
|
configuation d'un nouveau domaine, vous devrez choisir entre une
|
||||||
|
installation faite sur un serveur distant, et une installation faite
|
||||||
|
en local (sur votre PC). Vous pouvez bien sûr choisir une installation
|
||||||
|
de type "server" sur votre PC, si celui-ci sert de serveur web.
|
||||||
|
|
||||||
|
Concernant la décoration du site (styles.css, logos), les fichiers
|
||||||
|
devront être placés dans le dossier serveur /wip/template/ (créé par STL
|
||||||
|
lors de l'ajout d'un domaine).
|
||||||
|
|
||||||
|
|
||||||
|
### Installation "server"
|
||||||
|
À choisir si votre PC sert de serveur web, ou si vous avez installé STL
|
||||||
|
sur votre serveur distant.
|
||||||
|
|
||||||
|
Lorsque vous installez STL, sur votre serveur distant, vous pouvez gérer
|
||||||
|
pour un même nom de domaine, votre site sur 2 adresses URL différentes.
|
||||||
|
La version WIP, permet de prévisualiser les modifications apportées à
|
||||||
|
vos pages (sans modifier celles sur WWW) avant de les valider sur votre
|
||||||
|
site officiel.
|
||||||
|
|
||||||
|
Lorsque votre site prévisualisé sur WIP vous plaît, vous pouvez alors
|
||||||
|
synchroniser le dossier WIP sur WWW grâce à la commande :
|
||||||
|
|
||||||
|
```
|
||||||
|
# Pour publier un article précis
|
||||||
|
stl publish (ARTICLE)
|
||||||
|
|
||||||
|
# Pour publier tous les articles dans WIP
|
||||||
|
stl publish all
|
||||||
|
```
|
||||||
|
|
||||||
|
Note : cette commande crée automatiquement le flux RSS dans WIP avant
|
||||||
|
de tous synchroniser sur WWW.
|
||||||
|
|
||||||
|
|
||||||
|
### Installation "local"
|
||||||
|
À choisir si vous voulez utiliser STL sur votre PC, et synchroniser
|
||||||
|
vous-même le dossier WIP sur votre serveur distant. Inutile donc,
|
||||||
|
d'installer STL sur le serveur distant.
|
||||||
|
|
||||||
|
Lors d'une utilisation locale, STL ne crée pas le dossier WWW, et ne
|
||||||
|
synchronise donc pas le dossier WIP vers WWW. C'est à vous de le faire
|
||||||
|
(via ssh, par exemple).
|
||||||
|
|
||||||
|
Vous devrez lorsque votre site vous plaît localement lancer la création
|
||||||
|
du flux RSS - avant de synchroniser votre site local sur votre serveur
|
||||||
|
distant - avec la commande :
|
||||||
|
|
||||||
|
```
|
||||||
|
stl rss
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Utilisation de STL
|
||||||
|
Afin de gérer vos articles, vous devez vous placer dans MON-DOSSIER-PREFERE.
|
||||||
|
L'autocomplétion est activée et personnalisée pour vous aider à trouver
|
||||||
|
(ARTICLE.stl).
|
||||||
|
|
||||||
|
|
||||||
|
## Créer votre arborescence
|
||||||
|
Dans MON-DOSSIER-PREFERE, vous trouverez le dossier "articles". Celui-ci
|
||||||
|
sert de base à votre domain.xyz sur votre serveur. C'est dans ce dossier
|
||||||
|
"articles", que vous pouvez créer vos articles et vos sous-dossiers.
|
||||||
|
Il est à noter que le nom de l'article est important, puisque STL
|
||||||
|
l'utilisera en le transformant en .html. Il est donc recommandé - mais
|
||||||
|
pas obligatoire - de nommer vos articles index.stl, pour obtenir une page
|
||||||
|
index.html. Si vous voulez créer une page 404, nommez votre article 404.stl
|
||||||
|
à la racine du dossier "articles".
|
||||||
|
|
||||||
|
|
||||||
|
## Convertir votre article en HTML
|
||||||
|
Placez vous dans MON-DOSSIER-PREFERE.
|
||||||
|
|
||||||
|
Avant de pouvoir convertir votre article, STL dispose d'un système de
|
||||||
|
vérification de la syntaxe STL. Si des erreurs sont trouvées, un système
|
||||||
|
de logs vous aidera à corriger ces erreurs.
|
||||||
|
|
||||||
|
```
|
||||||
|
# N'oubliez pas d'utiliser l'autocomplétion
|
||||||
|
stl check (ARTICLE.stl)
|
||||||
|
```
|
||||||
|
|
||||||
|
Vous pouvez maintenant le convertir en HTML dans le dossier wip
|
||||||
|
|
||||||
|
```
|
||||||
|
stl wip (ARTICLE.stl)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Utiliser la sidebar
|
||||||
|
C'est la seule partie du site qui est semi-statique. STL fait appel à
|
||||||
|
nginx, qui va se charger de traduire la balise HTML `<!--# include file="..." -->`,
|
||||||
|
et afficher le rendu du fichier sidebar.html
|
||||||
|
|
||||||
|
Chaque article, une fois convertit avec l'argument wip peut être placé
|
||||||
|
dans la sidebar à la position désirée, entre 1 et la valeur maximum
|
||||||
|
décidée, lors de la configuration du domaine.
|
||||||
|
|
||||||
|
```
|
||||||
|
stl sidebar add 1 (ARTICLE.stl)
|
||||||
|
```
|
||||||
|
|
||||||
|
Vous pouvez également décider de placer un article ausitôt convertit
|
||||||
|
avec l'argument wip sidebar=POSITON
|
||||||
|
|
||||||
|
```
|
||||||
|
stl wip sidebar=2 (ARTICLE.stl)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation de STL
|
||||||
|
Les fichiers de documentations sont dans le dossier help.
|
||||||
|
Le README est accessible depuis la ligne de commande, comme les arguments
|
||||||
|
utilisables.
|
||||||
|
|
||||||
|
```
|
||||||
|
stl help
|
||||||
|
stl readme
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Dépendances
|
||||||
|
STL est écrit en bash, et a besoin des utilitaires
|
||||||
|
- gawk
|
||||||
|
- rsync
|
||||||
|
- nano
|
||||||
|
- curl
|
||||||
|
|
|
@ -325,14 +325,14 @@ def post_to_strings(post_uri):
|
||||||
def check_post_header(headers):
|
def check_post_header(headers):
|
||||||
global Post_Err
|
global Post_Err
|
||||||
global stats_links_uniq, stats_files_uniq, stats_images_uniq, stats_abbrs_uniq
|
global stats_links_uniq, stats_files_uniq, stats_images_uniq, stats_abbrs_uniq
|
||||||
global stats_links_p, stats_files_p, stats_images_p
|
global stats_links_p, stats_files_p, stats_images_p, stats_abbrs_p
|
||||||
global stats_links
|
global stats_links
|
||||||
# Mandatory markers
|
# Mandatory markers
|
||||||
global title, about, author, tags, date
|
global title, about, author, tags, date
|
||||||
|
|
||||||
# Set Stats
|
# Set Stats
|
||||||
stats_links_uniq = stats_files_uniq = stats_images_uniq = stats_abbrs_uniq = 0
|
stats_links_uniq = stats_files_uniq = stats_images_uniq = stats_abbrs_uniq = 0
|
||||||
stats_links = stats_links_p = stats_files_p = stats_images_p = 0
|
stats_links = stats_links_p = stats_files_p = stats_images_p = stats_abbrs_p = 0
|
||||||
|
|
||||||
# Set Mandatory marker. 0:True/False 1:ln 2: Content
|
# Set Mandatory marker. 0:True/False 1:ln 2: Content
|
||||||
title = about = author = tags = date = ('','','')
|
title = about = author = tags = date = ('','','')
|
||||||
|
@ -746,6 +746,16 @@ def check_abbrs(line, ln, stats_abbrs_uniq):
|
||||||
check_new_marker(abbr_rep)
|
check_new_marker(abbr_rep)
|
||||||
if new_marker or not abbr_rep: abbr_rep = abbr_name
|
if new_marker or not abbr_rep: abbr_rep = abbr_name
|
||||||
|
|
||||||
|
# Check NAME in article
|
||||||
|
if not abbr_name in article:
|
||||||
|
msg_log = 'Unused "%s" for marker "abbr:" in article"'%abbr_name
|
||||||
|
log.append_f(post_logs,msg_log,1)
|
||||||
|
Post_Err = True
|
||||||
|
return(1)
|
||||||
|
|
||||||
|
# Statistics for all ABBR in article
|
||||||
|
stats_abbrs_p = stats_abbrs_p + stats_counter(abbr_name)
|
||||||
|
|
||||||
abbr_nbr = 'abbr_%s'%stats_abbrs_uniq
|
abbr_nbr = 'abbr_%s'%stats_abbrs_uniq
|
||||||
abbr = (
|
abbr = (
|
||||||
abbr_name,
|
abbr_name,
|
||||||
|
@ -1130,6 +1140,7 @@ def create_DB(post_db):
|
||||||
'links_p = %d'%stats_links_p,
|
'links_p = %d'%stats_links_p,
|
||||||
'files_p = %d'%stats_files_p,
|
'files_p = %d'%stats_files_p,
|
||||||
'images_p = %d'%stats_images_p,
|
'images_p = %d'%stats_images_p,
|
||||||
|
'abbrs_p = %d'%stats_abbrs_p,
|
||||||
'\n# Statistics (Templates)',
|
'\n# Statistics (Templates)',
|
||||||
'titles = %d'%stats_titles,
|
'titles = %d'%stats_titles,
|
||||||
'anchors = %d'%stats_anchors,
|
'anchors = %d'%stats_anchors,
|
||||||
|
|
Loading…
Reference in New Issue