plans 0.1.0 → 0.2.0
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +4 -0
- data/lib/plans/cli.rb +25 -0
- data/lib/plans/pdf.rb +43 -0
- data/lib/plans/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ac32cb6c1b729bd93cf76a59f72e6ef8b52fc01
|
4
|
+
data.tar.gz: b8e4e7780348f4534fa8b7d3b4c450be6191e235
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ca5d8a0a21ca4b9948ea5fb49100ddbd2d5af82e78ec9cbb69537015b7f67cd05528f44e9b06b3a57164f82552ec6ff28dad0339681c86c0219517a4946d4bc
|
7
|
+
data.tar.gz: d6042203795eb8036ff9f4fa83fb8d019b04d6595171966e3c2a5fdb5fded404c0f99a3d20657acbcc7137d2f78c1a54b5e9f13eabc6047d1913781de7f9ad37
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -34,6 +34,10 @@ ImageMagick works pretty much the same way.
|
|
34
34
|
|
35
35
|
You also need Microsoft Word. :)
|
36
36
|
|
37
|
+
Plans can also create PDFs. If you want to create PDFs of your markdown documents you will need to install a XeLaTeX engine for use by Pandoc. [BasicTex](https://tug.org/mactex/morepackages.html) will work. You can also install this with homebrew.
|
38
|
+
|
39
|
+
$ brew install Caskroom/cask/basictex
|
40
|
+
|
37
41
|
## Installation
|
38
42
|
|
39
43
|
Install it:
|
data/lib/plans/cli.rb
CHANGED
@@ -4,6 +4,7 @@ require 'plans/list'
|
|
4
4
|
require 'plans/init'
|
5
5
|
require 'plans/publish'
|
6
6
|
require 'plans/thumbs'
|
7
|
+
require 'plans/pdf'
|
7
8
|
|
8
9
|
module Plans
|
9
10
|
class CLI < Thor
|
@@ -114,6 +115,30 @@ module Plans
|
|
114
115
|
Thumbs.new(shell, options).do(path)
|
115
116
|
end
|
116
117
|
|
118
|
+
|
119
|
+
desc 'pdf', 'Create an PDF version of the document'
|
120
|
+
long_desc <<-PDF
|
121
|
+
`plans pdf` will create a PDF version of the document.
|
122
|
+
|
123
|
+
The document type is determined by inspecting the template.yml.
|
124
|
+
|
125
|
+
Overwrites any previously published versions of the PDF document.
|
126
|
+
|
127
|
+
> $ plans pdf
|
128
|
+
PDF
|
129
|
+
method_option :toc,
|
130
|
+
{:type => :boolean,
|
131
|
+
:default => false,
|
132
|
+
:desc => 'Add a table of contents to the PDF document. Not included by default.'}
|
133
|
+
method_option :open,
|
134
|
+
{:type => :boolean,
|
135
|
+
:default => true,
|
136
|
+
:desc => 'Open the published document after it has been rendered by Pandoc.'}
|
137
|
+
|
138
|
+
def pdf (path = '.')
|
139
|
+
Pdf.new(shell, options).do(path)
|
140
|
+
end
|
141
|
+
|
117
142
|
end
|
118
143
|
end
|
119
144
|
|
data/lib/plans/pdf.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'plans/publish'
|
2
|
+
|
3
|
+
module Plans
|
4
|
+
class Pdf < Publish
|
5
|
+
|
6
|
+
def do(path)
|
7
|
+
# Create the thumbnails first.
|
8
|
+
say 'Updating thumbnails.'
|
9
|
+
Thumbs.new(shell, options).do(path)
|
10
|
+
|
11
|
+
path = pathname(path)
|
12
|
+
toc_flag = options[:toc] ? "--toc" : ""
|
13
|
+
open_flag = options[:open]
|
14
|
+
|
15
|
+
source_file = path + 'README.md'
|
16
|
+
check_source_file(source_file)
|
17
|
+
|
18
|
+
doc_type = get_doctype(path)
|
19
|
+
|
20
|
+
output_dir = path + 'publish'
|
21
|
+
# Make the publish directory if it does not exist.
|
22
|
+
FileUtils.mkdir output_dir unless Dir.exist? output_dir
|
23
|
+
output_file = output_dir + "#{doc_type}.pdf"
|
24
|
+
|
25
|
+
# We need to set the current working directory to where the markdown file is so
|
26
|
+
# the images render correctly.
|
27
|
+
# Pandoc only looks in the current working directory.
|
28
|
+
Dir.chdir(path) do
|
29
|
+
`pandoc #{toc_flag} #{source_file} --standalone --latex-engine=xelatex -o #{output_file}`
|
30
|
+
end
|
31
|
+
|
32
|
+
# Get the return code from pandoc.
|
33
|
+
pandoc_return = $?.to_i
|
34
|
+
check_pandoc_return(pandoc_return)
|
35
|
+
|
36
|
+
say "#{doc_type} published as PDF.", :green
|
37
|
+
|
38
|
+
# Open the PDF if requested
|
39
|
+
`open #{output_file}` if open_flag
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
data/lib/plans/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plans
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriel Cook
|
@@ -152,6 +152,7 @@ files:
|
|
152
152
|
- lib/plans/init.rb
|
153
153
|
- lib/plans/list.rb
|
154
154
|
- lib/plans/new.rb
|
155
|
+
- lib/plans/pdf.rb
|
155
156
|
- lib/plans/publish.rb
|
156
157
|
- lib/plans/thumbs.rb
|
157
158
|
- lib/plans/version.rb
|