# Very early IN dev code This program can ve tested but not at all usable. Lots of work to do... # Commands ``` # Get commands list help tyto ``` # Create new domain - create a domain directory, like www.domain.tld - Go to this directory - type `tyto new domain` - 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) ## Working on - 'wip' action processes - Create HTML full page from article - Create/Manage modules (metas, header, navbar, sidebar, footer) ## ToDo - thinking about creating an auto top article menu from titles - create full HTML page - sitemaps - RSS - 'publish' process ## Exemple d'article .tyto commenté ``` #================================================# # Entete de l'article # # Fin de l'entête avec au moins 5 tirets "-----" # # Toute ligne de commentaire "# ..." est ignorée # # ! Recommandé de ne pas utiliser le signe "_" # #================================================# # Pour ne pas inclure cet article dans les sitemaps : ! NoSitemap # Données uniques sur UNE ligne title: tests d'un article about: À propos de cet article de test tags: Tyto, tuto, author: echolib date: 2023-10-27 # Données unique sur UNE ligne optionnelle # Si non définit, le logo du domaine est utilisé # Ne sera affiché qu'avec _image:logo logo: logo.png # Données multiples sur 3 lignes # [TAG]: Nom # LIEN # Text alternatif # Reprendre dans l'article : __cliquer sur ce lien link: cliquer sur ce Lien https:// Text alternatif link: Réservez ici https:// Billets # Reprendre dans l'article : --télécharger ce fichier file: télécharger ce fichier @/PDFs/hello.pdf Un PDF ! # Reprendre dans l'article : _code:codetest code: codetest @RAWS/test.py Exemple d'un code Python # Reprendre dans l'article : _image:mypic image: mypic @hello.png Text Alt # 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 # Reprendre dans l'article : ;;css abbr: css Cascading Stylesheet CSS ----- #=====================================================================# # Contenu de l'article # # Les classe optionnelles non renseignées deviennent celle du domaine # # /!\ Tout code HTML sera interprêté par le navigateur sauf si placé # # entre les marqueurs de block-code ou icode # #=====================================================================# # La ligne suivante est un commentaire HTML "" # ---------------------------------------------------------------- ;; Commentaire # Ceci est une ancre avec l'ID uniq1 (ID unique) # ---------------------------------------------- -> uniq1 -> top # Créer un lien vers l'ancre "uniq1" # ---------------------------------- >_uniq1: Go to uniq1 anchor_< # Ceci est une ligne
ayant pour classe hrcss # ----------------------------------------------- -- hrcss # Les Titres de l'article de #1 à #5 (

à

) # ------------------------------------------------ #1 Titre en h2 # Contenu dans un paragraphe entre (( ... )) ayant pour classe "mypar" # -------------------------------------------------------------------- (( mypar Un long paragraphe... # Retour à la ligne avec un
de classe brcss # (les retours à la ligne vides ne sont pas pris en compte) # --------------------------------------------------------- | brcss # Reprise du Nom pour les liens de link: et file: # Reprise des abréviations Il faut __cliquer sur ce Lien, __Réservez ici et --télécharger ce fichier ou encore faire une ::css pour du beau rendu ::HTML # Un paragraphe dans le paragraphe ayant pour classe, celle du domaine # -------------------------------------------------------------------- (( Un /_court_/ paragraphe de :_1984_: pour de ~_vrai_~ +_faux en gras_+ Il faut le ._souligner_. et *_Très Gras_* )) # Créer un icode (utilise la balise HTML) # /!\ ! Doit être sur une même ligne # ---------------------------------------------- {_
    ,
      _} {_{_Afficher un icode brut_}_} )) # Un exemple de block code ayant pour classe python # Tout contenu entre les marqueurs "{{" et "}}" est conservé # ---------------------------------------------------------- #2 Block Code {{ python # Un commentaire et du code def hello(world): world and print(world) or print("NoMore") }} # É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_* > +_En Gras_+ > [_Citer un texte_] > :_Citer une référence_: > ~_Texte barré_~ > ._Text souligné_. > /_En italique_/ > ;_En italique_; > # Marques multiples, ajouter "&" *_&._Très gras et souligné_.&_* }} )) # 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é... # ----------------------------------------------------------- #2 Citation [[ mydiv [" mycite ;; A great quote here ! cite: Someone date: 2023-10-13 book: A History lang: en link: https://... (( mycite Here, i am )) "] ]] # 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 # ------------------------------------------------------------------------- #2 Une liste mixée {_
        ,
          _} (( <: 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_< :> )) # 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 # Afficher une image (1 tag par ligne) # ------------------------------------ #2 Les images # Placer le logo de l'article _image:logo # les options du marqueur: # - 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
          ) # - - Recommandé d'utiliser cette option en dernier # ! 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 (( _image:mypic _image:mypic c=MYCSS )) # Une image avec légende (
          ) (jamais dans un paragraphe) _image:mypic c=PIC w=60em h=30% f=echolib sur une chaise ``` ## Output HTML ``` Go to uniq1 anchor

          Titre en h2

          Un long paragraphe...
          Il faut cliquer sur ce Lien, Réservez ici et télécharger ce fichier ou encore faire une CSS pour du beau rendu HTML

          Un court paragraphe de 1984 pour de vrai faux en gras Il faut le souligner et Très Gras

          <ol>, <ul> {_Afficher un icode brut_}

          Block Code

          1# Un commentaire et du code

          2def hello(world):

          3 world and print(world) or print("NoMore")

          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.

          1*_Très Gras_* > <strong>

          2+_En Gras_+ > <b>

          3[_Citer un texte_] > <q>

          4:_Citer une référence_: > <cite>

          5~_Texte barré_~ > <del>

          6._Text souligné_. > <u>

          7/_En italique_/ > <em>

          8;_En italique_; > <i>

          9

          10# Marques multiples, ajouter "&"

          11*_&._Très gras et souligné_.&_*

          Citation

          Une liste mixée <ol>, <ul>

          1. numeric o: item 1
            1. numeric ol sub-Item 1
              1. numeric ol sub-sub-item 1

          Un block code depuis un fichier

          1#================================#

          2# Searching options in arguments #

          3#--------------------------------#

          4def get_options():

          5 global dlogs, force, erron

          6

          7 dlogs = force = erron = False

          8 for arg in range(1, len(sys.argv)):

          9 dlogs = sys.argv[arg] in tyto.debug_options

          10 force = sys.argv[arg] in tyto.force_options

          11 erron = sys.argv[arg] in tyto.debug_errors

          12

          13 print("<li>my 'cafe !</li>")

          14

          Les images

          Text Alt Text Alt

          Text Alt
          echolib sur une chaise
          ```