Permalink
Browse files

first commit

  • Loading branch information...
0 parents commit 430dd0ebca915cbf6c10577429dd3afaf0166cbb @geraldb geraldb committed Aug 15, 2011
Showing with 5,955 additions and 0 deletions.
  1. +3 −0 .gitignore
  2. +37 −0 README.markdown
  3. BIN pictures/cover.jpg
  4. BIN pictures/picture.jpg
  5. +6 −0 pictures/semantics.svg
  6. +34 −0 sample.markdown
  7. +213 −0 scripts/script.js
  8. +47 −0 shower.license.txt
  9. +59 −0 shower.txt
  10. +54 −0 slides.html.erb
  11. +626 −0 themes/ribbon/fonts/DroidSansMono.svg
  12. BIN themes/ribbon/fonts/DroidSansMono.ttf
  13. +728 −0 themes/ribbon/fonts/PTSans.Bold.Italic.svg
  14. BIN themes/ribbon/fonts/PTSans.Bold.Italic.ttf
  15. BIN themes/ribbon/fonts/PTSans.Bold.Italic.woff
  16. +728 −0 themes/ribbon/fonts/PTSans.Bold.svg
  17. BIN themes/ribbon/fonts/PTSans.Bold.ttf
  18. BIN themes/ribbon/fonts/PTSans.Bold.woff
  19. +728 −0 themes/ribbon/fonts/PTSans.Italic.svg
  20. BIN themes/ribbon/fonts/PTSans.Italic.ttf
  21. BIN themes/ribbon/fonts/PTSans.Italic.woff
  22. +728 −0 themes/ribbon/fonts/PTSans.Narrow.Bold.svg
  23. BIN themes/ribbon/fonts/PTSans.Narrow.Bold.ttf
  24. BIN themes/ribbon/fonts/PTSans.Narrow.Bold.woff
  25. +728 −0 themes/ribbon/fonts/PTSans.Narrow.svg
  26. BIN themes/ribbon/fonts/PTSans.Narrow.ttf
  27. BIN themes/ribbon/fonts/PTSans.Narrow.woff
  28. +728 −0 themes/ribbon/fonts/PTSans.svg
  29. BIN themes/ribbon/fonts/PTSans.ttf
  30. BIN themes/ribbon/fonts/PTSans.woff
  31. BIN themes/ribbon/fonts/TargetBlank.otf
  32. +14 −0 themes/ribbon/fonts/TargetBlank.svg
  33. BIN themes/ribbon/images/grid.png
  34. BIN themes/ribbon/images/linen.png
  35. +4 −0 themes/ribbon/images/ribbon.svg
  36. +63 −0 themes/ribbon/styles/fonts.css
  37. +42 −0 themes/ribbon/styles/reset.css
  38. +385 −0 themes/ribbon/styles/style.css
