plugin.tx_seo {
    view {
        templateRootPaths {
            20 = EXT:ds_site/Resources/Private/Templates/Sitemaps/
        }
    }
    config {
        xmlSitemap {
            sitemaps {
                blog-posts {
                    provider = DanielSiepmann\DsSite\Frontend\RssFeed\SitemapDataProvider
                    config {
                        table = pages
                        sortField = lastUpdated
                        sortOrder = DESC
                        lastModifiedField = tstamp
                        additionalWhere = AND no_index = 0
                        pid = {$pageUids.blogPosts}
                        recursive = 3
                        template = RssFeed
                    }
                }
            }
        }
    }
}

page {
    headerData {
        10 = TEXT
        10 {
            wrap = <link rel="alternate" title="RSS Feed of all blog posts" type="application/rss+xml" href="|" />
            typolink {
                parameter = t3://page?uid=1
                additionalParams = &type=1533906435&sitemap=blog-posts
                returnLast = url
            }
        }
        11 = COA
        11 {
            if {
                isTrue.stdWrap.data = GP:topic_uid
            }
            1 = TEXT
            1.char = 10
            2 = TEXT
            2 {
                noTrimWrap = |<link rel="alternate" title="RSS Feed of blog posts for topic: |" type="application/rss+xml"|
                data.dataWrap = DB : sys_category:{GP:topic_uid}:title
            }
            3 = TEXT
            3.char = 32
            4 = TEXT
            4 {
                wrap = href="|" />
                typolink {
                    parameter = t3://page?uid=1
                    additionalParams.stdWrap.cObject = COA
                    additionalParams.stdWrap.cObject {
                        10 = TEXT
                        10.value = &type=1533906435&sitemap=blog-posts
                        11 = TEXT
                        11.value = &category_uid=
                        12 = TEXT
                        // uid is casted to int within PHP source
                        12.data.dataWrap = DB : sys_category:{GP:topic_uid}:uid
                    }
                    returnLast = url
                }
            }
        }
    }
}

seo_sitemap {
    10 {
        userFunc = DanielSiepmann\DsSite\Frontend\RssFeed\XmlSitemapRenderer->render
        userFunc {
            variables {
                categoryId = TEXT
                categoryId.data = GP:category_uid
                categoryId.intval = 1
                categoryTitle = TEXT
                categoryTitle.data.dataWrap = DB : sys_category:{GP:category_uid}:title
            }
        }
    }
}