softcover 1.1.14 → 1.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d92df8097c50b1bbc8d5bbf03b7789b3b935a017
4
- data.tar.gz: 7e71d6e22e26bcc9df396045066018584c4e5c78
3
+ metadata.gz: 26a421fe45ea31ed314b9b15750f8c62cfce195c
4
+ data.tar.gz: e28cecc7e64e2bf3caaa59ae26753ad80ceba16f
5
5
  SHA512:
6
- metadata.gz: 228205a85111d21f5cd8a4f11bf4ea8af4acabb7dc1ab3a3ca09e56cd76408dd3fd287ea89bb9dd4e0bf45d3d26e0df7031dc9846307fb177263a86e9b13c26c
7
- data.tar.gz: 18aa1123eb493e7b4aa9c91c64596c4cdab33c2d56576b9dd4f54a49ea3891f1bd80087783982e262d45bcfe62fb520ec30659f50c38e6028cee8b1b8f9455e4
6
+ metadata.gz: a05aa987ac22a29857cb4be06d7429cc5283bc86be3f41ac5291ab042f034d21b032a4c879a00b4546417bf1a48874e55586104d7bdc6ac75c19c827610f7939
7
+ data.tar.gz: 6d5475cb6525839cdaea610ab0fac3ecaee79375ec6be975b10994105f64c2e2d3112360e49b8197d92c85ca401503176cb5a5c27e7ec99b8123fc44c5b6ac39
data/bin/make_figures ADDED
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ require 'optparse'
3
+
4
+ # Makes display figures based on the full-size figures.
5
+ # The idea is to avoid throwing away data by storing full-size figures,
6
+ # but resize them to a size appropriate for use in the document.
7
+
8
+ options = {}
9
+ OptionParser.new do |opts|
10
+ opts.banner = "Usage: rename_screenshot [options]"
11
+
12
+ opts.on("-a", "Regenerate all figures from full-size images") do
13
+ options[:all] = true
14
+ end
15
+
16
+ opts.on("-w", "Resize to given width (in pixels)") do |width|
17
+ options[:width] = width
18
+ end
19
+ end.parse!
20
+
21
+ width = (options[:width] || "700") + '\>'
22
+ target_dir = "images/figures"
23
+ Dir.glob('full_size_figures/*').each do |full_size_filename|
24
+ if full_size_filename =~ /(\w+)-full\.(.*)/
25
+ # Needed for backwards compatibility.
26
+ filename = "#{target_dir}/#{$1}.#{$2}"
27
+ else
28
+ filename = "#{target_dir}/#{File.basename(full_size_filename)}"
29
+ end
30
+ unless File.exist?(filename) && !options[:all]
31
+ cmd = "convert #{full_size_filename} -resize #{width} #{filename}"
32
+ system cmd
33
+ end
34
+ end
35
+ system "git add -A"
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env ruby
2
+ require 'fileutils'
3
+ require 'optparse'
4
+
5
+ # Renames a screenshot.
6
+ # This is intended for use with Shift-Cmd-4 on Mac OS X.
7
+ # 1. Use Shift-Cmd-4 to take a screenshot
8
+ # 2. Run `rename_screenshot figure_name` to create a full-size figure
9
+ # called `figure_name.png` in the `full_size_figures` directory.
10
+ # A corresponding smaller resized figure is automagically created
11
+ # in the `images/figures` directory. The idea is to keep the full-size figures
12
+ # in case they're ever needed, but to resize them so they're not too big
13
+ # for inclusion in the document.
14
+ # The method is to look for the most recently modified PNG file on the desktop
15
+ # and move it (while renaming it) to the `full_size_figures` directory. Then
16
+ # a normal-size figure is generated using the `make_figures` script.
17
+
18
+ def figure(name)
19
+ "images/figures/#{name}.png"
20
+ end
21
+
22
+ def rm(filename)
23
+ FileUtils.rm(filename) if File.exist?(filename)
24
+ end
25
+
26
+ options = {}
27
+ OptionParser.new do |opts|
28
+ opts.banner = "Usage: rename_screenshot [options]"
29
+
30
+ opts.on("-f", "Force overwrite of existing file") do
31
+ options[:force] = true
32
+ end
33
+
34
+ opts.on("-i", "Invert a renaming by removing the relevant images") do
35
+ options[:invert] = true
36
+ end
37
+ end.parse!
38
+
39
+ name = ARGV.shift
40
+ if name.nil?
41
+ puts "usage: rename_screenshot filename [options]"
42
+ exit 1
43
+ end
44
+ FileUtils.mkdir("full_size_figures") unless File.exist?("full_size_figures")
45
+ target = "full_size_figures/#{name}.png"
46
+
47
+ if options[:invert]
48
+ rm(target) if File.exist?(target)
49
+ rm(figure(name))
50
+ end
51
+
52
+ most_recent = Dir["#{ENV['HOME']}/Desktop/*.png"].sort_by do |a|
53
+ File.stat(a).mtime
54
+ end.reverse.first
55
+ response = 'y'
56
+ if File.exist?(target) && !options[:force]
57
+ puts "File #{target} already exists. Replace? [Y/n]"
58
+ response = gets.strip.downcase
59
+ end
60
+ unless response.downcase == 'n'
61
+ FileUtils.mv(most_recent, target)
62
+ rm(figure(name))
63
+ system "make_figures"
64
+ system "git add -A"
65
+ end
@@ -71,13 +71,13 @@ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
71
71
 
