Class: Jekyll::Tags::Base

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/jekyll_relative_urls/jekyll/tags/base.rb

Overview

Agrega una etiqueta Liquid base % para obtener la posición actual de una URL con respecto a la raíz del sitio.

Instance Method Summary collapse

Instance Method Details

#render(context) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/jekyll_relative_urls/jekyll/tags/base.rb', line 26

def render(context)
  @@cache ||= {}

  url = context.registers[:page]['url']
  # Obtiene la cantidad de directorios en una URL
  depth = url.split('/').size
  # Si la ruta contiene extensión, descontar uno
  depth -= 1 unless url.end_with? '/'

  # Establecer el nivel en el que estamos, subiendo niveles hacia la
  # raíz del sitio
  @@cache[depth] ||=
    ''.dup.tap do |base|
      depth.times do
        base << '../'
      end
    end
end