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):
|
||||
global Post_Err
|
||||
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
|
||||
# Mandatory markers
|
||||
global title, about, author, tags, date
|
||||
|
||||
# Set Stats
|
||||
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
|
||||
title = about = author = tags = date = ('','','')
|
||||
|
@ -746,6 +746,16 @@ def check_abbrs(line, ln, stats_abbrs_uniq):
|
|||
check_new_marker(abbr_rep)
|
||||
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 = (
|
||||
abbr_name,
|
||||
|
@ -1130,6 +1140,7 @@ def create_DB(post_db):
|
|||
'links_p = %d'%stats_links_p,
|
||||
'files_p = %d'%stats_files_p,
|
||||
'images_p = %d'%stats_images_p,
|
||||
'abbrs_p = %d'%stats_abbrs_p,
|
||||
'\n# Statistics (Templates)',
|
||||
'titles = %d'%stats_titles,
|
||||
'anchors = %d'%stats_anchors,
|
||||
|
|
Loading…
Reference in New Issue