Module: Source2Pdf
- Defined in:
- lib/source2pdf/cli.rb,
lib/source2pdf/version.rb,
lib/source2pdf/exporter.rb,
lib/source2pdf/source2pdf.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.2.3"
- TMP_DIR =
"source2pdf_tmp"
- CustomError =
Class.new(StandardError)
Class Method Summary collapse
-
.clone_repository(url, name, path) ⇒ Object
Clone the given repository from git repository.
- .files_to_htmls(opts) ⇒ Object
-
.htmls_to_pdfs(opts) ⇒ Object
Export list of html files to pdfs using ‘html2pdf` gem.
- .list_extensions(base_dir = ".") ⇒ Object
- .list_files(options = {}) ⇒ Object
-
.pdfs_to_pdf(opts) ⇒ Object
Merge/combine pdfs using ‘pdfs2pdf` gem.
Class Method Details
.clone_repository(url, name, path) ⇒ Object
Clone the given repository from git repository
12 13 14 15 |
# File 'lib/source2pdf/source2pdf.rb', line 12 def clone_repository(url, name, path) puts "git clone #{url} #{File.(path)}/#{name}" Git.clone url, name, path: File.(path) end |
.files_to_htmls(opts) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/source2pdf/source2pdf.rb', line 28 def files_to_htmls(opts) base_dir = base_dir(opts[:base_dir]) exts = opts[:exts] || [] non_exts = opts[:non_exts] || [] args = [ "print", "--base-dir", base_dir, "--exts", exts, "--theme", opts.fetch(:theme, "default"), "--recursive" ] args.concat(["--non-exts"]).concat(non_exts) unless non_exts.empty? puts "FYI: input options for VimPrinter : #{args}" VimPrinter::CLI.start(args) end |
.htmls_to_pdfs(opts) ⇒ Object
Export list of html files to pdfs using ‘html2pdf` gem
49 50 51 52 53 54 55 56 |
# File 'lib/source2pdf/source2pdf.rb', line 49 def htmls_to_pdfs(opts) base_dir = base_dir(opts[:base_dir]) Html2Pdf::CLI.start [ "export", "--base-dir", base_dir, "--recursive"] end |
.list_extensions(base_dir = ".") ⇒ Object
17 18 19 20 21 22 |
# File 'lib/source2pdf/source2pdf.rb', line 17 def list_extensions(base_dir = ".") extensions = Dir.glob(File.join(File.(base_dir), "**/*")).reduce([]) do |exts, file| exts << File.extname(file) end extensions.sort.uniq.delete_if { |e| e == "" } end |
.list_files(options = {}) ⇒ Object
24 25 26 |
# File 'lib/source2pdf/source2pdf.rb', line 24 def list_files( = {}) CodeLister.files() end |
.pdfs_to_pdf(opts) ⇒ Object
Merge/combine pdfs using ‘pdfs2pdf` gem
59 60 61 62 63 64 65 66 67 |
# File 'lib/source2pdf/source2pdf.rb', line 59 def pdfs_to_pdf(opts) base_dir = base_dir(opts[:base_dir]) Pdfs2Pdf::CLI.start [ "merge", "--base-dir", base_dir, "--recursive" ] end |