Class: Jekyll::AwesomeNav::Serializer
- Inherits:
-
Object
- Object
- Jekyll::AwesomeNav::Serializer
- Defined in:
- lib/jekyll/awesome_nav/serializer.rb
Class Method Summary collapse
- .serialize_map(map, include_internal: false) ⇒ Object
- .serialize_node(node, include_internal: false) ⇒ Object
- .serialize_tree(nodes, include_internal: false) ⇒ Object
Class Method Details
.serialize_map(map, include_internal: false) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/jekyll/awesome_nav/serializer.rb', line 10 def self.serialize_map(map, include_internal: false) map.each_with_object({}) do |(key, value), serialized| items = value.is_a?(NavFile) ? value.items : value serialized[key] = serialize_tree(items, include_internal: include_internal) end end |
.serialize_node(node, include_internal: false) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/jekyll/awesome_nav/serializer.rb', line 17 def self.serialize_node(node, include_internal: false) item = { "title" => node.title } item["url"] = node.url if node.url item["children"] = serialize_tree(node.children, include_internal: include_internal) if node.section? && node.children.any? item["__dir"] = node.dir if include_internal && node.dir item end |
.serialize_tree(nodes, include_internal: false) ⇒ Object
6 7 8 |
# File 'lib/jekyll/awesome_nav/serializer.rb', line 6 def self.serialize_tree(nodes, include_internal: false) Array(nodes).map { |node| serialize_node(node, include_internal: include_internal) } end |