slideshow 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ === 0.8.2 / 2010-06-19
2
+
3
+ * Add pdf templates to built-in S6 template package
4
+ * Started to add hash support to S6 script
5
+
1
6
  === 0.8.1 / 2010-06-13
2
7
 
3
8
  * Add patches for Ruby 1.9 compatibility [Thanks Lorenzo Riccucci]
data/Manifest.txt CHANGED
@@ -32,7 +32,9 @@ templates/s6.txt
32
32
  templates/s6.txt.gen
33
33
  templates/s6.txt.sample
34
34
  templates/s6/footer.html.erb
35
+ templates/s6/footer.pdf.html.erb
35
36
  templates/s6/header.html.erb
37
+ templates/s6/header.pdf.html.erb
36
38
  templates/s6/jquery.js
37
39
  templates/s6/outline.css
38
40
  templates/s6/print.css
data/lib/slideshow.rb CHANGED
@@ -23,7 +23,7 @@ require 'slideshow/gen'
23
23
 
24
24
  module Slideshow
25
25
 
26
- VERSION = '0.8.1'
26
+ VERSION = '0.8.2'
27
27
 
28
28
  def Slideshow.main
29
29
 
data/templates/s6.txt CHANGED
@@ -8,4 +8,10 @@ s6/print.css
8
8
  s6/slides.css
9
9
  s6/jquery.js
10
10
  s6/slides.js
11
- s6/slides.core.js
11
+ s6/slides.core.js
12
+
13
+ # template for pdf generation
14
+ # -- use html-to-pdf tool (such as wkhtmltopdf, prince, etc) to generate pdf
15
+ # -- from javascript free web page
16
+
17
+ __file__.pdf.html s6/header.pdf.html.erb + s6/footer.pdf.html.erb
@@ -0,0 +1,3 @@
1
+ </div> <!-- presentation -->
2
+ </body>
3
+ </html>
@@ -0,0 +1,53 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title><%= @headers['title'] %></title>
6
+
7
+ <%= content_for :head %>
8
+
9
+ <style>
10
+ html, body { margin: 0; padding: 0; }
11
+
12
+ body { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; }
13
+
14
+ a:link, a:visited { color: black; }
15
+
16
+ h1 { font-size: 30pt; }
17
+ h2 { font-size: 28pt; }
18
+ h3 { font-size: 25pt; }
19
+ p, li, td, th { font-size: 18pt; }
20
+
21
+ pre { font-size: 14pt; }
22
+
23
+ pre.code {
24
+ background-color: azure;
25
+ padding: 5px;
26
+ }
27
+
28
+ ul { list-style-type: square; }
29
+
30
+ .slide { page-break-after: always;
31
+ min-height: 100mm;
32
+ padding: 40px;
33
+
34
+ border: 1px dotted black;
35
+
36
+ /*
37
+ background: -moz-linear-gradient( top, maroon, red);
38
+ */
39
+ }
40
+
41
+ <%= content_for :css %>
42
+
43
+ /*
44
+ for princexml (CSS3 paged media support)
45
+ @page { size: A4 landscape }
46
+ */
47
+ </style>
48
+
49
+ </head>
50
+ <body>
51
+
52
+ <div class="presentation">
53
+
@@ -1,14 +1,14 @@
1
1
  var snum = 1; /* current slide # (non-zero based index e.g. starting with 1) */
2
2
  var smax = 1; /* max number of slides */
3
- var incpos = 0; /* current step in slide */
3
+ var incpos = 0; /* current step in slide */
4
4
  var s6mode = true; /* are we in slide mode (in contrast to outline mode)? */
5
5
  var defaultView = 'slideshow'; /* slideshow | outline */
6
6
 
7
7
 
8
8
  function debug( msg )
9
9
  {
10
- /* uncomment to enable debug messages in console such as Firebug */
11
- /* console.log( '[debug] ' + msg ); */
10
+ if( window.console )
11
+ console.log( '[debug] ' + msg );
12
12
  }
13
13
 
14
14
  function showHide(action)
@@ -37,6 +37,9 @@
37
37
 
38
38
  function updatePermaLink() {
39
39
  $('#plink').get(0).href = window.location.pathname + '#slide' + snum;
40
+
41
+ /* todo: unify hash marks??; use #1 for div ids instead of #slide1? */
42
+ window.location.hash = '#'+snum;
40
43
  }
41
44
 
42
45
  function goTo( target ) {
@@ -165,6 +168,7 @@ function toggle() {
165
168
 
166
169
  populateJumpList();
167
170
  updateCurrentSlideCounter();
171
+ updatePermaLink();
168
172
  }
169
173
 
170
174
  function addSlideIds() {
@@ -23,6 +23,14 @@ $(document).ready(function(){
23
23
  }
24
24
  else
25
25
  {
26
+
27
+ /* store possible slidenumber from hash */
28
+ /* todo: use regex to extract number
29
+ might be #slide1 or just #1
30
+ */
31
+ var gotoSlideNum = parseInt( window.location.hash.substring(1) );
32
+ debug( "gotoSlideNum=" + gotoSlideNum );
33
+
26
34
  defaultCheck();
27
35
  addSlideIds();
28
36
  createControls();
@@ -31,11 +39,21 @@ $(document).ready(function(){
31
39
  /* if( !$.browser.opera ) */
32
40
  notOperaFix();
33
41
 
34
- steps = collectSteps();
42
+ steps = collectSteps();
35
43
 
44
+ if( !isNaN( gotoSlideNum ))
45
+ {
46
+ debug( "restoring slide on (re)load #: " + gotoSlideNum );
47
+ goTo( gotoSlideNum );
48
+ }
49
+
50
+
36
51
  if( defaultView == 'outline' )
37
52
  toggle();
38
-
53
+
54
+
55
+
56
+
39
57
  document.onkeyup = keys;
40
58
  }
41
59
  });
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slideshow
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
4
+ hash: 59
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 1
10
- version: 0.8.1
9
+ - 2
10
+ version: 0.8.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Gerald Bauer
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-06-13 00:00:00 +02:00
18
+ date: 2010-06-19 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -134,7 +134,9 @@ files:
134
134
  - templates/s6.txt.gen
135
135
  - templates/s6.txt.sample
136
136
  - templates/s6/footer.html.erb
137
+ - templates/s6/footer.pdf.html.erb
137
138
  - templates/s6/header.html.erb
139
+ - templates/s6/header.pdf.html.erb
138
140
  - templates/s6/jquery.js
139
141
  - templates/s6/outline.css
140
142
  - templates/s6/print.css