diff --git a/CHANGELOG.md b/CHANGELOG.md index 06e0f36..243d6f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ Tyto - Littérateur # CURRENTLY IN DEV (in devel branch) ! +## [1.9.30] +- 'wip' process +- - About all markers done ! + ## [1.9.29] - Translations - - added for logs (english) diff --git a/README.md b/README.md index fa9615c..b8323d5 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,15 @@ This program can ve tested but not at all usable. Lots of work to do... # Get commands list help tyto ``` +# Create new domain +- create a domain directory, line www.domain.tld +- Go to this directory +- type `tyto new domain` -## ToDo next (working on) -- added lists to post database (prepared wip) ## Working on - 'wip' action processes -- - images module +- Create HTML full page from article ## ToDo - thinking about creating an auto top article menu from titles @@ -43,13 +45,14 @@ 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: post-logo.png +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 @@ -58,21 +61,29 @@ 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 @@ -215,4 +226,141 @@ abbr: css #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 + +# Marqueur avec options +# ! Les images dans cet exemple sont affichées à la suite +# Placer "|", ou mettez une image dans un paragraphe "((...))" +# ou appliquer un style css de type display:block +# les options des marqueurs: +# - 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
+
+1# Un commentaire et du code
+2def hello(world):
+3 world and print(world) or print("NoMore")
+
+
+ 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é_.&_*
+
+
+
+
+
+<ol>, <ul>
+
+
+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
+
+
+' + \ '%s' +\ '
' -image_link = '%s' +image_link = '' + \ + '%s' + \ + '%s' a_link = '%s' quote = """%s %s%s %s""" + diff --git a/src/var/lib/tyto/program/wip.py b/src/var/lib/tyto/program/wip.py index 0a00833..c90fa8f 100644 --- a/src/var/lib/tyto/program/wip.py +++ b/src/var/lib/tyto/program/wip.py @@ -84,7 +84,7 @@ def is_article(target): if targets: return else: sys.exit(post.error) - print("> wip:", target) + print("\n> wip:", target) print(html_post) @@ -105,6 +105,10 @@ def convert(target): post.error = debug.out(10, "'check'", post.uri, True, 2, False) return False + if post.has_changed and not args.force: + post.error = debug.out(106, "'check'", post.uri, True, 1,False) + return False + # Get raw post from database raw_post = tools.b64_convert("decode", post.cf.get("TEXTS", "post")) @@ -119,6 +123,7 @@ def convert(target): words_tags() sl_tags() + images() value_replace("COMMENTS", False, False) value_replace("ABBRS", False, False) @@ -240,6 +245,95 @@ def sl_tags(): text_replace(line, post.anchor_target[1]%css) +# +# +# +def split_size(size): + tup_size= ( + ''.join(filter(str.isdigit, size)) or "", + ''.join(c for c in size if not c.isdigit()) or "px" + ) + + if not tup_size[0]: + return "" + + return tup_size[0] + tup_size[1] + +#=============================# +# Convert images tags to HTML # +#-----------------------------# +def images(): + global html_post + + for key, val in post.cf.items("IMAGES"): + if key.startswith("html"): + continue + + # Get target value by replacing key with html + html_key = key.replace("image", "html") + html_val = post.cf.get("IMAGES", html_key) + + # Search tag from val in html_post + for ln, line in enumerate(html_post.rsplit("\n")): + if line.lstrip().startswith(val): + css = domain.css + width = height = figure = figcap_o = figcap_c = style = "" + options = line.split() + markers = ('c=', 'w=', 'h=','f=') + + # Specific CSS class for _image:logo + if options[0].rsplit(":")[1] == "logo": + css = "post_logo" + + for option in options: + #