SitemapUser Guide
Overview
Sitemap is a support library that aids Alien-Factory in the development of other libraries, frameworks and applications. Though you are welcome to use it, you may find features are missing and the documentation incomplete.
Sitemap
is a library that creates an XML sitemap for your Bed App.
Install
Install Sitemap
with the Fantom Repository Manager ( fanr ):
C:\> fanr install -r http://repo.status302.com/fanr/ afSitemap
To use in a Fantom project, add a dependency to build.fan
:
depends = ["sys 1.0", ..., "afSitemap 0.0+"]
Documentation
Full API & fandocs are available on the Status302 repository.
Usage
The SitemapUrl object contains the data needed to render an individual URL object. These are gathered by Sitemap
in serveral ways:
Pillow Pages
URLs from Pillow pages are added automatically. The page location is generated using BedSheet's host
config value - so ensure this has been set!
Pillow pages are ignored if they contain an @InitRender
method or @PageContext
fields. Such pages take additional URL parameters of which, obviously, Sitemap
can not determine valid values for. These pages should implement SitemapSource and return a list of valid SitemapUrls.
If you don't wish for a Pillow page to be included, let it implement SitemapExempt.
IoC Services
The IoC service registry is scanned for services that implement SitemapSource. Any service that does is called upon to generate SitemapUrls.
IoC Contribution
You may also manually contribute SitemapSource objects to the SitemapPage service:
@Contribute { serviceType=SitemapPage# } internal static Void contributeSitemapPage(Configuration config) { url := SitemapUrl(`/wotever`) { ... } config.add(SitemapSourceImpl(url)) }
Release Notes
v0.0.14
- Chg: Updated to use Ioc 1.7.2 and BedSheet 1.3.12
v0.0.12
- Chg: Updated to use Ioc 1.6.4 and Pillow 1.0.10
v0.0.10
- Chg: Updated to use efanXtra 1.1.0 and Pillow 1.0.6
v0.0.8
- Chg: Updated to use Ioc 1.6.0 and BedSheet 1.3.6.
v0.0.6
- New: Added
SitemapExempt
mixin.
v0.0.4
- Chg: Updated to Pillow 0.0.10
v0.0.2
- New: Preview Release