Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Css starting #6

Open
wants to merge 3 commits into
base: pstl2014_html
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions examples/tango_output/html/basic.tango-gen.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<!-- Tango HTML preamble starts here -->

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" media="screen" href="../../../src/tangolib/generators/html/css/premiere.css" />
<title>HTML generator</title>
</head>
<!-- Tango HTML preamble stops here -->

<!-- Tango: Beginning of top-level document -->
<!-- Tango: File = '.\basic.tango.tex' -->
<body>
<br />
<br />

<br />

<br />

<br />


<div class="environnement" name="abstract" options=""><br />

<span class="text">This</span> <span class="text">document</span> <span class="text">is</span> <span class="text">a</span> <span class="text">basic</span> <span class="text">example</span> <span class="text">for</span> <span class="text">Tango.</span><br />

<span class="text">Is</span> <span class="text">it</span> <span class="text">not</span> <span class="text">really</span> <span class="text">interesting</span> <span class="text">otherwise.</span><br />

</div><br />


<div class="section" name="section" title="About Tango">
<br />


<div class="command" name="emph" options="{'emph_type': '*'}" open="">
<!-- [Text("Tango")] -->
<span class="text">Tango</span></div> <span class="text">is</span> <span class="text">a</span> <span class="text">document</span> <span class="text">processing</span> <span class="text">system</span> <span class="text">similar</span> <span class="text">to</span> \verb|Sphinx| <span class="text">or</span> <span class="text">Pandoc</span> <span class="text">with</span><br />

<span class="text">some</span> <br />

<span class="text">specificities.</span> <br />


<div class="environnement" name="itemize" options=""><br />

<div class="command" name="item" options="" open="">
<!-- [] -->
<span class="text">its</span> <span class="text">input</span> <span class="text">format</span> <span class="text">is</span> <span class="text">a</span> <span class="text">simplified</span> <span class="text">variant</span> <span class="text">of</span> <span class="text">LateX</span><br />

<div class="command" name="item" options="" open="">
<!-- [] -->
<span class="text">it</span> <span class="text">is</span> <span class="text">primarily</span> <span class="text">aimed</span> <span class="text">at</span> <span class="text">two</span> <span class="text">output</span> <span class="text">formats:</span><br />

<div class="environnement" name="itemize" options=""><br />

<div class="command" name="item" options="" open="">
<!-- [] -->
<span class="text">a</span> <span class="text">latex</span> <span class="text">output</span> <span class="text">for</span> <span class="text">producing</span> <span class="text">PDF</span> <span class="text">files</span> <span class="text">(for</span> <span class="text">screen</span> <span class="text">or</span> <span class="text">printout)</span><br />

<div class="command" name="item" options="" open="">
<!-- [] -->
<span class="text">a</span> <span class="text">html/css/javascript</span> <span class="text">format</span> <span class="text">for</span> <span class="text">interactive</span> <span class="text">web</span> <span class="text">pages</span><br />

</div><br />

<div class="command" name="item" options="" open="">
<!-- [] -->
<span class="text">its</span> <span class="text">main</span> <span class="text">goal</span> <span class="text">is</span> <span class="text">for</span> <span class="text">producing</span> <span class="text">scientific</span> <span class="text">and</span> <span class="text">technical</span> <span class="text">document</span> <span class="text">with</span><br />

<span class="text">enhanced</span> <span class="text">interactivity</span> <span class="text">without</span> <span class="text">sacrifying</span> <span class="text">the</span> <span class="text">availability</span> <span class="text">of</span> <span class="text">a</span> <span class="text">high-quality</span> <span class="text">printable</span> <span class="text">static</span> <span class="text">version.</span><br />

</div><br />


<span class="text">For</span> <span class="text">very</span> <span class="text">pragmatic</span> <span class="text">reasons</span> <div class="command" name="emph" options="{'emph_type': '*'}" open="">
<!-- [Text("Tango")] -->
<span class="text">Tango</span></div> <span class="text">is</span> <span class="text">written</span> <span class="text">in</span> <div class="command" name="url" options="Python" open="">
<!-- [CommandArg(cmd_name=url, content=[Text("http://www.python.org")])] -->
<span class="text">http://www.python.org</span></div><span class="text">.</span><br />


</div>
<div class="section" name="section" title="Conclusion">
<br />


