jekyll-scholar 1.2.4 → 2.0.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/.gitignore +1 -0
- data/.travis.yml +1 -0
- data/Gemfile +6 -3
- data/README.md +44 -6
- data/features/bibtex.feature +4 -4
- data/features/details.feature +2 -2
- data/features/repository.feature +48 -0
- data/jekyll-scholar.gemspec +2 -2
- data/lib/jekyll/scholar/defaults.rb +2 -1
- data/lib/jekyll/scholar/generators/details.rb +3 -20
- data/lib/jekyll/scholar/tags/bibliography.rb +1 -1
- data/lib/jekyll/scholar/utilities.rb +79 -9
- data/lib/jekyll/scholar/version.rb +1 -1
- metadata +17 -15
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 082fd7a25a1d8bec380e5311248c00a86680f5bc
         | 
| 4 | 
            +
              data.tar.gz: 34123cf9d4f87b7fad1d8d2312fa727df7ba3cd2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 41d977833e021bf6d06e42ab6eef3650c07eab7fd1ffdcdaf02595df83956a5cc238ca743f8847f65fef3082f0dec9f14efa4999832599835ca41c19c26ca21f
         | 
| 7 | 
            +
              data.tar.gz: 503c8db545f09233ea25239705778d3c724dc4180c21201672e574b00c0b5b40d7563d8ce2cde705204c469811dd0437dafe437add161fdabd137bbf80071cde
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    | @@ -12,9 +12,12 @@ group 'development' do | |
| 12 12 | 
             
              gem 'redcarpet', '~> 2.2.2'
         | 
| 13 13 | 
             
              gem 'launchy', '~> 2.1.2'
         | 
| 14 14 |  | 
| 15 | 
            -
              gem 'unicode_utils' | 
| 15 | 
            +
              gem 'unicode_utils'
         | 
| 16 16 | 
             
            end
         | 
| 17 17 |  | 
| 18 | 
            -
            group  | 
| 19 | 
            -
              gem ' | 
| 18 | 
            +
            group :debug do
         | 
| 19 | 
            +
              gem 'ruby-debug', :require => false, :platform => :jruby
         | 
| 20 | 
            +
              gem 'debugger', '~>1.6', :require => false, :platform => :mri
         | 
| 21 | 
            +
              gem 'rubinius-compiler', '~>2.0', :require => false, :platform => :rbx
         | 
| 22 | 
            +
              gem 'rubinius-debugger', '~>2.0', :require => false, :platform => :rbx
         | 
| 20 23 | 
             
            end
         | 
    
        data/README.md
    CHANGED
    
    | @@ -39,7 +39,7 @@ default configuration is as follows: | |
| 39 39 |  | 
| 40 40 | 
             
                  source: ./_bibliography
         | 
| 41 41 | 
             
                  bibliography: references.bib
         | 
| 42 | 
            -
                  bibliography_template: " | 
| 42 | 
            +
                  bibliography_template: "{{reference}}"
         | 
| 43 43 |  | 
| 44 44 | 
             
                  replace_strings: true
         | 
| 45 45 |  | 
| @@ -60,7 +60,8 @@ your references (this typically applies to localized terms, e.g., 'Eds.' for | |
| 60 60 | 
             
            editors in English).
         | 
| 61 61 |  | 
| 62 62 | 
             
            The `source` option indicates where your bibliographies are stored;
         | 
| 63 | 
            -
            `bibliography` is the name of your default bibliography.
         | 
| 63 | 
            +
            `bibliography` is the name of your default bibliography. For best results,
         | 
| 64 | 
            +
            please ensure that your Bibliography is encoded as ASCII or UTF-8.
         | 
| 64 65 |  | 
| 65 66 |  | 
| 66 67 | 
             
            ### Bibliographies
         | 
| @@ -151,19 +152,46 @@ each reference is wrapped in an HTML tag (`span` by default but you can | |
| 151 152 | 
             
            change this using the `reference_tagname` setting) with the cite key
         | 
| 152 153 | 
             
            as id. The reference string itself is governed by the rules in your
         | 
| 153 154 | 
             
            CSL style but you can also customize the main template a little bit.
         | 
| 154 | 
            -
            By default, the template is  | 
