Floorplan
Floorplan is a library for generating sitemaps. It takes a index name and a collection of data sources to produce your site's sitemap.
It currently has built-in adapters for ecto or elasticsearch data sources. See Examples for usage.
Installation
If available in Hex, the package can be installed as:
Add floorplan to your list of dependencies in
mix.exs:def deps do
[{:floorplan, "~> 0.0.1"}]end
Ensure floorplan is started before your application:
def application do
[applications: [:floorplan]]end
Define
base_urlwithin your applications config:## within config.ex config :floorplan, base_url: "https://www.househappy.org"
3b. Additional optional configuration:
## within config.ex
config :floorplan, queue_size: 25_000
config :floorplan, :elasticsearch, host: "http://localhost:9200"Usage
defmodule MySitemapGenerator do
def generate(index_name) do
Floorplan.generate(index_name, data_sources)
end
def data_sources do
[
CoreLinks.all,
ContentLinks.all
] |> Stream.concat
end
end
iex> MySitemapGenerator.generate("tmp/sitemap.xml")See Examples for more usage.
Contributions
Code is licensed under BSD License.
PRs/Issues welcome!