Added sitemap generation example

This commit is contained in:
Dan Brown 2021-03-04 23:43:47 +00:00
commit e5c11eff82
3 changed files with 499 additions and 0 deletions

View file

@ -0,0 +1,170 @@
#!/usr/bin/env php
<?php
// API Credentials
// You can either provide them as environment variables
// or hard-code them in the empty strings below.
$baseUrl = getenv('BS_URL') ?: '';
$clientId = getenv('BS_TOKEN_ID') ?: '';
$clientSecret = getenv('BS_TOKEN_SECRET') ?: '';
// Output File
// Can be provided as a arguments when calling the script
// or be hard-coded as strings below.
$outputFile = $argv[1] ?? './sitemap.xml';
// Script logic
////////////////
// Check we have required options
if (empty($outputFile)) {
errorOut("An output file needs to be provided");
}
// Create the output folder if it does not exist
$outDir = dirname($outputFile);
if (!is_dir($outDir)) {
mkdir($outDir, 0777, true);
}
// Clean up the base path
$baseUrl = rtrim($baseUrl, '/');
// Additional endpoints not fetched via API entities
$additionalEndpoints = [
'/',
'/books',
'/search',
'/login',
];
// Get all shelf URLs
$shelves = getAllOfAtListEndpoint("api/shelves", []);
$shelfEndpoints = array_map(function ($shelf) {
return '/shelves/' . $shelf['slug'];
}, $shelves);
// Get all book URLs and map for chapters & pages
$books = getAllOfAtListEndpoint("api/books", []);
$bookSlugsById = [];
$bookEndpoints = array_map(function ($book) use (&$bookSlugsById) {
$bookSlugsById[$book['id']] = $book['slug'];
return '/books/' . $book['slug'];
}, $books);
// Get all chapter URLs and map for pages
$chapters = getAllOfAtListEndpoint("api/chapters", []);
$chapterEndpoints = array_map(function ($chapter) use ($bookSlugsById) {
$bookSlug = $bookSlugsById[$chapter['book_id']];
return '/books/' . $bookSlug . '/chapter/' . $chapter['slug'];
}, $chapters);
// Get all page URLs
$pages = getAllOfAtListEndpoint("api/pages", []);
$pageEndpoints = array_map(function ($page) use ($bookSlugsById) {
$bookSlug = $bookSlugsById[$page['book_id']];
return '/books/' . $bookSlug . '/page/' . $page['slug'];
}, $pages);
// Gather all our endpoints
$allEndpoints = $additionalEndpoints
+ $pageEndpoints
+ $chapterEndpoints
+ $bookEndpoints
+ $shelfEndpoints;
// Fetch our sitemap XML
$xmlSitemap = generateSitemapXml($allEndpoints);
// Write to the output file
file_put_contents($outputFile, $xmlSitemap);
/**
* Generate out the XML content for a sitemap
* for the given URLs.
*/
function generateSitemapXml(array $endpoints): string
{
global $baseUrl;
$nowDate = date_format(new DateTime(), 'Y-m-d');
$doc = new DOMDocument("1.0", "UTF-8");
$urlset = $doc->createElement('urlset');
$urlset->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$doc->appendChild($urlset);
foreach ($endpoints as $endpoint) {
$url = $doc->createElement('url');
$loc = $url->appendChild($doc->createElement('loc'));
$urlText = $doc->createTextNode($baseUrl . $endpoint);
$loc->appendChild($urlText);
$url->appendChild($doc->createElement('lastmod', $nowDate));
$url->appendChild($doc->createElement('changefreq', 'monthly'));
$url->appendChild($doc->createElement('priority', '0.8'));
$urlset->appendChild($url);
}
return $doc->saveXML();
}
/**
* Consume all items from the given API listing endpoint.
*/
function getAllOfAtListEndpoint(string $endpoint, array $params): array
{
$count = 100;
$offset = 0;
$all = [];
do {
$endpoint = $endpoint . '?' . http_build_query(array_merge($params, ['count' => $count, 'offset' => $offset]));
$resp = apiGetJson($endpoint);
$total = $resp['total'] ?? 0;
$new = $resp['data'] ?? [];
array_push($all, ...$new);
$offset += $count;
} while ($offset < $total);
return $all;
}
/**
* Make a simple GET HTTP request to the API.
*/
function apiGet(string $endpoint): string
{
global $baseUrl, $clientId, $clientSecret;
$url = rtrim($baseUrl, '/') . '/' . ltrim($endpoint, '/');
$opts = ['http' => ['header' => "Authorization: Token {$clientId}:{$clientSecret}"]];
$context = stream_context_create($opts);
return @file_get_contents($url, false, $context);
}
/**
* Make a simple GET HTTP request to the API &
* decode the JSON response to an array.
*/
function apiGetJson(string $endpoint): array
{
$data = apiGet($endpoint);
return json_decode($data, true);
}
/**
* DEBUG: Dump out the given variables and exit.
*/
function dd(...$args)
{
foreach ($args as $arg) {
var_dump($arg);
}
exit(1);
}
/**
* Alert of an error then exit the script.
*/
function errorOut(string $text)
{
echo "ERROR: " . $text;
exit(1);
}

