S5 Themes Support
Added support for S5 Themes. Themes are stored in the public/s5/themes/ directory. 6 themes are included: default, nautilus, blue, flower, i18n, pixel.
|
@ -294,15 +294,20 @@ class WikiController < ApplicationController
|
||||||
|
|
||||||
def s5
|
def s5
|
||||||
if @web.markup == :markdownMML
|
if @web.markup == :markdownMML
|
||||||
@s5_content = sanitize_xhtml(Maruku.new(@page.content.delete("\r\x01-\x08\x0B\x0C\x0E-\x1F"),
|
my_content = Maruku.new(@page.content.delete("\r\x01-\x08\x0B\x0C\x0E-\x1F"),
|
||||||
{:math_enabled => true, :math_numbered => ['\\[','\\begin{equation}'], :content_only => true,
|
{:math_enabled => true, :math_numbered => ['\\[','\\begin{equation}'], :content_only => true,
|
||||||
:author => @page.author, :title => @page.plain_name}).to_s5.to_ncr)
|
:author => @page.author, :title => @page.plain_name})
|
||||||
|
@s5_content = sanitize_xhtml(my_content.to_s5.to_ncr)
|
||||||
|
@s5_theme = my_content.s5_theme
|
||||||
elsif @web.markup == :markdown
|
elsif @web.markup == :markdown
|
||||||
@s5_content = sanitize_xhtml(Maruku.new(@page.content.delete("\r\x01-\x08\x0B\x0C\x0E-\x1F"),
|
my_content = Maruku.new(@page.content.delete("\r\x01-\x08\x0B\x0C\x0E-\x1F"),
|
||||||
{:math_enabled => false, :content_only => true,
|
{:math_enabled => false, :content_only => true,
|
||||||
:author => @page.author, :title => @page.plain_name}).to_s5.to_ncr)
|
:author => @page.author, :title => @page.plain_name})
|
||||||
|
@s5_content = sanitize_xhtml(my_content.to_s5.to_ncr)
|
||||||
|
@s5_theme = my_content.s5_theme
|
||||||
else
|
else
|
||||||
@s5_content = "S5 not supported with this text filter"
|
@s5_content = "S5 not supported with this text filter"
|
||||||
|
@s5_theme = "default"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -13,15 +13,14 @@
|
||||||
<meta name="defaultView" content="slideshow" />
|
<meta name="defaultView" content="slideshow" />
|
||||||
<meta name="controlVis" content="hidden" />
|
<meta name="controlVis" content="hidden" />
|
||||||
<!-- style sheet links -->
|
<!-- style sheet links -->
|
||||||
<link rel="stylesheet" href="/s5/ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
|
<link rel="stylesheet" href="/s5/themes/<%=@s5_theme%>/slides.css" type="text/css" media="projection" id="slideProj" />
|
||||||
|
<link rel="stylesheet" href="/s5/ui/core/outline.css" type="text/css" media="screen" id="outlineStyle" />
|
||||||
<link rel="stylesheet" href="/s5/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
|
<link rel="stylesheet" href="/s5/ui/core/print.css" type="text/css" media="print" id="slidePrint" />
|
||||||
<link rel="stylesheet" href="/s5/ui/default/print.css" type="text/css" media="print" id="slidePrint" />
|
<link rel="stylesheet" href="/s5/ui/core/opera.css" type="text/css" media="projection" id="operaFix" />
|
||||||
<link rel="stylesheet" href="/s5/ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
|
<link rel="stylesheet" href="/s5/ui/core/math.css" type="text/css" media="all" id="mathStyle" />
|
||||||
<link rel="stylesheet" href="/s5/ui/default/math.css" type="text/css" media="all" id="mathStyle" />
|
|
||||||
|
|
||||||
<!-- S5 JS -->
|
<!-- S5 JS -->
|
||||||
<script src="/s5/ui/default/slides.js" type="text/javascript"></script>
|
<script src="/s5/ui/core/slides.js" type="text/javascript"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
|
BIN
public/s5/themes/blue/bodybg.gif
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
public/s5/themes/blue/footbg.gif
Normal file
After Width: | Height: | Size: 591 B |
100
public/s5/themes/blue/pretty.css
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
/* Blue Theme 2004 by Martin Hense :::www.lounge7.de */
|
||||||
|
|
||||||
|
html {background:#000294 url(splash.gif) right bottom no-repeat;}
|
||||||
|
body {color:#FFF;font-size:1.6em}
|
||||||
|
a {text-decoration:none;color:#336;border-bottom:1px dotted}
|
||||||
|
:link, :visited {text-decoration:none;color:#F8B73E}
|
||||||
|
h1, h2, h3, h4 {font-size:100%;margin:0;padding:0;font-weight:inherit}
|
||||||
|
h1 abbr {font-variant:small-caps}
|
||||||
|
ul, pre {margin:0;line-height:1em}
|
||||||
|
em {color:#c60}
|
||||||
|
strong {font-weight:bold}
|
||||||
|
html, body {margin:0;padding:0}
|
||||||
|
|
||||||
|
blockquote, q {font-style:italic}
|
||||||
|
blockquote {padding:0 2em 0.5em;margin:0 1.5em 0.5em;
|
||||||
|
text-align:center;font-size:1em}
|
||||||
|
blockquote p {margin:0}
|
||||||
|
blockquote i {font-style:normal}
|
||||||
|
blockquote b {display:block;margin-top:0.5em;font-weight:normal;
|
||||||
|
font-size:smaller;font-style:normal}
|
||||||
|
blockquote b i {font-style:italic}
|
||||||
|
|
||||||
|
kbd {font-weight:bold;font-size:1em}
|
||||||
|
sup {font-size:smaller;line-height:1px}
|
||||||
|
|
||||||
|
.slide code {padding:2px 0.25em;font-weight:bold;color:#AAABF8}
|
||||||
|
.slide code.bad, code del {color:red}
|
||||||
|
.slide code.old {color:silver}
|
||||||
|
.slide pre {padding:0;margin:0.25em 0 0.5em 0.5em;color:#533;font-size:90%}
|
||||||
|
.slide pre code {display:block}
|
||||||
|
.slide ul {margin-left:5%;margin-right:7%;list-style:disc}
|
||||||
|
.slide li {margin-top:0.75em;margin-right:0}
|
||||||
|
.slide ul ul {line-height:1}
|
||||||
|
.slide ul ul li {margin:.2em;font-size:85%;list-style:square}
|
||||||
|
.slide img.leader {display:block;margin:0 auto}
|
||||||
|
|
||||||
|
div#header, div#footer {width:100%;top:0;left:0}
|
||||||
|
div#header, div#footer {background:#005;color:#9183BF;
|
||||||
|
font-family:Verdana, Helvetica, sans-serif}
|
||||||
|
div#header {background:#005 url(bodybg.gif) -16px 0 no-repeat;}
|
||||||
|
div#footer {font-size:0.5em;font-weight:bold;padding:.75em 0;top:auto;
|
||||||
|
bottom:0px;border-top:1px solid #08093F;
|
||||||
|
background:#000136 url(footbg.gif) top right no-repeat}
|
||||||
|
#footer h1, #footer h2 {display:block;padding:0 1em}
|
||||||
|
#footer h2 {font-style:italic}
|
||||||
|
|
||||||
|
div.slide {top:0px;width:92%;padding:32px 4% 4%;overflow:visible;
|
||||||
|
font-family:georgia, Times, 'Times New Roman', serif;
|
||||||
|
background:transparent url(bodybg.gif) repeat-x}
|
||||||
|
div.slide h1 {position:absolute;left:87px;z-index:1;
|
||||||
|
white-space:nowrap;text-transform:capitalize;top:0;width:80%;
|
||||||
|
margin:0px auto;text-align:center;padding:0px;
|
||||||
|
font:36px georgia, Times, 'Times New Roman', serif;
|
||||||
|
color:#fff;background:transparent}
|
||||||
|
div.slide h3 {font-size:130%}
|
||||||
|
div.long {font-size:0.75em}
|
||||||
|
|
||||||
|
div#controls {position: absolute; left: 60%; bottom: 0;
|
||||||
|
width: 40%;
|
||||||
|
text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;}
|
||||||
|
html>body div#controls {position: fixed; padding: 0; top: auto;}
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
#controls #navLinks a {padding: 0; margin: 0 0.5em;
|
||||||
|
border: none; color: #779;
|
||||||
|
cursor: pointer;}
|
||||||
|
#controls #navList #jumplist {background: #DDD; color: #227;}
|
||||||
|
|
||||||
|
|
||||||
|
#currentSlide {font-size:0.5em;font-family:Verdana,Helvetica,sans-serif;
|
||||||
|
text-align:center;color:#9183BF}
|
||||||
|
#currentSlide span {font-size:13px;color:#fff}
|
||||||
|
#currentSlide #csSep {display:none}
|
||||||
|
#currentSlide #csHere {font-weight:bold}
|
||||||
|
#currentSlide #csHere:before {content:"#";font-weight:normal}
|
||||||
|
#currentSlide #csTotal:before {content:" of "}
|
||||||
|
|
||||||
|
#slide0 {padding:3.5em 0 0.5em 0;font-size:90%;width:100%}
|
||||||
|
#slide0 h1 {color:#fff;background:transparent;width:75%;text-align:center;
|
||||||
|
position:static;margin:1em auto;padding:0px;white-space:normal;
|
||||||
|
font:2em Georgia, Times, 'Times New Roman', serif;}
|
||||||
|
#slide0 h2 {margin:1em 0 2em 0;text-align:center;color:#fff}
|
||||||
|
#slide0 h3, #slide0 h4, #slide0 p {margin:0.25em;text-align:center;color:#fff}
|
||||||
|
#slide0 h3 {position:absolute:z-index:1:font-size:1.5em}
|
||||||
|
#slide0 h4 {position:absolute:z-index:1:font-size:1em}
|
||||||
|
#slide0 p {margin-top:0.7em}
|
||||||
|
|
||||||
|
ul.urls {list-style:none;display:inline;margin:0}
|
||||||
|
.urls li {display:inline;margin:0}
|
||||||
|
.note {display:none}
|
||||||
|
|
||||||
|
.incremental, .incremental *, .incremental *:after, .incremental code
|
||||||
|
{color:#000295;visibility:visible}
|
||||||
|
img.incremental {visibility:hidden}
|
||||||
|
.slide .current {color:#B02}
|
||||||
|
.flushtop {margin-top:0px}
|
||||||
|
|
||||||
|
/* diagnostics
|
||||||
|
li:after {content:" [" attr(class) "]";color:#F88}
|
||||||
|
*/
|
3
public/s5/themes/blue/slides.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
@import url(../../ui/core/s5-core.css); /* required to make the slide show run at all */
|
||||||
|
@import url(../../ui/core/framing.css); /* sets basic placement and size of slide components */
|
||||||
|
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
BIN
public/s5/themes/blue/splash.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
3
public/s5/themes/default/slides.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
@import url(../../ui/core/s5-core.css); /* required to make the slide show run at all */
|
||||||
|
@import url(../../ui/core/framing.css); /* sets basic placement and size of slide components */
|
||||||
|
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
BIN
public/s5/themes/flower/bodybg.jpg
Normal file
After Width: | Height: | Size: 6.6 KiB |
95
public/s5/themes/flower/pretty.css
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
/* Flower Theme 2004 by Martin Hense :::www.lounge7.de */
|
||||||
|
|
||||||
|
html {background:#fff url(bodybg.jpg) no-repeat;}
|
||||||
|
body {color:#222;font-size:1.6em}
|
||||||
|
a {text-decoration:none;color:#c60;border-bottom:1px dotted}
|
||||||
|
:link, :visited {text-decoration:none}
|
||||||
|
html, body {margin:0;padding:0}
|
||||||
|
h1,h2,h3,h4 {font-size:100%;margin:0;padding:0;font-weight:inherit}
|
||||||
|
h1 abbr {font-variant:small-caps}
|
||||||
|
em {color:#c60;font-weight:bold}
|
||||||
|
strong {font-weight:bold}
|
||||||
|
ul, pre {margin:0;line-height:1em}
|
||||||
|
li {margin-bottom:0.66em}
|
||||||
|
li li {margin:0.33em 0;font-size:smaller}
|
||||||
|
|
||||||
|
blockquote, q {font-style:italic}
|
||||||
|
blockquote {padding:0 2em 0.5em;margin:0 1.5em 0.5em;
|
||||||
|
text-align:center;font-size:1em}
|
||||||
|
blockquote p {margin:0}
|
||||||
|
blockquote i {font-style:normal}
|
||||||
|
blockquote b {display:block;margin-top:0.5em;font-weight:normal;
|
||||||
|
font-size:smaller;font-style:normal}
|
||||||
|
blockquote b i {font-style:italic}
|
||||||
|
|
||||||
|
kbd {font-weight:bold;font-size:1em}
|
||||||
|
sup {font-size:smaller;line-height:1px}
|
||||||
|
|
||||||
|
.slide code {padding:2px 0.25em;font-weight:bold;color:#533}
|
||||||
|
.slide code.bad, code del {color:red}
|
||||||
|
.slide code.old {color:silver}
|
||||||
|
.slide pre {padding:0;margin:0.25em 0 0.5em 0.5em;color:#533;font-size:90%}
|
||||||
|
.slide pre code {display:block}
|
||||||
|
.slide ul {margin-left:5%;margin-right:7%;padding:0;list-style:circle}
|
||||||
|
.slide li {margin-top:0.75em;margin-right:0}
|
||||||
|
.slide ul ul {line-height:1}
|
||||||
|
.slide ul ul li {margin:.2em;font-size:85%;list-style:disc}
|
||||||
|
.slide img.leader {display:block;margin:0 auto}
|
||||||
|
|
||||||
|
div#header, div#footer {width:100%;top:0px;left:0px}
|
||||||
|
div#header, div#footer {color:#BA9384;font-family:Verdana,Helvetica,sans-serif}
|
||||||
|
div#header {background:transparent;height:10px}
|
||||||
|
div#footer {background:#fff0cf;top:auto;bottom:0px;
|
||||||
|
font-size:0.5em;font-weight:bold;padding:.75em 0;border-top:1px solid #999}
|
||||||
|
#footer h1, #footer h2 {display:block;padding:0 1em}
|
||||||
|
#footer h2 {font-style:italic}
|
||||||
|
|
||||||
|
div.slide {top:0px;left:0px;padding:48px 4% 4%;height:100%;width:92%;
|
||||||
|
background:transparent url(rightbg.jpg) right top no-repeat;overflow:visible
|
||||||
|
font-family:georgia,times,'Times New Roman',serif}
|
||||||
|
div.slide h1 {position:absolute;z-index:1;background:transparent;
|
||||||
|
margin:0;padding:0.3em 0 0 50px;white-space:nowrap;
|
||||||
|
text-transform:capitalize;top:0;left:60px;color:#4A040A;
|
||||||
|
font:150%/1em georgia, times, 'Times New Roman', serif}
|
||||||
|
div.slide h3 {font-size:130%}
|
||||||
|
div.long {font-size:0.75em}
|
||||||
|
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
div#controls {position: absolute; left: 60%; bottom: 0;
|
||||||
|
width: 40%;
|
||||||
|
text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;}
|
||||||
|
html>body div#controls {position: fixed; padding: 0; top: auto;}
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
#controls #navLinks a {padding: 0; margin: 0 0.5em;
|
||||||
|
border: none; color: #BA9384;
|
||||||
|
cursor: pointer;}
|
||||||
|
#controls #navList #jumplist {background: #DDD; color: #227;}
|
||||||
|
|
||||||
|
#currentSlide {text-align:center;font-size:0.5em;
|
||||||
|
color:#646587;font-family:Verdana,Helvetica,sans-serif;font-weight:bold}
|
||||||
|
|
||||||
|
#slide0 {padding-top:3.5em;font-size:90%}
|
||||||
|
#slide0 h1 {position:static;margin:1em 0 1.33em;padding:0;
|
||||||
|
white-space:normal;color:#000;background:transparent;
|
||||||
|
font:2em georgia, times, 'Times New Roman', serif}
|
||||||
|
#slide0 h3 {margin-top:0.5em;font-size:1.5em}
|
||||||
|
#slide0 h4 {margin-top:0;font-size:1em}
|
||||||
|
|
||||||
|
ul.urls {list-style:none;display:inline;margin:0}
|
||||||
|
.urls li {display:inline;margin:0}
|
||||||
|
.note {display:none}
|
||||||
|
.external {border-bottom:1px dotted gray}
|
||||||
|
html>body .external {border-bottom:none}
|
||||||
|
.external:after {content:" \274F";font-size:smaller;color:#77B}
|
||||||
|
|
||||||
|
.incremental, .incremental *, .incremental *:after, .incremental code
|
||||||
|
{color:#DDE;visibility:visible}
|
||||||
|
img.incremental {visibility:hidden}
|
||||||
|
.slide .current {color:#B02}
|
||||||
|
.flushtop {margin-top:0px}
|
||||||
|
|
||||||
|
/* diagnostics
|
||||||
|
li:after {content:" [" attr(class) "]";color:#F88}
|
||||||
|
*/
|
BIN
public/s5/themes/flower/rightbg.jpg
Normal file
After Width: | Height: | Size: 2.2 KiB |
3
public/s5/themes/flower/slides.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
@import url(../../ui/core/s5-core.css); /* required to make the slide show run at all */
|
||||||
|
@import url(../../ui/core/framing.css); /* sets basic placement and size of slide components */
|
||||||
|
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
BIN
public/s5/themes/i18n/bodybg.jpg
Normal file
After Width: | Height: | Size: 30 KiB |
97
public/s5/themes/i18n/pretty.css
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
/* Following is i18n theme -- edit away! */
|
||||||
|
|
||||||
|
html {background:#95A7D4 url(bodybg.jpg) no-repeat;}
|
||||||
|
body {color:#210;font:25px Arial, sans-serif}
|
||||||
|
a {text-decoration:none;color:#336;border-bottom:1px dotted}
|
||||||
|
:link, :visited {text-decoration:none;color:#00C}
|
||||||
|
html, body {margin:0;padding:0}
|
||||||
|
h1, h2, h3, h4, h5, h6 {font-size:1em;margin:0}
|
||||||
|
h1 abbr {font-variant:small-caps}
|
||||||
|
em {color:#c60}
|
||||||
|
strong {font-weight:bold}
|
||||||
|
ul {margin-left:1em;padding-left:0}
|
||||||
|
li {margin-bottom:0.66em}
|
||||||
|
li li {margin:0.33em 0;font-size:smaller}
|
||||||
|
|
||||||
|
blockquote, q {font-style:italic}
|
||||||
|
blockquote {padding:0 2em 0.5em;margin:0 1.5em 0.5em;
|
||||||
|
text-align:center;font-size:1em}
|
||||||
|
blockquote p {margin:0}
|
||||||
|
blockquote i {font-style:normal}
|
||||||
|
blockquote b {display:block;margin-top:0.5em;font-weight:normal;
|
||||||
|
font-size:smaller;font-style:normal}
|
||||||
|
blockquote b i {font-style:italic}
|
||||||
|
|
||||||
|
kbd {font-weight:bold;font-size:1em}
|
||||||
|
sup {font-size:0.75em;font-weight:normal;vertical-align:0.5em;line-height:1px}
|
||||||
|
|
||||||
|
.slide code {padding:2px 0.25em;font-weight:bold;color:#533}
|
||||||
|
.slide code.bad, code del {color:red}
|
||||||
|
.slide code.old {color:silver}
|
||||||
|
.slide pre {padding:0;margin:0.25em 0 0.5em 0.5em;color:#533;font-size:90%}
|
||||||
|
.slide pre code {display:block}
|
||||||
|
.slide ul {margin-left:5%;margin-right:7%;list-style:disc}
|
||||||
|
.slide li {margin-top:0.75em;margin-right:0}
|
||||||
|
.slide ul ul {line-height:1}
|
||||||
|
.slide ul ul li {margin:.2em;font-size:85%;list-style:square}
|
||||||
|
.slide img.leader {display:block;margin:0 auto}
|
||||||
|
|
||||||
|
div#header, div#footer, div.slide {width:100%;top:0px;left:0px}
|
||||||
|
div#header, div#footer {color:#AAB;font-size:0.5em}
|
||||||
|
div#header {background:#666;color:#BBB;height:1em;padding-bottom:.5em}
|
||||||
|
div#footer {background:#666;color:#BBB;height:3.25em;top:auto;bottom:0px;}
|
||||||
|
#footer h1, #footer h2 {display:block;padding:0.5em 0.75em;
|
||||||
|
font-weight:normal;font-style:italic}
|
||||||
|
#footer h1 {left:0;font-size:1em;letter-spacing:1px}
|
||||||
|
#footer h2 {position:absolute;bottom:0;left:0}
|
||||||
|
|
||||||
|
div.slide {top:0px;width:92%;padding:.5em 4% 4%}
|
||||||
|
div.slide h1 {font-size:1.66em;line-height:1;letter-spacing:-1px;
|
||||||
|
margin:0px;padding:0.25em 0px;border-bottom:2px solid rgb(90,94,120)}
|
||||||
|
div.slide h3 {font-size:130%}
|
||||||
|
div.long {font-size:0.75em}
|
||||||
|
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
div#controls {position:absolute;left:50%;bottom:0;width:50%;
|
||||||
|
text-align:right;font:bold 0.7em Verdana, Helvetica, sans-serif}
|
||||||
|
html>body div#controls {position:fixed;padding:0 0 1em 0;top:auto}
|
||||||
|
div#controls form {position:absolute;bottom:0;right:0;width:100%;
|
||||||
|
margin:0;padding:0}
|
||||||
|
#controls #navLinks a {padding:0;margin:0 0.5em 0;background:#666;
|
||||||
|
border:none;color:#AAC;cursor:pointer}
|
||||||
|
#controls #navList {height:1em}
|
||||||
|
#controls #navList #jumplist {position:absolute;bottom:0;right:0;
|
||||||
|
background:#DDD;color:#227}
|
||||||
|
|
||||||
|
#currentSlide {font-size:0.5em}
|
||||||
|
#currentSlide span {font-size:13px;color:#fff}
|
||||||
|
#currentSlide #csSep {display:none}
|
||||||
|
#currentSlide #csHere {font-weight:bold}
|
||||||
|
#currentSlide #csHere:before {content:"#";font-weight:normal}
|
||||||
|
#currentSlide #csTotal:before {content:" of "}
|
||||||
|
|
||||||
|
#slide0 {padding-top:3.5em;font-size:90%}
|
||||||
|
#slide0 h1 {position:static;margin:1em 0 0;padding:0;
|
||||||
|
font:bold 2em Helvetica, sans-serif;white-space:normal;
|
||||||
|
color:#000;background:transparent}
|
||||||
|
#slide0 h2 {font:bold italic 1em Helvetica, sans-serif;margin:0.25em}
|
||||||
|
#slide0 h3 {margin-top:1.5em;font-size:1.5em}
|
||||||
|
#slide0 h4 {margin-top:0;font-size:1em}
|
||||||
|
|
||||||
|
ul.urls {list-style:none;display:inline;margin:0}
|
||||||
|
.urls li {display:inline;margin:0}
|
||||||
|
.note {display:none}
|
||||||
|
.external {border-bottom:1px dotted gray}
|
||||||
|
html>body .external {border-bottom:none}
|
||||||
|
.external:after {content:" \274F";font-size:smaller;color:#77B}
|
||||||
|
|
||||||
|
.incremental, .incremental *, .incremental *:after, .incremental code
|
||||||
|
{color:#95A7D8;visibility:visible}
|
||||||
|
img.incremental {visibility:hidden}
|
||||||
|
.slide .current {color:#B02}
|
||||||
|
.flushtop {margin-top:0px}
|
||||||
|
|
||||||
|
/* diagnostics
|
||||||
|
li:after {content:" [" attr(class) "]";color:#F88}
|
||||||
|
*/
|
3
public/s5/themes/i18n/slides.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
@import url(../../ui/core/s5-core.css); /* required to make the slide show run at all */
|
||||||
|
@import url(../../ui/core/framing.css); /* sets basic placement and size of slide components */
|
||||||
|
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
0
public/s5/ui/default/bodybg.gif → public/s5/themes/nautilus/bodybg.gif
Executable file → Normal file
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
91
public/s5/themes/nautilus/pretty.css
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
/* Following is the default theme -- edit away! */
|
||||||
|
|
||||||
|
html {background:#FFF url(bodybg.gif) -16px 0 no-repeat;}
|
||||||
|
body {color:#000;font-size:1.6em}
|
||||||
|
a {text-decoration:none;color:#c60;border-bottom:1px dotted}
|
||||||
|
:link, :visited {text-decoration:none;color:#00C}
|
||||||
|
html, body {margin:0;padding:0}
|
||||||
|
h1,h2,h3,h4 {font-size:100%;margin:0;padding:0;font-weight:inherit}
|
||||||
|
h1 abbr {font-variant:small-caps}
|
||||||
|
em {color:#c60}
|
||||||
|
strong {font-weight:bold}
|
||||||
|
ul, pre {margin:0;line-height:1em}
|
||||||
|
li {margin-bottom:0.66em}
|
||||||
|
li li {margin:0.33em 0;font-size:smaller}
|
||||||
|
|
||||||
|
blockquote, q {font-style:italic}
|
||||||
|
blockquote {padding:0 2em 0.5em;margin:0 1.5em 0.5em;
|
||||||
|
text-align:center;font-size:1em}
|
||||||
|
blockquote p {margin:0}
|
||||||
|
blockquote i {font-style:normal}
|
||||||
|
blockquote b {display:block;margin-top:0.5em;font-weight:normal;
|
||||||
|
font-size:smaller;font-style:normal}
|
||||||
|
blockquote b i {font-style:italic}
|
||||||
|
|
||||||
|
kbd {font-weight:bold;font-size:1em}
|
||||||
|
sup {font-size:smaller;line-height:1px}
|
||||||
|
|
||||||
|
.slide code {padding:2px 0.25em;font-weight:bold;color:#533}
|
||||||
|
.slide code.bad, code del {color:red}
|
||||||
|
.slide code.old {color:silver}
|
||||||
|
.slide pre {padding:0;margin:0.25em 0 0.5em 0.5em;color:#533;font-size:90%}
|
||||||
|
.slide pre code {display:block}
|
||||||
|
.slide ul {margin-left:5%;margin-right:7%;list-style:disc}
|
||||||
|
.slide li {margin-top:0.75em;margin-right:0}
|
||||||
|
.slide ul ul {line-height:1}
|
||||||
|
.slide ul ul li {margin:.2em;font-size:85%;list-style:square}
|
||||||
|
.slide img.leader {display:block;margin:0 auto}
|
||||||
|
|
||||||
|
div#header, div#footer, div.slide {width:100%;top:0px;left:0px}
|
||||||
|
div#header, div#footer {color:#AAB;font-family:Verdana,Helvetica,sans-serif}
|
||||||
|
div#header {background:#005 url(bodybg.gif) -16px 0 no-repeat;height:2.5em}
|
||||||
|
div#footer {background:#005;height:2.5em;top:auto;bottom:0px;
|
||||||
|
font-size:0.5em;font-weight:bold;padding:1em 0}
|
||||||
|
#footer h1, #footer h2 {display:block;padding:0 1em}
|
||||||
|
#footer h2 {font-style:italic}
|
||||||
|
|
||||||
|
div.slide {top:0px;width:92%;padding:2.5em 4% 4%}
|
||||||
|
div.slide h1 {position:absolute;top:0;left:87px;z-index:1;color:#DDE;
|
||||||
|
text-align-left;white-space:nowrap;text-transform:capitalize;
|
||||||
|
margin:0px;padding:0.3em 0 0 50px;font:bold 150%/1em Helvetica,sans-serif}
|
||||||
|
div.slide h3 {font-size:130%}
|
||||||
|
div.long {font-size:0.75em}
|
||||||
|
|
||||||
|
div#controls {position: absolute; left: 60%; bottom: 0;
|
||||||
|
width: 40%;
|
||||||
|
text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;}
|
||||||
|
html>body div#controls {position: fixed; padding: 0; top: auto;}
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
#controls #navLinks a {padding: 0; margin: 0 0.5em;
|
||||||
|
border: none; color: #779;
|
||||||
|
cursor: pointer;}
|
||||||
|
#controls #navList #jumplist {background: #DDD; color: #227;}
|
||||||
|
|
||||||
|
#currentSlide {text-align:center;font-size:0.5em;
|
||||||
|
color:#fff;font-family:Verdana,Helvetica,sans-serif;font-weight:bold}
|
||||||
|
|
||||||
|
#slide0 {padding-top:3.5em;font-size:90%}
|
||||||
|
#slide0 h1 {position:static;white-space:normal;
|
||||||
|
margin:1em 0 0;padding:0;font:bold 2em Helvetica,sans-serif;
|
||||||
|
color:#000;background:transparent}
|
||||||
|
#slide0 h2 {font:bold italic 1em Helvetica, sans-serif;margin:0.25em}
|
||||||
|
#slide0 h3 {margin-top:1.5em;font-size:1.5em}
|
||||||
|
#slide0 h4 {margin-top:0;font-size:1em}
|
||||||
|
|
||||||
|
ul.urls {list-style:none;display:inline;margin:0}
|
||||||
|
.urls li {display:inline;margin:0}
|
||||||
|
.note {display:none}
|
||||||
|
.external {border-bottom:1px dotted gray}
|
||||||
|
html>body .external {border-bottom:none}
|
||||||
|
.external:after {content:" \274F";font-size:smaller;color:#77B}
|
||||||
|
|
||||||
|
.incremental, .incremental *, .incremental *:after, .incremental code
|
||||||
|
{color:#DDE;visibility:visible}
|
||||||
|
img.incremental {visibility:hidden}
|
||||||
|
.slide .current {color:#B02}
|
||||||
|
.flushtop {margin-top:0px}
|
||||||
|
|
||||||
|
/* diagnostics
|
||||||
|
li:after {content:" [" attr(class) "]";color:#F88}
|
||||||
|
*/
|
3
public/s5/themes/nautilus/slides.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
@import url(../../ui/core/s5-core.css); /* required to make the slide show run at all */
|
||||||
|
@import url(../../ui/core/framing.css); /* sets basic placement and size of slide components */
|
||||||
|
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
BIN
public/s5/themes/pixel/bodybg.gif
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
public/s5/themes/pixel/headbg.jpg
Normal file
After Width: | Height: | Size: 3.5 KiB |
114
public/s5/themes/pixel/pretty.css
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
/* Pixel Theme 2004 by Martin Hense :::www.lounge7.de */
|
||||||
|
|
||||||
|
html {background:transparent url(bodybg.gif) repeat-y;}
|
||||||
|
body {color:#08093F;font-size:1.5em}
|
||||||
|
a {text-decoration:none;color:#336;border-bottom:1px dotted}
|
||||||
|
:link, :visited {text-decoration:none}
|
||||||
|
html, body {margin:0;padding:0}
|
||||||
|
h1, h2, h3, h4 {font-size:100%;margin:0;padding:0;font-weight:inherit}
|
||||||
|
h1 abbr {font-variant:small-caps}
|
||||||
|
em {color:#c60}
|
||||||
|
strong {font-weight:bold}
|
||||||
|
ul, pre {margin:0;line-height:1em}
|
||||||
|
li {margin-bottom:0.66em}
|
||||||
|
li li {margin:0.33em 0;font-size:smaller}
|
||||||
|
|
||||||
|
blockquote, q {font-style:italic}
|
||||||
|
blockquote {padding:0 2em 0.5em;margin:0 1.5em 0.5em;
|
||||||
|
text-align:center;font-size:1em}
|
||||||
|
blockquote p {margin:0}
|
||||||
|
blockquote i {font-style:normal}
|
||||||
|
blockquote b {display:block;margin-top:0.5em;font-weight:normal;
|
||||||
|
font-size:smaller;font-style:normal}
|
||||||
|
blockquote b i {font-style:italic}
|
||||||
|
|
||||||
|
kbd {font-weight:bold;font-size:1em}
|
||||||
|
sup {font-size:smaller;line-height:1px}
|
||||||
|
|
||||||
|
.slide code {padding:2px 0.25em;font-weight:bold;color:#533}
|
||||||
|
.slide code.bad, code del {color:red}
|
||||||
|
.slide code.old {color:silver}
|
||||||
|
.slide pre {padding:0;margin:0.25em 0 0.5em 0.5em;color:#533;font-size:90%}
|
||||||
|
.slide pre code {display:block}
|
||||||
|
.slide ul {margin-left:50px;margin-right:7%;list-style:square}
|
||||||
|
.slide li {margin-top:0.75em;margin-right:0}
|
||||||
|
.slide ul ul {line-height:1}
|
||||||
|
.slide ul ul li {margin:.2em;font-size:85%;list-style:square}
|
||||||
|
.slide img.leader {display:block;margin:0 auto}
|
||||||
|
|
||||||
|
div#header, div#footer, div.slide {width:100%;top:0px;left:0px}
|
||||||
|
div#header, div#footer {color:#646587;font-family:Verdana, Helvetica, sans-serif}
|
||||||
|
div#header {background:transparent url(headbg.jpg) 0 0 no-repeat;height:80px}
|
||||||
|
div#footer {background:#fff;font-size:0.5em;font-weight:bold;padding:.5em 0;
|
||||||
|
top:auto;bottom:0px;height:2em;border-top:1px solid #08093F}
|
||||||
|
#footer h1, #footer h2 {display:block;padding:0 1em}
|
||||||
|
#footer h2 {font-style:italic}
|
||||||
|
|
||||||
|
div.slide {top:0px;width:92%;padding:48px 4% 4%;
|
||||||
|
font-family:Verdana, Helvetica, Arial, sans-serif}
|
||||||
|
div.slide h1 {position:absolute;top:24px;left:64px;z-index:1;color:#FFF;
|
||||||
|
background:transparent;margin:0px;padding:0 0 0 50px;white-space:nowrap;
|
||||||
|
font:bold 30px Helvetica, sans-serif;text-transform:capitalize}
|
||||||
|
div.slide h3 {font-size:130%}
|
||||||
|
div.long {font-size:0.75em}
|
||||||
|
/*
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
div#controls {left:50%;bottom:0;z-index:1;width:50%;text-align:right;
|
||||||
|
height:100%}
|
||||||
|
html>body div#controls {position:fixed;padding:0 0 1em 0;top:auto}
|
||||||
|
div#controls form {position:absolute;bottom:0;right:0;width:100%;
|
||||||
|
margin:0;padding:0}
|
||||||
|
div#controls #navLinks a {padding:0;margin:0 0.5em;color:#779;
|
||||||
|
border:none;cursor:pointer}
|
||||||
|
div#controls #navList {height:1em}
|
||||||
|
div#controls #navList #jumplist {position:absolute;bottom:0;right:0;
|
||||||
|
background:#DDD;color:#227}
|
||||||
|
div#controls select {visibility:hidden;background:#DDD;color:#227}
|
||||||
|
div#controls div:hover select {visibility:visible}
|
||||||
|
*/
|
||||||
|
div#controls {position: absolute; left: 60%; bottom: 0;
|
||||||
|
width: 40%;
|
||||||
|
text-align: right; font: bold 0.7em Verdana, Helvetica, sans-serif;}
|
||||||
|
html>body div#controls {position: fixed; padding: 0; top: auto;}
|
||||||
|
#controls :active {color:#88A !important}
|
||||||
|
#controls :focus {outline:1px dotted #227}
|
||||||
|
#controls #navLinks a {padding: 0; margin: 0 0.5em;
|
||||||
|
border: none; color: #779;
|
||||||
|
cursor: pointer;}
|
||||||
|
#controls #navList #jumplist {background: #DDD; color: #227;}
|
||||||
|
|
||||||
|
#currentSlide {color:#646587;text-align:center;font-size:0.5em;
|
||||||
|
font-family:Verdana, Helvetica, sans-serif;font-weight:bold}
|
||||||
|
#currentSlide span {font-size:13px;color:#08093F}
|
||||||
|
#currentSlide #csSep {display:none}
|
||||||
|
#currentSlide #csHere {font-weight:bold}
|
||||||
|
#currentSlide #csHere:before {content:"#";font-weight:normal}
|
||||||
|
#currentSlide #csTotal:before {content:" of "}
|
||||||
|
|
||||||
|
#slide0 {padding-top:3.5em;font-size:90%}
|
||||||
|
#slide0 h1 {position:static;white-space:normal;
|
||||||
|
margin:0;padding:60px 60px 0 150px;text-align:right;
|
||||||
|
font:bold 2em Helvetica,sans-serif;white-space:normal;height:281px;
|
||||||
|
color:#fff;background:transparent url(slide0bg.gif) no-repeat}
|
||||||
|
#slide0 h3 {margin-bottom:20px;margin-top:0.5em;font-size:1.5em}
|
||||||
|
#slide0 h4 {margin-bottom:4px;margin-top:0;font-size:1em}
|
||||||
|
|
||||||
|
ul.urls {list-style:none;display:inline;margin:0}
|
||||||
|
.urls li {display:inline;margin:0}
|
||||||
|
.note {display:none}
|
||||||
|
.urls li {display:inline;margin:0}
|
||||||
|
.note {display:none}
|
||||||
|
.external {border-bottom:1px dotted gray}
|
||||||
|
html>body .external {border-bottom:none}
|
||||||
|
.external:after {content:" \274F";font-size:smaller;color:#77B}
|
||||||
|
|
||||||
|
.incremental, .incremental *, .incremental *:after, .incremental code
|
||||||
|
{color:#DDE;visibility:visible}
|
||||||
|
img.incremental {visibility:hidden}
|
||||||
|
.slide .current {color:#B02}
|
||||||
|
.flushtop {margin-top:0px}
|
||||||
|
|
||||||
|
/* diagnostics
|
||||||
|
li:after {content:" [" attr(class) "]";color:#F88}
|
||||||
|
*/
|
BIN
public/s5/themes/pixel/slide0bg.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
3
public/s5/themes/pixel/slides.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
@import url(../../ui/core/s5-core.css); /* required to make the slide show run at all */
|
||||||
|
@import url(../../ui/core/framing.css); /* sets basic placement and size of slide components */
|
||||||
|
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
Before Width: | Height: | Size: 49 B After Width: | Height: | Size: 49 B |
BIN
public/s5/ui/core/bodybg.gif
Executable file
After Width: | Height: | Size: 9.9 KiB |
|
@ -1,3 +0,0 @@
|
||||||
@import url(s5-core.css); /* required to make the slide show run at all */
|
|
||||||
@import url(framing.css); /* sets basic placement and size of slide components */
|
|
||||||
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
|
|
@ -3,6 +3,17 @@ module MaRuKu
|
||||||
|
|
||||||
class MDDocument
|
class MDDocument
|
||||||
|
|
||||||
|
def s5_theme
|
||||||
|
html_escape(self.attributes[:slide_theme] || "default")
|
||||||
|
end
|
||||||
|
|
||||||
|
def html_escape(string)
|
||||||
|
string.gsub( /&/, "&" ).
|
||||||
|
gsub( /</, "<" ).
|
||||||
|
gsub( />/, ">" ).
|
||||||
|
gsub( /"/, """ )
|
||||||
|
end
|
||||||
|
|
||||||
# Render as an HTML fragment (no head, just the content of BODY). (returns a string)
|
# Render as an HTML fragment (no head, just the content of BODY). (returns a string)
|
||||||
def to_s5(context={})
|
def to_s5(context={})
|
||||||
indent = context[:indent] || -1
|
indent = context[:indent] || -1
|
||||||
|
|