2023-09-22 11:52:44 +02:00
# Very early IN dev code
This program can ve tested but not at all usable. Lots of work to do...
2022-11-16 11:45:39 +01:00
2023-09-22 11:52:44 +02:00
# Commands
2022-11-26 12:34:59 +01:00
```
2023-09-22 11:52:44 +02:00
# Get commands list help
tyto
2022-11-26 12:34:59 +01:00
```
2023-11-02 15:32:13 +01:00
# Create new domain
2023-11-10 02:56:50 +01:00
- create a domain directory, like www.domain.tld
2023-11-02 15:32:13 +01:00
- Go to this directory
- type `tyto new domain`
2023-11-10 02:56:50 +01:00
- type `tyto check domain`
- create in new directory domain ".../articles/", an article (see tuto below)
- type `check myfile.tyto` (or use "wip" instead of check)
2022-11-26 12:34:59 +01:00
2023-10-14 17:13:12 +02:00
## Working on
2023-11-01 10:29:43 +01:00
- 'wip' action processes
2023-11-02 15:32:13 +01:00
- Create HTML full page from article
2023-11-10 02:56:50 +01:00
- Create/Manage modules (metas, header, navbar, sidebar, footer)
2023-11-01 10:29:43 +01:00
## ToDo
2023-10-14 17:13:12 +02:00
- thinking about creating an auto top article menu from titles
2023-11-01 10:29:43 +01:00
- create full HTML page
- sitemaps
- RSS
- 'publish' process
2023-03-07 17:49:50 +01:00
2023-11-01 10:29:43 +01:00
## Exemple d'article .tyto commenté
2023-10-26 18:59:56 +02:00
```
2023-10-27 17:40:10 +02:00
#================================================#
# Entete de l'article #
# Fin de l'entête avec au moins 5 tirets "-----" #
# Toute ligne de commentaire "# ..." est ignorée #
2023-11-01 10:29:43 +01:00
# ! Recommandé de ne pas utiliser le signe "_" #
2023-10-27 17:40:10 +02:00
#================================================#
# Pour ne pas inclure cet article dans les sitemaps :
2023-10-26 18:59:56 +02:00
! NoSitemap
2023-10-27 17:40:10 +02:00
# Données uniques sur UNE ligne
2023-10-26 18:59:56 +02:00
title: tests d'un article
about: À propos de cet article de test
2023-10-27 17:40:10 +02:00
tags: Tyto, tuto,
2023-10-26 18:59:56 +02:00
author: echolib
2023-10-27 17:40:10 +02:00
date: 2023-10-27
2023-10-26 18:59:56 +02:00
2023-11-01 10:29:43 +01:00
# Données unique sur UNE ligne optionnelle
# Si non définit, le logo du domaine est utilisé
# Ne sera affiché qu'avec _image:logo
2023-11-02 15:32:13 +01:00
logo: logo.png
2023-11-01 10:29:43 +01:00
# Données multiples sur 3 lignes
# [TAG]: Nom
# LIEN
# Text alternatif
2023-11-02 15:32:13 +01:00
# Reprendre dans l'article : __cliquer sur ce lien
2023-10-27 17:40:10 +02:00
link: cliquer sur ce Lien
2023-10-26 18:59:56 +02:00
https://
Text alternatif
link: Réservez ici
https://
Billets
2023-11-02 15:32:13 +01:00
# Reprendre dans l'article : --télécharger ce fichier
2023-10-26 18:59:56 +02:00
file: télécharger ce fichier
2023-10-27 17:40:10 +02:00
@/PDFs/hello .pdf
2023-10-26 18:59:56 +02:00
Un PDF !
2023-11-02 15:32:13 +01:00
# Reprendre dans l'article : _code:codetest
2023-11-01 10:29:43 +01:00
code: codetest
@RAWS/test .py
Exemple d'un code Python
2023-11-02 15:32:13 +01:00
# Reprendre dans l'article : _image:mypic
image: mypic
@hello .png
Text Alt
2023-11-01 10:29:43 +01:00
# Les abréviations :
# 2eme ligne: Texte alternatif
# 3ème ligne: valeur affichée dans l'article à la place du Nom
abbr: HTML
HuperText Markup Langage
HTML
2023-11-02 15:32:13 +01:00
# Reprendre dans l'article : ;;css
2023-11-01 10:29:43 +01:00
abbr: css
Cascading Stylesheet
CSS
2023-10-27 17:40:10 +02:00
-----
2023-10-26 18:59:56 +02:00
2023-10-27 17:40:10 +02:00
#=====================================================================#
# Contenu de l'article #
# Les classe optionnelles non renseignées deviennent celle du domaine #
2023-11-01 10:29:43 +01:00
# /!\ Tout code HTML sera interprêté par le navigateur sauf si placé #
# entre les marqueurs de block-code ou icode #
2023-10-27 17:40:10 +02:00
#=====================================================================#
2023-10-26 18:59:56 +02:00
# La ligne suivante est un commentaire HTML "<!-- Commentaire -->"
2023-11-01 10:29:43 +01:00
# ----------------------------------------------------------------
2023-10-26 18:59:56 +02:00
;; Commentaire
2023-10-27 17:40:10 +02:00
# Ceci est une ancre avec l'ID uniq1 (ID unique)
2023-11-01 10:29:43 +01:00
# ----------------------------------------------
2023-10-27 17:40:10 +02:00
-> uniq1
2023-10-26 18:59:56 +02:00
-> top
2023-10-27 17:40:10 +02:00
# Créer un lien vers l'ancre "uniq1"
2023-11-01 10:29:43 +01:00
# ----------------------------------
2023-10-27 17:40:10 +02:00
>_uniq1: Go to uniq1 anchor_<
# Ceci est une ligne <hr> ayant pour classe hrcss
2023-11-01 10:29:43 +01:00
# -----------------------------------------------
2023-10-27 17:40:10 +02:00
-- hrcss
# Les Titres de l'article de #1 à #5 (<h2> à <h6>)
2023-11-01 10:29:43 +01:00
# ------------------------------------------------
2023-10-26 18:59:56 +02:00
#1 Titre en h2
2023-11-01 10:29:43 +01:00
# Contenu dans un paragraphe entre (( ... )) ayant pour classe "mypar"
# --------------------------------------------------------------------
2023-10-27 17:40:10 +02:00
(( mypar
Un long paragraphe...
# Retour à la ligne avec un < br / > de classe brcss
# (les retours à la ligne vides ne sont pas pris en compte)
2023-11-01 10:29:43 +01:00
# ---------------------------------------------------------
2023-10-27 17:40:10 +02:00
| brcss
2023-11-01 10:29:43 +01:00
# Reprise du Nom pour les liens de link: et file:
# Reprise des abréviations
2023-10-27 17:40:10 +02:00
Il faut __cliquer sur ce Lien, __Réservez ici et --télécharger ce fichier
2023-11-01 10:29:43 +01:00
ou encore faire une ::css pour du beau rendu ::HTML
2023-10-27 17:40:10 +02:00
# Un paragraphe dans le paragraphe ayant pour classe, celle du domaine
2023-11-01 10:29:43 +01:00
# --------------------------------------------------------------------
2023-10-26 18:59:56 +02:00
((
2023-10-27 17:40:10 +02:00
Un /_court_/ paragraphe de :_1984_: pour de ~_vrai_~ +_faux en gras_+
Il faut le ._souligner_. et *_Très Gras_*
2023-10-26 18:59:56 +02:00
))
2023-11-01 10:29:43 +01:00
# Créer un icode (utilise la balise < code > HTML)
# /!\ ! Doit être sur une même ligne
# ----------------------------------------------
2023-10-27 17:40:10 +02:00
{_< ol > , < ul > _}
2023-11-01 10:29:43 +01:00
{_{_Afficher un icode brut_}_}
2023-10-26 18:59:56 +02:00
))
2023-11-01 10:29:43 +01:00
# Un exemple de block code ayant pour classe python
2023-10-27 17:40:10 +02:00
# Tout contenu entre les marqueurs "{{" et "}}" est conservé
2023-11-01 10:29:43 +01:00
# ----------------------------------------------------------
#2 Block Code
2023-10-27 17:40:10 +02:00
{{ python
# Un commentaire et du code
def hello(world):
world and print(world) or print("NoMore")
2023-10-26 18:59:56 +02:00
}}
2023-11-01 10:29:43 +01:00
# Écrire en gras, italique...
# ---------------------------
#2 Marqueurs de mots
((
Même si, il est possible d'écrire directement des balises (HTML), Tyto
propose de les simplifier, en entourant les mots avec des marqueurs. La
classe CSS du domaine est utilisée pour chaque marqueur.
{{
*_Très Gras_* > < strong >
+_En Gras_+ > < b >
[_Citer un texte_] > < q >
:_Citer une référence_: > < cite >
~_Texte barré_~ > < del >
._Text souligné_. > < u >
/_En italique_/ > < em >
;_En italique_; > < i >
# Marques multiples, ajouter "& "
*_&._Très gras et souligné_.&_*
}}
))
2023-10-27 17:40:10 +02:00
# Dans un block div [[ ... ]] (classe CSS mydiv),
# La citation entre [" ... "] (classe CSS mycite)
# est placée dans un paragraphe (classe CSS mycite)
# ! Tout commentaire "# ..." dans la citation sera affiché...
2023-11-01 10:29:43 +01:00
# -----------------------------------------------------------
#2 Citation
2023-10-27 17:40:10 +02:00
[[ mydiv
[" mycite
2023-10-26 18:59:56 +02:00
;; A great quote here !
cite: Someone
date: 2023-10-13
book: A History
2023-10-27 17:40:10 +02:00
lang: en
2023-10-26 18:59:56 +02:00
link: https://...
2023-10-27 17:40:10 +02:00
(( mycite
2023-10-26 18:59:56 +02:00
Here, i am
))
"]
]]
2023-10-27 17:40:10 +02:00
# Créer une liste ol/ul entre <: ... :> (classe mylist)
# dans un paragraphe (classe du domaine)
# "+" pour ol, "=" pour ul
# Ajouter toujours un signe pour un sous-item ou /!\ au changement de signe
2023-11-01 10:29:43 +01:00
# -------------------------------------------------------------------------
2023-10-27 17:40:10 +02:00
#2 Une liste mixée {_<ol>, <ul>_}
((
< : mylist
+ numeric o: item 1
++ numeric ol sub-Item 1
+++ numeric ol sub-sub-item 1
==== ul item >_top: Go to Top_<
==== ul item >_top: Another anchor_<
:>
))
2023-11-01 10:29:43 +01:00
# Afficher un block code avec le contenu d'un fichier
# Il doit avoir été configuré dans l'entête
# -----------------------------------------
#2 Un block code depuis un fichier
_code:codetest
2023-11-02 15:32:13 +01:00
# Afficher une image (1 tag par ligne)
# ------------------------------------
#2 Les images
# Placer le logo de l'article
_image:logo
2023-11-13 18:04:12 +01:00
# les options du marqueur:
2023-11-02 15:32:13 +01:00
# - c=CLASS < Sinon la classe est celle du domaine
# - w=WIDTH < longueur (si pas d'unité : défaut "px")
# - h=HEIGHT < Comme w=
# - f=Ma légende sous l'image (ajoute <figure><figcaption>)
# - - Recommandé d'utiliser cette option en dernier
2023-11-13 18:04:12 +01:00
# ! Les images dans cet exemple sont affichées horizontalement
# Placer "|", ou mettez chaque image dans un paragraphe "((...))"
# ou définir un style css de type display:block pour les afficher verticalement
2023-11-02 15:32:13 +01:00
((
_image:mypic
_image:mypic c=MYCSS
))
2023-11-13 18:04:12 +01:00
# Une image avec légende (<figure>) (jamais dans un paragraphe)
_image:mypic c=PIC w=60em h=30% f=echolib sur une chaise
2023-11-02 15:32:13 +01:00
```
## Output HTML
```
<!-- Article Text: [tests d'un article] -->
<!-- Commentaire -->
< a id = "uniq1" class = "anchor_target" > < / a >
< a id = "top" class = "anchor_target" > < / a >
< a class = "tyto anchor_link" href = "#uniq1" > Go to uniq1 anchor< / a >
< hr class = "tyto" >
< h2 class = "tyto" > Titre en h2< / h2 >
< p class = "mypar" >
Un long paragraphe...
< br class = "brcss" >
Il faut < a href = "https://" class = "tyto link" title = "Text alternatif" > cliquer sur ce Lien< / a > , < a href = "https://" class = "tyto link" title = "Billets" > Réservez ici< / a > et < a href = "/files/PDFs/hello.pdf" class = "tyto file" title = "Un PDF !" > télécharger ce fichier< / a >
ou encore faire une < abbr class = "tyto" title = "Cascading Stylesheet" > CSS< / abbr > pour du beau rendu < abbr class = "tyto" title = "HuperText Markup Langage" > HTML< / abbr >
< p class = "tyto" >
Un < em class = "tyto" > court< / em > paragraphe de < cite class = "tyto" > 1984< / cite > pour de < del class = "tyto" > vrai< / del > < b class = "tyto" > faux en gras< / b >
Il faut le < u class = "tyto" > souligner< / u > et < strong class = "tyto" > Très Gras< / strong >
< / p >
< code class = "tyto icode" > < ol> , < ul> < / code >
< code class = "tyto icode" > {_Afficher un icode brut_}< / code >
< / p >
< h3 class = "tyto" > Block Code< / h3 >
< code class = "python bcode" >
< p class = "bcode" > < span class = "ln bcode" > 1< / span > < span class = "line bcode" > # Un commentaire et du code< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 2< / span > < span class = "line bcode" > def hello(world):< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 3< / span > < span class = "line bcode" > world and print(world) or print(" NoMore" )< / span > < / p >
< / code >
< h3 class = "tyto" > Marqueurs de mots< / h3 >
< p class = "tyto" >
Même si, il est possible d'écrire directement des balises (HTML), Tyto
propose de les simplifier, en entourant les mots avec des marqueurs. La
classe CSS du domaine est utilisée pour chaque marqueur.
< code class = "tyto bcode" >
< p class = "bcode" > < span class = "ln bcode" > 1< / span > < span class = "line bcode" > *_Très Gras_* > < strong> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 2< / span > < span class = "line bcode" > +_En Gras_+ > < b> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 3< / span > < span class = "line bcode" > [_Citer un texte_] > < q> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 4< / span > < span class = "line bcode" > :_Citer une référence_: > < cite> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 5< / span > < span class = "line bcode" > ~_Texte barré_~ > < del> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 6< / span > < span class = "line bcode" > ._Text souligné_. > < u> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 7< / span > < span class = "line bcode" > /_En italique_/ > < em> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 8< / span > < span class = "line bcode" > ;_En italique_; > < i> < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 9< / span > < span class = "line bcode" > < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 10< / span > < span class = "line bcode" > # Marques multiples, ajouter " &" < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 11< / span > < span class = "line bcode" > *_& ._Très gras et souligné_.& _*< / span > < / p >
< / code >
< / p >
< h3 class = "tyto" > Citation< / h3 >
< div class = "mydiv" >
< blockquote class = "mycite" cite = "https://..." lang = "en" title = "-- Someone - A History (2023-10-13)" >
< time datetime = "2023-10-13" >
<!-- Quote -->
<!-- A great quote here ! -->
2023-11-13 18:04:12 +01:00
< p class = "mycite" >
2023-11-02 15:32:13 +01:00
Here, i am
< / p >
< / time >
< footer class = "quote" >
< p class = "quote" > < a class = "tyto quote" href = "https://..." target = "_blank" > -- Someone - < cite class = "quote" > - A History< / cite > (2023-10-13)< / a > < / p >
< / footer >
< / blockquote >
< / div >
< h3 class = "tyto" > Une liste mixée < code class = "tyto icode" > < ol> , < ul> < / code > < / h3 >
< p class = "tyto" >
< ol class = "mylist" >
< li class = "mylist" > numeric o: item 1< / li >
< ol >
< li class = "mylist" > numeric ol sub-Item 1< / li >
< ol >
< li class = "mylist" > numeric ol sub-sub-item 1< / li >
< ul >
< li class = "mylist" > ul item < a class = "tyto anchor_link" href = "#top" > Go to Top< / a > < / li >
< li class = "mylist" > ul item < a class = "tyto anchor_link" href = "#top" > Another anchor< / a > < / li >
< / ul >
< / ol >
< / ol >
< / ol >
< / p >
< h3 class = "tyto" > Un block code depuis un fichier< / h3 >
< code class = "tyto bcode" >
<!-- Exemple d'un code Python -->
< p class = "bcode" > < span class = "ln bcode" > 1< / span > < span class = "line bcode" > #================================#< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 2< / span > < span class = "line bcode" > # Searching options in arguments #< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 3< / span > < span class = "line bcode" > #--------------------------------#< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 4< / span > < span class = "line bcode" > def get_options():< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 5< / span > < span class = "line bcode" > global dlogs, force, erron< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 6< / span > < span class = "line bcode" > < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 7< / span > < span class = "line bcode" > dlogs = force = erron = False< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 8< / span > < span class = "line bcode" > for arg in range(1, len(sys.argv)):< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 9< / span > < span class = "line bcode" > dlogs = sys.argv[arg] in tyto.debug_options< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 10< / span > < span class = "line bcode" > force = sys.argv[arg] in tyto.force_options< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 11< / span > < span class = "line bcode" > erron = sys.argv[arg] in tyto.debug_errors< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 12< / span > < span class = "line bcode" > < / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 13< / span > < span class = "line bcode" > print(" < li> my ' cafe !< /li> " )< / span > < / p >
< p class = "bcode" > < span class = "ln bcode" > 14< / span > < span class = "line bcode" > < / span > < / p >
< footer class = "bcode" >
< p class = "bcode" >
< a class = "bcode" href = "/files/RAWS/test.py" title = "Exemple d'un code Python" > Source< / a >
< / p >
< / footer >
< / code >
< h3 class = "tyto" > Les images< / h3 >
2023-11-13 18:04:12 +01:00
< a href = "logo.png" class = "post_logo image" title = "tests d'un article" > < img src = "logo.png" class = "post_logo" alt = "tests d'un article" title = "tests d'un article" / > < / a >
2023-11-02 15:32:13 +01:00
< p class = "tyto" >
2023-11-13 18:04:12 +01:00
< a href = "/images/hello.png" class = "tyto image" title = "Text Alt" > < img src = "/images/hello.png" class = "tyto" alt = "Text Alt" title = "Text Alt" / > < / a >
< a href = "/images/hello.png" class = "MYCSS image" title = "Text Alt" > < img src = "/images/hello.png" class = "MYCSS" alt = "Text Alt" title = "Text Alt" / > < / a >
2023-11-02 15:32:13 +01:00
< / p >
2023-11-13 18:04:12 +01:00
< a href = "/images/hello.png" class = "PIC image" title = "Text Alt" > < figure class = "PIC" > < img src = "/images/hello.png" class = "PIC" alt = "Text Alt" title = "Text Alt" style = "width:60em;height:30%;" / > < figcaption class = "PIC" > echolib sur une chaise< / figcaption > < / figure > < / a >
2023-10-26 18:59:56 +02:00
```