373 lines
14 KiB
Markdown
373 lines
14 KiB
Markdown
# 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 -->"
|
|
# ----------------------------------------------------------------
|
|
;; 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 <hr> ayant pour classe hrcss
|
|
# -----------------------------------------------
|
|
-- hrcss
|
|
|
|
# Les Titres de l'article de #1 à #5 (<h2> à <h6>)
|
|
# ------------------------------------------------
|
|
#1 Titre en h2
|
|
|
|
# Contenu dans un paragraphe entre (( ... )) ayant pour classe "mypar"
|
|
# --------------------------------------------------------------------
|
|
(( mypar
|
|
Un long paragraphe...
|
|
|
|
# Retour à la ligne avec un <br /> 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 <code> HTML)
|
|
# /!\ ! Doit être sur une même ligne
|
|
# ----------------------------------------------
|
|
{_<ol>, <ul>_}
|
|
{_{_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_* > <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é_.&_*
|
|
}}
|
|
))
|
|
|
|
|
|
# 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 {_<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_<
|
|
:>
|
|
))
|
|
|
|
# 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 <figure><figcaption>)
|
|
# - - 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 (<figure>) (jamais dans un paragraphe)
|
|
_image:mypic c=PIC w=60em h=30% f=echolib sur une chaise
|
|
|
|
```
|
|
|
|
## 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 ! -->
|
|
|
|
<p class="mycite">
|
|
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>
|
|
<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>
|
|
<p class="tyto">
|
|
<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>
|
|
</p>
|
|
<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>
|
|
```
|