From 3a67f9e56a49d6c2e0d3f1203b94b9cb8dd633f6 Mon Sep 17 00:00:00 2001 From: David Date: Fri, 9 Sep 2016 14:06:21 +0800 Subject: [PATCH] added v3 entries --- lib/docs/filters/craft_cms/entries_v3.rb | 54 ++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 lib/docs/filters/craft_cms/entries_v3.rb diff --git a/lib/docs/filters/craft_cms/entries_v3.rb b/lib/docs/filters/craft_cms/entries_v3.rb new file mode 100644 index 00000000..f2585eef --- /dev/null +++ b/lib/docs/filters/craft_cms/entries_v3.rb @@ -0,0 +1,54 @@ +module Docs + class CraftCms + class EntriesV3Filter < Docs::EntriesFilter + + def get_name + name = at_css('h1').content.strip + name + end + + def get_type + if slug.start_with?('docs') + type = slug.split('/').drop(1).first + + docs_patterns = [/folder/, /upgrading/, /writing\-plugins/, /installing/] + docs_regex = Regexp.union(docs_patterns) + + if type.nil? + 'Docs' + elsif type.match(docs_regex) + if type.include?('plugins') + 'Docs\\Plugins' + else + 'Docs' + end + else + type + end + else + 'Guide' + end + end + + def additional_entries + + + # Get Class Name from get_name method + classname = get_name + entry_type = get_type + + css('h2').each_with_object [] do |node, entries| + # Get Property Name, Method Name, etc + name = node.content.strip.tr('#', '') + label = classname + "#" + name + + tag = node.at_css('a')['id'] + + # Append to entries array + entries << [label, tag, entry_type] + end + end + + end + end +end