repository.feature 1.63 KB
Newer Older
Sylvester Keil's avatar
Sylvester Keil committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Feature: PDF Repository
  As a scholar who likes to blog
  I want to publish my BibTeX bibliography on my blog
  And I want Jekyll to generate links to PDFs of my references automatically

  @repository
  Scenario: A bibliography with a single entry and a repository
    Given I have a scholar configuration with:
      | key                   | value             |
      | source                | ./_bibliography   |
      | repository            | papers            |
      | bibliography_template | bibliography      |
    And I have a "_bibliography" directory
    And I have a file "_bibliography/references.bib":
      """
      @book{ruby,
        title     = {The Ruby Programming Language},
        author    = {Flanagan, David and Matsumoto, Yukihiro},
        year      = {2008},
        publisher = {O'Reilly Media}
      }
      """
    And I have a "papers" directory
    And I have a file "papers/ruby.pdf":
      """
      The PDF
      """
28 29 30 31
    And I have a file "papers/ruby.ppt":
      """
      The PPT
      """
Sylvester Keil's avatar
Sylvester Keil committed
32 33 34 35 36
    And I have a "_layouts" directory
    And I have a file "_layouts/bibliography.html":
      """
      ---
      ---
37
      {{ reference }} Link: {{ link }} Slides: {{ links.ppt }}
Sylvester Keil's avatar
Sylvester Keil committed
38 39 40 41 42 43 44 45 46 47 48 49
      """
    And I have a page "scholar.html":
      """
      ---
      ---
      {% bibliography %}
      """
    When I run jekyll
    Then the _site directory should exist
    And the "_site/papers/ruby.pdf" file should exist
    And I should see "The Ruby Programming Language" in "_site/scholar.html"
    And I should see "Link: /papers/ruby.pdf" in "_site/scholar.html"
50
    And I should see "Slides: /papers/ruby.ppt" in "_site/scholar.html"
Sylvester Keil's avatar
Sylvester Keil committed
51 52 53