class Jekyll::Latex::Pdf::Document

The document adds the file.

Attributes

source[RW]

Public Class Methods

new(site, page) click to toggle source
# File lib/jekyll/latex/pdf/document.rb, line 14
def initialize(site, page)
  @site = site
  @page = page
  @base = site.source
  @dir = File.dirname(page.url)
  @name = File.basename(page.url, File.extname(page.url)) + ".pdf"
  @texname = File.basename(page.url, File.extname(page.url)) + ".tex"

  process(@name)

  self.data = page.data.clone
  self.content = page.content.clone
  self.source = page.content.dup
  page.data["pdf_url"] = url

  data["html_url"] = page.url
  data["date_str"] = data["date"].strftime("%Y-%m-%d")
  @config = Defaults.defaults.merge(site.config["pdf"] || {})

  @kramdowndata = KramdownData.new data
  @kramdowndata.add(@site.config["pdf"] || {})
  @kramdowndata.add(page.data || {})

  check_scholar
  check_figure
end

Public Instance Methods

bibtex_files() click to toggle source
# File lib/jekyll/latex/pdf/document.rb, line 72
def bibtex_files
  if @site.config["scholar"]['bibliography'].include? '*'
    @bibtex_files ||= Dir.glob(File.join(@site.config["scholar"]["source"],
                                         @site.config["scholar"]["bibliography"])).
      collect do |f|
      Pathname(f).relative_path_from(Pathname(@site.config["scholar"]['source'])).to_s
    end
  end
  @bibtex_files ||= [@site.config["scholar"]['bibliography']]
end
check_figure() click to toggle source
# File lib/jekyll/latex/pdf/document.rb, line 52
def check_figure
  if site.config["plugins"].include? "jekyll-figure"
    require "jekyll/latex/pdf/figure"
  end
end
check_scholar() click to toggle source
# File lib/jekyll/latex/pdf/document.rb, line 41
def check_scholar
  if @site.config["plugins"].include? "jekyll-scholar"

    require "jekyll/latex/pdf/scholar"

    @kramdowndata.add(bibtex_files: bibtex_files.map do |bibfile|
                                      File.join(@site.config["scholar"]["source"], bibfile)
                                    end)
  end
end
write(dest) click to toggle source
# File lib/jekyll/latex/pdf/document.rb, line 62
def write(dest)
  path = File.join(dest, CGI.unescape(url))

  latex = Latex.new(source, @site, @page, @kramdowndata, @name)
  if 0 == latex.compile
    FileUtils.cp(latex.pdf_file, path)
    Jekyll.logger.debug "cp " + latex.pdf_file.to_s + " " + path.to_s
  end
end