Class Webgen::SourceHandler::Sitemap
In: lib/webgen/sourcehandler/sitemap.rb
Parent: Object
Error RenderError CommandNotFoundError LoadError NodeCreationError ::Rake::TaskLib WebgenTask Node Context\n[lib/webgen/context.rb\nlib/webgen/context/nodes.rb\nlib/webgen/context/render.rb\nlib/webgen/context/tags.rb] Tree FileSystem Sitemap Feed Copy Virtual Sitemap Directory Page Fragment Template Memory Metainfo Coderay Sitemap IncludeFile BreadcrumbTrail Langbar TikZ Menu Tags Fragments Resource Website Tidy Head Less Kramdown Xmllint Blocks Helpers Configuration Comparable Language Path StandardError CmdParse::CommandParser CommandParser CmdParse::Command RunCommand CreateCommand WebguiCommand ApplyCommand WebsiteAccess Main Loggable OutputPathHelpers ExecuteCommand Link Date Relocatable Metainfo ::Kramdown::Converter::Html KramdownHtmlConverter Cache Blackboard WebsiteManager Logger Page ProxyNode Utils Scss RDoc Sass Erb RDiscount Erubis Haml Maruku Builder RedCloth AccessHash TarArchive Stacked FileSystem lib/webgen/cache.rb lib/webgen/error.rb lib/webgen/languages.rb lib/webgen/website.rb lib/webgen/blackboard.rb lib/webgen/tree.rb lib/webgen/websitemanager.rb lib/webgen/logger.rb lib/webgen/context/tags.rb lib/webgen/configuration.rb lib/webgen/path.rb lib/webgen/webgentask.rb lib/webgen/page.rb lib/webgen/node.rb lib/webgen/cli/run_command.rb lib/webgen/cli/utils.rb lib/webgen/cli/apply_command.rb lib/webgen/cli/webgui_command.rb lib/webgen/cli.rb lib/webgen/cli/create_command.rb Color CLI ClassMethods WebsiteAccess LanguageManager lib/webgen/output/filesystem.rb Output lib/webgen/common/sitemap.rb Common lib/webgen/sourcehandler/metainfo.rb lib/webgen/sourcehandler/memory.rb lib/webgen/sourcehandler/copy.rb lib/webgen/sourcehandler/directory.rb lib/webgen/sourcehandler.rb lib/webgen/sourcehandler/page.rb lib/webgen/sourcehandler/template.rb lib/webgen/sourcehandler/fragment.rb lib/webgen/sourcehandler/sitemap.rb lib/webgen/sourcehandler/virtual.rb lib/webgen/sourcehandler/feed.rb OutputPathHelpers Base SourceHandler lib/webgen/tag/coderay.rb lib/webgen/tag/relocatable.rb lib/webgen/tag/menu.rb lib/webgen/tag/langbar.rb lib/webgen/tag/executecommand.rb lib/webgen/tag/breadcrumbtrail.rb lib/webgen/tag/metainfo.rb lib/webgen/tag/link.rb lib/webgen/tag/includefile.rb lib/webgen/tag/date.rb lib/webgen/tag/tikz.rb lib/webgen/tag/sitemap.rb Base Tag lib/webgen/contentprocessor/less.rb lib/webgen/contentprocessor/scss.rb lib/webgen/contentprocessor/blocks.rb lib/webgen/contentprocessor/rdoc.rb lib/webgen/contentprocessor/sass.rb lib/webgen/contentprocessor/erb.rb lib/webgen/contentprocessor/rdiscount.rb lib/webgen/contentprocessor/tags.rb lib/webgen/contentprocessor/erubis.rb lib/webgen/contentprocessor/kramdown/html.rb lib/webgen/contentprocessor/haml.rb lib/webgen/contentprocessor/maruku.rb lib/webgen/contentprocessor/xmllint.rb lib/webgen/contentprocessor/kramdown.rb lib/webgen/contentprocessor/head.rb lib/webgen/contentprocessor/builder.rb lib/webgen/contentprocessor/tidy.rb lib/webgen/contentprocessor/redcloth.rb lib/webgen/contentprocessor/fragments.rb lib/webgen/contentprocessor.rb ContentProcessor lib/webgen/source/tararchive.rb lib/webgen/source/stacked.rb lib/webgen/source/resource.rb lib/webgen/source/filesystem.rb Source Loggable Webgen dot/m_81_0.png

Source handler for creating an XML sitemap based on the specification of sitemaps.org.

Uses Webgen::Common::Sitemap to generate the needed sitemap tree and to check if a sitemap has changed.

Methods

Included Modules

Webgen::WebsiteAccess Base

Public Instance methods

Return the alcns of the sitemap node as a flat list.

[Source]

    # File lib/webgen/sourcehandler/sitemap.rb, line 43
43:     def alcns(node)
44:       website.blackboard.invoke(:create_sitemap, node, node.lang, options_for_node(node)).to_lcn_list.flatten
45:     end

Return the rendered feed represented by node.

[Source]

    # File lib/webgen/sourcehandler/sitemap.rb, line 32
32:     def content(node)
33:       if node.node_info[:sitemap].blocks.has_key?('template')
34:         node.node_info[:sitemap].blocks['template'].render(Webgen::Context.new(:chain => [node])).content
35:       else
36:         chain = [node.resolve("/templates/sitemap.template"), node]
37:         node.node_info[:used_nodes] << chain.first.alcn
38:         chain.first.node_info[:page].blocks['content'].render(Webgen::Context.new(:chain => chain)).content
39:       end
40:     end

Create an XML sitemap from path.

[Source]

    # File lib/webgen/sourcehandler/sitemap.rb, line 18
18:     def create_node(path)
19:       page = page_from_path(path)
20:       path.ext = 'xml'
21:       if path.meta_info['site_url'].nil?
22:         raise Webgen::NodeCreationError.new("Needed information site_url is missing",
23:                                             self.class.name, path)
24:       end
25: 
26:       super(path) do |node|
27:         node.node_info[:sitemap] = page
28:       end
29:     end

Private Instance methods

Return a hash with the sitemap-creation-options set on the node.

[Source]

    # File lib/webgen/sourcehandler/sitemap.rb, line 52
52:     def options_for_node(node)
53:       options = {}
54:       node.meta_info.each {|k,v| options[k] = v if k =~ /\./}
55:       options
56:     end

[Validate]