72
72
  Softcover supports the inclusion of images, like this:
73
73
 
74
- ![Some dude.](images/01_michael_hartl_headshot.jpg)
74
+ ![Some dude.](images/figures/01_michael_hartl_headshot.jpg)
75
75
 
76
76
  Using \LaTeX\ labels, you can also include a caption (as in Figure~\ref{fig:captioned_image}) or just a figure number (as in Figure~\ref{fig:figure_number}).
77
77
 
78
- ![Some dude.\label{fig:captioned_image}](images/01_michael_hartl_headshot.jpg)
78
+ ![Some dude.\label{fig:captioned_image}](images/figures/01_michael_hartl_headshot.jpg)
79
79
 
80
- ![\label{fig:figure_number}](images/01_michael_hartl_headshot.jpg)
80
+ ![\label{fig:figure_number}](images/figures/01_michael_hartl_headshot.jpg)
81
81
 
82
82
  ### Tables
83
83
 
@@ -71,20 +71,20 @@ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
71
71
 
72
72
  Softcover supports the inclusion of images, like this:
73
73
 
74
- \image{images/01_michael_hartl_headshot.jpg}
74
+ \image{images/figures/01_michael_hartl_headshot.jpg}
75
75
 
76
76
  Using \LaTeX\ labels, you can also include a caption (as in Figure~\ref{fig:captioned_image}) or just a figure number (as in Figure~\ref{fig:figure_number}).
77
77
 
78
78
  \begin{figure}[h]
79
79
  \begin{center}
80
- \image{images/01_michael_hartl_headshot.jpg}
80
+ \image{images/figures/01_michael_hartl_headshot.jpg}
81
81
  \end{center}
82
82
  \caption{Some dude.\label{fig:captioned_image}}
83
83
  \end{figure}
84
84
 
85
85
  \begin{figure}[h]
86
86
  \begin{center}
87
- \image{images/01_michael_hartl_headshot.jpg}
87
+ \image{images/figures/01_michael_hartl_headshot.jpg}
88
88
  \end{center}
89
89
  \caption{\label{fig:figure_number}}
90
90
  \end{figure}
@@ -73,13 +73,13 @@ This is the second section.
73
73
 
74
74
  Softcover supports the inclusion of images, like this:
75
75
 
76
- ![Some dude.](images/01_michael_hartl_headshot.jpg)
76
+ ![Some dude.](images/figures/01_michael_hartl_headshot.jpg)
77
77
 
78
78
  Using \LaTeX\ labels, you can also include a caption (as in Figure~\ref{fig:captioned_image}) or just a figure number (as in Figure~\ref{fig:figure_number}).
79
79
 
80
- ![Some dude.\label{fig:captioned_image}](images/01_michael_hartl_headshot.jpg)
80
+ ![Some dude.\label{fig:captioned_image}](images/figures/01_michael_hartl_headshot.jpg)
81
81
 
82
- ![\label{fig:figure_number}](images/01_michael_hartl_headshot.jpg)
82
+ ![\label{fig:figure_number}](images/figures/01_michael_hartl_headshot.jpg)
83
83
 
84
84
  ### Tables
85
85
 