@@ -0,0 +1,3 @@
+# Komodo Project Files
+
+*.kpf
@@ -0,0 +1,37 @@
+
+## Slide Show (S9) Template Pack - Shower (Ribbon Theme)
+
+The [Shower](https://github.com/pepelsbey/shower) package by Vadim Makeev bundled up into
+a Slide Show (S9) template pack.
+
+Note, the package is configured to use the following headers in `slides.html.erb`:
+
+ author: Your Name Here
+ title: Your Slide Show Title Here
+
+## Try It Yourself - How To Use the Template Pack
+
+If you want to try it yourself, install (fetch) the new template pack. Issue the command:
+
+ $ slideshow -f https://github.com/geraldb/slideshow-shower/raw/master/shower.txt
+
+To check if the new template got installed, use the `-l/--list` switch/command:
+
+ $ slideshow -l
+
+Listing something like:
+
+ Installed templates include:
+ shower.txt (/home/gerald/.slideshow/templates/shower/shower.txt)
+
+Now you're ready to use it using the `-t/--template` switch. Example:
+
+ $ slideshow -t shower.txt tutorial
+
+That's it.
+
+## Questions? Comments?
+
+Questions? Comments?
+Send them along to the [Free Web Slide Show Alternatives (S5, S6, S9, Slidy And Friends) Forum/Mailing List](http://groups.google.com/group/webslideshow).
+Thanks!
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256.155 256.155">
+ <title>HTML5 Semantics Logo</title>
+ <polygon id="chevron" fill="#0174A7" points="128.106,0 0,64.744 0,107.32 128.106,42.577 256.155,107.32 256.155,64.744"/>
+ <use xlink:href="#chevron" y="74.316" />
+ <use xlink:href="#chevron" y="148.653" />
+</svg>
@@ -0,0 +1,34 @@
+title: Shower Presentation Template
+author: Vadim Makeev, Opera Software
+
+%% todo: add support for breaking slides on h2 instead of h1 to s9 generator
+
+# Header
+
+This `<tool>` is provided __without__ warranty, guarantee,
+or much in the way of explanation. Note that use of this tool may or may
+not crash _your_ browser.
+
+# Unordered List
+
+- This tool is provided
+- Without warranty, guarantee
+- Or much in the way of explanation
+ - Note that use of this tool
+ - May or may not crash your browser
+ - Lock up your machine
+- Erase your hard drive
+
+# Ordered List
+
+1. Note that use of this tool
+2. Erase your hard drive.
+3. May or may not crash your browser
+ 1. This tool is provided
+ 2. Or much in the way of explanation
+ 3. Without warranty, guarantee
+4. Lock up your machine
+
+# Thank You
+
+Questions? Comments?
@@ -0,0 +1,213 @@
+(function () {
+ var url = window.location,
+ body = document.body,
+ slides = document.querySelectorAll('div.slide'),
+ progress = document.querySelector('div.progress div'),
+ slideList = [],
+ l = slides.length,
+ i;
+
+ for (i = 0; i < l; i++) {
+ slideList.push(slides[i].id);
+ }
+
+ function getTransform() {
+ var denominator = Math.max(
+ body.clientWidth / window.innerWidth,
+ body.clientHeight / window.innerHeight
+ );
+
+ return 'scale(' + (1 / denominator) + ')';
+ }
+
+ function applyTransform(transform) {
+ body.style.MozTransform = transform;
+ body.style.WebkitTransform = transform;
+ body.style.OTransform = transform;
+ body.style.msTransform = transform;
+ body.style.transform = transform;
+ }
+
+ function enterSingleSlideMode() {
+ body.className = 'full';
+ applyTransform(getTransform());
+ }
+
+ function enterSlideListMode() {
+ body.className = 'list';
+ applyTransform('none');
+ }
+
+ function getCurrentSlideNumber() {
+ return slideList.indexOf(url.hash.substr(1));
+ }
+
+ function scrollToCurrentSlide() {
+ var current_slide = document.getElementById(slideList[getCurrentSlideNumber()]);
+
+ if (null != current_slide) {
+ window.scrollTo(0, current_slide.offsetTop);
+ }
+ }
+
+ function isSlideListMode() {
+ return 'full' !== url.search.substr(1);
+ }
+
+ function normalizeSlideNumber(slide_number) {
+ if (0 > slide_number) {
+ return slideList.length - 1;
+ } else if (slideList.length <= slide_number) {
+ return 0;
+ } else {
+ return slide_number;
+ }
+ }
+
+ function updateProgress(slide_number) {
+ if (!progress) return;
+ progress.style.width = (100 / (slideList.length - 1) * normalizeSlideNumber(slide_number)).toFixed(2) + '%';
+ }
+
+ function getSlideHashByNumber(slide_number) {
+ return '#' + slideList[normalizeSlideNumber(slide_number)];
+ }
+
+ function goToSlide(slide_number) {
+ url.hash = getSlideHashByNumber(slide_number);
+
+ if (!isSlideListMode()) {
+ updateProgress(slide_number);
+ }
+ }
+
+ window.addEventListener('DOMContentLoaded', function () {
+ if (!isSlideListMode()) {
+ // "?full" is present without slide hash so we should display first
+ // slide
+ if ( -1 === getCurrentSlideNumber() ) {
+ history.replaceState(null, null, url.pathname + '?full' + getSlideHashByNumber( 0 ) );
+ }
+
+ enterSingleSlideMode();
+ updateProgress(getCurrentSlideNumber());
+ }
+ }, false);
+
+ window.addEventListener('popstate', function (e) {
+ if (isSlideListMode()) {
+ enterSlideListMode();
+ scrollToCurrentSlide();
+ } else {
+ enterSingleSlideMode();
+ }
+ }, false);
+
+ window.addEventListener('resize', function (e) {
+ if (!isSlideListMode()) {
+ applyTransform(getTransform());
+ }
+ }, false);
+
+ document.addEventListener('keydown', function (e) {
+ if (e.altKey || e.ctrlKey || e.metaKey) return;
+
+ var current_slide_number = getCurrentSlideNumber();
+
+ switch (e.which) {
+ case 9: // Tab = +1; Shift + Tab = -1
+ if (isSlideListMode()) {
+ e.preventDefault();
+
+ current_slide_number += e.shiftKey ? -1 : 1;
+ url.hash = getSlideHashByNumber(current_slide_number);
+ }
+ break;
+
+ case 13: // Enter
+ if (isSlideListMode()) {
+ e.preventDefault();
+
+ history.pushState(null, null, url.pathname + '?full' + getSlideHashByNumber(current_slide_number));
+ enterSingleSlideMode();
+
+ updateProgress(current_slide_number);
+ }
+ break;
+
+ case 27: // Esc
+ if (!isSlideListMode()) {
+ e.preventDefault();
+
+ history.pushState(null, null, url.pathname + getSlideHashByNumber(current_slide_number));
+ enterSlideListMode();
+ scrollToCurrentSlide();
+ }
+ break;
+
+ case 33: // PgUp
+ case 38: // Up
+ case 37: // Left
+ case 72: // h
+ case 75: // k
+ e.preventDefault();
+
+ current_slide_number--;
+ goToSlide(current_slide_number);
+ break;
+
+ case 34: // PgDown
+ case 40: // Down
+ case 39: // Right
+ case 76: // l
+ case 74: // j
+ e.preventDefault();
+
+ current_slide_number++;
+ goToSlide(current_slide_number);
+ break;
+
+ case 36: // Home
+ e.preventDefault();
+
+ current_slide_number = 0;
+ goToSlide(current_slide_number);
+ break;
+
+ case 35: // End
+ e.preventDefault();
+
+ current_slide_number = slideList.length - 1;
+ goToSlide(current_slide_number);
+ break;
+
+ case 32: // Space = +1; Shift + Space = -1
+ e.preventDefault();
+
+ current_slide_number += e.shiftKey ? -1 : 1;
+ goToSlide(current_slide_number);
+ break;
+
+ default:
+ // Behave as usual
+ }
+ }, false);
+
+ document.addEventListener('click', function (e) {
+ if (
+ 'SECTION' === e.target.nodeName &&
+ -1 !== e.target.parentNode.parentNode.className.indexOf('slide') &&
+ isSlideListMode()
+ ) {
+ e.preventDefault();
+
+ // NOTE: we should update hash to get things work properly
+ url.hash = '#' + e.target.parentNode.parentNode.id;
+ history.replaceState(null, null, url.pathname + '?full#' + e.target.parentNode.parentNode.id);
+ enterSingleSlideMode();
+
+ updateProgress(getCurrentSlideNumber());
+ }
+ }, false);
+
+}());
@@ -0,0 +1,47 @@
+The MIT License
+
+Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+Лицензия MIT
+
+Copyright © 2010–2011 Вадим Макеев, http://pepelsbey.net/
+
+Данная лицензия разрешает лицам, получившим копию данного программного обеспечения
+и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»),
+безвозмездно использовать Программное Обеспечение без ограничений, включая
+неограниченное право на использование, копирование, изменение, добавление,
+публикацию, распространение, сублицензирование и/или продажу копий
+Программного Обеспечения, также как и лицам, которым предоставляется
+данное Программное Обеспечение, при соблюдении следующих условий:
+
+Указанное выше уведомление об авторском праве и данные условия должны быть
+включены во все копии или значимые части данного Программного Обеспечения.
+
+ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ,
+ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ
+ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ.
+НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ
+О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ,
+ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ
+ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ
+С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
Oops, something went wrong.

0 comments on commit 430dd0e

Please sign in to comment.