commit
8dcbfcdd0a
22
CHANGELOG.md
22
CHANGELOG.md
|
@ -6,5 +6,27 @@ Tyto - Littérateur
|
||||||
- Changelog: https://git.a-lec.org/echolib/tyto-litterateur/-/blob/master/CHANGELOG.md
|
- Changelog: https://git.a-lec.org/echolib/tyto-litterateur/-/blob/master/CHANGELOG.md
|
||||||
- License: https://git.a-lec.org/echolib/tyto-litterateur/-/blob/master/LICENSE
|
- License: https://git.a-lec.org/echolib/tyto-litterateur/-/blob/master/LICENSE
|
||||||
|
|
||||||
|
## [0.10.2]
|
||||||
|
- Citer dans un texte > `[_` + `_]`
|
||||||
|
- Italique `<em>` > `;_` + `_;`
|
||||||
|
- Italique `<i>` > {_:_` + `_:`
|
||||||
|
|
||||||
|
## [0.10.1]
|
||||||
|
- Fix with try in check for static page
|
||||||
|
|
||||||
|
## [0.10.0]
|
||||||
|
- Add full static page option (--static) only with wip
|
||||||
|
- Add <div> markers: `<<`, `>>`
|
||||||
|
- Add new container <div> in footer
|
||||||
|
- Better status display for article
|
||||||
|
- fix lang setting
|
||||||
|
- fix for less warnings in HTML validity
|
||||||
|
|
||||||
|
## [0.9.1]
|
||||||
|
- wip: tabulation when using `<hr />`
|
||||||
|
- wip: inline quote markers `@_myquote_@`
|
||||||
|
- wip: inline italic marker `:_maybe_:`
|
||||||
|
- wip: fix data retreive in complete quote
|
||||||
|
|
||||||
## [0.9.0]
|
## [0.9.0]
|
||||||
- Last testings before final
|
- Last testings before final
|
||||||
|
|
71
README.md
71
README.md
|
@ -54,30 +54,31 @@ abbr: abbrev
|
||||||
# Les titres HTML vont de 1 à 6.
|
# Les titres HTML vont de 1 à 6.
|
||||||
# Utiliser #N, où N est entre 1 et 6.
|
# Utiliser #N, où N est entre 1 et 6.
|
||||||
# Si du contenu existe entre les titres, une <div> est ajoutée
|
# Si du contenu existe entre les titres, une <div> est ajoutée
|
||||||
# Astuce: on commence en général par #2 dans l'article
|
# Astuce: on commence en général par #2 dans l'article le titre du site
|
||||||
|
# étant en #1
|
||||||
|
|
||||||
# Source
|
# Source
|
||||||
#1 Titre 1
|
#2 Titre 1
|
||||||
Contenu 1
|
Contenu 1
|
||||||
|
|
||||||
#2 Titre 2
|
#3 Titre 2
|
||||||
|
|
||||||
#3 Titre 3
|
#4 Titre 3
|
||||||
contenu 2
|
contenu 2
|
||||||
|
|
||||||
#4 Titre 4
|
#5 Titre 4
|
||||||
|
```
|
||||||
|
|
||||||
# HTML
|
### Balise div
|
||||||
<h1 class="title_1">Titre 1</h1>
|
```
|
||||||
<div class="content_title">
|
<< CSS
|
||||||
Contenu 1
|
((
|
||||||
</div>
|
1er paragraphes dans une balise div class="CSS"
|
||||||
<h2 class="title_2">Titre 2</h2>
|
))
|
||||||
<h3 class="title_3">Titre 3</h3>
|
((
|
||||||
<div class="content_title">
|
2e paragraphes dans une balise div class="CSS"
|
||||||
contenu 2
|
))
|
||||||
</div>
|
>>
|
||||||
<h4 class="title_4">Titre 4</h4>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Paragraphes
|
### Paragraphes
|
||||||
|
@ -111,17 +112,10 @@ def hello_world():
|
||||||
# Source de l'ancre cible. "id" est son identité
|
# Source de l'ancre cible. "id" est son identité
|
||||||
-> id
|
-> id
|
||||||
|
|
||||||
# HTML
|
|
||||||
<a href="id2"></a>
|
|
||||||
|
|
||||||
# Source de l'ancre d'appel
|
# Source de l'ancre d'appel
|
||||||
# Définir l'identité cible et le texte du lien
|
# Définir l'identité cible et le texte du lien
|
||||||
((
|
|
||||||
>_id:Retourner au point d'ancre id_<
|
>_id:Retourner au point d'ancre id_<
|
||||||
))
|
|
||||||
|
|
||||||
# HTML
|
|
||||||
<a class="anchor" href="#id">Retourner au point d'ancre id</a>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Retour à la ligne HTML
|
### Retour à la ligne HTML
|
||||||
|
@ -135,28 +129,30 @@ def hello_world():
|
||||||
|
|
||||||
### Lien vers URL
|
### Lien vers URL
|
||||||
```
|
```
|
||||||
|
# Placer "_" devant le Nom du lien
|
||||||
Voir ce _Nom du lien # Ouverture même fenêtre
|
Voir ce _Nom du lien # Ouverture même fenêtre
|
||||||
Voir ce _Nom du lien+ # ouverture nouvelle fenêtre
|
Voir ce _Nom du lien+ # ouverture nouvelle fenêtre
|
||||||
```
|
```
|
||||||
|
|
||||||
### Lien vers fichier
|
### Lien vers fichier
|
||||||
```
|
```
|
||||||
|
# Placer "__" devant le Nom du lien
|
||||||
Voir ce __Nom du lien # Ouverture même fenêtre
|
Voir ce __Nom du lien # Ouverture même fenêtre
|
||||||
Voir ce __Nom du lien+ # ouverture nouvelle fenêtre
|
Voir ce __Nom du lien+ # ouverture nouvelle fenêtre
|
||||||
```
|
```
|
||||||
|
|
||||||
Note:
|
Note:
|
||||||
Vous pouvez avoir un Nom identique pour les marqueur `file:` et `link:`
|
Vous pouvez avoir un Nom identique pour les marqueurs `file:` et `link:`
|
||||||
|
|
||||||
|
|
||||||
### Gras, Strong, italique...
|
### Gras, Strong, italique...
|
||||||
```
|
```
|
||||||
*_très gras_* # <strong>
|
*_très gras_* # <strong>
|
||||||
+_gras léger_+ # <b>
|
+_gras léger_+ # <b>
|
||||||
/_en italique_/ # <em>
|
;_en italique_; # <em>
|
||||||
[_en italique_] # <i>
|
:_en italique_: # <i>
|
||||||
~_texte barré_~ # <del>
|
~_texte barré_~ # <del>
|
||||||
:_Citation rapide_: # <cite>
|
[_Citation rapide_] # <cite>
|
||||||
%_Classe personnalisée_% >>> <span class="custom">
|
%_Classe personnalisée_% >>> <span class="custom">
|
||||||
._Souligné_. # <u>
|
._Souligné_. # <u>
|
||||||
{_Code_} # <code>
|
{_Code_} # <code>
|
||||||
|
@ -207,7 +203,7 @@ optionnels `_xxx:`. Pour la date, utilisez le FORMAT INTERNATIONAL
|
||||||
# Source: citation complète
|
# Source: citation complète
|
||||||
[[ CSS_TEST
|
[[ CSS_TEST
|
||||||
_cite: echolib
|
_cite: echolib
|
||||||
_date: 2022-12-28
|
_date: 2022-12-28 (format AAAA ou AAAA-MM ou AAAA-MM-JJ)
|
||||||
_lang: fr
|
_lang: fr
|
||||||
_link: https://tyto.echolib.re
|
_link: https://tyto.echolib.re
|
||||||
_book: Référence
|
_book: Référence
|
||||||
|
@ -215,29 +211,10 @@ _book: Référence
|
||||||
Pfff, vraiment !
|
Pfff, vraiment !
|
||||||
))
|
))
|
||||||
]]
|
]]
|
||||||
|
|
||||||
# HTML
|
|
||||||
<figure class="CSS_TEST">
|
|
||||||
<blockquote class="CSS_TEST" lang="fr" cite="https://tyto.echolib.re" title="echolib - Reference (2022-12-28)">
|
|
||||||
<time datetime="2022-12-28">
|
|
||||||
<p class="tyto">
|
|
||||||
Pfff, vraiment !
|
|
||||||
</p>
|
|
||||||
</time>
|
|
||||||
</blockquote>
|
|
||||||
<figcaption class="CSS_TEST">
|
|
||||||
<a class="figc" href="https://tyto.echolib.re">echolib - Reference (2022-12-28)</a>
|
|
||||||
</figcaption>
|
|
||||||
</figure>
|
|
||||||
````
|
````
|
||||||
```
|
```
|
||||||
# Source: citation basique
|
# Source: citation basique
|
||||||
[[
|
[[
|
||||||
Une citation simple, et sans paragraphe
|
Une citation simple, et sans paragraphe
|
||||||
]]
|
]]
|
||||||
|
|
||||||
# HTML
|
|
||||||
<blockquote class="tyto">
|
|
||||||
Une citation simple, et sans paragraphe
|
|
||||||
</blockquote>
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Package: tyto
|
Package: tyto
|
||||||
Version: 0.9.0
|
Version: 0.10.2
|
||||||
Section: custom
|
Section: custom
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: all
|
Architecture: all
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# Version: 0.9.0
|
# Version: 0.10.2
|
||||||
# Tyto - Littérateur
|
# Tyto - Littérateur
|
||||||
#
|
#
|
||||||
# Copyright (C) 2023 Cyrille Louarn <echolib+tyto@a-lec.org>
|
# Copyright (C) 2023 Cyrille Louarn <echolib+tyto@a-lec.org>
|
||||||
|
|
|
@ -37,7 +37,7 @@ p#site_about {
|
||||||
nav#site_menu {
|
nav#site_menu {
|
||||||
}
|
}
|
||||||
|
|
||||||
ul#site_menu_items {
|
menu#site_menu_items {
|
||||||
}
|
}
|
||||||
|
|
||||||
li.site_menu_item {
|
li.site_menu_item {
|
||||||
|
@ -121,7 +121,7 @@ p.bcode {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* section for author and date */
|
/* section for author and date */
|
||||||
section#article_infos {
|
div#article_infos {
|
||||||
}
|
}
|
||||||
span#article_author {
|
span#article_author {
|
||||||
}
|
}
|
||||||
|
@ -157,6 +157,11 @@ p.sidebar_item_about {
|
||||||
*/
|
*/
|
||||||
footer#footer_page {
|
footer#footer_page {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* container for footer_infos + footer_references */
|
||||||
|
div#footer_container {
|
||||||
|
}
|
||||||
|
|
||||||
/* Block*/
|
/* Block*/
|
||||||
div#footer_infos {
|
div#footer_infos {
|
||||||
}
|
}
|
||||||
|
@ -164,6 +169,7 @@ h1#footer_site_title {
|
||||||
}
|
}
|
||||||
p#footer_about {
|
p#footer_about {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Block */
|
/* Block */
|
||||||
div#footer_references {
|
div#footer_references {
|
||||||
}
|
}
|
||||||
|
@ -173,6 +179,7 @@ li.footer_item {
|
||||||
}
|
}
|
||||||
a.footer_item_link {
|
a.footer_item_link {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Block */
|
/* Block */
|
||||||
div#footer_credits {
|
div#footer_credits {
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,11 +60,13 @@ actions = \
|
||||||
'publish'
|
'publish'
|
||||||
)
|
)
|
||||||
|
|
||||||
pass_actions = (
|
option = \
|
||||||
'new'
|
(
|
||||||
|
'--static',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
pass_actions = ('new')
|
||||||
|
|
||||||
# Actions that needs to check for article's database
|
# Actions that needs to check for article's database
|
||||||
pass_db = \
|
pass_db = \
|
||||||
(
|
(
|
||||||
|
@ -104,24 +106,26 @@ pass_status = \
|
||||||
|
|
||||||
multi_chk = ('added', 'again', 'updated')
|
multi_chk = ('added', 'again', 'updated')
|
||||||
|
|
||||||
|
'''
|
||||||
action = ''
|
action = ''
|
||||||
target = ''
|
target = ''
|
||||||
noaction = False
|
option = ''
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
# action
|
# action
|
||||||
#-------
|
#-------
|
||||||
try: action = sys.argv[1]
|
try: action = sys.argv[1]
|
||||||
except: noaction = True
|
except: action = ''
|
||||||
|
|
||||||
# With no argument, show help
|
# With no argument, show help
|
||||||
if noaction:
|
if not action:
|
||||||
infos.tyto(target)
|
infos.tyto(target)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
# Unused argument [action]
|
# Unused argument [action]
|
||||||
act_err = False
|
if action in actions: act_err = False
|
||||||
if not action in actions:
|
else: act_err = True
|
||||||
act_err = True
|
|
||||||
|
|
||||||
|
|
||||||
# target
|
# target
|
||||||
|
@ -130,6 +134,10 @@ try: target = sys.argv[2]
|
||||||
except: target = ''
|
except: target = ''
|
||||||
|
|
||||||
|
|
||||||
|
# option
|
||||||
|
try: option = sys.argv[3]
|
||||||
|
except: option = ''
|
||||||
|
|
||||||
# Set action and target for binary
|
# Set action and target for binary
|
||||||
def set_action():
|
def set_action():
|
||||||
return(action)
|
return(action)
|
||||||
|
|
|
@ -343,19 +343,19 @@ def if_icodes_bcodes_quotes(post_bottom):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# quotes
|
# quotes
|
||||||
elif line.startswith(tyto.words_tags[11][0]) and not in_bcode:
|
elif line.startswith(tyto.block_tags[1][0]) and not in_bcode:
|
||||||
quote = in_quote = in_bq = True
|
quote = in_quote = in_bq = True
|
||||||
continue
|
continue
|
||||||
elif line.startswith(tyto.words_tags[11][1]):
|
elif line.startswith(tyto.block_tags[1][1]):
|
||||||
in_quote = False
|
in_quote = False
|
||||||
nbr_quotes += 1
|
nbr_quotes += 1
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# bcode
|
# bcode
|
||||||
elif line.startswith(tyto.words_tags[12][0]) and not in_quote:
|
elif line.startswith(tyto.block_tags[2][0]) and not in_quote:
|
||||||
bcode = in_bcode = in_bq = True
|
bcode = in_bcode = in_bq = True
|
||||||
continue
|
continue
|
||||||
elif line.startswith(tyto.words_tags[12][1]):
|
elif line.startswith(tyto.block_tags[2][1]):
|
||||||
in_bcode = False
|
in_bcode = False
|
||||||
nbr_bcodes += 1
|
nbr_bcodes += 1
|
||||||
continue
|
continue
|
||||||
|
@ -781,13 +781,28 @@ def check_content(post_bottom):
|
||||||
for tag in tyto.words_tags:
|
for tag in tyto.words_tags:
|
||||||
c_opened = c_closed = 0
|
c_opened = c_closed = 0
|
||||||
|
|
||||||
if tag[5] == 'w':
|
|
||||||
c_opened = post_bottom.count(tag[0])
|
c_opened = post_bottom.count(tag[0])
|
||||||
c_closed = post_bottom.count(tag[1])
|
c_closed = post_bottom.count(tag[1])
|
||||||
# Useless tag now, replace
|
# Useless tag now, replace
|
||||||
post_bottom = post_bottom.replace(tag[0], '')
|
post_bottom = post_bottom.replace(tag[0], '')
|
||||||
post_bottom = post_bottom.replace(tag[1], '')
|
post_bottom = post_bottom.replace(tag[1], '')
|
||||||
elif tag[5] == 't':
|
|
||||||
|
if c_opened != c_closed:
|
||||||
|
logs.out("8", '%s "%s" + "%s" > %s'%(
|
||||||
|
tag[4], tag[0], tag[1], db.uri_file
|
||||||
|
), False)
|
||||||
|
post_err = True
|
||||||
|
|
||||||
|
else:
|
||||||
|
globals()['post_%s'%tag[4]] = int(c_opened)
|
||||||
|
|
||||||
|
|
||||||
|
# Check block tags paragraphs, qyotes...)
|
||||||
|
# Set stats for each one
|
||||||
|
#-------------------------------------------
|
||||||
|
for tag in tyto.block_tags:
|
||||||
|
c_opened = c_closed = 0
|
||||||
|
|
||||||
for line in post_bottom.rsplit('\n'):
|
for line in post_bottom.rsplit('\n'):
|
||||||
if line.startswith(tag[0]): c_opened += 1
|
if line.startswith(tag[0]): c_opened += 1
|
||||||
if line.startswith(tag[1]): c_closed += 1
|
if line.startswith(tag[1]): c_closed += 1
|
||||||
|
@ -797,7 +812,7 @@ def check_content(post_bottom):
|
||||||
tag[4], tag[0], tag[1], db.uri_file
|
tag[4], tag[0], tag[1], db.uri_file
|
||||||
), False)
|
), False)
|
||||||
post_err = True
|
post_err = True
|
||||||
return # Useless and could code errors to check nexts
|
|
||||||
else:
|
else:
|
||||||
globals()['post_%s'%tag[4]] = int(c_opened)
|
globals()['post_%s'%tag[4]] = int(c_opened)
|
||||||
|
|
||||||
|
@ -813,10 +828,10 @@ def check_content(post_bottom):
|
||||||
if post_lists > 0:
|
if post_lists > 0:
|
||||||
inlist = False
|
inlist = False
|
||||||
for ln, line in enumerate(post_bottom.rsplit('\n'), 1):
|
for ln, line in enumerate(post_bottom.rsplit('\n'), 1):
|
||||||
if line.startswith(tyto.words_tags[13][0]):
|
if line.startswith(tyto.block_tags[3][0]):
|
||||||
inlist = True
|
inlist = True
|
||||||
continue
|
continue
|
||||||
elif line.startswith(tyto.words_tags[13][1]):
|
elif line.startswith(tyto.block_tags[3][1]):
|
||||||
inlist = False
|
inlist = False
|
||||||
|
|
||||||
if not inlist:
|
if not inlist:
|
||||||
|
@ -825,7 +840,7 @@ def check_content(post_bottom):
|
||||||
if inlist and not line or not line[0] in tyto.markers_lists:
|
if inlist and not line or not line[0] in tyto.markers_lists:
|
||||||
logs.out("3", 'L=%s. %s %s > %s'%(
|
logs.out("3", 'L=%s. %s %s > %s'%(
|
||||||
ln + ln_header,
|
ln + ln_header,
|
||||||
tyto.words_tags[13][4],
|
tyto.block_tags[3][4],
|
||||||
tyto.markers_lists,
|
tyto.markers_lists,
|
||||||
db.uri_file
|
db.uri_file
|
||||||
), False)
|
), False)
|
||||||
|
@ -873,44 +888,75 @@ def check_content(post_bottom):
|
||||||
tpl2 = post_bottom.count(tag[1])
|
tpl2 = post_bottom.count(tag[1])
|
||||||
|
|
||||||
if tpl1 != tpl2:
|
if tpl1 != tpl2:
|
||||||
logs.out("22", '"%s" + "%s" > %s'%(
|
logs.out("22", '%s*%s + %s*%s > %s'%(
|
||||||
tag[0], tag[1], db.uri_file
|
tpl1, tag[0], tpl2, tag[1], db.uri_file
|
||||||
), False)
|
), False)
|
||||||
|
|
||||||
|
|
||||||
|
#==============================================#
|
||||||
|
# Check if articles in servers are static Page #
|
||||||
|
#----------------------------------------------#
|
||||||
|
def check_static_posts():
|
||||||
|
global wip_static, www_static
|
||||||
|
wip_static = www_static = 'False'
|
||||||
|
|
||||||
|
srv_posts = \
|
||||||
|
[
|
||||||
|
(srv_post_wip_uri, 'wip_static'),
|
||||||
|
(srv_post_www_uri, 'www_static')
|
||||||
|
]
|
||||||
|
|
||||||
|
for srv_post, static in srv_posts:
|
||||||
|
try:
|
||||||
|
post_datas = open(srv_post, "r").read()
|
||||||
|
if not re.findall(
|
||||||
|
tyto.tags_html_mods[dom.wip_metas_f],
|
||||||
|
post_datas
|
||||||
|
):
|
||||||
|
globals()[static] = "True"
|
||||||
|
except:
|
||||||
|
continue
|
||||||
|
|
||||||
|
|
||||||
#===============================#
|
#===============================#
|
||||||
# Create new article's database #
|
# Create new article's database #
|
||||||
#------------------------------&co-#
|
#------------------------------&co-#
|
||||||
def create_database():
|
def create_database():
|
||||||
|
# Check if article is in servers
|
||||||
|
check_static_posts()
|
||||||
|
|
||||||
|
|
||||||
# Post Configurations
|
# Post Configurations
|
||||||
#--------------------
|
#--------------------
|
||||||
database = \
|
database = \
|
||||||
'# Post Configurations\n' + \
|
'# Writer configurations\n' + \
|
||||||
'post_id = "%s"\n'%db.uri_id + \
|
|
||||||
'post_src = "%s"\n'%db.uri_file + \
|
|
||||||
'post_wip = "%s"\n'%srv_post_wip_uri + \
|
|
||||||
'post_www = "%s"\n'%srv_post_www_uri + \
|
|
||||||
'\n' + \
|
|
||||||
'direc_src = "%s"\n'%direc_src + \
|
|
||||||
'short_src = "%s"\n'%src_post_short_uri + \
|
|
||||||
'short_srv = "%s"\n'%srv_post_short_uri + \
|
|
||||||
'sub_uri = "%s"\n'%sub_uri + \
|
|
||||||
'http_wip = "%s"\n'%http_wip + \
|
|
||||||
'http_www = "%s"\n'%http_www + \
|
|
||||||
'\n' + \
|
|
||||||
'date_chk = "%s"\n'%tyto.nowdate() + \
|
|
||||||
'hash_chk = "%s"\n'%db.hash_post + \
|
|
||||||
'date_wip = "%s"\n'%date_wip + \
|
|
||||||
'hash_wip = "%s"\n'%hash_wip + \
|
|
||||||
'date_www = "%s"\n'%date_www + \
|
|
||||||
'hash_www = "%s"\n'%hash_www + \
|
|
||||||
'\n# Needed tags configurations\n' + \
|
|
||||||
'title = "%s"\n'%title + \
|
'title = "%s"\n'%title + \
|
||||||
'about = "%s"\n'%about + \
|
'about = "%s"\n'%about + \
|
||||||
'author = "%s"\n'%author + \
|
'author = "%s"\n'%author + \
|
||||||
'meta_tags = "%s"\n'%tags + \
|
'meta_tags = "%s"\n'%tags + \
|
||||||
'date = "%s"\n'%date_tr + \
|
'date = "%s"\n'%date_tr + \
|
||||||
'snpic = "%s"\n'%snpic_url + \
|
'snpic = "%s"\n'%snpic_url + \
|
||||||
|
'\n# Post Configurations\n' + \
|
||||||
|
'post_id = "%s"\n'%db.uri_id + \
|
||||||
|
'post_src = "%s"\n'%db.uri_file + \
|
||||||
|
'direc_src = "%s"\n'%direc_src + \
|
||||||
|
'short_src = "%s"\n'%src_post_short_uri + \
|
||||||
|
'short_srv = "%s"\n'%srv_post_short_uri + \
|
||||||
|
'sub_uri = "%s"\n'%sub_uri + \
|
||||||
|
'date_chk = "%s"\n'%tyto.nowdate() + \
|
||||||
|
'hash_chk = "%s"\n'%db.hash_post + \
|
||||||
|
'\n# wip configuration\n' + \
|
||||||
|
'post_wip = "%s"\n'%srv_post_wip_uri + \
|
||||||
|
'http_wip = "%s"\n'%http_wip + \
|
||||||
|
'static_wip = %s\n'%wip_static + \
|
||||||
|
'date_wip = "%s"\n'%date_wip + \
|
||||||
|
'hash_wip = "%s"\n'%hash_wip + \
|
||||||
|
'\n# www configuration\n' + \
|
||||||
|
'post_www = "%s"\n'%srv_post_www_uri + \
|
||||||
|
'http_www = "%s"\n'%http_www + \
|
||||||
|
'static_www = %s\n'%www_static + \
|
||||||
|
'date_www = "%s"\n'%date_www + \
|
||||||
|
'hash_www = "%s"\n'%hash_www + \
|
||||||
'\n# Used files\n' + \
|
'\n# Used files\n' + \
|
||||||
'uris = %s'%str(files_post)
|
'uris = %s'%str(files_post)
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,9 @@ if args.target \
|
||||||
'post_id',
|
'post_id',
|
||||||
'post_src',
|
'post_src',
|
||||||
'post_wip',
|
'post_wip',
|
||||||
|
'static_wip',
|
||||||
'post_www',
|
'post_www',
|
||||||
|
'static_www',
|
||||||
'direc_src',
|
'direc_src',
|
||||||
'short_src',
|
'short_src',
|
||||||
'short_srv',
|
'short_srv',
|
||||||
|
|
|
@ -268,6 +268,27 @@ if not hole:
|
||||||
"template": templates,
|
"template": templates,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
templates_wip = {
|
||||||
|
eval(str('wip_logo_f')),
|
||||||
|
eval(str('wip_css_f')),
|
||||||
|
eval(str('wip_navbar_f')),
|
||||||
|
eval(str('wip_sidebar_f')),
|
||||||
|
eval(str('wip_metas_f')),
|
||||||
|
eval(str('wip_footer_f')),
|
||||||
|
eval(str('wip_stats_f')),
|
||||||
|
}
|
||||||
|
|
||||||
|
templates_www = {
|
||||||
|
eval(str('www_logo_f')),
|
||||||
|
eval(str('www_css_f')),
|
||||||
|
eval(str('www_navbar_f')),
|
||||||
|
eval(str('www_sidebar_f')),
|
||||||
|
eval(str('www_metas_f')),
|
||||||
|
eval(str('www_footer_f')),
|
||||||
|
eval(str('www_stats_f')),
|
||||||
|
eval(str('www_rss_f'))
|
||||||
|
}
|
||||||
|
|
||||||
#====================================#
|
#====================================#
|
||||||
# Check if domain is ready and ready #
|
# Check if domain is ready and ready #
|
||||||
#------------------------------------#
|
#------------------------------------#
|
||||||
|
|
|
@ -760,10 +760,10 @@ def create_metas(option):
|
||||||
'# <meta property="og:description" ...\n' + \
|
'# <meta property="og:description" ...\n' + \
|
||||||
'# <meta property="og:image" ...\n' + \
|
'# <meta property="og:image" ...\n' + \
|
||||||
'# %s\n\n'%(15 * "-") + \
|
'# %s\n\n'%(15 * "-") + \
|
||||||
'<meta charset="UTF-8" />\n' + \
|
'<meta charset="UTF-8">\n' + \
|
||||||
'<meta name="robots" content="all" />\n' + \
|
'<meta name="robots" content="all">\n' + \
|
||||||
'<meta name="medium" content="website" />\n' + \
|
'<meta name="medium" content="website">\n' + \
|
||||||
'<meta name="revisit-after" content="3 days" />'
|
'<meta name="revisit-after" content="3 days">'
|
||||||
|
|
||||||
tyto.set_file(dom.metas_f, 'New', metas_tags)
|
tyto.set_file(dom.metas_f, 'New', metas_tags)
|
||||||
|
|
||||||
|
@ -1000,6 +1000,7 @@ def create_footer(option):
|
||||||
footer = \
|
footer = \
|
||||||
'%s\n'%footer_lang%(tyto.Tyto, dom.footer_f) + \
|
'%s\n'%footer_lang%(tyto.Tyto, dom.footer_f) + \
|
||||||
'<footer id="footer_page">\n' + \
|
'<footer id="footer_page">\n' + \
|
||||||
|
' <div id="footer_container"> \n' + \
|
||||||
' <div id="footer_infos">\n' + \
|
' <div id="footer_infos">\n' + \
|
||||||
' <h1 id="footer_site_title"\n' + \
|
' <h1 id="footer_site_title"\n' + \
|
||||||
' title="%s %s">%s %s\n'%(
|
' title="%s %s">%s %s\n'%(
|
||||||
|
@ -1036,6 +1037,7 @@ def create_footer(option):
|
||||||
' </li>\n' + \
|
' </li>\n' + \
|
||||||
' </ul>\n' + \
|
' </ul>\n' + \
|
||||||
' </div>\n' + \
|
' </div>\n' + \
|
||||||
|
' </div>\n' + \
|
||||||
' <div id="footer_credits">\n' + \
|
' <div id="footer_credits">\n' + \
|
||||||
' <p class="footer_copyright">Copyright%s © %s %s</p>\n'%(
|
' <p class="footer_copyright">Copyright%s © %s %s</p>\n'%(
|
||||||
langs.site.pp, footer_date, dom.title
|
langs.site.pp, footer_date, dom.title
|
||||||
|
|
|
@ -84,29 +84,29 @@ def create_metas_page():
|
||||||
#-----------------------
|
#-----------------------
|
||||||
global metas
|
global metas
|
||||||
metas = \
|
metas = \
|
||||||
'<!--# include virtual="/template/metas.html"-->\n' + \
|
tyto.tags_html_mods[dom.wip_metas_f] + '\n' + \
|
||||||
' <meta name="viewport" content="%s" />\n'%scale + \
|
' <meta name="viewport" content="%s">\n'%scale + \
|
||||||
' <meta name=”url” content=”%s” />\n'%dom.www_url + \
|
' <meta name=”url” content=”%s”>\n'%dom.www_url + \
|
||||||
' <meta name="language" content="%s" />\n'%dom.lang_site + \
|
' <meta name="language" content="%s">\n'%dom.lang_site + \
|
||||||
' <meta name="reply-to" content="%s" />\n'%dom.mail + \
|
' <meta name="reply-to" content="%s">\n'%dom.mail + \
|
||||||
' <meta name="copyright" content="%s" />\n'%dom.license + \
|
' <meta name="copyright" content="%s">\n'%dom.license + \
|
||||||
' <meta name="generator" content="%s" />\n'%tyto.Tyto + \
|
' <meta name="generator" content="%s">\n'%tyto.Tyto + \
|
||||||
' <meta name="title" content="%s" />\n'%db.title + \
|
' <meta name="title" content="%s">\n'%db.title + \
|
||||||
' <meta name="author" content="%s" />\n'%db.author + \
|
' <meta name="author" content="%s">\n'%db.author + \
|
||||||
' <meta name="description" content="%s" />\n'%db.about + \
|
' <meta name="description" content="%s">\n'%db.about + \
|
||||||
' <meta name="keywords" content="%s" />\n'%all_tags + \
|
' <meta name="keywords" content="%s">\n'%all_tags + \
|
||||||
'%s'%meta_pub + \
|
'%s'%meta_pub + \
|
||||||
' <link rel="canonical" href="%s" />\n'%db.http_www + \
|
' <link rel="canonical" href="%s">\n'%db.http_www + \
|
||||||
' <link rel="alternate" %s />\n'%(rss_ref) + \
|
' <link rel="alternate" %s>\n'%(rss_ref) + \
|
||||||
' <link rel="stylesheet" %s />\n'%css_ref + \
|
' <link rel="stylesheet" %s>\n'%css_ref + \
|
||||||
' <link rel="shortcut icon" %s />\n'%icon_ref + \
|
' <link rel="shortcut icon" %s>\n'%icon_ref + \
|
||||||
' <!-- Open Graph data -->\n' + \
|
' <!-- Open Graph data -->\n' + \
|
||||||
' <meta property="og:site_name" content="%s" />\n'%dom.title + \
|
' <meta property="og:site_name" content="%s">\n'%dom.title + \
|
||||||
' <meta property="og:title" content="%s" />\n'%db.title + \
|
' <meta property="og:title" content="%s">\n'%db.title + \
|
||||||
' <meta property="og:type" content="article" />\n' + \
|
' <meta property="og:type" content="article">\n' + \
|
||||||
' <meta property="og:url" content="%s" />\n'%db.http_www + \
|
' <meta property="og:url" content="%s">\n'%db.http_www + \
|
||||||
' <meta property="og:description" content="%s" />\n'%db.about + \
|
' <meta property="og:description" content="%s">\n'%db.about + \
|
||||||
' <meta property="og:image" content="%s" />\n'%db.snpic + \
|
' <meta property="og:image" content="%s">\n'%db.snpic + \
|
||||||
'%s'%relme + \
|
'%s'%relme + \
|
||||||
' <title>%s %s %s</title>'%(db.title, dom.sep, dom.title)
|
' <title>%s %s %s</title>'%(db.title, dom.sep, dom.title)
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ def create_main_page(target, article_bottom):
|
||||||
10 * " ", db.sub_uri, dom.logo
|
10 * " ", db.sub_uri, dom.logo
|
||||||
) + \
|
) + \
|
||||||
'%salt="logo: %s"\n'%(15 * " ", dom.title) + \
|
'%salt="logo: %s"\n'%(15 * " ", dom.title) + \
|
||||||
'%sid="site_logo_image" />\n'%(15 * " ") + \
|
'%sid="site_logo_image">\n'%(15 * " ") + \
|
||||||
'%s</a>'%(8 * " ")
|
'%s</a>'%(8 * " ")
|
||||||
|
|
||||||
post_html_code = ''
|
post_html_code = ''
|
||||||
|
@ -166,8 +166,7 @@ def create_main_page(target, article_bottom):
|
||||||
' <p id="site_about">%s</p>\n'%dom.about + \
|
' <p id="site_about">%s</p>\n'%dom.about + \
|
||||||
' </div>\n' + \
|
' </div>\n' + \
|
||||||
' </header>\n' + \
|
' </header>\n' + \
|
||||||
'<!--# include virtual="/template/navbar.html"-->\n' + \
|
tyto.tags_html_mods[dom.wip_navbar_f] + '\n' + \
|
||||||
'\n' + \
|
|
||||||
' <article id="article_main">\n' + \
|
' <article id="article_main">\n' + \
|
||||||
' <h1 id="main_title"\n' + \
|
' <h1 id="main_title"\n' + \
|
||||||
' title="[%s] %s %s %s %s">%s</h1>\n'%(
|
' title="[%s] %s %s %s %s">%s</h1>\n'%(
|
||||||
|
@ -176,7 +175,7 @@ def create_main_page(target, article_bottom):
|
||||||
db.title,
|
db.title,
|
||||||
) + \
|
) + \
|
||||||
'%s\n'%article_bottom + \
|
'%s\n'%article_bottom + \
|
||||||
' <section id="article_infos">\n' + \
|
' <div id="article_infos">\n' + \
|
||||||
' <p>\n' + \
|
' <p>\n' + \
|
||||||
' <span id="article_author"\n' + \
|
' <span id="article_author"\n' + \
|
||||||
' title="%s %s [%s]">%s</span>, %s\n'%(
|
' title="%s %s [%s]">%s</span>, %s\n'%(
|
||||||
|
@ -186,11 +185,11 @@ def create_main_page(target, article_bottom):
|
||||||
'%s\n'%time_html_pub + \
|
'%s\n'%time_html_pub + \
|
||||||
'%s'%post_html_code + \
|
'%s'%post_html_code + \
|
||||||
' </p>\n' + \
|
' </p>\n' + \
|
||||||
' </section>\n' + \
|
' </div>\n' + \
|
||||||
' </article>\n' + \
|
' </article>\n' + \
|
||||||
'\n' + \
|
'\n' + \
|
||||||
'<!--# include virtual="/template/sidebar.html"-->\n' + \
|
tyto.tags_html_mods[dom.wip_sidebar_f] + '\n' + \
|
||||||
'<!--# include virtual="/template/footer.html"-->\n' + \
|
tyto.tags_html_mods[dom.wip_footer_f] + '\n' + \
|
||||||
' </body>\n' + \
|
' </body>\n' + \
|
||||||
'</html>'
|
'</html>'
|
||||||
|
|
||||||
|
@ -239,7 +238,7 @@ def create_html_time_meta(process):
|
||||||
|
|
||||||
# meta search_date=
|
# meta search_date=
|
||||||
meta_pub = \
|
meta_pub = \
|
||||||
'<!--Tyto_Meta--> <meta name="search_date" content="%s" />\n'%(
|
'<!--Tyto_Meta--> <meta name="search_date" content="%s">\n'%(
|
||||||
date_raw.rsplit(' ')[0]
|
date_raw.rsplit(' ')[0]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -305,7 +304,7 @@ def create_navbar(option):
|
||||||
# Set first HTML line
|
# Set first HTML line
|
||||||
menu_html = \
|
menu_html = \
|
||||||
'%s<nav id="site_menu">\n'%(4 * ' ') + \
|
'%s<nav id="site_menu">\n'%(4 * ' ') + \
|
||||||
'%s<ul id="site_menu_items">'%(6 * ' ')
|
'%s<menu id="site_menu_items">'%(6 * ' ')
|
||||||
|
|
||||||
navbar_lines = open(dom.navbar_f, 'r').read()
|
navbar_lines = open(dom.navbar_f, 'r').read()
|
||||||
|
|
||||||
|
@ -382,7 +381,7 @@ def create_navbar(option):
|
||||||
|
|
||||||
# Create ending HTML file
|
# Create ending HTML file
|
||||||
else:
|
else:
|
||||||
menu_html = '\n%s\n%s</ul>\n%s</nav>\n'%(menu_html, 8 * ' ', 6 * ' ')
|
menu_html = '\n%s\n%s</menu>\n%s</nav>\n'%(menu_html, 6 * ' ', 4 * ' ')
|
||||||
tyto.set_file(target, 'New', menu_html)
|
tyto.set_file(target, 'New', menu_html)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ try:
|
||||||
dom.exists
|
dom.exists
|
||||||
lang_logs = dom.lang_logs
|
lang_logs = dom.lang_logs
|
||||||
os.path.exists('%s/logs_%s.py'%(trans_dir, lang_logs))
|
os.path.exists('%s/logs_%s.py'%(trans_dir, lang_logs))
|
||||||
log = importlib.import_module('logs_%s'%lang_logse, package=None)
|
log = importlib.import_module('logs_%s'%lang_logs, package=None)
|
||||||
except:
|
except:
|
||||||
log = importlib.import_module('logs_%s'%lang_sys, package=None)
|
log = importlib.import_module('logs_%s'%lang_sys, package=None)
|
||||||
|
|
||||||
|
|
|
@ -66,12 +66,12 @@ def out(nbr, value, out):
|
||||||
'17' : ' ╞ %s%s%s "%s ?"'%(CR, langs.log.unused_v, CS, value),
|
'17' : ' ╞ %s%s%s "%s ?"'%(CR, langs.log.unused_v, CS, value),
|
||||||
'18' : ' ╘ %s%s%s > %s'%(CR, langs.log.unused_p, CS, value),
|
'18' : ' ╘ %s%s%s > %s'%(CR, langs.log.unused_p, CS, value),
|
||||||
'19' : ' ╞ %s%s%s %s'%(CG, langs.log.was_wip, CS, value),
|
'19' : ' ╞ %s%s%s %s'%(CG, langs.log.was_wip, CS, value),
|
||||||
'20' : ' ╞ %s%s%s %s'%(CG, langs.log.was_chk, CS, value),
|
'20' : ' ╞═ %s%s%s %s'%(CG, langs.log.was_chk, CS, value),
|
||||||
'21' : ' ╘ %s%s%s > %s'%(CG, langs.log.post_val, CS, value),
|
'21' : ' ╘ %s%s%s > %s'%(CG, langs.log.post_val, CS, value),
|
||||||
'22' : ' ╞ %s%s%s %s'%(CY, langs.log.symb_np, CS, value),
|
'22' : ' ╞ %s%s%s %s'%(CY, langs.log.symb_np, CS, value),
|
||||||
'23' : ' ╞ %s%s%s > %s'%(CY, langs.log.db_inv, CS, value),
|
'23' : ' ╞ %s%s%s > %s'%(CY, langs.log.db_inv, CS, value),
|
||||||
'24' : ' ╞ %s%s%s > %s'%(CY, langs.log.unused_r, CS, value),
|
'24' : ' ╞ %s%s%s > %s'%(CY, langs.log.unused_r, CS, value),
|
||||||
'25' : ' ╞ %s%s%s > %s'%(CY, langs.log.nycheck, CS, value),
|
'25' : ' ╞═ %s%s%s > %s'%(CY, langs.log.nycheck, CS, value),
|
||||||
'26' : ' ╞ %s%s%s %s'%(CY, langs.log.nyfile, CS, value),
|
'26' : ' ╞ %s%s%s %s'%(CY, langs.log.nyfile, CS, value),
|
||||||
'27' : ' ╞ %s%s%s %s'%(CY, langs.log.snpic_d, CS, value),
|
'27' : ' ╞ %s%s%s %s'%(CY, langs.log.snpic_d, CS, value),
|
||||||
'28' : ' ╘ %s (%s)'%(langs.log.ntd, value),
|
'28' : ' ╘ %s (%s)'%(langs.log.ntd, value),
|
||||||
|
@ -96,16 +96,15 @@ def out(nbr, value, out):
|
||||||
'51' : ' ╞ %s%s%s > %s'%(CY, langs.log.data_inc, CS, value),
|
'51' : ' ╞ %s%s%s > %s'%(CY, langs.log.data_inc, CS, value),
|
||||||
'60' : ' │\n ╞ %s'%langs.log.status_r,
|
'60' : ' │\n ╞ %s'%langs.log.status_r,
|
||||||
'61' : ' ╞ %s%s%s > %s'%(CG, langs.log.file_e, CS, value),
|
'61' : ' ╞ %s%s%s > %s'%(CG, langs.log.file_e, CS, value),
|
||||||
'71' : ' ╞═ %s%s%s > %s'%(CY, langs.log.post_nwi, CS, value),
|
|
||||||
'72' : ' ╞═ %s%s%s > %s'%(CG, langs.log.post_wip, CS, value),
|
|
||||||
'73' : ' ╞═ %s%s%s > %s'%(CY, langs.log.st_wip_n, CS, value),
|
|
||||||
'74' : ' ╞═ %s%s%s > %s'%(CY, langs.log.st_wip_o, CS, value),
|
|
||||||
'81' : ' ╞═ %s%s%s > %s'%(CY, langs.log.post_nww, CS, value),
|
|
||||||
'82' : ' ╞═ %s%s%s > %s'%(CG, langs.log.post_www, CS, value),
|
|
||||||
'83' : ' ╞═ %s%s%s > %s'%(CY, langs.log.st_www_n, CS, value),
|
|
||||||
'84' : ' ╞═ %s%s%s > %s'%(CY, langs.log.st_www_o, CS, value),
|
|
||||||
'85' : ' ╞═ %s%s%s > %s'%(CY, langs.log.was_pub, CS, value),
|
'85' : ' ╞═ %s%s%s > %s'%(CY, langs.log.was_pub, CS, value),
|
||||||
|
'91' : ' ╞═ %s%s%s > %s'%(CY, langs.log.post_nfd, CS, value),
|
||||||
|
'92' : ' ╞═ %s%s%s > %s'%(CG, langs.log.post_yfd, CS, value),
|
||||||
'94' : ' ╞═ %s%s%s > %s'%(CY, langs.log.st_chk_o, CS, value),
|
'94' : ' ╞═ %s%s%s > %s'%(CY, langs.log.st_chk_o, CS, value),
|
||||||
|
'95' : ' ╞═ %s%s%s > %s'%(CG, langs.log.status_s, CS, value),
|
||||||
|
'96' : ' ╞═ %s%s%s > %s'%(CY, langs.log.static_y, CS, value),
|
||||||
|
'97' : ' ╞═ %s%s%s > %s'%(CG, langs.log.static_n, CS, value),
|
||||||
|
'98' : ' ╞═ %s%s%s > %s'%(CY, langs.log.status_n, CS, value),
|
||||||
|
'99' : ' ╞═ %s%s%s > %s'%(CY, langs.log.status_o, CS, value),
|
||||||
'255' : ' ╘ %s'%langs.log.laterout
|
'255' : ' ╘ %s'%langs.log.laterout
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,13 @@ def publish_article():
|
||||||
logs.out("33", '%s%s'%(dom.srv_www, db.direc_src), False)
|
logs.out("33", '%s%s'%(dom.srv_www, db.direc_src), False)
|
||||||
|
|
||||||
# Replace in DB hash_wip and date_wip
|
# Replace in DB hash_wip and date_wip
|
||||||
tyto.replace_in_db(db.config, 'www', db.hash_post)
|
db_values = \
|
||||||
|
[
|
||||||
|
("date_www", '"%s"'%db.date_www, '"%s"'%tyto.nowdate()),
|
||||||
|
("hash_www", '"%s"'%db.hash_www, '"%s"'%db.hash_post),
|
||||||
|
("static_www", '%s'%db.static_www, '%s'%db.static_wip)
|
||||||
|
]
|
||||||
|
tyto.change_in_db(db.config, db_values)
|
||||||
|
|
||||||
# Copy needed files (Also create sub-folders)
|
# Copy needed files (Also create sub-folders)
|
||||||
tyto.files_to_srv('www')
|
tyto.files_to_srv('www')
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
# XMPP: echolib (im@echolib.re)
|
# XMPP: echolib (im@echolib.re)
|
||||||
#
|
#
|
||||||
# Description: Show statuses for domain
|
# Description: Show statuses for commands, domain, article
|
||||||
# File: /var/lib/tyto/program/status.py
|
# File: /var/lib/tyto/program/status.py
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -76,6 +76,7 @@ def domain():
|
||||||
if not tyto.exists(file_mods):
|
if not tyto.exists(file_mods):
|
||||||
logs.out("1", file_mods, False)
|
logs.out("1", file_mods, False)
|
||||||
|
|
||||||
|
|
||||||
#==============================#
|
#==============================#
|
||||||
# On demand with status action #
|
# On demand with status action #
|
||||||
#------------------------------#
|
#------------------------------#
|
||||||
|
@ -84,6 +85,7 @@ def check(target):
|
||||||
if not target:
|
if not target:
|
||||||
logs.out("5", '[target]', True)
|
logs.out("5", '[target]', True)
|
||||||
|
|
||||||
|
# Domain statuses
|
||||||
elif target == "domain":
|
elif target == "domain":
|
||||||
conf_err = False
|
conf_err = False
|
||||||
|
|
||||||
|
@ -101,6 +103,7 @@ def check(target):
|
||||||
logs.out("31", '', True)
|
logs.out("31", '', True)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# target is an article
|
||||||
# Unused file
|
# Unused file
|
||||||
elif not db.post:
|
elif not db.post:
|
||||||
logs.out("1", db.uri_file, True)
|
logs.out("1", db.uri_file, True)
|
||||||
|
@ -115,16 +118,30 @@ def check(target):
|
||||||
else: logs.out("20", db.uri_file, False)
|
else: logs.out("20", db.uri_file, False)
|
||||||
|
|
||||||
# wip
|
# wip
|
||||||
if not db.file_wip: logs.out("71", db.post_wip, False)
|
print(' │ [wip]')
|
||||||
else: logs.out("72", db.post_wip, False)
|
if not db.file_wip:
|
||||||
if db.no_wip: logs.out("73", db.post_wip, False)
|
logs.out("91", db.post_wip, False)
|
||||||
elif db.old_wip: logs.out("74", db.post_wip, False)
|
else:
|
||||||
|
logs.out("92", db.post_wip, False)
|
||||||
|
# wip static
|
||||||
|
if db.static_wip: logs.out("96", db.post_wip, False)
|
||||||
|
else: logs.out("97", db.post_wip, False)
|
||||||
|
if db.no_wip: logs.out("98", db.post_wip, False)
|
||||||
|
elif db.old_wip: logs.out("99", db.post_wip, False)
|
||||||
|
else: logs.out("95", db.post_wip, False)
|
||||||
|
|
||||||
# www
|
# www
|
||||||
if not db.file_www: logs.out("81", db.post_www, False)
|
print(' │ [www]')
|
||||||
else: logs.out("82", db.post_www, False)
|
if not db.file_www:
|
||||||
if db.no_www: logs.out("83", db.post_www, False)
|
logs.out("91", db.post_www, False)
|
||||||
elif db.old_www: logs.out("84", db.post_www, False)
|
else:
|
||||||
|
logs.out("92", db.post_www, False)
|
||||||
|
# www static
|
||||||
|
if db.static_www: logs.out("96", db.post_wip, False)
|
||||||
|
else: logs.out("97", db.post_wip, False)
|
||||||
|
if db.no_www: logs.out("98", db.post_www, False)
|
||||||
|
elif db.old_www: logs.out("99", db.post_www, False)
|
||||||
|
else: logs.out("95", db.post_www, False)
|
||||||
return
|
return
|
||||||
|
|
||||||
# Article has NO DB
|
# Article has NO DB
|
||||||
|
|
|
@ -105,36 +105,45 @@ headers = \
|
||||||
# [6] = Check content differently. 't' = startswith
|
# [6] = Check content differently. 't' = startswith
|
||||||
#-------------------------------------------------------------
|
#-------------------------------------------------------------
|
||||||
words_tags = [
|
words_tags = [
|
||||||
('>_', '_<', '<a class="anchor_link" href="#%s">', '</a>', 'anchors', 'w'),
|
('>_', '_<',
|
||||||
|
'<a class="anchor_link" href="#%s">',
|
||||||
|
'</a>', 'anchors', 'w'
|
||||||
|
),
|
||||||
('*_', '_*', '<strong class="strong">', '</strong>', 'strongs', 'w'),
|
('*_', '_*', '<strong class="strong">', '</strong>', 'strongs', 'w'),
|
||||||
('+_', '_+', '<b class="bold">', '</b>', 'bolds', 'w'),
|
('+_', '_+', '<b class="bold">', '</b>', 'bolds', 'w'),
|
||||||
('/_', '_/', '<em class="em">', '</em>', 'emphasis', 'w'),
|
(';_', '_;', '<em class="em">', '</em>', 'emphasis', 'w'),
|
||||||
('[_', '_]', '<i class="italic">', '</i>', 'italics', 'w'),
|
(':_', '_:', '<i class="italic">', '</i>', 'italics', 'w'),
|
||||||
('~_', '_~', '<del class="del">', '</del>', 'dels', 'w'),
|
('~_', '_~', '<del class="del">', '</del>', 'dels', 'w'),
|
||||||
('._', '_.', '<u class="underline">', '</u>', 'underlines', 'w'),
|
('._', '_.', '<u class="underline">', '</u>', 'underlines', 'w'),
|
||||||
(':_', '_:', '<cite class="cite">', '</cite>', 'cites', 'w'),
|
('[_', '_]', '<cite class="cite">', '</cite>', 'cites', 'w'),
|
||||||
('%_', '_%', '<span class="custom">', '</span>', 'customs', 'w'),
|
('%_', '_%', '<span class="custom">', '</span>', 'customs', 'w'),
|
||||||
('{_', '_}', '<code class="icode">', '</code>', 'codes', 'w'),
|
('{_', '_}', '<code class="icode">', '</code>', 'codes', 'w'),
|
||||||
('((', '))', '<p class="%s">', '</p>', 'paragraphs', 't'),
|
]
|
||||||
('[[', ']]', '[[', ']]', 'quotes', 't'),
|
|
||||||
('{{', '}}', '{{', '}}', 'bcodes', 't'),
|
# At begining line, create block contents
|
||||||
('-(', '-)', '-(', '-)', 'lists', 't')
|
block_tags = \
|
||||||
|
[
|
||||||
|
('((', '))', '<p class="%s">', '</p>', 'paragraphs'),
|
||||||
|
('[[', ']]', '[[', ']]', 'quotes'),
|
||||||
|
('{{', '}}', '{{', '}}', 'bcodes'),
|
||||||
|
('-(', '-)', '-(', '-)', 'lists'),
|
||||||
|
('<<', '>>', '<div class="%s">', '</div>', 'div'),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Tags that do not need to be paired
|
# Tags that do not need to be paired
|
||||||
#-----------------------------------
|
#-----------------------------------
|
||||||
single_tags = [
|
single_tags = [
|
||||||
('|', '<br class="%s" />'), # New Line
|
('|', '<br class="%s" />'), # New Line
|
||||||
('->', '<a class="anchor_target" id="%s"></a>') # Anchors
|
('->', '<a class="anchor_target" id="%s"></a>'), # Anchors
|
||||||
]
|
]
|
||||||
|
|
||||||
# When counting words, do no count line starting with:
|
# When counting words, do no count line starting with:
|
||||||
nolinewords = \
|
nolinewords = \
|
||||||
(
|
(
|
||||||
words_tags[10][0], words_tags[10][1], # paragraphs
|
block_tags[0][0], block_tags[0][1], # paragraphs
|
||||||
words_tags[11][0], words_tags[11][1], # quotes
|
block_tags[1][0], block_tags[1][1], # quotes
|
||||||
words_tags[12][0], words_tags[12][1], # bcodes
|
block_tags[2][0], block_tags[2][1], # bcodes
|
||||||
words_tags[13][0], words_tags[13][1], # lists
|
block_tags[3][0], block_tags[3][1], # lists
|
||||||
single_tags[0][0], single_tags[1][0], # New line, anchor
|
single_tags[0][0], single_tags[1][0], # New line, anchor
|
||||||
'_%s:'%opt_header_tags[1], '_%s:'%opt_header_tags[4], # _image:, _raw:
|
'_%s:'%opt_header_tags[1], '_%s:'%opt_header_tags[4], # _image:, _raw:
|
||||||
'_%s:'%opt_header_tags[5] # _code
|
'_%s:'%opt_header_tags[5] # _code
|
||||||
|
@ -182,6 +191,15 @@ quote_tags = [
|
||||||
# Tags to check in header in content _TAG
|
# Tags to check in header in content _TAG
|
||||||
head_tags = ("image:", "raw:", "code;")
|
head_tags = ("image:", "raw:", "code;")
|
||||||
|
|
||||||
|
# For static modules
|
||||||
|
tags_html_mods = \
|
||||||
|
{
|
||||||
|
dom.wip_navbar_f : '<!--# include virtual="/template/navbar.html"-->',
|
||||||
|
dom.wip_sidebar_f : '<!--# include virtual="/template/sidebar.html"-->',
|
||||||
|
dom.wip_metas_f : '<!--# include virtual="/template/metas.html"-->',
|
||||||
|
dom.wip_footer_f : '<!--# include virtual="/template/footer.html"-->'
|
||||||
|
}
|
||||||
|
|
||||||
# Valid characters for some datas
|
# Valid characters for some datas
|
||||||
chrs_invalid = \
|
chrs_invalid = \
|
||||||
set('{}[]_()+*=/:%~´')
|
set('{}[]_()+*=/:%~´')
|
||||||
|
@ -269,7 +287,7 @@ def set_file(path, new, text):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
file = open(path, opt)
|
file = open(path, opt)
|
||||||
file.write(text + '\n')
|
file.write(text)
|
||||||
file.close()
|
file.close()
|
||||||
if opt == 'w':
|
if opt == 'w':
|
||||||
logs.out("32", path, False)
|
logs.out("32", path, False)
|
||||||
|
@ -318,10 +336,10 @@ def protect_bcodes_quotes(process, post_bottom):
|
||||||
#----------------------
|
#----------------------
|
||||||
# Bcode (at close, replace with base64)
|
# Bcode (at close, replace with base64)
|
||||||
if not in_quote:
|
if not in_quote:
|
||||||
if line.startswith(words_tags[12][0]): # Open
|
if line.startswith(block_tags[2][0]): # Open
|
||||||
start_bcode = True
|
start_bcode = True
|
||||||
in_bcode = True
|
in_bcode = True
|
||||||
elif line.startswith(words_tags[12][1]): # Close
|
elif line.startswith(block_tags[2][1]): # Close
|
||||||
close_bcode = True
|
close_bcode = True
|
||||||
in_bcode = False
|
in_bcode = False
|
||||||
if process == "wip":
|
if process == "wip":
|
||||||
|
@ -332,10 +350,10 @@ def protect_bcodes_quotes(process, post_bottom):
|
||||||
|
|
||||||
# Quote (at close, replace with base64)
|
# Quote (at close, replace with base64)
|
||||||
if not in_bcode:
|
if not in_bcode:
|
||||||
if line.startswith(words_tags[11][0]): # Open
|
if line.startswith(block_tags[1][0]): # Open
|
||||||
start_quote = True
|
start_quote = True
|
||||||
in_quote = True
|
in_quote = True
|
||||||
elif line.startswith(words_tags[11][1]): # Close
|
elif line.startswith(block_tags[1][1]): # Close
|
||||||
close_quote = True
|
close_quote = True
|
||||||
in_quote = False
|
in_quote = False
|
||||||
if process == "wip":
|
if process == "wip":
|
||||||
|
@ -474,32 +492,20 @@ def b64(action, content, before, after):
|
||||||
# Used for wip and publish #
|
# Used for wip and publish #
|
||||||
# to replace hash and date when done #
|
# to replace hash and date when done #
|
||||||
#------------------------------------#
|
#------------------------------------#
|
||||||
def replace_in_db(post_db, process, hash_post):
|
def change_in_db(db_file, db_values):
|
||||||
try:
|
try: post_db = open(db_file, "r").read()
|
||||||
file_db = open(post_db, "r")
|
except: logs.out("1", db_file, True)
|
||||||
lines = file_db.readlines()
|
|
||||||
except:
|
|
||||||
logs.out("1", post_db, True)
|
|
||||||
|
|
||||||
new_file = ''
|
for value in db_values:
|
||||||
|
old_value = re.findall(r'%s\s+=\s+%s'%(
|
||||||
|
value[0],value[1]
|
||||||
|
), post_db
|
||||||
|
)[0]
|
||||||
|
new_value = old_value.replace(value[1], value[2])
|
||||||
|
if new_value != old_value:
|
||||||
|
post_db = post_db.replace(old_value, new_value)
|
||||||
|
|
||||||
for line in lines:
|
set_file(db_file, 'New', post_db)
|
||||||
if line.startswith('hash_%s'%process):
|
|
||||||
line = line.replace(line, 'hash_%s = "%s"'%(process, hash_post))
|
|
||||||
new_file = '%s%s\n'%(new_file, line)
|
|
||||||
elif line.startswith('date_%s'%process):
|
|
||||||
line = line.replace(line, 'date_%s = "%s"'%(process, nowdate()))
|
|
||||||
new_file = '%s%s\n'%(new_file, line)
|
|
||||||
else:
|
|
||||||
if new_file: new_file = '%s%s'%(new_file, line)
|
|
||||||
else: new_file = line
|
|
||||||
|
|
||||||
try:
|
|
||||||
file = open(post_db, 'w')
|
|
||||||
file.write(new_file)
|
|
||||||
file.close()
|
|
||||||
except:
|
|
||||||
logs.out("1", post_db, True)
|
|
||||||
|
|
||||||
|
|
||||||
#===================================#
|
#===================================#
|
||||||
|
|
|
@ -176,11 +176,15 @@ def wip_article(target):
|
||||||
wip_tabs() # make HTML tabulations
|
wip_tabs() # make HTML tabulations
|
||||||
|
|
||||||
# Replace in DB hash_wip and date_wip
|
# Replace in DB hash_wip and date_wip
|
||||||
tyto.replace_in_db(db.config, 'wip', db.hash_post)
|
db_values = \
|
||||||
|
[
|
||||||
|
("date_wip", '"%s"'%db.date_wip, '"%s"'%tyto.nowdate()),
|
||||||
|
("hash_wip", '"%s"'%db.hash_wip, '"%s"'%db.hash_post)
|
||||||
|
]
|
||||||
|
tyto.change_in_db(db.config, db_values)
|
||||||
|
|
||||||
# Get article DB in html.py
|
# Get article DB in html.py
|
||||||
html.set_page(db.uri_file, post_bottom)
|
html.set_page(db.uri_file, post_bottom)
|
||||||
#print(html.main_page)
|
|
||||||
|
|
||||||
# Create wip file
|
# Create wip file
|
||||||
if os.makedirs('%s%s'%(dom.srv_wip, db.direc_src), exist_ok=True):
|
if os.makedirs('%s%s'%(dom.srv_wip, db.direc_src), exist_ok=True):
|
||||||
|
@ -190,6 +194,10 @@ def wip_article(target):
|
||||||
# Copy needed files (Also create sub-folders)
|
# Copy needed files (Also create sub-folders)
|
||||||
tyto.files_to_srv('wip')
|
tyto.files_to_srv('wip')
|
||||||
|
|
||||||
|
# Making article static (on demand)
|
||||||
|
if args.option == "--static":
|
||||||
|
wip_static()
|
||||||
|
|
||||||
|
|
||||||
#=================================#
|
#=================================#
|
||||||
# Create string article from file #
|
# Create string article from file #
|
||||||
|
@ -215,6 +223,33 @@ def file_to_string(post_file):
|
||||||
else: post_header = '%s\n%s'%(post_header, line)
|
else: post_header = '%s\n%s'%(post_header, line)
|
||||||
|
|
||||||
|
|
||||||
|
#=========================================#
|
||||||
|
# Create real static page, by #
|
||||||
|
# including modules contents in HTML page #
|
||||||
|
# (optional) on demande with --static
|
||||||
|
#-----------------------------------------#
|
||||||
|
def wip_static():
|
||||||
|
importlib.reload(db)
|
||||||
|
if not db.file_wip:
|
||||||
|
return
|
||||||
|
|
||||||
|
print(' ├─ %s > %s'%(langs.site.wip_in_mod, db.post_wip))
|
||||||
|
|
||||||
|
wip_html_post = open(db.post_wip, 'r').read()
|
||||||
|
for module in dom.wip_html_mods:
|
||||||
|
wip_module = open(module, 'r').read()
|
||||||
|
wip_html_post = \
|
||||||
|
wip_html_post.replace(
|
||||||
|
tyto.tags_html_mods[module],
|
||||||
|
wip_module
|
||||||
|
)
|
||||||
|
tyto.set_file(db.post_wip, "New", wip_html_post)
|
||||||
|
|
||||||
|
# Change status in db
|
||||||
|
db_values = [("static_wip", '%s'%db.static_wip, 'True')]
|
||||||
|
tyto.change_in_db(db.config, db_values)
|
||||||
|
|
||||||
|
|
||||||
#===============================================================#
|
#===============================================================#
|
||||||
# Simple function to replace source text to HTML in post_bottom #
|
# Simple function to replace source text to HTML in post_bottom #
|
||||||
#---------------------------------------------------------------#
|
#---------------------------------------------------------------#
|
||||||
|
@ -274,19 +309,31 @@ def wip_words_tags():
|
||||||
|
|
||||||
|
|
||||||
for ln, line in enumerate(post_bottom.rsplit('\n')):
|
for ln, line in enumerate(post_bottom.rsplit('\n')):
|
||||||
# Paragraphs
|
# Paragraphs Open tag
|
||||||
# Open tag
|
|
||||||
if db.paragraphs > 0:
|
if db.paragraphs > 0:
|
||||||
if line.startswith(tyto.words_tags[10][0]):
|
if line.startswith(tyto.block_tags[0][0]):
|
||||||
set_css = tyto.get_css(line)
|
set_css = tyto.get_css(line)
|
||||||
replace_in_post(post_bottom.rsplit('\n')[ln],
|
replace_in_post(post_bottom.rsplit('\n')[ln],
|
||||||
tyto.words_tags[10][2]%set_css
|
tyto.block_tags[0][2]%set_css
|
||||||
)
|
)
|
||||||
# Close paragraph tag
|
# Close paragraph tag
|
||||||
elif line.startswith(tyto.words_tags[10][1]):
|
elif line.startswith(tyto.block_tags[0][1]):
|
||||||
replace_in_post(line,
|
replace_in_post(line,
|
||||||
tyto.words_tags[10][3]
|
tyto.block_tags[0][3]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# div Open tag
|
||||||
|
if line.startswith(tyto.block_tags[4][0]):
|
||||||
|
set_css = tyto.get_css(line)
|
||||||
|
replace_in_post(post_bottom.rsplit('\n')[ln],
|
||||||
|
tyto.block_tags[4][2]%set_css
|
||||||
|
)
|
||||||
|
# Close paragraph tag
|
||||||
|
elif line.startswith(tyto.block_tags[4][1]):
|
||||||
|
replace_in_post(line,
|
||||||
|
tyto.block_tags[4][3]
|
||||||
|
)
|
||||||
|
|
||||||
# Open anchors link
|
# Open anchors link
|
||||||
if db.anchors == 0: continue
|
if db.anchors == 0: continue
|
||||||
|
|
||||||
|
@ -392,7 +439,7 @@ def wip_images():
|
||||||
'<img class="%s"\n' + \
|
'<img class="%s"\n' + \
|
||||||
' src="%s"\n' + \
|
' src="%s"\n' + \
|
||||||
' alt="%s"\n' + \
|
' alt="%s"\n' + \
|
||||||
' title="%s"%s />'
|
' title="%s"%s>'
|
||||||
|
|
||||||
# Check each line
|
# Check each line
|
||||||
for ln, line in enumerate(post_bottom.rsplit('\n')):
|
for ln, line in enumerate(post_bottom.rsplit('\n')):
|
||||||
|
@ -467,7 +514,7 @@ def wip_images():
|
||||||
def quote_params(qline):
|
def quote_params(qline):
|
||||||
for tag in tyto.quote_tags:
|
for tag in tyto.quote_tags:
|
||||||
if qline.startswith(tag[0]):
|
if qline.startswith(tag[0]):
|
||||||
globals()[tag[1]] = qline.rsplit(' ',1)[1].lstrip()
|
globals()[tag[1]] = qline.rsplit('%s '%tag[0])[1].lstrip()
|
||||||
return(True)
|
return(True)
|
||||||
|
|
||||||
#==========================#
|
#==========================#
|
||||||
|
@ -494,7 +541,7 @@ def wip_quotes() :
|
||||||
|
|
||||||
for qline in quote:
|
for qline in quote:
|
||||||
# Begin marker quote [11]
|
# Begin marker quote [11]
|
||||||
if qline.startswith(tyto.words_tags[11][0]):
|
if qline.startswith(tyto.block_tags[1][0]):
|
||||||
set_css = tyto.get_css(qline)
|
set_css = tyto.get_css(qline)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -503,7 +550,7 @@ def wip_quotes() :
|
||||||
|
|
||||||
# Paragraph [10] Open
|
# Paragraph [10] Open
|
||||||
# Construct quote_html
|
# Construct quote_html
|
||||||
if qline.startswith(tyto.words_tags[10][0]):
|
if qline.startswith(tyto.block_tags[0][0]):
|
||||||
par_css = tyto.get_css(qline)
|
par_css = tyto.get_css(qline)
|
||||||
|
|
||||||
# Set tabulation for paragraphs and content
|
# Set tabulation for paragraphs and content
|
||||||
|
@ -512,7 +559,7 @@ def wip_quotes() :
|
||||||
|
|
||||||
# Replace opened paragrph with html line
|
# Replace opened paragrph with html line
|
||||||
qline_html = '%s%s'%(
|
qline_html = '%s%s'%(
|
||||||
tab_p * ' ', tyto.words_tags[10][2]%par_css
|
tab_p * ' ', tyto.block_tags[0][2]%par_css
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add line to quote_html
|
# Add line to quote_html
|
||||||
|
@ -523,16 +570,16 @@ def wip_quotes() :
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Paragraph Close
|
# Paragraph Close
|
||||||
if qline.startswith(tyto.words_tags[10][1]):
|
if qline.startswith(tyto.block_tags[0][1]):
|
||||||
# Replace closed paragrph with html line
|
# Replace closed paragrph with html line
|
||||||
qline_html = tyto.words_tags[10][3]
|
qline_html = tyto.block_tags[0][3]
|
||||||
quote_html = '%s\n%s%s'%(
|
quote_html = '%s\n%s%s'%(
|
||||||
quote_html, int(tab_p) * ' ', qline_html
|
quote_html, int(tab_p) * ' ', qline_html
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# End of marker quote
|
# End of marker quote
|
||||||
if qline.startswith(tyto.words_tags[11][1]):
|
if qline.startswith(tyto.block_tags[1][1]):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Add other lines
|
# Add other lines
|
||||||
|
@ -647,14 +694,14 @@ def wip_bcodes():
|
||||||
# Convert src_bcode
|
# Convert src_bcode
|
||||||
for line in src_bcode.rsplit('\n'):
|
for line in src_bcode.rsplit('\n'):
|
||||||
# CSS + opened marker
|
# CSS + opened marker
|
||||||
if line.startswith(tyto.words_tags[12][0]):
|
if line.startswith(tyto.block_tags[2][0]):
|
||||||
set_css = tyto.get_css(line)
|
set_css = tyto.get_css(line)
|
||||||
html_bcode = \
|
html_bcode = \
|
||||||
'<code class="%s">\n'%set_css + \
|
'<code class="%s">\n'%set_css + \
|
||||||
' <pre class="bcode">'
|
' <pre class="bcode">'
|
||||||
|
|
||||||
# closed marker
|
# closed marker
|
||||||
elif line.startswith(tyto.words_tags[12][1]):
|
elif line.startswith(tyto.block_tags[2][1]):
|
||||||
html_bcode = \
|
html_bcode = \
|
||||||
'%s\n </pre>\n'%html_bcode + \
|
'%s\n </pre>\n'%html_bcode + \
|
||||||
'</code>'
|
'</code>'
|
||||||
|
@ -782,7 +829,7 @@ def wip_lists():
|
||||||
|
|
||||||
for line in post_bottom.rsplit('\n'):
|
for line in post_bottom.rsplit('\n'):
|
||||||
# Open list
|
# Open list
|
||||||
if line.startswith(tyto.words_tags[13][0]):
|
if line.startswith(tyto.block_tags[3][0]):
|
||||||
block_list = content_list = ''
|
block_list = content_list = ''
|
||||||
css = tyto.get_css(line)
|
css = tyto.get_css(line)
|
||||||
in_list = True
|
in_list = True
|
||||||
|
@ -790,7 +837,7 @@ def wip_lists():
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Close list
|
# Close list
|
||||||
elif line.startswith(tyto.words_tags[13][1]):
|
elif line.startswith(tyto.block_tags[3][1]):
|
||||||
in_list = False
|
in_list = False
|
||||||
block_list = '%s\n%s'%(block_list, line)
|
block_list = '%s\n%s'%(block_list, line)
|
||||||
html_list = convert_list(
|
html_list = convert_list(
|
||||||
|
@ -862,8 +909,8 @@ def convert_list(markdown_str):
|
||||||
work_str = ""
|
work_str = ""
|
||||||
|
|
||||||
for i in range(len(items)):
|
for i in range(len(items)):
|
||||||
if tyto.words_tags[13][0] in items[i] or \
|
if tyto.block_tags[3][0] in items[i] or \
|
||||||
tyto.words_tags[13][1] in items[i]:
|
tyto.block_tags[3][1] in items[i]:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
rank = cur_rank
|
rank = cur_rank
|
||||||
|
@ -953,7 +1000,8 @@ def wip_tabs():
|
||||||
|
|
||||||
elif line.startswith('<h'):
|
elif line.startswith('<h'):
|
||||||
get_tab = line[2]
|
get_tab = line[2]
|
||||||
tab = tabs_hX[get_tab]
|
try: tab = tabs_hX[get_tab]
|
||||||
|
except: tab = 8
|
||||||
if not article_temp:
|
if not article_temp:
|
||||||
article_temp = '%s%s'%(int(tab) * ' ', line)
|
article_temp = '%s%s'%(int(tab) * ' ', line)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -53,19 +53,19 @@ post_val = "Article is valid"
|
||||||
# wip
|
# wip
|
||||||
nywip = "Article not yet wip"
|
nywip = "Article not yet wip"
|
||||||
was_wip = "Article was 'wip'"
|
was_wip = "Article was 'wip'"
|
||||||
post_nwi = "Article not in 'wip'"
|
|
||||||
st_wip_n = "Unused 'wip' status"
|
|
||||||
st_wip_o = "Old 'wip' status"
|
|
||||||
post_wip = "Article is in 'wip'"
|
|
||||||
|
|
||||||
# www
|
# www
|
||||||
was_pub = "Article was published"
|
was_pub = "Article was published"
|
||||||
post_nww = "Article not in 'www'"
|
|
||||||
st_www_n = "Unused 'www' status"
|
|
||||||
st_www_o = "Old 'www' status"
|
|
||||||
post_www = "Article is in 'www'"
|
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
|
post_nfd = "Page not found"
|
||||||
|
post_yfd = "Page found"
|
||||||
|
static_y = "Page is static"
|
||||||
|
static_n = "Page not static"
|
||||||
|
status_n = "Status: unused"
|
||||||
|
status_o = "Status: old"
|
||||||
|
status_s = "Status: up to date"
|
||||||
|
|
||||||
check_m = "Check manually"
|
check_m = "Check manually"
|
||||||
post_chg = "Article changed: 'check' it first"
|
post_chg = "Article changed: 'check' it first"
|
||||||
sep_inv = "Unused separator in article"
|
sep_inv = "Unused separator in article"
|
||||||
|
|
|
@ -52,19 +52,21 @@ post_val = "Article valide"
|
||||||
# Wip
|
# Wip
|
||||||
nywip = "Article pas encore 'wip'"
|
nywip = "Article pas encore 'wip'"
|
||||||
was_wip = "Article déjà 'wip'"
|
was_wip = "Article déjà 'wip'"
|
||||||
post_nwi = "Article non présent dans 'wip'"
|
|
||||||
st_wip_n = "Statut 'wip' Non présent"
|
|
||||||
st_wip_o = "Statut 'wip' Ancien"
|
|
||||||
post_wip = "Article présent dans 'wip'"
|
|
||||||
|
|
||||||
# www
|
# www
|
||||||
was_pub = "Article déjà publié"
|
was_pub = "Article déjà publié"
|
||||||
post_nww = "Article non présent dans 'www'"
|
|
||||||
st_www_n = "Statut 'www' Non présent"
|
|
||||||
st_www_o = "Statut 'www' Ancien"
|
|
||||||
post_www = "Article présent dans 'www'"
|
|
||||||
|
|
||||||
# Misc
|
# Misc
|
||||||
|
post_nfd = "Page non présente"
|
||||||
|
post_yfd = "Page présente"
|
||||||
|
static_y = "Page statique"
|
||||||
|
status_n = "Statut : non présent"
|
||||||
|
status_o = "Statut : ancien"
|
||||||
|
status_s = "Statut : à jour"
|
||||||
|
|
||||||
|
static_n = "Page non statique"
|
||||||
check_m = "Vérifier manuellement"
|
check_m = "Vérifier manuellement"
|
||||||
post_chg = "Article modifié : commencer par 'check'"
|
post_chg = "Article modifié : commencer par 'check'"
|
||||||
sep_inv = "Séparateur manquant dans l'article"
|
sep_inv = "Séparateur manquant dans l'article"
|
||||||
|
|
|
@ -79,6 +79,7 @@ wip_new = "Create a new HTML page in 'wip' server again"
|
||||||
srv_again = "Create again converted HTMl pages in server"
|
srv_again = "Create again converted HTMl pages in server"
|
||||||
srv_added = "Create missing HTML pages in server"
|
srv_added = "Create missing HTML pages in server"
|
||||||
srv_updated = "Update HTMl pages in server"
|
srv_updated = "Update HTMl pages in server"
|
||||||
|
wip_in_mod = "Include static module"
|
||||||
|
|
||||||
# publish
|
# publish
|
||||||
publish_a = "Publish again this article"
|
publish_a = "Publish again this article"
|
||||||
|
|
|
@ -79,6 +79,7 @@ wip_new = "Créer encore une page HTML dans le serveur 'wip'"
|
||||||
srv_again = "Créer encore les pages dans le serveur"
|
srv_again = "Créer encore les pages dans le serveur"
|
||||||
srv_added = "Créer les pages HTML manquantes dans le serveur"
|
srv_added = "Créer les pages HTML manquantes dans le serveur"
|
||||||
srv_updated = "Mise à jour des pages HTML dans le serveur"
|
srv_updated = "Mise à jour des pages HTML dans le serveur"
|
||||||
|
wip_in_mod = "Intégration statique des modules"
|
||||||
|
|
||||||
# publish
|
# publish
|
||||||
publish_a = "Publier encore l'article"
|
publish_a = "Publier encore l'article"
|
||||||
|
|
Loading…
Reference in New Issue