@@ -87,20 +87,20 @@ Softcover supports \href{http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_
87
87
 
88
88
  You can include raw graphics like this:
89
89
 
90
- \includegraphics{images/01_michael_hartl_headshot.jpg}
90
+ \includegraphics{images/figures/01_michael_hartl_headshot.jpg}
91
91
 
92
92
  \noindent You can also include centered images:
93
93
 
94
- \image{images/01_michael_hartl_headshot.jpg}
94
+ \image{images/figures/01_michael_hartl_headshot.jpg}
95
95
 
96
96
  \noindent Or include one with a box, like so:
97
97
 
98
- \imagebox{images/01_michael_hartl_headshot.jpg}
98
+ \imagebox{images/figures/01_michael_hartl_headshot.jpg}
99
99
 
100
100
  To turn an image into a figure, use the \kode{figure} environment (Figure~\ref{fig:the_dude}).
101
101
 
102
102
  \begin{figure}
103
- \imagebox{images/01_michael_hartl_headshot.jpg}
103
+ \imagebox{images/figures/01_michael_hartl_headshot.jpg}
104
104
  \caption{Some \href{http://michaelhartl.com/}{dude}.\label{fig:the_dude}}
105
105
  \end{figure}
106
106
 
@@ -1,3 +1,3 @@
1
1
  module Softcover
2
- VERSION = "1.1.14"
2
+ VERSION = "1.1.15"
3
3
  end
data/softcover.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_dependency 'polytexnic', '~> 1.1.8'
21
+ gem.add_dependency 'polytexnic', '~> 1.1.9'
22
22
  gem.add_dependency 'msgpack', '~> 0.4.2'
23
23
  gem.add_dependency 'nokogiri', '~> 1.6.0'
24
24
  gem.add_dependency 'thor', '~> 0.18.1'
data/spec/app_spec.rb CHANGED
@@ -77,7 +77,7 @@ describe Softcover::App do
77
77
  end
78
78
 
79
79
  it 'GET image within book' do
80
- get '/images/01_michael_hartl_headshot.jpg'
80
+ get '/images/figures/01_michael_hartl_headshot.jpg'
81
81
  expect_server_response_of_type 'image/jpeg'
82
82
  end
83
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: softcover
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.14
4
+ version: 1.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Hartl
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-14 00:00:00.000000000 Z
12
+ date: 2015-09-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: polytexnic
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 1.1.8
20
+ version: 1.1.9
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 1.1.8
27
+ version: 1.1.9
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: msgpack
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -295,6 +295,8 @@ description: CLI interface for softcover.io
295
295
  email:
296
296
  - michael@softcover.io
297
297
  executables:
298
+ - make_figures
299
+ - rename_screenshot
298
300
  - sc
299
301
  - softcover
300
302
  extensions: []
@@ -405,6 +407,8 @@ files:
405
407
  - LICENSE.txt
406
408
  - README.md
407
409
  - Rakefile
410
+ - bin/make_figures
411
+ - bin/rename_screenshot
408
412
  - bin/sc
409
413
  - bin/softcover
410
414
  - lib/softcover.rb
@@ -422,6 +426,7 @@ files:
422
426
  - lib/softcover/article_template/epub/OEBPS/styles/custom_epub.css
423
427
  - lib/softcover/article_template/epub/OEBPS/styles/epub.css
424
428
  - lib/softcover/article_template/epub/OEBPS/styles/page-template.xpgt
429
+ - lib/softcover/article_template/full_size_figures/.gitkeep
425
430
  - lib/softcover/article_template/html/.gitkeep
426
431
  - lib/softcover/article_template/html/MathJax/MathJax.js
427
432
  - lib/softcover/article_template/html/MathJax/config/TeX-AMS-MML_SVG.js
@@ -964,12 +969,12 @@ files:
964
969
  - lib/softcover/article_template/html/stylesheets/custom.css
965
970
  - lib/softcover/article_template/html/stylesheets/softcover.css
966
971
  - lib/softcover/article_template/images/.gitkeep
967
- - lib/softcover/article_template/images/01_michael_hartl_headshot.jpg
968
972
  - lib/softcover/article_template/images/cover-web.png
969
973
  - lib/softcover/article_template/images/cover.jpg
970
974
  - lib/softcover/article_template/images/cover.pdf
971
975
  - lib/softcover/article_template/images/cover.png
972
976
  - lib/softcover/article_template/images/figures/.gitkeep
977
+ - lib/softcover/article_template/images/figures/01_michael_hartl_headshot.jpg
973
978
  - lib/softcover/article_template/images/testimonial_1.png
974
979
  - lib/softcover/article_template/latex_gitignore
975
980
  - lib/softcover/article_template/latex_styles/applekeys.sty
@@ -1002,6 +1007,7 @@ files:
1002
1007
  - lib/softcover/book_template/epub/OEBPS/styles/custom_epub.css
1003
1008
  - lib/softcover/book_template/epub/OEBPS/styles/epub.css
1004
1009
  - lib/softcover/book_template/epub/OEBPS/styles/page-template.xpgt
1010
+ - lib/softcover/book_template/full_size_figures/.gitkeep
1005
1011
  - lib/softcover/book_template/html/.gitkeep
1006
1012
  - lib/softcover/book_template/html/MathJax/MathJax.js
1007
1013
  - lib/softcover/book_template/html/MathJax/config/TeX-AMS-MML_SVG.js
@@ -1544,13 +1550,13 @@ files:
1544
1550
  - lib/softcover/book_template/html/stylesheets/custom.css
1545
1551
  - lib/softcover/book_template/html/stylesheets/softcover.css
1546
1552
  - lib/softcover/book_template/images/.gitkeep
1547
- - lib/softcover/book_template/images/01_michael_hartl_headshot.jpg
1548
- - lib/softcover/book_template/images/2011_michael_hartl.png
1549
1553
  - lib/softcover/book_template/images/cover-web.png
1550
1554
  - lib/softcover/book_template/images/cover.jpg
1551
1555
  - lib/softcover/book_template/images/cover.pdf
1552
1556
  - lib/softcover/book_template/images/cover.png
1553
1557
  - lib/softcover/book_template/images/figures/.gitkeep
1558
+ - lib/softcover/book_template/images/figures/01_michael_hartl_headshot.jpg
1559
+ - lib/softcover/book_template/images/figures/2011_michael_hartl.png
1554
1560
  - lib/softcover/book_template/images/testimonial_1.png
1555
1561
  - lib/softcover/book_template/latex_gitignore
1556
1562
  - lib/softcover/book_template/latex_styles/applekeys.sty