Class: AsciidoctorBibliography::Formatter

Inherits:
CiteProc::Processor
  • Object
show all
Defined in:
lib/asciidoctor-bibliography/formatter.rb

Instance Method Summary collapse

Constructor Details

#initialize(style, locale: "en-US") ⇒ Formatter

Returns a new instance of Formatter.



9
10
11
# File 'lib/asciidoctor-bibliography/formatter.rb', line 9

def initialize(style, locale: "en-US")
  super style: style, format: :adoc, locale: locale
end

Instance Method Details

#force_sort!(mode:) ⇒ Object



23
24
25
26
# File 'lib/asciidoctor-bibliography/formatter.rb', line 23

def force_sort!(mode:)
  # Valid modes are :citation and :bibliography
  engine.sort! data, engine.style.send(mode).sort_keys if engine.style.send(mode).sort?
end

#replace_bibliography_sort(array) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/asciidoctor-bibliography/formatter.rb', line 13

def replace_bibliography_sort(array)
  new_keys = array.map(&::CSL::Style::Sort::Key.method(:new))
  new_sort = ::CSL::Style::Sort.new.add_children(*new_keys)

  bibliography = engine.style.find_child("bibliography")
  bibliography.find_child("sort")&.unlink

  bibliography.add_child new_sort
end