Workshop material.
commit
5bfea4421f
@ -0,0 +1,83 @@
|
|||||||
|
@page {
|
||||||
|
/* width and height. In this case for an A5 */
|
||||||
|
size: 148.5mm 210mm;
|
||||||
|
/* OR */
|
||||||
|
/* size: A5 portrait; */
|
||||||
|
padding: 0;
|
||||||
|
marks: crop;
|
||||||
|
bleed: 5mm;
|
||||||
|
margin: 25mm;
|
||||||
|
/* Bigger bleed as weasyprint draws the cropmarks within the bleed*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@page {
|
||||||
|
@bottom-center {
|
||||||
|
/**
|
||||||
|
On every page display the value of the page counter at the bottom center.
|
||||||
|
The page counter is a special counter created by weasyprint.
|
||||||
|
*/
|
||||||
|
content: counter(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@page:right {
|
||||||
|
/**
|
||||||
|
Use a pseudo-selector on the page to display page numbers on right pages
|
||||||
|
on the right.
|
||||||
|
*/
|
||||||
|
@bottom-right {
|
||||||
|
content: counter(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@page:left {
|
||||||
|
/**
|
||||||
|
Use a pseudo-selector on the page to display page numbers on left pages
|
||||||
|
on the left.
|
||||||
|
*/
|
||||||
|
@bottom-left {
|
||||||
|
content: counter(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@page:first {
|
||||||
|
/**
|
||||||
|
Selects the first page of the documents. Allows for example for hiding
|
||||||
|
the page numbers on the cover and / or different page margins there.
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@page:empty {
|
||||||
|
/**
|
||||||
|
According to the standards this selector should select empty pages.
|
||||||
|
In my experience it doesn't always work.
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Running headers */
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
/**
|
||||||
|
When a header 1 is encoutered set the value of the string
|
||||||
|
running-header to the value of the header
|
||||||
|
*/
|
||||||
|
string-set: running-header content(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
@page {
|
||||||
|
@bottom-center {
|
||||||
|
/**
|
||||||
|
On every page display the value of running-header at
|
||||||
|
that moment
|
||||||
|
*/
|
||||||
|
content: string(running-header);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#toc li a::after {
|
||||||
|
float: right;
|
||||||
|
content: target-counter(attr(href), page);
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Hello world</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>
|
||||||
|
Hello world.
|
||||||
|
</h1>
|
||||||
|
<p>This document started as a website.</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,4 @@
|
|||||||
|
from weasyprint import HTML
|
||||||
|
|
||||||
|
# Let weasyprint deal with reading the files and give the filenames
|
||||||
|
HTML(filename='hello-world.html').write_pdf('hello-world.pdf')
|
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
@ -0,0 +1,320 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Presentation Session 1</title>
|
||||||
|
<link rel="stylesheet" href="static/slidy.css">
|
||||||
|
<style>
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Belgika;
|
||||||
|
src: url(static/fonts/belgika/belgika-40th-webfont.ttf) format('truetype');
|
||||||
|
font-weight: 200;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Belgika;
|
||||||
|
src: url(static/fonts/belgika/belgika-16th-webfont.ttf) format('truetype');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Belgika;
|
||||||
|
src: url(static/fonts/belgika/belgika-8th-webfont.ttf) format('truetype');
|
||||||
|
font-weight: 600;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: Belgika;
|
||||||
|
src: url(static/fonts/belgika/belgika-5th-webfont.ttf) format('truetype');
|
||||||
|
font-weight: 800;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide img {
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide.text {
|
||||||
|
display: block;
|
||||||
|
padding: 4vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
body, html {
|
||||||
|
font-family: Belgika;
|
||||||
|
background-color: black;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, a:active, a:visited, a:hover, a:link {
|
||||||
|
color: currentColor;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
p, pre, ul, ol, blockquote, h2, h3, h4, h5, h6, dl, table {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<!-- <div class="slide">
|
||||||
|
<img src="../Tools-shapes-practice-shapes-tools-osp.png" />
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Html-to-print as a lay-out tool</h1>
|
||||||
|
<p>
|
||||||
|
Pad: <a href="https://pad.constantvzw.org/p/prado_workshop_weasyprint">pad.constantvzw.org/p/prado_workshop_weasyprint</a><br>
|
||||||
|
Repository: <a href="https://gitlab.constantvzw.org/algolit/prado-weasyprint-workshop">gitlab.constantvzw.org/algolit/prado-weasyprint-workshop</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Anaïs Berck</h1>
|
||||||
|
<a href="https://www.anaisberck.be/">anaisberck.be</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Open Source Publishing</h1>
|
||||||
|
<p>Graphic design collective using only Free/Libre Open Source Software.</p>
|
||||||
|
<a href="http://osp.kitchen">osp.kitchen</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide">
|
||||||
|
<img src="images/Tools-shapes-practice-shapes-tools-osp.png" style="filter: invert(1);" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Algolit</h1>
|
||||||
|
<p>Research group exploring the potential of algorithmic literature.</p>
|
||||||
|
<a href="https://algolit.net">algolit.net</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Examples ? -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Algoliterary encounter
|
||||||
|
|
||||||
|
PDF: https://gitlab.constantvzw.org/algolit/algolit/-/raw/master/algoliterary_encounter/catalog/pdf/catalog.en.pagenumbers.pdf
|
||||||
|
Repo: https://gitlab.constantvzw.org/algolit/algolit/-/tree/master/algoliterary_encounter/catalog
|
||||||
|
-->
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Algoliterary encounter</h1>
|
||||||
|
<a href="https://gitlab.constantvzw.org/algolit/algolit/-/raw/master/algoliterary_encounter/catalog/pdf/catalog.en.pagenumbers.pdf">PDF of the publication</a><br />
|
||||||
|
<a href="https://gitlab.constantvzw.org/algolit/algolit/-/tree/master/algoliterary_encounter/catalog">Git repository</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Dataworkers
|
||||||
|
|
||||||
|
Plain text to PDF
|
||||||
|
|
||||||
|
PDF: https://www.algolit.net/images/4/47/Data-workers.en.publication.pdf
|
||||||
|
Repo: https://git.vvvvvvaria.org/mb/data-workers-publication
|
||||||
|
-->
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Data Workers</h1>
|
||||||
|
<a href="https://www.algolit.net/images/4/47/Data-workers.en.publication.pdf">PDF of the publication</a><br />
|
||||||
|
<a href="https://git.vvvvvvaria.org/mb/data-workers-publication">Git repository</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
DiVersions
|
||||||
|
|
||||||
|
Html 2 pdf
|
||||||
|
|
||||||
|
Web: https://diversions.constantvzw.org/
|
||||||
|
PDF: https://diversions.constantvzw.org/publication/diversions_v2.pdf
|
||||||
|
Web PDF Preview: https://diversions.constantvzw.org/wiki/index.php?title=PublicationUnfolded&paged=pagedðerstyles=etherstyles
|
||||||
|
Repo: https://gitlab.constantvzw.org/osp/work.diversions
|
||||||
|
|
||||||
|
-->
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Data Workers</h1>
|
||||||
|
<a href="https://diversions.constantvzw.org/">diversions.constantvzw.org</a><br />
|
||||||
|
<a href="https://diversions.constantvzw.org/publication/diversions_v2.pdf">PDF of the publication</a><br />
|
||||||
|
<a href="https://diversions.constantvzw.org/wiki/index.php?title=PublicationUnfolded&paged=pagedðerstyles=etherstyles">Run it online</a><br />
|
||||||
|
<a href="https://gitlab.constantvzw.org/osp/work.diversions">Git repository</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Graph with publishing flows -->
|
||||||
|
|
||||||
|
<!-- Directly from the browser? -->
|
||||||
|
|
||||||
|
<!-- Weasyprint -->
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Tools of today</h1>
|
||||||
|
<ul>
|
||||||
|
<li>HTML + CSS</li>
|
||||||
|
<li>Python</li>
|
||||||
|
<li>Terminal / shell / command line</li>
|
||||||
|
<li>Weasyprint</li>
|
||||||
|
<li>Code editor.<br />It's not F/LOSS, but I like Microsoft VS Code: <a href="https://code.visualstudio.com">code.visualstudio.com</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>HTML + CSS</h1>
|
||||||
|
<p>A web browser!</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Python</h1>
|
||||||
|
<p>Scripting language.</p>
|
||||||
|
<p>To see if it's installed: open a terminal and type:</p>
|
||||||
|
<code><pre>python3 --version</pre></code>
|
||||||
|
<p>Expected output, a number like: <code><pre>Python 3.6.9</pre></code></p>
|
||||||
|
<p>If you don't have python installed it might be: <code><pre>Command not found</pre></code></p>
|
||||||
|
<p>Download python: <a href="https://www.python.org/downloads/">https://www.python.org/downloads/</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Weasyprint</h1>
|
||||||
|
<p>Python library to convert HTML + CSS to a PDF</p>
|
||||||
|
<p>Install through the terminal:</p>
|
||||||
|
<code><pre>pip3 install weasyprint</pre></code>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Possible to automate and better support for paged media -->
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>Directly from commandline</h1>
|
||||||
|
<code><pre>weasyprint http://weasyprint.org weasyprint-website.pdf</pre></code>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>As library in a script</h1>
|
||||||
|
<code><pre>from weasyprint import HTML
|
||||||
|
|
||||||
|
HTML(filename=html_filename).write_pdf(output_pdf_filename)</pre></code>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>CSS: Control page size</h2>
|
||||||
|
<code>
|
||||||
|
<pre>@page {
|
||||||
|
/* width and height. In this case for an A5 */
|
||||||
|
size: 148.5mm 210mm;
|
||||||
|
/* OR */
|
||||||
|
/* size: A5 portrait; */
|
||||||
|
padding: 0;
|
||||||
|
marks: crop;
|
||||||
|
bleed: 5mm;
|
||||||
|
margin: 25mm;
|
||||||
|
/* Bigger bleed as weasyprint draws the cropmarks within the bleed*/
|
||||||
|
}</pre>
|
||||||
|
</code>
|
||||||
|
</div>
|
||||||
|
<!-- Specific problems with paged media? -->
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>CSS: Page numbers</h2>
|
||||||
|
<code>
|
||||||
|
<pre>@page {
|
||||||
|
@bottom-center {
|
||||||
|
/**
|
||||||
|
On every page display the value of the page counter at the bottom center.
|
||||||
|
The page counter is a special counter created by weasyprint.
|
||||||
|
*/
|
||||||
|
content: counter(page);
|
||||||
|
}
|
||||||
|
}</pre>
|
||||||
|
</code>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>CSS: Fancy page numbers</h2>
|
||||||
|
<code>
|
||||||
|
<pre>@page:right {
|
||||||
|
/**
|
||||||
|
Use a pseudo-selector on the page to display page numbers on right pages
|
||||||
|
on the right.
|
||||||
|
*/
|
||||||
|
@bottom-right {
|
||||||
|
content: counter(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@page:left {
|
||||||
|
/**
|
||||||
|
Use a pseudo-selector on the page to display page numbers on left pages
|
||||||
|
on the left.
|
||||||
|
*/
|
||||||
|
@bottom-left {
|
||||||
|
content: counter(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</pre></code>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>CSS: Special pages</h2>
|
||||||
|
<code>
|
||||||
|
<pre>@page:first {
|
||||||
|
/**
|
||||||
|
Selects the first page of the documents. Allows for example for hiding
|
||||||
|
the page numbers on the cover and / or different page margins there.
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@page:empty {
|
||||||
|
/**
|
||||||
|
According to the standards this selector should select empty pages.
|
||||||
|
In my experience it doesn't always work.
|
||||||
|
*/
|
||||||
|
}</pre>
|
||||||
|
</code>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="slide text">
|
||||||
|
<h1>CSS: Running headers</h2>
|
||||||
|
<code>
|
||||||
|
<pre>h1 {
|
||||||
|
/**
|
||||||
|
When a header 1 is encoutered set the value of the string
|
||||||
|
running-header to the value of the header
|
||||||
|
*/
|
||||||
|
string-set: running-header content(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
@page {
|
||||||
|
@bottom-center {
|
||||||
|
/**
|
||||||
|
On every page display the value of running-header at
|
||||||
|
that moment
|
||||||
|
*/
|
||||||
|
content: string(running-header);
|
||||||
|
}
|
||||||
|
}</pre>
|
||||||
|
</code>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="static/slidy.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,3 @@
|
|||||||
|
All content of this directory are for reference only.
|
||||||
|
They are all owned by their specific right-holders.
|
||||||
|
You can watch them for inspiration as well but cannot re-use them without contacting the concerned persons.
|
@ -0,0 +1,93 @@
|
|||||||
|
Copyright (c) 2014-2015, Pierre Huyghebaert (pierre@speculoos.com),
|
||||||
|
with Reserved Font Names Balgica and Balgika (see http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web_fonts_and_RFNs#14cbfd4a).
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,403 @@
|
|||||||
|
/* slidy.css
|
||||||
|
|
||||||
|
Copyright (c) 2005-2010 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
||||||
|
W3C liability, trademark, document use and software licensing
|
||||||
|
rules apply, see:
|
||||||
|
|
||||||
|
http://www.w3.org/Consortium/Legal/copyright-documents
|
||||||
|
http://www.w3.org/Consortium/Legal/copyright-software
|
||||||
|
*/
|
||||||
|
body
|
||||||
|
{
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: black;
|
||||||
|
background-color: white;
|
||||||
|
font-family: "Gill Sans MT", "Gill Sans", GillSans, sans-serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toolbar {
|
||||||
|
position: fixed; z-index: 200;
|
||||||
|
top: auto; bottom: 0; left: 0; right: 0;
|
||||||
|
height: 1.2em; text-align: right;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
font-size: 60%;
|
||||||
|
color: red;
|
||||||
|
background-color: rgb(240,240,240);
|
||||||
|
border-top: solid 1px rgb(180,180,180);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toolbar span.copyright {
|
||||||
|
color: black;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.initial_prompt {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1000;
|
||||||
|
bottom: 1.2em;
|
||||||
|
width: 100%;
|
||||||
|
background-color: rgb(200,200,200);
|
||||||
|
opacity: 0.35;
|
||||||
|
background-color: rgba(200,200,200, 0.35);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.initial_prompt p.help {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.initial_prompt p.close {
|
||||||
|
text-align: right;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slidy_toc {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 300;
|
||||||
|
width: 60%;
|
||||||
|
max-width: 30em;
|
||||||
|
height: 30em;
|
||||||
|
overflow: auto;
|
||||||
|
top: auto;
|
||||||
|
right: auto;
|
||||||
|
left: 4em;
|
||||||
|
bottom: 4em;
|
||||||
|
padding: 1em;
|
||||||
|
background: rgb(240,240,240);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
font-size: 60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slidy_toc .toc_heading {
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
border-bottom-color: rgb(180,180,180);
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide {
|
||||||
|
z-index: 20;
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-right: 20px;
|
||||||
|
border-width: 0;
|
||||||
|
clear: both;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
line-height: 120%;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.background {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.handout {
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide.titlepage {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide.titlepage h1 {
|
||||||
|
padding-top: 10%;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.slide h1 {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 20pt;
|
||||||
|
padding-top: 4pt;
|
||||||
|
padding-bottom: 4pt;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 60pt;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
display: block;
|
||||||
|
font-size: 160%;
|
||||||
|
line-height: 1.2em;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-device-width: 1024px)
|
||||||
|
{
|
||||||
|
div.slide { font-size: 100%; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-device-width: 800px)
|
||||||
|
{
|
||||||
|
div.slide { font-size: 200%; }
|
||||||
|
div.slidy_toc {
|
||||||
|
top: 1em;
|
||||||
|
left: 1em;
|
||||||
|
right: auto;
|
||||||
|
width: 80%;
|
||||||
|
font-size: 180%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
div.toc-heading {
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: solid 1px rgb(180,180,180);
|
||||||
|
margin-bottom: 1em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
image-rendering: optimize-quality;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-size: 80%;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 120%;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
padding-bottom: 0.2em;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
border-style: solid;
|
||||||
|
border-left-width: 1em;
|
||||||
|
border-top-width: thin;
|
||||||
|
border-right-width: thin;
|
||||||
|
border-bottom-width: thin;
|
||||||
|
border-color: #95ABD0;
|
||||||
|
color: #00428C;
|
||||||
|
background-color: #E4E5E7;
|
||||||
|
}
|
||||||
|
|
||||||
|
li pre { margin-left: 0; }
|
||||||
|
|
||||||
|
blockquote { font-style: italic }
|
||||||
|
|
||||||
|
img { background-color: transparent }
|
||||||
|
|
||||||
|
p.copyright { font-size: smaller }
|
||||||
|
|
||||||
|
.center { text-align: center }
|
||||||
|
.footnote { font-size: smaller; margin-left: 2em; }
|
||||||
|
|
||||||
|
a img { border-width: 0; border-style: none }
|
||||||
|
|
||||||
|
a:visited { color: navy }
|
||||||
|
a:link { color: navy }
|
||||||
|
a:hover { color: red; text-decoration: underline }
|
||||||
|
a:active { color: red; text-decoration: underline }
|
||||||
|
|
||||||
|
a {text-decoration: none}
|
||||||
|
.toolbar a:link {color: blue}
|
||||||
|
.toolbar a:visited {color: blue}
|
||||||
|
.toolbar a:active {color: red}
|
||||||
|
.toolbar a:hover {color: red}
|
||||||
|
|
||||||
|
ul { list-style-type: square; }
|
||||||
|
ul ul { list-style-type: disc; }
|
||||||
|
ul ul ul { list-style-type: circle; }
|
||||||
|
ul ul ul ul { list-style-type: disc; }
|
||||||
|
li { margin-left: 0.5em; margin-top: 0.5em; }
|
||||||
|
li li { font-size: 85%; font-style: italic }
|
||||||
|
li li li { font-size: 85%; font-style: normal }
|
||||||
|
|
||||||
|
div dt
|
||||||
|
{
|
||||||
|
margin-left: 0;
|
||||||
|
margin-top: 1em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
div dd
|
||||||
|
{
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
p,pre,ul,ol,blockquote,h2,h3,h4,h5,h6,dl,table {
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.subhead { font-weight: bold; margin-top: 2em; }
|
||||||
|
|
||||||
|
.smaller { font-size: smaller }
|
||||||
|
.bigger { font-size: 130% }
|
||||||
|
|
||||||
|
td,th { padding: 0.2em }
|
||||||
|
|
||||||
|
ul {
|
||||||
|
margin: 0.5em 1.5em 0.5em 1.5em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
margin: 0.5em 1.5em 0.5em 1.5em;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul { list-style-type: square; }
|
||||||
|
ul ul { list-style-type: disc; }
|
||||||
|
ul ul ul { list-style-type: circle; }
|
||||||
|
ul ul ul ul { list-style-type: disc; }
|
||||||
|
|
||||||
|
ul li {
|
||||||
|
list-style: square;
|
||||||
|
margin: 0.1em 0em 0.6em 0;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
line-height: 140%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol li {
|
||||||
|
margin: 0.1em 0em 0.6em 1.5em;
|
||||||
|
padding: 0 0 0 0px;
|
||||||
|
line-height: 140%;
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
li ul li {
|
||||||
|
font-size: 85%;
|
||||||
|
font-style: italic;
|
||||||
|
list-style-type: disc;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
li li ul li {
|
||||||
|
font-size: 85%;
|
||||||
|
font-style: normal;
|
||||||
|
list-style-type: circle;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
li li li ul li {
|
||||||
|
list-style-type: disc;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
li ol li {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
li li ol li {
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
setting class="outline on ol or ul makes it behave as an
|
||||||
|
ouline list where blocklevel content in li elements is
|
||||||
|
hidden by default and can be expanded or collapsed with
|
||||||
|
mouse click. Set class="expand" on li to override default
|
||||||
|
*/
|
||||||
|
|
||||||
|
ol.outline li:hover { cursor: pointer }
|
||||||
|
ol.outline li.nofold:hover { cursor: default }
|
||||||
|
|
||||||
|
ul.outline li:hover { cursor: pointer }
|
||||||
|
ul.outline li.nofold:hover { cursor: default }
|
||||||
|
|
||||||
|
ol.outline { list-style:decimal; }
|
||||||
|
ol.outline ol { list-style-type:lower-alpha }
|
||||||
|
|
||||||
|
ol.outline li.nofold {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.unfolded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.folded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.unfolded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ol.outline li.folded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.outline li.nofold {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/nofold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.unfolded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.folded {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold-dim.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.unfolded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/fold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
ul.outline li.folded:hover {
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
background: transparent url(../graphics/unfold.gif) no-repeat 0px 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* for slides with class "title" in table of contents */
|
||||||
|
a.titleslide { font-weight: bold; font-style: italic }
|
||||||
|
|
||||||
|
/*
|
||||||
|
hide images for work around for save as bug
|
||||||
|
where browsers fail to save images used by CSS
|
||||||
|
*/
|
||||||
|
img.hidden { display: none; visibility: hidden }
|
||||||
|
div.initial_prompt { display: none; visibility: hidden }
|
||||||
|
|
||||||
|
div.slide {
|
||||||
|
visibility: visible;
|
||||||
|
position: inherit;
|
||||||
|
}
|
||||||
|
div.handout {
|
||||||
|
border-top-style: solid;
|
||||||
|
border-top-width: thin;
|
||||||
|
border-top-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen {
|
||||||
|
.hidden { display: none; visibility: visible }
|
||||||
|
|
||||||
|
div.slide.hidden { display: block; visibility: visible }
|
||||||
|
div.handout.hidden { display: block; visibility: visible }
|
||||||
|
div.background { display: none; visibility: hidden }
|
||||||
|
body.single_slide div.initial_prompt { display: block; visibility: visible }
|
||||||
|
body.single_slide div.background { display: block; visibility: visible }
|
||||||
|
body.single_slide div.background.hidden { display: none; visibility: hidden }
|
||||||
|
body.single_slide .invisible { visibility: hidden }
|
||||||
|
body.single_slide .hidden { display: none; visibility: hidden }
|
||||||
|
body.single_slide div.slide { position: absolute }
|
||||||
|
body.single_slide div.handout { display: none; visibility: hidden }
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
.hidden { display: block; visibility: visible }
|
||||||
|
|
||||||
|
div.slide pre { font-size: 60%; padding-left: 0.5em; }
|
||||||
|
div.toolbar { display: none; visibility: hidden; }
|
||||||
|
div.slidy_toc { display: none; visibility: hidden; }
|
||||||
|
div.background { display: none; visibility: hidden; }
|
||||||
|
div.slide { page-break-before: always }
|
||||||
|
/* :first-child isn't reliable for print media */
|
||||||
|
div.slide.first-slide { page-break-before: avoid }
|
||||||
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue