Class: Jekyll::LinkTag

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/jekyll-page_extensions.rb

Overview

Creates link to page when given the title

Syntax link_to “My Page Title” %

Example: link_to “Meine Wörter” %

This will render <a href=“/meine-worter”>Meine Wörter</a>

Instance Method Summary collapse

Constructor Details

#initialize(tag_name, text, tokens) ⇒ LinkTag

Read title from tag



88
89
90
91
# File 'lib/jekyll-page_extensions.rb', line 88

def initialize(tag_name, text, tokens)
  super
  @text = text.strip.gsub(/["']/, "")
end

Instance Method Details

#render(context) ⇒ Object

Convert title to url parameter and return link tag, supplementing page path if needed



94
95
96
97
98
# File 'lib/jekyll-page_extensions.rb', line 94

def render(context)
  site = context.registers[:site]
  page = site.find_page(title: @text)
  page ? "<a href=\"#{page.pretty_url}\">#{@text}</a>" : ""
end