<span class="text">You</span> <span class="text">should</span> <div class="command" name="strong" options="{'strong_type': '*'}" open="">
<!-- [Text("definitely")] -->
<span class="text">definitely</span></div> <span class="text">try</span> <span class="text">to</span> <span class="text">use</span> <div class="command" name="emph" options="" open="">
<!-- [CommandArg(cmd_name=emph, content=[Text("Tango")])] -->
<span class="text">Tango</span></div> <span class="text">when</span> <span class="text">it's</span> <span class="text">ready.</span><br />


</div>
<div class="section" name="section" title="Byebye">
<br />


<span class="text">The</span> <span class="text">end.</span><br />

</div>

</body>
<!-- Tango: End of top-level document -->
</html>
95 changes: 95 additions & 0 deletions examples/tango_output/html/exosliste.tango-gen.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<!-- Tango HTML preamble starts here -->

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" media="screen" href="../../../src/tangolib/generators/html/css/premiere.css" />
<title>HTML generator</title>
</head>
<!-- Tango HTML preamble stops here -->

<!-- Tango: Beginning of top-level document -->
<!-- Tango: File = '.\exosliste.tango.tex' -->
<body>
<br />

<div class="environnement" name="exercise" options="Listes d'intervalles"><br />


<div class="environnement" name="question" options=""><br />

<span class="text">Définir</span> <span class="text">une</span> <span class="text">fonction</span> <div class="command" name="snip" options="" open="">
<!-- [CommandArg(cmd_name=snip, content=[Text("construire")])] -->
<span class="text">construire</span></div> <span class="text">qui,</span> <span class="text">étant</span> <span class="text">donné</span> <span class="text">un</span> <span class="text">entier</span> <span class="text">naturel</span> <div class="command" name="snip" options="" open="">
<!-- [CommandArg(cmd_name=snip, content=[Text("n")])] -->
<span class="text">n</span></div> <span class="text">strictement</span> <span class="text">positif,</span> <span class="text">retourne</span> <span class="text">la</span> <span class="text">liste</span><br />

<span class="text">des</span> <span class="text">entiers</span> <span class="text">de</span> <div class="command" name="snip" options="" open="">
<!-- [CommandArg(cmd_name=snip, content=[Text("1")])] -->
<span class="text">1</span></div> <span class="text">�</span> <div class="command" name="snip" options="" open="">
<!-- [CommandArg(cmd_name=snip, content=[Text("n")])] -->
<span class="text">n</span></div> <span class="text">(inclus).</span><br />

<br />


<span class="text">Par</span> <span class="text">exemple</span> <span class="text">:</span><br />



>>> construire(5)
[1, 2, 3, 4, 5]
>>> construire(1)
[1]
<br />



<div class="command" name="answer" options="lines=9, points=2" open="">
<!-- [CommandArg(cmd_name=answer, content=[Newlines(1), Command(cmd_name=showDefPython, cmd_opts=construire, preformated=False, content=[]), Newlines(2), Text("Une"), Spaces(1), Text("autre"), Spaces(1), Text("solution"), Spaces(1), Text("sans"), Spaces(1), Text("utiliser"), Spaces(1), Command(cmd_name=snip, cmd_opts=None, preformated=False, content=[CommandArg(cmd_name=snip, content=[Text("range")])]), Spaces(1), Text(":"), Newlines(2), Command(cmd_name=showEvalPython, cmd_opts=None, preformated=True, content='\ndef construire(n):\n l = []\n i = 1\n while i <= n:\n l.append(i)\n i += 1\n return l\n\nconstruire(5)\nconstruire(1)\n'), Newlines(2)])] -->
<br />

<div class="command" name="showDefPython" options="construire" open="">
<!-- [] -->
<br />


<span class="text">Une</span> <span class="text">autre</span> <span class="text">solution</span> <span class="text">sans</span> <span class="text">utiliser</span> <div class="command" name="snip" options="" open="">
<!-- [CommandArg(cmd_name=snip, content=[Text("range")])] -->
<span class="text">range</span></div> <span class="text">:</span><br />


<div class="command" name="showEvalPython" options="" open="">
<!--
def construire(n):
l = []
i = 1
while i <= n:
l.append(i)
i += 1
return l

construire(5)
construire(1)
-->
</div><br />

</div><br />


</div><br />


<div class="environnement" name="question" options=""><br />

<span class="text">Definir</span> <span class="text">une</span> <span class="text">fonction</span> <br />

</div><br />


</div><br />

