summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeorg <georg@riseup.net>2020-01-17 16:31:51 +0000
committergeorg <georg@riseup.net>2020-01-17 16:31:51 +0000
commit372d1339d90ac70e1b209c5a97685e664205cdd1 (patch)
tree97643bfdd77504f971f631db7b337e6737deb254
parent4b624074be33de81f40191471fe9a466de955b3d (diff)
Drop obsolete breadcrumbs plugin
-rw-r--r--_plugins/breadcrumbs.rb82
-rw-r--r--_plugins/drops/breadcrumb_item.rb29
2 files changed, 0 insertions, 111 deletions
diff --git a/_plugins/breadcrumbs.rb b/_plugins/breadcrumbs.rb
deleted file mode 100644
index ec6068b..0000000
--- a/_plugins/breadcrumbs.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-require_relative 'drops/breadcrumb_item.rb'
-
-module Jekyll
- module Breadcrumbs
- @@config = {}
- @@siteAddress = ""
- @@sideAddresses = {}
-
- def self.clearAddressCache
- @@sideAddresses = {}
- end
-
- def self.loadAddressCache(site)
- clearAddressCache
- site.documents.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # collection files including posts
- site.pages.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # pages
- site.posts.docs.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # posts
- end
-
- def self.addAddressItem(url, title)
- key = createAddressCacheKey(url)
- @@sideAddresses[key] = {:url => url, :title => title}
- end
-
- def self.findAddressItem(path)
- key = createAddressCacheKey(path)
- @@sideAddresses[key] if key
- end
-
- def self.createAddressCacheKey(path)
- path.chomp("/").empty? ? "/" : path.chomp("/")
- end
-
- def self.buildSideBreadcrumbs(side, payload)
- payload["breadcrumbs"] = []
- return if side.url == @@siteAddress && root_hide === true
-
- drop = Jekyll::Drops::BreadcrumbItem
- position = 0
-
- path = side.url.chomp("/").split(/(?=\/)/)
- (-1..(path.size - 1)).each do |int|
- joined_path = int == -1 ? "" : path[0..int].join
- item = findAddressItem(joined_path)
- if item
- position += 1
- item[:position] = position
- item[:root_image] = root_image
- payload["breadcrumbs"] << drop.new(item)
- end
- end
- end
-
- # Config
- def self.loadConfig(site)
- config = site.config["breadcrumbs"] || {"root" => {"hide" => false, "image" => false}}
- root = config["root"]
- @@config[:root_hide] = root["hide"] || false
- @@config[:root_image] = root["image"] || false
-
- @@siteAddress = site.config["baseurl"] || "/"
- @@siteAddress = "/" if @@siteAddress.empty?
- end
-
- def self.root_hide
- @@config[:root_hide]
- end
-
- def self.root_image
- @@config[:root_image]
- end
- end
-end
-
-Jekyll::Hooks.register :site, :pre_render do |site, payload|
- Jekyll::Breadcrumbs::loadConfig(site)
- Jekyll::Breadcrumbs::loadAddressCache(site)
-end
-
-Jekyll::Hooks.register [:pages, :documents], :pre_render do |side, payload|
- Jekyll::Breadcrumbs::buildSideBreadcrumbs(side, payload)
-end
diff --git a/_plugins/drops/breadcrumb_item.rb b/_plugins/drops/breadcrumb_item.rb
deleted file mode 100644
index 8e3b2cf..0000000
--- a/_plugins/drops/breadcrumb_item.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-module Jekyll
- module Drops
- class BreadcrumbItem < Liquid::Drop
- extend Forwardable
-
- def initialize(side)
- @side = side
- end
-
- def position
- @side[:position]
- end
-
- def title
- @side[:title]
- end
-
- def url
- @side[:url]
- end
-
- def rootimage
- @side[:root_image]
- end
-
- end
- end
- end
- \ No newline at end of file