Class: Jekyll::Scholar::BibliographyTag

Inherits:
Liquid::Tag
  • Object
show all
Includes:
Utilities
Defined in:
lib/jekyll/scholar/tags/bibliography.rb

Instance Attribute Summary

Attributes included from Utilities

#config, #context, #keys, #prefix, #query, #site, #text

Instance Method Summary collapse

Methods included from Utilities

#base_url, #bibliography, #bibliography_tag, #bibliography_template, #bibtex_file, #bibtex_files, #bibtex_filters, #bibtex_options, #bibtex_path, #bibtex_paths, #citation_item_for, #citation_number, #cite, #cite_details, #cited_keys, #cited_only?, #cited_references, #content_tag, #details_file_for, #details_link_for, #details_path, #entries, #extend_path, #generate_details?, #join_strings?, #link_to, #liquid_template, #liquidify, #load_repository, #locators, #missing_reference, #optparse, #reference_tag, #reference_tagname, #render_bibliography, #render_citation, #renderer, #replace_strings?, #repository, #repository?, #repository_link_for, #repository_path, #set_context_to, #split_arguments, #style

Constructor Details

#initialize(tag_name, arguments, tokens) ⇒ BibliographyTag

Returns a new instance of BibliographyTag.



7
8
9
10
11
12
13
# File 'lib/jekyll/scholar/tags/bibliography.rb', line 7

def initialize(tag_name, arguments, tokens)
  super

  @config = Scholar.defaults.dup

  optparse(arguments)
end

Instance Method Details

#render(context) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/jekyll/scholar/tags/bibliography.rb', line 15

def render(context)
  set_context_to context

  references = entries

  if cited_only?
    references = cited_references.uniq.map do |key|
      references.detect { |e| e.key == key }
    end
  end

  bibliography = references.each_with_index.map { |entry, index|
    reference = bibliography_tag(entry, index + 1)

    if generate_details?
      reference << link_to(details_link_for(entry),
        config['details_link'], :class => config['details_link_class'])
    end

     :li, reference
  }.join("\n")

   :ol, bibliography, :class => config['bibliography_class']
end