View file

@ -0,0 +1,35 @@
# Generate Sitemap
This script will scan through all pages, chapters books and shelves via the API to generate a sitemap XML file.
**This is a very simplistic single-script-file example of using the endpoints API together**
, it is not a fully-featured & validated script.
## Requirements
You will need php (~7.2+) installed on the machine you want to run this script on.
You will also need BookStack API credentials (TOKEN_ID & TOKEN_SECRET) at the ready.
## Running
```bash
# Downloading the script
# ALTERNATIVELY: Clone the project from GitHub and run locally.
curl https://raw.githubusercontent.com/BookStackApp/api-scripts/main/php-generate-sitemap/generate-sitemap.php > generate-sitemap.php
# Setup
# ALTERNATIVELY: Open the script and edit the variables at the top.
export BS_URL=https://bookstack.example.com # Set to be your BookStack base URL
export BS_TOKEN_ID=abc123 # Set to be your API token_id
export BS_TOKEN_SECRET=123abc # Set to be your API token_secret
# Running the script
php generate-sitemap.php <output_file_name>
```
## Examples
```bash
# Create a sitemap called "sitemap.xml within the current directory
php generate-sitemap.php ./sitemap.xml
```

View file

@ -0,0 +1,294 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://bookstack.local/</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/search</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/login</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/using-code-blocks</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/sorting-a-book</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/good-book-structure</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/an-introduction-to-bookstack</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/basic-search-functionality</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/advanced-search-options</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/book-level-search</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/bZvJBTys55</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/oxD4VRdaGe</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/Sy23xWvUoV</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/kIAu1DcHrc</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/Z4DpZDKphM</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/rJvq5q228h</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/Pu0eRMWJcE</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/puhVtEoPpr</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/lYaNDrCQrd</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/f53wjh7jG4</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/8Ymis6LVXS</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/qPJfPdZ2eS/page/Jsnaj39BfB</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/X8wZ55pEk1</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/CXjLNWVZZI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/nIqsiWm2pm</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/al7vbQ1JMf</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/1zZSIy6gMR</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/raBPR2asiS</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/1GDVvIok9w</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/OZvSUPDmiM</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/nCYc8osz64</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/qMWIXv4hjz</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/vytJzQwY9v</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/H99QxALaoG/page/T8ulYc4cz4</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/p0dprGnHO5</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/IMEt7fiF8n</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/jGIJBYfv3k</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/chze4SWR0u</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/YIFRQ6pSqN</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/o9UNtdywvj</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/2fWRohfQ8d</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/7lWx7jsHPZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/IK7Y5PORX9</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/TcJPhBvNIE</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/lQINAB7qyx</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/Jl9FLMdXVR/page/KBBkr2NeKl</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/XfmyCHX5FI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/n8pSJumNHV</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/z4Nbx3SUOw</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/Cu57Dd29je</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/tCGEdX1NEG</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/XzCeZB9q3s</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/alXXbq1uMe</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/x0TDK6nH7R</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/6DFwJTQ0K6</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/development-guide/page/ipsam-voluptatem-unde-voluptatem-libero</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/development-guide/page/voluptatibus-culpa-molestias-eaque-ut-quae-aut-hic</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/nhigcEfhrY</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/V55X5iC2dk</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/EKdVb8PewC</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/HJ4h8mrp9H</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/vgYTbw2f3a</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/L8ilRkcIs7</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/UW0acn6tKZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/6O0tx6AqGy</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/M7GRgwcVxs</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/9GHlq0wa2d</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/2Jczd8BHWv</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/te2lwfOnKW</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/OxNElrf3IK/page/W2hLz097Fx</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Hk3vpOsJdQ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/IC4kmyipik</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/pVikVY6HRc</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/LIm7vQ8wav</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Liy8PbrcrB</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/dFRmFmDbHj</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/7RNbdMvwPw</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/plVETUHiOI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/k6PoCPzDFM</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hxgabrZaLC</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/x79X7ABmVq</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/YVE2vkHlqZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/iyNnihomLp</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/FNqHuimRja</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/K7v3vyr2xp</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/q6Jvy2MpDK</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/qhK0WCR6TT</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/HNn5H18SXY</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/q8uTSyUE8J</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/upQi6ff9dE</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/HU73Yetadf</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/ksz0eTunG7</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hQVFnyxe4q</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/myogby00mU</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Jw5ywtjkJu</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/3FwkgdvOsm</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/sGh1RBmJZn</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Kf9Vg8E6S0</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/JmY0JoyCNh</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/to9KCNIhnq</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/KLZ0lkDs4u</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/5fRly2wKYr</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/KSmrq1Hl6X</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/wf0xOJjHRw</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/o6oCzGkAtF</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/mJuSc7yG1B</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Z0lGTOI2OO</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/aEOsf7wutX</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/jOKgxdmSEo</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/zld2npCYxC</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/R7iNukJmM7</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/8RcaybiI7d</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/IAgHRV6Uix</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/2QVyYNFZMO</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/f2XgZ72cqR</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/n4OV9mb1GN</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/1E67PpJlw3</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/wNBjOQsDus</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/tnaGqvJpEu</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/s4SMjTDMOc</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/TG0QYEgvLL</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/QbGoFSvLEY</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/IEpQefw2ix</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/KZcoCHkxm7</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/xV5D9EyPHQ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/68WqQVQnO9</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/9RBb4U1Z7a</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/RPah2cTQnO</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/mqVwIFMBG6</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/sfe7k7rFpZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/wNsMstqBfS</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/qmCMzzcK0d</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/wLc6q1fbvb</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/J8aUPsqaxy</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/3VTt6hezZK</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/nlzKLjL9PO</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/rTH5V3vAPy</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/iZhi8HWZr8</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/2BCtkdCA8g</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/mHQYuEoqXe</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hSfs8NPboF</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/OsxVGjUv70</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/1tgtvsLWip</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/XkU21yjWJQ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/qI6zyznvof</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hDVXW7zoJT</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/YJEI36M8Qx</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/dszJWh5a4b</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/3X0stNXBm6</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/U5mE4uWHMw</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/prN9bURReW</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/K9VsHb0azK</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/P6GXYjKo7Y</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/BaV5wwQomJ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/W7FNatim3d</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/swWEh6GdVT</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/LyW5GO9z3I</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/A2XUiKFs3X</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/gJ21LNIFDR</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/mkrb4qqwyd</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/DwRfMd52o3</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/OFj9N8dgE9</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/lxvxKXrLCb</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/XgoZDw16CI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/ogJvXi7Uxj</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/3C59WQwWhb</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/OsI0PqcyBB</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/0gPGbQJWHI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/tOV5gr9BXT</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/ZonH2xybos</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/2KE1UH0Wai</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/yP0na8AUxO</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/cobdvd5rYg</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/dT9pUYfTsq</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hurHTbO7hP</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/GvOkv9TSIT</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/5QiFQvJkAW</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/zzSEciQ1tS</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/oO2nkn56Zt</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/LLLv9p2WBN</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/qQiijbRJaw</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/WdFYvR07Up</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/GqM4Mfk945</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hRbtnjEQeA</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/0fbDPiTKs9</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/kzjEsZ9GKE</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/kxsWWrQ0pP</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/RaXCFDKmVE</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/KIuF5SOTZj</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/0DzV7a2oUI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/2DwIZHsMsh</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/BNauGQTy5m</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/LKoter9Ueh</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/4T2BlQBcXO</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/TcR6rB9EMc</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/QpyykBSfzn</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/t4hk3Dao02</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/sHa920W4LG</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/3vyEiiYE42</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/KciWNS9xGK</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/4qlt6ss9a0</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/PsSUJlc8GW</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/OIg5o6ajGt</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/ZNg2yBrSXE</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/fy0WgzfnDN</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/r8Qd3xLzQq</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/OPdEVmO6TZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/MlGGCmNQca</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/xgYDUWFC91</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/sd5NfbHQIw</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/pJZyqs4nTi</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/cjvoGWT7wk</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/BRIbMKoeao</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/8UQfA1xCNe</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/oxY3d3pitr</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/PInNd82VLm</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/DVE1GI3Duu</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Dx0MH7uuDp</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/thpdgKnV9e</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/XkoqtPDtk0</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/dViOx8wTjU</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/ABNu0nZKUn</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/neA8FWzpDt</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/i4jaoc0bfQ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/rCOug8WyB7</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/1s5nVO3L4T</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/lBj0pYxOZv</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/nOfCGweYMI</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/qFwKSbk95T</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/N4DrfJzx60</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/o9nHn4bTjs</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/KHBUogQG3G</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/B8hRv9uO5c</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/gmwFq8f0wZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/jiDu7E6DYi</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/dhRJj8aaf9</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Mcf23lSYxK</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/2dx2capajx</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/1NGZg8FaNe</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/9YBhpp1rqu</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/QECNI6MNdF</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/ny2edn4P5J</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/jv8cuXSRdu</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/sbSF9VWP1s</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/7fX3qhtFAu</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/jiQkeOG7OZ</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/84SCQd5QDM</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/BwXIEXVAkM</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/l4aCig4mTy</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/F9rwztDU60</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/NRRFen4fSg</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/scP14VLgOn</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/hp1k3oZHo5</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/29zJ6PGCOH</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/GGIqutoBxp</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/Fk95BJDt8s</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/E3RJI26k7u</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/BVbTmRrqIR</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/xiZfwq3Lso</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/mN2MnvVZHD</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/1LnCHQRuDa</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/7eCOmIEsCc</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/oesDu8B7gY</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/MgkgzOCMV2</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/GadogAcr19</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/K5GeUoirdl</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/FhZ7XsQSog</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/xCC3I2xaXT</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/TjjWfQ4XPf</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/a-larger-book-with-lots-of-pages/page/wmtSe2mQ2I</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/definition-of-the-admin-role</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/user-list</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/user-profile</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/app-settings</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/registration-settings</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/roles</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-admin-guide/page/system-permissions</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/page-content-types</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/jbsQrzuaXe/page/test-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/an-introduction-to-bookstack-copy</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/my-markdown-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/code-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/heading-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/s3-files</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/script-test</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/heavy-diff-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/lots-of-code-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/administratíva/page/code-block-in-details</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/my-new-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
<url><loc>http://bookstack.local/books/bookstack-user-guide/page/new-page</loc><lastmod>2021-03-04</lastmod><changefreq>monthly</changefreq><priority>0.8</priority></url>
</urlset>