Class Webgen::SourceHandler::Sitemap
In: lib/webgen/sourcehandler/sitemap.rb
Parent: Object
Error RenderError CommandNotFoundError LoadError NodeCreationError ::Rake::TaskLib WebgenTask Helpers Configuration 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 Copy Feed Virtual Sitemap Directory Page Fragment Template Metainfo Memory Coderay Sitemap IncludeFile BreadcrumbTrail Langbar TikZ Menu Tags Fragments Resource Website Tidy Head Kramdown Less Xmllint Blocks Comparable Language Path StandardError CmdParse::CommandParser CommandParser CmdParse::Command RunCommand WebguiCommand CreateCommand 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/context/render.rb lib/webgen/website.rb lib/webgen/blackboard.rb lib/webgen/tree.rb lib/webgen/websitemanager.rb lib/webgen/logger.rb lib/webgen/configuration.rb lib/webgen/path.rb lib/webgen/webgentask.rb lib/webgen/page.rb lib/webgen/node.rb ClassMethods WebsiteAccess 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 LanguageManager lib/webgen/output/filesystem.rb Output lib/webgen/common/sitemap.rb Common lib/webgen/sourcehandler/memory.rb lib/webgen/sourcehandler/metainfo.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/includefile.rb lib/webgen/tag/link.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_82_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]