protocol PostListPageGeneratorSource { var language: ContentLanguage { get } var content: Content { get } var results: PageGenerationResults { get } var pageTitle: String? { get } var linkTitle: String? { get } var linkDescription: String? { get } var linkImage: FileResource? { get } /** The url to the page, including a leading slash */ func pageUrlPrefix(for language: ContentLanguage) -> String var postsPerPage: Int { get } }