Feature: Link Tag As a hacker who likes to write a variety of content I want to be able to link to pages and documents And render them without much hassle Scenario: Basic site with two pages Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page that contains "[Home]({% link index.md %})" When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "

About my projects

" in "_site/index.html" And I should see "

Home

" in "_site/about.html" Scenario: Basic site with custom page-permalinks Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page with permalink "/about/" that contains "[Home]({% link index.md %})" When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "

About my projects

" in "_site/index.html" And I should see "

Home

" in "_site/about/index.html" Scenario: Basic site with custom site-wide-permalinks Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page that contains "[Home]({% link index.md %})" And I have a configuration file with "permalink" set to "pretty" When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "

About my projects

" in "_site/index.html" And I should see "

Home

" in "_site/about/index.html" Scenario: Basic site with two pages and custom baseurl Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page that contains "[Home]({% link index.md %})" And I have a configuration file with "baseurl" set to "/blog" When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "

About my projects

" in "_site/index.html" And I should see "

Home

" in "_site/about.html" Scenario: Basic site with two pages and custom baseurl and permalinks Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page that contains "[Home]({% link index.md %})" And I have a "_config.yml" file with content: """ baseurl: /blog permalink: pretty """ When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "

About my projects

" in "_site/index.html" And I should see "

Home

" in "_site/about/index.html" Scenario: Linking to a ghost file Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page that contains "[Contact]({% link contact.md %})" When I run jekyll build Then I should get a non-zero exit status And the _site directory should not exist And I should see "Could not find document 'contact.md' in tag 'link'" in the build output Scenario: Complex site with a variety of files Given I have an "index.md" page that contains "[About my projects]({% link about.md %})" And I have an "about.md" page that contains "[Latest Hack]({% link _posts/2018-02-15-metaprogramming.md %})" And I have a _posts directory And I have an "_posts/2018-02-15-metaprogramming.md" page that contains "[Download This]({% link script.txt %})" And I have a "script.txt" file that contains "Static Alert!" When I run jekyll build Then I should get a zero exit status And the _site directory should exist And I should see "

About my projects

" in "_site/index.html" And I should see "

Latest Hack

" in "_site/about.html" And I should see "

Download This

" in "_site/2018/02/15/metaprogramming.html" And I should see "Static Alert!" in "_site/script.txt"