From b622ff8b2439e86961e883be8e1b76e4e09f8b9a Mon Sep 17 00:00:00 2001 From: Cyrille LOUARN Date: Sun, 12 Nov 2023 03:00:17 +0100 Subject: [PATCH] [1.9.37] --- CHANGELOG.md | 6 ++ debian/control | 2 +- src/usr/bin/tyto | 2 +- .../program/__pycache__/check.cpython-311.pyc | Bin 45747 -> 46121 bytes .../program/__pycache__/post.cpython-311.pyc | Bin 13131 -> 13608 bytes .../program/__pycache__/wip.cpython-311.pyc | Bin 41309 -> 43536 bytes src/var/lib/tyto/program/check.py | 16 ++-- src/var/lib/tyto/program/post.py | 18 +++- src/var/lib/tyto/program/wip.py | 77 ++++++++++++++++-- src/var/lib/tyto/tpl_files/styles.css | 7 +- .../__pycache__/website_fr.cpython-311.pyc | Bin 499 -> 565 bytes src/var/lib/tyto/translations/website_en.py | 2 + src/var/lib/tyto/translations/website_fr.py | 2 + 13 files changed, 114 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e75998a..3648880 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,12 @@ Tyto - Littérateur # CURRENTLY IN DEV (in devel branch) ! +## [1.9.37] +- Preparing full HTML Page +- Some fixes +- Added web target (without index.html) in section "FILE" in post DB +- Added article footer contents + ## [1.9.36] - fix translations modules - added metas module diff --git a/debian/control b/debian/control index afce295..8759485 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: tyto -Version: 1.9.36 +Version: 1.9.37 Section: custom Priority: optional Architecture: all diff --git a/src/usr/bin/tyto b/src/usr/bin/tyto index 3bdd6c8..53ba68a 100755 --- a/src/usr/bin/tyto +++ b/src/usr/bin/tyto @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Version: 1.9.36 +# Version: 1.9.37 # Updated: 2023-11-11 1699742831 # Tyto - Littérateur diff --git a/src/var/lib/tyto/program/__pycache__/check.cpython-311.pyc b/src/var/lib/tyto/program/__pycache__/check.cpython-311.pyc index 73017bf0933b55f420670ee47dbe6a4646e1ed56..c0188e52652d34ee57f5b2d405540fcad30eb353 100644 GIT binary patch delta 972 zcmZuwUr19?7(eH3yLzX0Ywm7ye{`GET~bKPA__`0UlJdL$UzEoc1F!VDR(z4S?ZuD z->fgtr?|q{no~%8tQVn|-kOXYgCGbYNy4X~2<+Vb!Gu0I=X~Gq&*7YpbGG)F^f$(k z;(0xy5p@lO_m(#ex`c30h0rpJA%e#lm0HqB0&FL2a5eEBBZ#vWCn8l(7`sXqgH+Gb z^%0I?r5a4E1uhR79g;qV2_pJ`g+&RcN}M%Gj8KM-Qbcv6CWcGfKzC9ESBis3O4QX7 zgN)$IoS;^kT4IFhC2N^EMVUBTWT?&*!?2kUb#;W5(Tm;^Tu01Q6na&uOtKa_<^|YK z8R4CmgAd6zTnE{dSgCY^YKK){$srW|+bxw!^^bI)@Kc9@qR&GoP>qFHp(}02R)`1u z;9j$7Y-Pk&MpTX};6UVHG2n)UwCjSMIFcIL7&=OUk$kR_BP5?c&Wp`rVhnLYHtp6~ zh)d?6Z@vvYYgTsyX_PM>YsXxboVbZcX@IkC3%u>Ef!~4w7DpTD`FQMxIIefe-4!W9 zW8O+myrhY?#bXp0;)7pnPWV2jcQz9zX-Ts5ymXWTBZ6+A(|)*=5xx6=j*gBB+Pm`P z#H>DYkAxqbQS-=83QM1;0Y)+oekMFx&;+gzNY_;4X=Vuf;A=({^)u3VP!36V!m?zd zl%(Fcz}}Z4!3dGsROFWG5Z4=O3wpXsSq#1F%{Ty&_5LnRK|39iWGO@+TEQHZLvl1I zKa{6}p^1s$?WxIVRBg1!$dB`g~Fu|7N`)W7UfI+Y%!GiMfG`?Kbb zg|R$m-sN07oNHw`%eCgX)x#T+k|HTIRh ztjd38_0Yd@Q=seP@g@ICi_({6+jDIDN49-ybtBK<$kyzedd7PN_uxbH|5@Vbk^chB CdJ^CO delta 692 zcmZuvO=uHA7@e8TCT^N!SDW4Zm}C48V?qQDu~dcmr_t+U7aXxB9+aQ($Fd% zdns zKe^4h!jBi7kXQ?+eF(io>xkka8IHDy)rMXz0+(tZ;M0yK_~Ma?}Vd#hjkT>B+Zon9@~}NANowfg5`{oPcLII>RnHD(*-*Jx$Oga{#YP zx&vs+jYSnNLVO|ByejHcqiNXRQ*j2wRu<-3@!-Pso7NTX>kF%ed%#+^aT-3ivPtiX zwP-9-E5~Qnt)albY84G;S`P~hQg#xq*{AV5l3bfV7VD3fnaRoqTVuhMs{ITy4-x##p^WDh1F9bj64mweixqxTz0R8{AB<}wU+DOg4 diff --git a/src/var/lib/tyto/program/__pycache__/post.cpython-311.pyc b/src/var/lib/tyto/program/__pycache__/post.cpython-311.pyc index 60ace8393723d72f94e218c0fb31013fcf3c0904..be2fc03409febbc7d4e442d4129080860f7610f3 100644 GIT binary patch delta 1782 zcmZ`(TWl0n7~YxLoo=^#ncZ%SyY#ZXuG*!TRfwqvqo7ucB>|_@l&f{b{y8v5DOagq^&Um9`9{j<*b-(Q-*l z-QW6*@I26Zitb|H$Z7Vq+#%8tAiISKyCaW9ez~{0y6XDNbf&6yvaY6Oe`wCkvtOI6 z&=44IhtGb|DFlxRF(tj&x42`m@A8GE_C{=gebKy6$T+_>&x&x97B&^$5nMYh!dAlL zQk16I9e=wp&mN6Ddnyf{++e|~QL{#E*H28{Abr3jQItrwIZG7W#`(5t*4&UiTdmM) zrDoc0s0{kr8coe}bd3(MyOC5+5^QVk{ znZp}yF!m&j(1Xy4(1pPLuRoFCon4vE%xZ-qIfM#_5yn`mT}$G5ZV-i43*wZA?fcH< z_Df=78<46*4xsL7gfpx!wI#s~Pe@)UT4s?zQ90oQNn z)O2N=>a*3vEcd5IT-Euo=T%|nD`+`_(2IbXgG30$e`ElLK~du;kt-nH z>zI8F(ZEN#&2wa0D^{x5_efS|^pa^4>@hb`C>s?*Vo3Yv^y;)XKZ0h>u;(hY?DaBl zLOxx1tYp1FD^`tM1uHVd-pcllzQLUpwK}N~6==H&0N(_Qx4RoJR%(Vu&r?g&36yTt zBuk((&i=^W?Z*huxAbI=SjQn&Gy3d&Acsp8$pnZF!2d}W7#t8zIk~|v1>pmBOI=L9 zhgN~SWlfLH2da?rQF6_BdFv121^zb4K5u)Y0B`LjoDU2>L=wp3FGwQALyR-pn{_ys z_?+O~&nuhfoo9tdnBU$_U?19AzF--qy*5O{wsSit3%z^L$9fx*DcsfoT-oa-GRc~^ ztqwkc{0Hmo&)}XJ%cxh)z2s+*VxQSbHavVOHYCJWeCtqT-wy9nx`f<{ZylZ#oW%BB Iq8~&0H|R^sC;$Ke delta 1375 zcmZ8hO>7%g5cc!hj_bsB;yNiwoW{mYlXb&iilgE}3PmJsDhi4u*2f#!bsRF(?@(0%ZXdD zDC-r`o}*zkC!X%v5%ZBCGf423V|$L>w0IB|za_`S zKq_0vpr0!U`FtLxC}ZSb(8;yy&!;|QLnp3hC%?~5ZfDhXXh8c9V%~a7GioqT0Sg32#GxTAOX~%3ayl;7N5kP2e{1MMI5Ul= zs=$*JTP0W#<>85pOo$mZt!{Z>B7aRd!<*qP=I;)_&njlhVSyZ z13gEx>J_cx1gv%{}b<}5*;fEuB)fYmrd>vmck)8tBU z5y^-B;}hFqlMWf|>A;#+vmKOjf=qi|uUi~QK0(xIm^MI?>_|s<*1A_BZZ%EbvAsrD zrcz%8jOo@YrW>B^HsLK|RMDBbxALZ(tfsZWhJ$GH9t1iQK2piSK+SHNns?4~H65_~ zjs=%6<_U3a>Q`10U#TN|mT)|;hT)9(MV(~N`-#%0jJ+qmICMGtF1pS~S6z3laz5%{ zcPnt&uTNhOzb22N@N>K?XliD+w^H`s45^lDtA=Y@TFj_ diff --git a/src/var/lib/tyto/program/__pycache__/wip.cpython-311.pyc b/src/var/lib/tyto/program/__pycache__/wip.cpython-311.pyc index 7258e8710286172138aa1ff17ed5b64bf22b91fb..b29415b8ebe0e394076b05a0e4c31c998e90b693 100644 GIT binary patch delta 5268 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 delta 3617 zcmai13v3j}8NR){UEi%An8X+`*ghK@SQGnr6Re@|?xUZAvfF&(TPLd)D77b--H8meChG^5CL0Ep zB^w8pCnEz!vT2|#**vf!sqFO`OWb`*KA;HxX7DBctU6DruT1jJBj&% zySFCb-?NfP76r5tT>qGU*yo5cbnnE~m|8<1blZtD$1YgT7+VYOBY@9fN=;=8CS#kx z*vVh5ZBn-L-_&;KkAeYs)%DN+j(@pO9m`3XlZrm6L?)FbMtIgCa(6v;Z0461)+oLF zorNv>7BB#BxPiJ~DoQi|?V>tuE4VxPjYUyil7P!@%i`Oi*dUR@$6Bz$PcW%G!jc#? z155&=QiRP+K5eqNV={Rn{Kkd=y#V-Hs5vJ-YD-f^896zYux&ciZe7znj71{^c7Pxf ziLfv@+os@}&;3rf|X zKI|@C@mci%{4Z219UnCr%wY%R-bsIA)K;7q%Ab7AznFiSfo-i;WF4G z>mbb+ch)OId_(8P)+59dUlp*uB(wvTQw$ zD^_(iwYNul^I6A?w6}LlHy5>58^0wraH32lnL;K%zUj{6QY)DvR#NkORKxjr_uzk3i#3;(f%3l4q@Yr)}D*OgX*Fp zk56PIw35o04uKtG@xqj=&+ll}F4D|bxcL;b?E z^J(@T*qgvs^SK=L+?!xr1<0$S8}wR7mHGJ**8K$_6J!XK%wCxw@~FAAm~x<&K19gMBvSb#mEK|u!=9Ox4ni+k zOtmOe!`4U?HB0*O`sIIozL1X*`mXuicbo6u=xe%03mYj$pwJfM+Cko*HkH)hMm>)68`^s2JKM z^Q$9L3>cASc9wX3tcBMeX$qggd?3;u;hT=snmF8O@Dzy76As zD>O#MY~^O9ToE$<1-Jru7|_Kp9O+DsfV?;SqB5OL=2K?Os|LCYkPY5Tp+dG_E0Z+G zr_w_AmdQ5JhU3F>4SIIz!r=W+7jy$M01@}{(@{;i#Y0D%mfd&qgQdcYNf8NVQg1Z; ztd{RS+MtIa0Wj{49}Se1KZLR8arf9)9c5z1&d ziTzOm>m%@1VYr$=l$AEJTeQQ7ux*%;Nznr;0+-2f%YbO$As`c8Rn1%$(-HZ9k$}MI z%4X{zunN5OM2V1-&dFSqU>^n=$!5WCvi^Y5-oI(qr-o7I)~m1d~KrCR@Or$bN(c z75u=dI&C}1pYW$nZ7BZ$B;aPiy>#k8;1e6mYczjvW2uAzGi8H1VM7qr3%J*p#yw5N zyR^NgQljBPukWe8rhA%7HRJ*sDPP!9jF!0It7&UC;qbvT zQGVjg`ase;%zu66C4Z~U&!6pI6p>5e${0P(tpt^098sdJ-2cjwiLU5yHu)uz5`{9| z#zU+QhR9py8Yp>Z$U?`1#IsQ5m`vn#;2~U013Unz1jw%;3qau=C|~&Ujn1}WxD7Bt zFd-j!>}8DcEMa&R$eWkR+fLp{X#cXq%4R8xU)HZoBpE~LD)whuH+7{TG1(+Gej3i( z1<(mZC`WJRn3GGfGMa6a-+ts>Ga2gg`c*ee(L(z3*(N`H?)An8G^OUYZyM^>DRXZ7 breU1N>ATCApSOPRt*ZKp@@GQ$m2&?F;HQwy diff --git a/src/var/lib/tyto/program/check.py b/src/var/lib/tyto/program/check.py index d276a4b..285d5a2 100644 --- a/src/var/lib/tyto/program/check.py +++ b/src/var/lib/tyto/program/check.py @@ -1114,25 +1114,31 @@ def cf_update_values(part): post.cf_set("CHECK", "static", str(domain.static)) post.cf_set("CHECK", "hash", post.wrk_id) - # [FILE] + # [FILE] + web_target = post.wrk_target[:-4] + "html" + if web_target.endswith("index.html"): + web_target = web_target[:-10] + if not web_target.startswith("/"): + web_target = "/" + web_target post.cf_set("FILE", "id", post.uri_id) post.cf_set("FILE", "uri", post.uri) post.cf_set("FILE", "db", post.cf_uri) post.cf_set("FILE", "target", post.wrk_target) + post.cf_set("FILE", "web", web_target) # [WIP] # ----- post.cf_set("WIP", "hash", post.wip_hash) post.cf_set("WIP", "date", post.wip_date) - post.cf_set("WIP", "web", "%s%s"%(domain.wip_url, post.wrk_target)) - post.cf_set("WIP", "uri", "%s%s"%(domain.wip, post.wrk_target)) + post.cf_set("WIP", "web", "%s%s"%(domain.wip_url, post.web_target)) + post.cf_set("WIP", "uri", "%s%s"%(domain.wip, post.web_target)) # [WWW] # ----- post.cf_set("WWW", "hash", post.www_hash) post.cf_set("WWW", "date", post.www_date) - post.cf_set("WWW", "web", "%s%s"%(domain.www_url, post.wrk_target)) - post.cf_set("WWW", "uri", "%s%s"%(domain.www, post.wrk_target)) + post.cf_set("WWW", "web", "%s%s"%(domain.www_url, post.web_target)) + post.cf_set("WWW", "uri", "%s%s"%(domain.www, post.web_target)) # Stats (these, cause i want them first) post.cf_set("STATS_FILE", "lines", str(post.lines)) diff --git a/src/var/lib/tyto/program/post.py b/src/var/lib/tyto/program/post.py index 88ad2b1..8b9e3ff 100644 --- a/src/var/lib/tyto/program/post.py +++ b/src/var/lib/tyto/program/post.py @@ -71,7 +71,7 @@ def is_article(target): if not is_tyto_format(): return False - global uri_id, wrk_id, cf_uri, wrk_target + global uri_id, wrk_id, cf_uri, wrk_target, web_target # Set post ID from... uri_id = tools.get_filesum(uri, False) # ...URI wrk_id = tools.get_filesum(uri, True) # ...CONTENTS @@ -82,6 +82,9 @@ def is_article(target): # Set target from articles/ wrk_target = uri.rsplit(domain.wrk_articles)[1] + # Set web target, replace last .tyto with .html + web_target= wrk_target[:-4] + "html" + # Load Database, get and compare values cf_load() cf_datas() @@ -130,10 +133,10 @@ def is_tyto_format(): if not text_contents: error = debug.out(23, "?", uri, True, 2, False) return False - - lines = len(contents.splitlines()) + head_lines = len(head_contents.splitlines()) + 1 # Count with sep line text_lines = len(text_contents.splitlines()) + lines = head_lines + text_lines return True @@ -245,6 +248,13 @@ def cf_datas(): www_uri = cf_get("WWW", "uri", False) www_static = cf_get("WWW", "static", True) + global set_title, set_about, set_date, set_author + set_title = cf.get("HEADERS", "title") + set_about = cf.get("HEADERS", "about") + set_date = cf.get("HEADERS", "date") + set_tags = cf.get("HEADERS", "tags") + set_author = cf.get("HEADERS", "authors") + #===============================# # Do some datas comparisons # @@ -372,7 +382,7 @@ nositemap = "! NoSitemap" # Article will not be included in sitemap # One Line needed sep = "-----" # Splitter between header and article texts -# Will replace "Fals" with data value +# Will replace "False" with data value (check process) title = ("title:", False) about = ("about:", False) date = ("date:", False) diff --git a/src/var/lib/tyto/program/wip.py b/src/var/lib/tyto/program/wip.py index 4af9b96..1ffbec9 100644 --- a/src/var/lib/tyto/program/wip.py +++ b/src/var/lib/tyto/program/wip.py @@ -76,7 +76,9 @@ def multiple_targets(): #================================# -# Check article(S) # +# Check article(s) # +# - Convert tags # +# - Create full page # # Also used with multiple (loop) # #--------------------------------# def is_article(target): @@ -84,10 +86,39 @@ def is_article(target): if targets: return else: sys.exit(post.error) + # Create full page + page_html_create() + print("\n> wip:", target) print(html_post) +#=======================# +# Create full page HTML # +#-----------------------# +def page_html_create(): + page_html = \ + page_tpl%( + post.set_title, domain.title, + domain.lang, + nginx_mods%("metas"), + metas_post, + nginx_mods%("header"), + nginx_mods%("navbar"), + post.cf.get("WWW", "web"), + langs.site.permalink, langs.logs.pp, post.set_title, post.cf.get("WWW", "web"), + post.set_title, post.set_author, domain.title, + html_post, + footer_post, + nginx_mods%("sidebar"), + nginx_mods%("footer") + ) + + print() + print(page_html) + + + #===========================================# # Check full article contents (head + text) # # In error case, exit or return if targetS # @@ -146,6 +177,7 @@ def convert(target): value_replace("BCODES", False, True) value_replace("CODES", False, True) + footer_post_create() return True @@ -590,6 +622,29 @@ def convert_list(markdown_str, mark_b, mark_c): return work_str +#===========================================# +# Create contents in
for
# +#-------------------------------------------# +def footer_post_create(): + global footer_post + + link_post_code = "" + if domain.article_code: + link_post_code = \ + ' [%s]'%( + langs.site.source_code, langs.logs.pp, post.set_title, domain.title, + post.cf.get("FILE", "target"), + langs.site.source_code + ) + + footer_post = \ + page_time%tools.nowdate() + '\n' + \ + '

%s, %s%s

\n'%( + post.set_date, post.set_author, link_post_code + ) + \ + '' + + #=========# # Modules #==================================================================== #---------# @@ -1174,11 +1229,14 @@ module_footer = """
""" -page_tpl = """ - +nginx_mods = '' + +page_tpl = """ + %s +%s
@@ -1187,11 +1245,13 @@ page_tpl = """ %s - +
-

%s

+

+%s (%s) - %s +

%s
@@ -1199,8 +1259,13 @@ page_tpl = """
%s -
+
+ +%s + """ + +page_time = '