</body>
<!-- Tango: End of top-level document -->
</html>
85 changes: 85 additions & 0 deletions examples/tango_output/tex/exosliste.tango-gen.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
%%% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%%% Tango latex preamble starts here

\documentclass{article}

%%% Tango only supports extended utf-8 encodings
\usepackage{ucs}
\usepackage[utf8x]{inputenc}

%%% <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
%%% Tango latex preamble stops here

%%% >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%%% Tango: Beginning of top-level document
%%% Tango: File = '.\exosliste.tango.tex'
\begin{document}

%%%
%%% Tango Line: 2
\begin{exercise}[Listes d'intervalles]

%%%
%%% Tango Line: 4
\begin{question}
%%%
%%% Tango Line: 5
Définir une fonction \snip{construire} qui, étant donné un entier naturel \snip{n} strictement positif, retourne la liste
%%%
%%% Tango Line: 6
des entiers de \snip{1} à \snip{n} (inclus).



%%%
%%% Tango Line: 20
Par exemple :

%%%
%%% Tango Line: 22

>>> construire(5)
[1, 2, 3, 4, 5]
>>> construire(1)
[1]



%%%
%%% Tango Line: 30
\answer[lines=9, points=2]{
%%%
%%% Tango Line: 31
\showDefPython[construire]

%%%
%%% Tango Line: 33
Une autre solution sans utiliser \snip{range} :

%%%
%%% Tango Line: 35
\showEvalPython{}

}

%%%
%%% Tango Line: 50
\end{question}

%%%
%%% Tango Line: 52
\begin{question}
%%%
%%% Tango Line: 53
Definir une fonction
%%%
%%% Tango Line: 54
\end{question}

%%%
%%% Tango Line: 56
\end{exercise}

%%% <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
%%% Tango: End of top-level document
\end{document}
12 changes: 8 additions & 4 deletions src/tango.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
from tangolib.generators.latex.latexconfig import LatexConfiguration
from tangolib.generators.latex.latexgen import LatexDocumentGenerator

from tangolib.generators.xml.xmlgen import XMLDocumentGenerator
from tangolib.generators.html.htmlgen import HTMLDocumentGenerator
from tangolib.generators.html.htmlconfig import HTMLConfiguration

def tangoBanner():
return \
r"""
Expand Down Expand Up @@ -168,11 +172,11 @@ def fatal(*args):
generator.straighten_configuration()
elif args.output_type == "xml":
# xml mode
tangoPrintln("Generating xml")
generator = XmlDocumentGenerator(doc)
elif args.output_type == "html:
tangoPrintln(" => Generating xml")
generator = XMLDocumentGenerator(doc)
elif args.output_type == "html":
# html mode
tangoPrintln("Generating html")
tangoPrintln(" => Generating html")
generator = HTMLDocumentGenerator(doc,html_config)

if not generator:
Expand Down
12 changes: 12 additions & 0 deletions src/tangolib/cmdparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,18 @@ def parse_next(self, cmd_args):

self.cmd_args.output_type = "latex"
return cmd_args[1:]

elif next_opt == "--html":
if self.cmd_args.output_type is not None:
raise CmdLineError("Mismatch {} option : output type already set".format(next_opt))
self.cmd_args.output_type = "html"
return cmd_args[1:]

elif next_opt == "--xml":
if self.cmd_args.output_type is not None:
raise CmdLineError("Mismatch {} option : output type already set".format(next_opt))
self.cmd_args.output_type = "xml"
return cmd_args[1:]

elif next_opt == "--codeactive":
self.cmd_args.code_active = True
Expand Down
44 changes: 44 additions & 0 deletions src/tangolib/generators/html/css/base.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
body{

font-family:"Times New Roman",Georgia,Serif;
background-color:#f8f8f8;
margin:10%;

}


.command[name="emph"]{

font-style:italic;

}


.command[name="strong"]{

font-weight:bold;

}

.environnement[name="abstract"]{


border-left:5px solid #d4d0d0;
padding-left:10px;

}

.section > span.titleSection{

font-size:large;
font-weight:bold;
border-bottom:1px solid #d4d0d0;
margin-bottom:10px;

}

.section{

margin-bottom:20px;

}
12 changes: 12 additions & 0 deletions src/tangolib/generators/html/css/premiere.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
h1 {
text-align: center;
}

.command {
font-size: 25px;
font-style: bold;
}

.section {
text-align: right;
}
Loading