From 6d66ceff54d470d238250c73ab484d496bf296db Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Rekucki?= Date: Thu, 8 Oct 2009 15:08:34 +0200 Subject: [PATCH] Wersja CSS do druku. --- apps/api/handlers/library_handlers.py | 4 +- apps/explorer/views.py | 2 + project/static/css/html_print.css | 225 ++++++++++++++++++++++++++ project/templates/html4print.html | 2 +- 4 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 project/static/css/html_print.css diff --git a/apps/api/handlers/library_handlers.py b/apps/api/handlers/library_handlers.py index 4435fe96..e80d75c6 100644 --- a/apps/api/handlers/library_handlers.py +++ b/apps/api/handlers/library_handlers.py @@ -216,7 +216,7 @@ class DocumentHTMLHandler(BaseHandler): allowed_methods = ('GET') @hglibrary - def read(self, request, docid, lib): + def read(self, request, docid, lib, stylesheet='partial'): """Read document as html text""" try: revision = request.GET.get('revision', 'latest') @@ -231,7 +231,7 @@ class DocumentHTMLHandler(BaseHandler): 'message': 'Provided revision refers, to document "%s", but provided "%s"' % (document.id, docid) }) return librarian.html.transform(document.data('xml'), is_file=False, \ - parse_dublincore=False, stylesheet="partial",\ + parse_dublincore=False, stylesheet=stylesheet,\ options={ "with-paths": 'boolean(1)', }) diff --git a/apps/explorer/views.py b/apps/explorer/views.py index 7a42b432..82376fc1 100644 --- a/apps/explorer/views.py +++ b/apps/explorer/views.py @@ -116,6 +116,8 @@ def file_upload(request, repo): @login_required def print_html(request, **kwargs): from api.resources import document_html_resource + + kwargs['stylesheet'] = 'legacy' output = document_html_resource.handler.read(request, **kwargs) diff --git a/project/static/css/html_print.css b/project/static/css/html_print.css new file mode 100644 index 00000000..8b199b99 --- /dev/null +++ b/project/static/css/html_print.css @@ -0,0 +1,225 @@ +/* Style widoku HTML. Nie należy tu ustawiać position ani marginesów */ +.htmlview { + font-size: 16px; + font: Georgia, "Times New Roman", serif; + line-height: 1.5em; + padding: 3em; +} + +.htmlview div { + max-width: 36em; +} + +.htmlview #toc { + display: none; +} + +.htmlview a { + color: blue; + text-decoration: none; +} + +.htmlview h1 { + font-size: 3em; + margin: 1.5em 0; + text-align: center; + line-height: 1.5em; + font-weight: bold; +} + +.htmlview h2 { + font-size: 2em; + margin: 1.5em 0 0; + font-weight: bold; + line-height: 1.5em; +} + +.htmlview h3 { + font-size: 1.5em; + margin: 1.5em 0 0; + font-weight: normal; + line-height: 1.5em; +} + +.htmlview h4 { + font-size: 1em; + margin: 1.5em 0 0; + line-height: 1.5em; +} + +.htmlview p { + margin: 0; +} + +/* ======================== */ +/* = Footnotes and themes = */ +/* ======================== */ +.htmlview .theme-begin { + border-left: 0.1em solid #DDDDDD; + color: #777; + padding: 0 0.5em; + width: 7.5em; + font-style: normal; + font-weight: normal; + font-size: 16px; + float: right; + margin-right: -9.5em; + clear: both; + left: 40em; + line-height: 1.5em; + text-align: left; +} + +.htmlview .annotation { + font-style: normal; + font-weight: normal; + font-size: 12px; +} + +.htmlview #footnotes .annotation { + display: block; + float: left; + width: 2.5em; + clear: both; +} + +.htmlview #footnotes div { + margin: 1.5em 0 0 0; +} + +.htmlview #footnotes p { + margin-left: 2.5em; + font-size: 0.875em; +} + +.htmlview blockquote { + font-size: 0.875em; +} + +/* ============= */ +/* = Numbering = */ +/* ============= */ +.htmlview .anchor { + position: relative; + margin: 0em; + left: -2.2em; + color: #777; + font-size: 12px; + width: 2em; + text-align: center; + padding: 0.25em 0.7em; + line-height: 1.5em; +} + +.htmlview .anchor:hover, .htmlview .anchor:active { + color: #FFF; + background-color: #CCC; +} + +/* =================== */ +/* = Custom elements = */ +/* =================== */ +.htmlview span.author { + font-size: 0.5em; + display: block; + line-height: 1.5em; + margin-bottom: 0.25em; +} + +.htmlview span.collection { + font-size: 0.375em; + display: block; + line-height: 1.5em; + margin-bottom: -0.25em; +} + +.htmlview span.subtitle { + font-size: 0.5em; + display: block; + line-height: 1.5em; + margin-top: -0.25em; +} + +.htmlview div.didaskalia { + font-style: italic; + margin: 0.5em 0 0 1.5em; +} + +.htmlview div.kwestia { + margin: 0.5em 0 0; +} + +.htmlview div.stanza { + margin: 1.5em 0 0; +} + +.htmlview div.kwestia div.stanza { + margin: 0; +} + +.htmlview p.paragraph { + text-align: justify; + margin: 1.5em 0 0; +} + +.htmlview p.motto { + text-align: justify; + font-style: italic; + margin: 1.5em 0 0; +} + +.htmlview p.motto_podpis { + font-size: 0.875em; + text-align: right; +} + +.htmlview div.fragment { + border-bottom: 0.1em solid #999; + padding-bottom: 1.5em; +} + +.htmlview div.note p, .htmlview div.dedication p, +.htmlview div.note p.paragraph, .htmlview div.dedication p.paragraph { + text-align: right; + font-style: italic; +} + +.htmlview hr.spacer { + height: 3em; + visibility: hidden; +} + +.htmlview hr.spacer-line { + margin: 1.5em 0; + border: none; + border-bottom: 0.1em solid #000; +} + +.htmlview p.spacer-asterisk { + padding: 0; + margin: 1.5em 0; + text-align: center; +} + +.htmlview div.person-list ol { + list-style: none; + padding: 0 0 0 1.5em; +} + +.htmlview p.place-and-time { + font-style: italic; +} + +.htmlview em.math, .htmlview em.foreign-word, +.htmlview em.book-title, .htmlview em.didaskalia { + font-style: italic; +} + +.htmlview em.author-emphasis { + letter-spacing: 0.1em; +} + +.htmlview em.person { + font-style: normal; + font-variant: small-caps; +} diff --git a/project/templates/html4print.html b/project/templates/html4print.html index 53a798a1..1b4ef319 100644 --- a/project/templates/html4print.html +++ b/project/templates/html4print.html @@ -2,7 +2,7 @@ {{docid}} - + -- 2.20.1