Československá literární komunita

Tak jako generace autorů před vámi, publikujte svoji psanou tvorbu. Podělte se o svoje názory a sbírejte zpětnou vazbu na svoje díla. Inspirujte se a učte od nejlepších.

Přidejte se

Shell-script pro konverzi plain-text do HTML (s využitím CSS)

15. 05. 2013
0
0
144
Autor
Lakrov

# 2htmtp4: 2htm="To_HTML"; tp="typografický"; 4="FONT-4"
#
# Zkopiruje prvni uvedeny (textovy) soubor do druheho uvedeneho
# a pak ten druhy doplni o html tagy podle "pravidla.typo"
# Text umisťůje na pracovní (šedé) pozadi (kvuli zobrazení v prohlížeči)
#
# Pouziva ("větší") font "4", vhodný např. pro zobrazení na Písmák.
# Řetězec ohraničený <TAB>retez<TAB><TAB> bude zobrazen skloněným písmem.
# Řetězec ohraniceny ??retez?? bude zobrazen podtržený.
# Řetězec ohraniceny ??Bretez?B? bude zobrazen tučným písmem.
# #H taktro zahájený text bude (až do odvolání)
#                         zobrazen neproporcionálním písmem.
# #P .. ukončení textu zobrazeného neproporcionálním písmem.
# #| takto zahájený řádek (začátek odstavce) "NEW_LINE" nebude odsazen od kraje
#
# Umožňuje #C (Chapter) a #I (Index)
# pro indexaci kapitol (#Kn)
#     vytvareni ativniho obsahu (#On)
# Dvojitý apostrof " (značka palce) nahrazuje (dle kontextu)
#                  dolními a horními Čs. uvozovkami ("99 66").
# Jednoduchý apostrof ' nahrazuje (dle kontextu)
#                  dolními a horními Čs. uvozovkami ("9 6").
# Dvojici -- nahrazuje českou pomlčkou ($ndash;)
# Apostrof ' (odsuvník) nahrazuje Čs. odsuvníkem ("9 nahoře").
#
# Výstupní text je doplněn nedělitelnými mezerami
#          za jednoznakovými předložkami a spojkami (v o k u s a z i)
#
echo "<HTML>
<TITLE></TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html" CHARSET="iso-8859-2">
<STYLE  TYPE="text/css">
BODY { text-align: justify }
P    { text-indent: 2em; margin: 0ex }
</STYLE>
<FONT SIZE=4 face=Times New Roman>
" > $2

cat $1 >> $2

cat << EOF | ed $2
1,$ s/^#|/<BR>
1,$ s/^  /<P>  /
1,$ s/^$/<\/P><BR><P>/
1,$ s/??B/<B>/g
1,$ s/?B?/<\/B>/g
1,$ s/?? /<\/U> /g
1,$ s/ ??/ <U>/g
1,$ s/^    /<BLOCKQUOTE> <I>/
1,$ s/^  /<\/BLOCKQUOTE> <\/I>/
1,$ s/      /<\/I>/g
1,$ s/   /<I>/g
1,$ g/^*/s/$/ *<\/B><\/CENTER>/
1,$ s/^*/<B><CENTER> */
1,$ s/^#H /<PRE> <FONT SIZE=2>/
1,$ s/#P$/<\/PRE> <FONT SIZE=4>/
1,$ s/#K\([0-9][0-9]*\)/<a id=i\1> <\/a>/
1,$ g/#O[0-9][0-9]*/s/$/ <\/a>/
1,$ s/#O\([0-9][0-9]*\)/<a href=#i\1>/
1,$ s/ "/ \&bdquo;/g
1,$ s/^"/\&bdquo;/
1,$ s/"/\&ldquo;/g
1,$ s/ '/ \&sbquo;/g
1,$ s/^'/\&sbquo;/
1,$ s/'/\&lsquo;/g
1,$ s/\`/\&rsquo;/g
1,$ s/--/\&ndash;/g
1,$ s/\&ndash;-/\&ndash;/g
1,$ s/ \&ndash;/\&nbsp;\&ndash;/g
1,$ s/ \([v,V,o,O,k,K,u,U,s,S,a,A,z,Z,i,I]\) / \1\&nbsp;/g
1,$ s/^\([v,V,o,O,k,K,u,U,s,S,a,A,z,Z,i,I]\) /\1\&nbsp;/g
1,$ s/"\([v,V,o,O,k,K,u,U,s,S,a,A,z,Z,i,I]\) /"\1\&nbsp;/g
1,$ s/'\([v,V,o,O,k,K,u,U,s,S,a,A,z,Z,i,I]\) /'\1\&nbsp;/g
1,$ s/\&nbsp;\([v,V,o,O,k,K,u,U,s,S,a,A,z,Z,i,I]\) /\&nbsp;\1\&nbsp;/g
w $2
EOF

echo "
</FONT>
</BODY>" >> $2


Na psaní názorů musíte mít ověřený email.
Sdílení
Nahoru