| 155 | 
            -
            reference tag. The template uses  | 
| 155 | 
            +
            By default, the template is `{{reference}}` – this renders only the
         | 
| 156 | 
            +
            reference tag. The template uses Liquid to render and, in
         | 
| 156 157 | 
             
            addition to the reference, exposes the cite-key (as `key`), the
         | 
| 157 | 
            -
            entry's `type | 
| 158 | 
            +
            entry's `type`, the `index` in the bibliography, and the link to
         | 
| 159 | 
            +
            file repository as `link`. Thus, you could
         | 
| 158 160 | 
             
            customize the template in your configuration as follows:
         | 
| 159 161 |  | 
| 160 162 | 
             
                scholar:
         | 
| 161 | 
            -
                  bibliography_template: <abbr>[ | 
| 163 | 
            +
                  bibliography_template: <abbr>[{{key}}]</abbr>{{reference}}
         | 
| 162 164 |  | 
| 163 165 | 
             
            This would be processed into something like:
         | 
| 164 166 |  | 
| 165 167 | 
             
                <li><abbr>[ruby]</abbr><span id="ruby">Matsumoto, Y. (2008). <i>The Ruby Programming Language</i>. O’Reilly Media.</span></li>
         | 
| 166 168 |  | 
| 169 | 
            +
            If you have more complex requirements, it quickly becomes tedious to
         | 
| 170 | 
            +
            have the template inside the configuration; for this reason, you can
         | 
| 171 | 
            +
            also put the bibliography template into your layouts directory. Jekyll-Scholar
         | 
| 172 | 
            +
            will load this template if the option set in your configuration matches
         | 
| 173 | 
            +
            an existing layout (without the file extension). That is to say, if you set:
         | 
| 174 | 
            +
             | 
| 175 | 
            +
                scholar:
         | 
| 176 | 
            +
                  bibliography_template: bib
         | 
| 177 | 
            +
             | 
| 178 | 
            +
            And there is a file `_layouts/bib.html` (or with another extension) the
         | 
| 179 | 
            +
            contents of this file will be used as the template. Please note that it is
         | 
| 180 | 
            +
            important for this file to contain the YAML front matter! For example, this
         | 
| 181 | 
            +
            would be a more complex template file:
         | 
| 182 | 
            +
             | 
| 183 | 
            +
                ---
         | 
| 184 | 
            +
                ---
         | 
| 185 | 
            +
                {{ reference }}
         | 
| 186 | 
            +
             | 
| 187 | 
            +
                {% if entry.abstract %}
         | 
| 188 | 
            +
                <p>{{ entry.abstract %}</p>
         | 
| 189 | 
            +
                {% endif %}
         | 
| 190 | 
            +
             | 
| 191 | 
            +
                <pre>{{ entry.bibtex %}</pre>
         | 
| 192 | 
            +
             | 
| 193 | 
            +
            You can also override the default bibliography template, by passing the
         | 
| 194 | 
            +
            `--template` or `-T` option parameter to the bibliography tag.
         | 
| 167 195 |  | 
| 168 196 | 
             
            ### Citations
         | 
| 169 197 |  | 
| @@ -305,6 +333,16 @@ section, although both posts will be rendered into a single HTML | |
| 305 333 | 
             
            document.
         | 
| 306 334 |  | 
| 307 335 |  | 
| 336 | 
            +
            ### File Repositories
         | 
| 337 | 
            +
             | 
| 338 | 
            +
            File repository support was added to Jekyll-Scholar starting at version
         | 
| 339 | 
            +
            4.0. Currently, if you have a folder in your site that contains PDF or
         | 
| 340 | 
            +
            Postscript files of your papers, you can use the configuration option
         | 
| 341 | 
            +
            `repository` to indicate this directory. When generating bibliographies,
         | 
| 342 | 
            +
            Jekyll-Scholar will look in that folder to see if it contains a filename
         | 
| 343 | 
            +
            matching each entry's BibTeX key: if it does, the path to that file
         | 
| 344 | 
            +
            will be exposed to the bibliography template.
         | 
| 345 | 
            +
             | 
| 308 346 | 
             
            ### Detail Pages
         | 
| 309 347 |  | 
| 310 348 | 
             
            If your layouts directory contains a layout file for bibliography details
         | 
    
        data/features/bibtex.feature
    CHANGED
    
    | @@ -35,7 +35,7 @@ Feature: BibTeX | |
| 35 35 | 
             
                  ---
         | 
| 36 36 | 
             
                  References
         | 
| 37 37 | 
             
                  ==========
         | 
| 38 | 
            -
             | 
| 38 | 
            +
             | 
| 39 39 | 
             
                  @book{ruby,
         | 
| 40 40 | 
             
                    title     = {The Ruby Programming Language},
         | 
| 41 41 | 
             
                    author    = {Flanagan, David and Matsumoto, Yukihiro},
         | 
| @@ -93,9 +93,9 @@ Feature: BibTeX | |
| 93 93 | 
             
              @tags @bibliography @config
         | 
| 94 94 | 
             
              Scenario: Simple Bibliography With Custom Template
         | 
| 95 95 | 
             
                Given I have a scholar configuration with:
         | 
| 96 | 
            -
                  | key                   | value | 
| 97 | 
            -
                  | source                | ./_bibliography | 
| 98 | 
            -
                  | bibliography_template | <abbr | 
| 96 | 
            +
                  | key                   | value                                         |
         | 
| 97 | 
            +
                  | source                | ./_bibliography                               |
         | 
| 98 | 
            +
                  | bibliography_template | <abbr>{{index}} [{{key}}]</abbr>{{reference}} |
         | 
| 99 99 | 
             
                And I have a "_bibliography" directory
         | 
| 100 100 | 
             
                And I have a file "_bibliography/references.bib":
         | 
| 101 101 | 
             
                  """
         | 
    
        data/features/details.feature
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 | 
            -
            Feature:  | 
| 1 | 
            +
            Feature: Details
         | 
| 2 2 | 
             
              As a scholar who likes to blog
         | 
| 3 3 | 
             
              I want to publish my BibTeX bibliography on my blog
         | 
| 4 4 | 
             
              And I want Jekyll to generate detail pages for all the entries in my bibliography
         | 
| 5 | 
            -
             | 
| 5 | 
            +
             | 
| 6 6 | 
             
              @generators
         | 
| 7 7 | 
             
              Scenario: A bibliography with a single entry
         | 
| 8 8 | 
             
                Given I have a scholar configuration with:
         | 
| @@ -0,0 +1,48 @@ | |
| 1 | 
            +
            Feature: PDF Repository
         | 
| 2 | 
            +
              As a scholar who likes to blog
         | 
| 3 | 
            +
              I want to publish my BibTeX bibliography on my blog
         | 
| 4 | 
            +
              And I want Jekyll to generate links to PDFs of my references automatically
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              @repository
         | 
| 7 | 
            +
              Scenario: A bibliography with a single entry and a repository
         | 
| 8 | 
            +
                Given I have a scholar configuration with:
         | 
| 9 | 
            +
                  | key                   | value             |
         | 
| 10 | 
            +
                  | source                | ./_bibliography   |
         | 
| 11 | 
            +
                  | repository            | papers            |
         | 
| 12 | 
            +
                  | bibliography_template | bibliography      |
         | 
| 13 | 
            +
                And I have a "_bibliography" directory
         | 
| 14 | 
            +
                And I have a file "_bibliography/references.bib":
         | 
| 15 | 
            +
                  """
         | 
| 16 | 
            +
                  @book{ruby,
         | 
| 17 | 
            +
                    title     = {The Ruby Programming Language},
         | 
| 18 | 
            +
                    author    = {Flanagan, David and Matsumoto, Yukihiro},
         | 
| 19 | 
            +
                    year      = {2008},
         | 
| 20 | 
            +
                    publisher = {O'Reilly Media}
         | 
| 21 | 
            +
                  }
         | 
| 22 | 
            +
                  """
         | 
| 23 | 
            +
                And I have a "papers" directory
         | 
| 24 | 
            +
                And I have a file "papers/ruby.pdf":
         | 
| 25 | 
            +
                  """
         | 
| 26 | 
            +
                  The PDF
         | 
| 27 | 
            +
                  """
         | 
| 28 | 
            +
                And I have a "_layouts" directory
         | 
| 29 | 
            +
                And I have a file "_layouts/bibliography.html":
         | 
| 30 | 
            +
                  """
         | 
| 31 | 
            +
                  ---
         | 
| 32 | 
            +
                  ---
         | 
| 33 | 
            +
                  {{ reference }} Link: {{ link }}
         | 
| 34 | 
            +
                  """
         | 
| 35 | 
            +
                And I have a page "scholar.html":
         | 
| 36 | 
            +
                  """
         | 
| 37 | 
            +
                  ---
         | 
| 38 | 
            +
                  ---
         | 
| 39 | 
            +
                  {% bibliography %}
         | 
| 40 | 
            +
                  """
         | 
| 41 | 
            +
                When I run jekyll
         | 
| 42 | 
            +
                Then the _site directory should exist
         | 
| 43 | 
            +
                And the "_site/papers/ruby.pdf" file should exist
         | 
| 44 | 
            +
                And I should see "The Ruby Programming Language" in "_site/scholar.html"
         | 
| 45 | 
            +
                And I should see "Link: /papers/ruby.pdf" in "_site/scholar.html"
         | 
| 46 | 
            +
             | 
| 47 | 
            +
             | 
| 48 | 
            +
             | 
    
        data/jekyll-scholar.gemspec
    CHANGED
    
    | @@ -19,7 +19,7 @@ Gem::Specification.new do |s| | |
| 19 19 | 
             
                formats your BibTeX bibliographies for the web using CSL citation styles
         | 
| 20 20 | 
             
                and generally gives your blog posts citation super-powers.'
         | 
| 21 21 | 
             
              }.gsub(/\s+/, ' ')
         | 
| 22 | 
            -
             | 
| 22 | 
            +
             | 
| 23 23 | 
             
              s.date        = Time.now
         | 
| 24 24 |  | 
| 25 25 | 
             
              s.required_rubygems_version = '>= 1.3.6'
         | 
| @@ -33,7 +33,7 @@ Gem::Specification.new do |s| | |
| 33 33 | 
             
              s.test_files   = `git ls-files -- {test,spec,features}/*`.split("\n")
         | 
| 34 34 | 
             
              s.executables  = []
         | 
| 35 35 | 
             
              s.require_path = 'lib'
         | 
| 36 | 
            -
             | 
| 36 | 
            +
             | 
| 37 37 | 
             
            end
         | 
| 38 38 |  | 
| 39 39 | 
             
            # vim: syntax=ruby
         | 
| @@ -9,6 +9,7 @@ module Jekyll | |
| 9 9 |  | 
| 10 10 | 
             
                  'source'                => './_bibliography',
         | 
| 11 11 | 
             
                  'bibliography'          => 'references.bib',
         | 
| 12 | 
            +
                  'repository'            => nil,
         | 
| 12 13 |  | 
| 13 14 | 
             
                  'bibtex_options'        => { :strip => false },
         | 
| 14 15 | 
             
                  'bibtex_filters'        => [ :latex ],
         | 
| @@ -20,7 +21,7 @@ module Jekyll | |
| 20 21 | 
             
                  'details_link'          => 'Details',
         | 
| 21 22 |  | 
| 22 23 | 
             
                  'bibliography_class'    => 'bibliography',
         | 
| 23 | 
            -
                  'bibliography_template' => ' | 
| 24 | 
            +
                  'bibliography_template' => '{{reference}}',
         | 
| 24 25 |  | 
| 25 26 | 
             
                  'reference_tagname'     => 'span',
         | 
| 26 27 | 
             
                  'missing_reference'     => '(missing reference)',
         | 
| @@ -14,31 +14,14 @@ module Jekyll | |
| 14 14 | 
             
                    process(@name)
         | 
| 15 15 | 
             
                    read_yaml(File.join(base, '_layouts'), config['details_layout'])
         | 
| 16 16 |  | 
| 17 | 
            -
                    liquidify(entry)
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                  private
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                  def liquidify(entry)
         | 
| 23 | 
            -
                    data['entry'] = {}
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                    data['entry']['key'] = entry.key
         | 
| 26 | 
            -
                    data['entry']['type'] = entry.type
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                    data['entry']['bibtex'] = entry.to_s
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                    entry.fields.each do |key, value|
         | 
| 31 | 
            -
                      value = value.convert(*bibtex_filters) unless bibtex_filters.empty?
         | 
| 32 | 
            -
                      data['entry'][key.to_s] = value.to_s
         | 
| 33 | 
            -
                    end
         | 
| 34 | 
            -
             | 
| 17 | 
            +
                    data['entry'] = liquidify(entry)
         | 
| 35 18 | 
             
                  end
         | 
| 36 19 |  | 
| 37 20 | 
             
                end
         | 
| 38 21 |  | 
| 39 22 | 
             
                class DetailsGenerator < Generator
         | 
| 40 23 | 
             
                  include Scholar::Utilities
         | 
| 41 | 
            -
             | 
| 24 | 
            +
             | 
| 42 25 | 
             
                  safe true
         | 
| 43 26 | 
             
                  priority :high
         | 
| 44 27 |  | 
| @@ -63,4 +46,4 @@ module Jekyll | |
| 63 46 |  | 
| 64 47 |  | 
| 65 48 | 
             
              end
         | 
| 66 | 
            -
            end
         | 
| 49 | 
            +
            end
         | 
| @@ -35,10 +35,14 @@ module Jekyll | |
| 35 35 |  | 
| 36 36 | 
             
                      opts.on('-s', '--style STYLE') do |style|
         | 
| 37 37 | 
             
                        @style = style
         | 
| 38 | 
            -
                      end | 
| 38 | 
            +
                      end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                      opts.on('-T', '--template TEMPLATE') do |template|
         | 
| 41 | 
            +
                        @bibliography_template = template
         | 
| 42 | 
            +
                      end
         | 
| 39 43 | 
             
                    end
         | 
| 40 44 |  | 
| 41 | 
            -
                    argv = arguments.split(/(\B-[ | 
| 45 | 
            +
                    argv = arguments.split(/(\B-[cfqptTs]|\B--(?:cited|file|query|prefix|text|style|template|))/)
         | 
| 42 46 |  | 
| 43 47 | 
             
                    parser.parse argv.map(&:strip).reject(&:empty?)
         | 
| 44 48 | 
             
                  end
         | 
| @@ -75,6 +79,26 @@ module Jekyll | |
| 75 79 | 
             
                    b
         | 
| 76 80 | 
             
                  end
         | 
| 77 81 |  | 
| 82 | 
            +
                  def repository?
         | 
| 83 | 
            +
                    !config['repository'].nil? && !config['repository'].empty?
         | 
| 84 | 
            +
                  end
         | 
| 85 | 
            +
             | 
| 86 | 
            +
                  def repository
         | 
| 87 | 
            +
                    @repository ||= load_repository
         | 
| 88 | 
            +
                  end
         | 
| 89 | 
            +
             | 
| 90 | 
            +
                  def load_repository
         | 
| 91 | 
            +
                    return {} unless repository?
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                    Hash[Dir[File.join(repository_path, '**/*.{pdf,ps}')].map { |path|
         | 
| 94 | 
            +
                      [File.basename(path).sub(/\.(pdf|ps)$/, ''), path]
         | 
| 95 | 
            +
                    }]
         | 
| 96 | 
            +
                  end
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                  def repository_path
         | 
| 99 | 
            +
                    config['repository']
         | 
| 100 | 
            +
                  end
         | 
| 101 | 
            +
             | 
| 78 102 | 
             
                  def replace_strings?
         | 
| 79 103 | 
             
                    config['replace_strings']
         | 
| 80 104 | 
             
                  end
         | 
| @@ -120,18 +144,57 @@ module Jekyll | |
| 120 144 | 
             
                  end
         | 
| 121 145 |  | 
| 122 146 | 
             
                  def bibliography_template
         | 
| 123 | 
            -
                    config['bibliography_template'] | 
| 147 | 
            +
                    @bibliography_template || config['bibliography_template']
         | 
| 148 | 
            +
                  end
         | 
| 149 | 
            +
             | 
| 150 | 
            +
                  def liquid_template
         | 
| 151 | 
            +
                    return @liquid_template if @liquid_template
         | 
| 152 | 
            +
             | 
| 153 | 
            +
                    tmp = bibliography_template
         | 
| 154 | 
            +
             | 
| 155 | 
            +
                    case
         | 
| 156 | 
            +
                    when tmp.nil?, tmp.empty?
         | 
| 157 | 
            +
                      tmp = '{{reference}}'
         | 
| 158 | 
            +
                    when site.layouts.key?(tmp)
         | 
| 159 | 
            +
                      tmp = site.layouts[tmp].content
         | 
| 160 | 
            +
                    end
         | 
| 161 | 
            +
             | 
| 162 | 
            +
                    @liquid_template = Liquid::Template.parse(tmp)
         | 
| 124 163 | 
             
                  end
         | 
| 125 164 |  | 
| 126 165 | 
             
                  def bibliography_tag(entry, index)
         | 
| 127 166 | 
             
                    return missing_reference unless entry
         | 
| 128 167 |  | 
| 129 | 
            -
                     | 
| 130 | 
            -
                       | 
| 131 | 
            -
                       | 
| 132 | 
            -
                       | 
| 133 | 
            -
                       | 
| 134 | 
            -
             | 
| 168 | 
            +
                    liquid_template.render({
         | 
| 169 | 
            +
                      'entry' => liquidify(entry),
         | 
| 170 | 
            +
                      'reference' => reference_tag(entry),
         | 
| 171 | 
            +
                      'key' => entry.key,
         | 
| 172 | 
            +
                      'type' => entry.type,
         | 
| 173 | 
            +
                      'link' => repository_link_for(entry),
         | 
| 174 | 
            +
                      'index' => index
         | 
| 175 | 
            +
                    })
         | 
| 176 | 
            +
                  end
         | 
| 177 | 
            +
             | 
| 178 | 
            +
                  def liquidify(entry)
         | 
| 179 | 
            +
                    e = {}
         | 
| 180 | 
            +
             | 
| 181 | 
            +
                    e['key'] = entry.key
         | 
| 182 | 
            +
                    e['type'] = entry.type
         | 
| 183 | 
            +
             | 
| 184 | 
            +
                    if entry.field?(:abstract)
         | 
| 185 | 
            +
                      tmp = entry.dup
         | 
| 186 | 
            +
                      tmp.delete :abstract
         | 
| 187 | 
            +
                      e['bibtex'] = tmp.to_s
         | 
| 188 | 
            +
                    else
         | 
| 189 | 
            +
                      e['bibtex'] = entry.to_s
         | 
| 190 | 
            +
                    end
         | 
| 191 | 
            +
             | 
| 192 | 
            +
                    entry.fields.each do |key, value|
         | 
| 193 | 
            +
                      value = value.convert(*bibtex_filters) unless bibtex_filters.empty?
         | 
| 194 | 
            +
                      e[key.to_s] = value.to_s
         | 
| 195 | 
            +
                    end
         | 
| 196 | 
            +
             | 
| 197 | 
            +
                    e
         | 
| 135 198 | 
             
                  end
         | 
| 136 199 |  | 
| 137 200 | 
             
                  def generate_details?
         | 
| @@ -146,6 +209,13 @@ module Jekyll | |
| 146 209 | 
             
                    [name, 'html'].join('.')
         | 
| 147 210 | 
             
                  end
         | 
| 148 211 |  | 
| 212 | 
            +
                  def repository_link_for(entry, base = base_url)
         | 
| 213 | 
            +
                    url = repository[entry.key]
         | 
| 214 | 
            +
                    return unless url
         | 
| 215 | 
            +
             | 
| 216 | 
            +
                    File.join(base, url)
         | 
| 217 | 
            +
                  end
         | 
| 218 | 
            +
             | 
| 149 219 | 
             
                  def details_link_for(entry, base = base_url)
         | 
| 150 220 | 
             
                    File.join(base, details_path, details_file_for(entry))
         | 
| 151 221 | 
             
                  end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,68 +1,68 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: jekyll-scholar
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 2.0.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sylvester Keil
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-01- | 
| 11 | 
            +
            date: 2014-01-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: jekyll
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - ~>
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 19 | 
             
                    version: '1.0'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - - ~>
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '1.0'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: citeproc-ruby
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 | 
            -
                - - ~>
         | 
| 31 | 
            +
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 33 | 
             
                    version: 0.0.6
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 | 
            -
                - - ~>
         | 
| 38 | 
            +
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: 0.0.6
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: bibtex-ruby
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 | 
            -
                - - ~>
         | 
| 45 | 
            +
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 47 | 
             
                    version: '2.3'
         | 
| 48 48 | 
             
              type: :runtime
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 | 
            -
                - - ~>
         | 
| 52 | 
            +
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 54 | 
             
                    version: '2.3'
         | 
| 55 | 
            -
            description:  | 
| 55 | 
            +
            description: " Jekyll-Scholar is for all the academic bloggers out there. It is a
         | 
| 56 56 | 
             
              set of extensions for Jekyll the awesome, blog aware, static site generator; it
         | 
| 57 57 | 
             
              formats your BibTeX bibliographies for the web using CSL citation styles and generally
         | 
| 58 | 
            -
              gives your blog posts citation super-powers.' | 
| 58 | 
            +
              gives your blog posts citation super-powers.' "
         | 
| 59 59 | 
             
            email: http://sylvester.keil.or.at
         | 
| 60 60 | 
             
            executables: []
         | 
| 61 61 | 
             
            extensions: []
         | 
| 62 62 | 
             
            extra_rdoc_files: []
         | 
| 63 63 | 
             
            files:
         | 
| 64 | 
            -
            - .gitignore
         | 
| 65 | 
            -
            - .travis.yml
         | 
| 64 | 
            +
            - ".gitignore"
         | 
| 65 | 
            +
            - ".travis.yml"
         | 
| 66 66 | 
             
            - Gemfile
         | 
| 67 67 | 
             
            - LICENSE
         | 
| 68 68 | 
             
            - README.md
         | 
| @@ -74,6 +74,7 @@ files: | |
| 74 74 | 
             
            - features/details.feature
         | 
| 75 75 | 
             
            - features/filter.feature
         | 
| 76 76 | 
             
            - features/reference.feature
         | 
| 77 | 
            +
            - features/repository.feature
         | 
| 77 78 | 
             
            - features/sorting.feature
         | 
| 78 79 | 
             
            - features/step_definitions/jekyll_steps.rb
         | 
| 79 80 | 
             
            - features/step_definitions/scholar_steps.rb
         | 
| @@ -100,17 +101,17 @@ require_paths: | |
| 100 101 | 
             
            - lib
         | 
| 101 102 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 102 103 | 
             
              requirements:
         | 
| 103 | 
            -
              - -  | 
| 104 | 
            +
              - - ">="
         | 
| 104 105 | 
             
                - !ruby/object:Gem::Version
         | 
| 105 106 | 
             
                  version: '0'
         | 
| 106 107 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 107 108 | 
             
              requirements:
         | 
| 108 | 
            -
              - -  | 
| 109 | 
            +
              - - ">="
         | 
| 109 110 | 
             
                - !ruby/object:Gem::Version
         | 
| 110 111 | 
             
                  version: 1.3.6
         | 
| 111 112 | 
             
            requirements: []
         | 
| 112 113 | 
             
            rubyforge_project: jekyll-scholar
         | 
| 113 | 
            -
            rubygems_version: 2. | 
| 114 | 
            +
            rubygems_version: 2.2.1
         | 
| 114 115 | 
             
            signing_key: 
         | 
| 115 116 | 
             
            specification_version: 4
         | 
| 116 117 | 
             
            summary: Jekyll extensions for the academic blogger.
         | 
| @@ -121,6 +122,7 @@ test_files: | |
| 121 122 | 
             
            - features/details.feature
         | 
| 122 123 | 
             
            - features/filter.feature
         | 
| 123 124 | 
             
            - features/reference.feature
         | 
| 125 | 
            +
            - features/repository.feature
         | 
| 124 126 | 
             
            - features/sorting.feature
         | 
| 125 127 | 
             
            - features/step_definitions/jekyll_steps.rb
         | 
| 126 128 | 
             
            - features/step_definitions/scholar_steps.rb
         |