diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 37e0c822..4e8f1498 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -294,15 +294,20 @@ class WikiController < ApplicationController def s5 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, - :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 - @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, - :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 @s5_content = "S5 not supported with this text filter" + @s5_theme = "default" end end diff --git a/app/views/wiki/s5.rhtml b/app/views/wiki/s5.rhtml index 37e2eb86..a0ad6397 100644 --- a/app/views/wiki/s5.rhtml +++ b/app/views/wiki/s5.rhtml @@ -13,15 +13,14 @@ - - - - - - + + + + + - + diff --git a/public/s5/themes/blue/bodybg.gif b/public/s5/themes/blue/bodybg.gif new file mode 100644 index 00000000..9f1c257b Binary files /dev/null and b/public/s5/themes/blue/bodybg.gif differ diff --git a/public/s5/themes/blue/footbg.gif b/public/s5/themes/blue/footbg.gif new file mode 100644 index 00000000..6fe83f2c Binary files /dev/null and b/public/s5/themes/blue/footbg.gif differ diff --git a/public/s5/themes/blue/pretty.css b/public/s5/themes/blue/pretty.css new file mode 100644 index 00000000..f935d36c --- /dev/null +++ b/public/s5/themes/blue/pretty.css @@ -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} +*/ diff --git a/public/s5/themes/blue/slides.css b/public/s5/themes/blue/slides.css new file mode 100644 index 00000000..3637d728 --- /dev/null +++ b/public/s5/themes/blue/slides.css @@ -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 */ diff --git a/public/s5/themes/blue/splash.gif b/public/s5/themes/blue/splash.gif new file mode 100644 index 00000000..938a0795 Binary files /dev/null and b/public/s5/themes/blue/splash.gif differ diff --git a/public/s5/ui/default/pretty.css b/public/s5/themes/default/pretty.css similarity index 100% rename from public/s5/ui/default/pretty.css rename to public/s5/themes/default/pretty.css diff --git a/public/s5/themes/default/slides.css b/public/s5/themes/default/slides.css new file mode 100644 index 00000000..3637d728 --- /dev/null +++ b/public/s5/themes/default/slides.css @@ -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 */ diff --git a/public/s5/themes/flower/bodybg.jpg b/public/s5/themes/flower/bodybg.jpg new file mode 100644 index 00000000..248743c9 Binary files /dev/null and b/public/s5/themes/flower/bodybg.jpg differ diff --git a/public/s5/themes/flower/pretty.css b/public/s5/themes/flower/pretty.css new file mode 100644 index 00000000..080454c8 --- /dev/null +++ b/public/s5/themes/flower/pretty.css @@ -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} +*/ diff --git a/public/s5/themes/flower/rightbg.jpg b/public/s5/themes/flower/rightbg.jpg new file mode 100644 index 00000000..430d2117 Binary files /dev/null and b/public/s5/themes/flower/rightbg.jpg differ diff --git a/public/s5/themes/flower/slides.css b/public/s5/themes/flower/slides.css new file mode 100644 index 00000000..3637d728 --- /dev/null +++ b/public/s5/themes/flower/slides.css @@ -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 */ diff --git a/public/s5/themes/i18n/bodybg.jpg b/public/s5/themes/i18n/bodybg.jpg new file mode 100644 index 00000000..6be0296d Binary files /dev/null and b/public/s5/themes/i18n/bodybg.jpg differ diff --git a/public/s5/themes/i18n/pretty.css b/public/s5/themes/i18n/pretty.css new file mode 100644 index 00000000..ac0b7e27 --- /dev/null +++ b/public/s5/themes/i18n/pretty.css @@ -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} +*/ diff --git a/public/s5/themes/i18n/slides.css b/public/s5/themes/i18n/slides.css new file mode 100644 index 00000000..3637d728 --- /dev/null +++ b/public/s5/themes/i18n/slides.css @@ -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 */ diff --git a/public/s5/ui/default/bodybg.gif b/public/s5/themes/nautilus/bodybg.gif old mode 100755 new mode 100644 similarity index 100% rename from public/s5/ui/default/bodybg.gif rename to public/s5/themes/nautilus/bodybg.gif diff --git a/public/s5/themes/nautilus/pretty.css b/public/s5/themes/nautilus/pretty.css new file mode 100644 index 00000000..76194cb8 --- /dev/null +++ b/public/s5/themes/nautilus/pretty.css @@ -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} +*/ diff --git a/public/s5/themes/nautilus/slides.css b/public/s5/themes/nautilus/slides.css new file mode 100644 index 00000000..3637d728 --- /dev/null +++ b/public/s5/themes/nautilus/slides.css @@ -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 */ diff --git a/public/s5/themes/pixel/bodybg.gif b/public/s5/themes/pixel/bodybg.gif new file mode 100644 index 00000000..a57ccb10 Binary files /dev/null and b/public/s5/themes/pixel/bodybg.gif differ diff --git a/public/s5/themes/pixel/headbg.jpg b/public/s5/themes/pixel/headbg.jpg new file mode 100644 index 00000000..3c0f13b1 Binary files /dev/null and b/public/s5/themes/pixel/headbg.jpg differ diff --git a/public/s5/themes/pixel/pretty.css b/public/s5/themes/pixel/pretty.css new file mode 100644 index 00000000..f627134a --- /dev/null +++ b/public/s5/themes/pixel/pretty.css @@ -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} +*/ diff --git a/public/s5/themes/pixel/slide0bg.gif b/public/s5/themes/pixel/slide0bg.gif new file mode 100644 index 00000000..fffb08a2 Binary files /dev/null and b/public/s5/themes/pixel/slide0bg.gif differ diff --git a/public/s5/themes/pixel/slides.css b/public/s5/themes/pixel/slides.css new file mode 100644 index 00000000..3637d728 --- /dev/null +++ b/public/s5/themes/pixel/slides.css @@ -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 */ diff --git a/public/s5/ui/default/blank.gif b/public/s5/ui/core/blank.gif similarity index 100% rename from public/s5/ui/default/blank.gif rename to public/s5/ui/core/blank.gif diff --git a/public/s5/ui/core/bodybg.gif b/public/s5/ui/core/bodybg.gif new file mode 100755 index 00000000..5f448a16 Binary files /dev/null and b/public/s5/ui/core/bodybg.gif differ diff --git a/public/s5/ui/default/framing.css b/public/s5/ui/core/framing.css similarity index 100% rename from public/s5/ui/default/framing.css rename to public/s5/ui/core/framing.css diff --git a/public/s5/ui/default/iepngfix.htc b/public/s5/ui/core/iepngfix.htc similarity index 100% rename from public/s5/ui/default/iepngfix.htc rename to public/s5/ui/core/iepngfix.htc diff --git a/public/s5/ui/default/math.css b/public/s5/ui/core/math.css similarity index 100% rename from public/s5/ui/default/math.css rename to public/s5/ui/core/math.css diff --git a/public/s5/ui/default/notes.css b/public/s5/ui/core/notes.css similarity index 100% rename from public/s5/ui/default/notes.css rename to public/s5/ui/core/notes.css diff --git a/public/s5/ui/default/opera.css b/public/s5/ui/core/opera.css similarity index 100% rename from public/s5/ui/default/opera.css rename to public/s5/ui/core/opera.css diff --git a/public/s5/ui/default/outline.css b/public/s5/ui/core/outline.css similarity index 100% rename from public/s5/ui/default/outline.css rename to public/s5/ui/core/outline.css diff --git a/public/s5/ui/default/print.css b/public/s5/ui/core/print.css similarity index 100% rename from public/s5/ui/default/print.css rename to public/s5/ui/core/print.css diff --git a/public/s5/ui/default/s5-core.css b/public/s5/ui/core/s5-core.css similarity index 100% rename from public/s5/ui/default/s5-core.css rename to public/s5/ui/core/s5-core.css diff --git a/public/s5/ui/default/slides.js b/public/s5/ui/core/slides.js similarity index 100% rename from public/s5/ui/default/slides.js rename to public/s5/ui/core/slides.js diff --git a/public/s5/ui/default/slides.css b/public/s5/ui/default/slides.css deleted file mode 100644 index 0786d7db..00000000 --- a/public/s5/ui/default/slides.css +++ /dev/null @@ -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 */ \ No newline at end of file diff --git a/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb b/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb index a94ad14e..6aa3cdba 100644 --- a/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb +++ b/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb @@ -2,6 +2,17 @@ module MaRuKu class MDDocument + + def s5_theme + html_escape(self.attributes[:slide_theme] || "default") + end + + def html_escape(string) + string.gsub( /&/, "&" ). + gsub( //, ">" ). + gsub( /"/, """ ) + end # Render as an HTML fragment (no head, just the content of BODY). (returns a string) def to_s5(context={})