Konstruieren Sie sicher gültiges HTML mit Python -Code. Beispiel:
from microhtml import *
print (
ᑉhtml (
ᑉhead ( ᑉtitle ( 'Test page' )),
ᑉbody ( ᑉspan ( 'Simple example.' , class_ = 'example' ))). pretty ())Dadurch wird ein gültiges, formatiertes XHTML -Dokument ausgegeben:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = " http://www.w3.org/1999/xhtml " >
< head >
< title >
Test page
</ title >
</ head >
< body >
< span class = " example " >Simple example.</ span >
</ body >
</ html > Ja, Sie müssen wahrscheinlich das Unicode-Symbol kopieren und ja, Sie möchten einen modernen Editor verwenden, aber die resultierende Syntax ist sehr kompakt und kollidiert nicht mit Ihren Kennungen, auch wenn der import * .
Der Minimalismus erstreckt sich auch auf die Implementierung - es ist sehr kurz (<80 Zeilen in V0.3). Schauen Sie sich microhtml/__init__.py .
Längeres Beispiel mit weiteren Funktionen:
from microhtml import *
# Rendering a non-indented string (result: <p>Third <em>and last</em> paragraph</p>)
raw_html = str ( ᑉp ( "Third " , ᑉem ( "and last" ), ' paragraph' ))
# Writing a nicely formatted / tidied XHTML document to a file descriptor
print (
ᑉhtml ( lang = 'en_US' )(
ᑉhead ( ᑉtitle ( "Test page" )),
ᑉbody (
ᑉp ( "Hi!" , width = 123 ), # 123 becomes "123"
ᑉhr ( class_ = 'someclass' ), # Reserved words like "class" can be written with a trailing underscore
ᑉp ( 'Literal strings are safely <em>escaped</em> by default.' ),
ᑉrawstr ( raw_html ), # Use ᑉrawstr() if you don't want escaping
ᑉtag ( 'applet' , code = 'Bubbles.class' , width = 350 , height = 350 ), # Tag with custom name
ᑉdiv ( "custom" , data__custom = "abc" ), # '__' in attribute names is replaced with '-'
ᑉdiv ( style = 'float: right' )( # This is how you can type attributes on left and content on right
ᑉdiv ( style = 'border: 1px solid black' )(
ᑉa ( "Nested" , href = '#anchortest' ), '|' , 'link' )))). pretty ())Dies gibt aus:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html lang = " en_US " xmlns = " http://www.w3.org/1999/xhtml " xml : lang = " en_US " >
< head >
< title >
Test page
</ title >
</ head >
< body >
< p width = " 123 " >
Hi!
</ p >
< hr class = " someclass " />
< p >
Literal strings are safely < em > escaped < /em > by default.
</ p >
< p >
Third < em >and last</ em > paragraph
</ p >< applet code = " Bubbles.class " width = " 350 " height = " 350 " >
</ applet >
< div data-custom = " abc " >
custom
</ div >
< div style = " float: right " >
< div style = " border: 1px solid black " >
< a href = " #anchortest " >Nested</ a >|link
</ div >
</ div >
</ body >
</ html > Um ein PYPI -Paket zu erstellen, make einfach ein Problem. Es wird ein Venv installiert, Tests ausgeführt, ein .pyi (Typ/Syntax -Abschlussstub) generiert und ein Quellpaket (SDIST) erstellt. Verwenden Sie die Reinigung make clean .
Wenn Sie Unicode -Charaktere im Quellcode einen schrecklichen Gräuel finden und sich nicht with endlosen Ausdrücken verschachtelt haben, bevorzugen Sie Yattag möglicherweise.
Verwendet tidylib für hübschen Druck. Inspiration aus pyhtml von Cenk Altı.
Copyright 2019 Jarno Elonen. Unter der MIT -Lizenz veröffentlicht. Weitere Informationen finden Sie in Lizenz.