# literature v0.5.1 - API Reference

## Modules

- [Literature](Literature.md): Provides the core functions to retrieve and manage
the CLDR data that supports formatting and localisation.
- [Literature.AcceptLanguage](Literature.AcceptLanguage.md): Parses HTTP `Accept-Language` header values as defined in
[rfc2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4).
- [Literature.Author](Literature.Author.md):   Literature Author Model

- [Literature.Cloudflare](Literature.Cloudflare.md):   Literature Cloudflare

- [Literature.DownloadHelpers](Literature.DownloadHelpers.md): 
Returns
- [Literature.Language](Literature.Language.md)
- [Literature.Locale](Literature.Locale.md): Backend module that provides functions
to define new locales and display human-readable
locale names for presentation purposes.
- [Literature.Migration](Literature.Migration.md): Migrations create the database tables Literature needs.
- [Literature.Migrations](Literature.Migrations.md): Database Migrations for the Literature tables.

- [Literature.Migrations.Postgres](Literature.Migrations.Postgres.md):   update @current_version if adding new migration

- [Literature.Migrations.Postgres.V01](Literature.Migrations.Postgres.V01.md):   Beginning tables for Literature

- [Literature.Migrations.Postgres.V02](Literature.Migrations.Postgres.V02.md):   Adds more indexes

- [Literature.Migrations.Postgres.V03](Literature.Migrations.Postgres.V03.md): Add literature_redirects table

- [Literature.Migrations.Postgres.V04](Literature.Migrations.Postgres.V04.md): Add language to publications and posts

- [Literature.Migrations.Postgres.V05](Literature.Migrations.Postgres.V05.md): Add position to literature_tags_posts

- [Literature.Migrations.Postgres.V06](Literature.Migrations.Postgres.V06.md): Add is_published to literature_posts

- [Literature.Migrations.Postgres.V07](Literature.Migrations.Postgres.V07.md): Add notes to posts

- [Literature.Migrations.Postgres.V08](Literature.Migrations.Postgres.V08.md): Add rss fields to publication

- [Literature.Migrations.Postgres.V09](Literature.Migrations.Postgres.V09.md):   Adds more indexes

- [Literature.Migrations.Postgres.V10](Literature.Migrations.Postgres.V10.md):   Adds more indexes

- [Literature.Migrations.Postgres.V11](Literature.Migrations.Postgres.V11.md): Add update URL for static pages

- [Literature.Migrations.Postgres.V12](Literature.Migrations.Postgres.V12.md): Add markdown field to posts

- [Literature.Number.Cardinal](Literature.Number.Cardinal.md): Implements cardinal plural rules for numbers.

- [Literature.Number.Ordinal](Literature.Number.Ordinal.md): Implements ordinal plural rules for numbers.

- [Literature.Number.PluralRule.Range](Literature.Number.PluralRule.Range.md): Implements plural rules for ranges
- [Literature.Pagination](Literature.Pagination.md): Pagination API
- [Literature.Pagination.Page](Literature.Pagination.Page.md): Struct for pages metadata
- [Literature.Pagination.Paginater](Literature.Pagination.Paginater.md): The `Literature.Pagination.Paginater` protocol should be implemented for any type that requires pagination.

- [Literature.Plugs.Redirect](Literature.Plugs.Redirect.md): This plug is responsible for maybe redirecting requests from one path
to another inside a publication.

- [Literature.Post](Literature.Post.md):   Literature Post Model

- [Literature.Post.Locale](Literature.Post.Locale.md): Post languages

- [Literature.Publication](Literature.Publication.md):   Literature Publication Model

- [Literature.Redirect](Literature.Redirect.md): Literature Redirect Model

- [Literature.Repo](Literature.Repo.md): Wrappers around `Ecto.Repo` callbacks.
- [Literature.Router](Literature.Router.md): Provides LiveView routing for literature.

- [Literature.StaticPages.Generator](Literature.StaticPages.Generator.md): Defines a static page generator for a given publication.
Provides a set of functions to automate the generation of static pages such as index,
paginated index, tags, authors, and show pages(see `Available Pages`).
It supports customization through options like pagination size, output path, and custom templates.
Static pages are stored in the `static_pages_storage_dir` Literature config.
- [Literature.StaticPages.Helpers](Literature.StaticPages.Helpers.md): Provides helper functions for the static pages generator in Literature.

- [Literature.StaticPages.Layout](Literature.StaticPages.Layout.md): Behaviour for static pages layout.
Provides a `layout/1` component that can be used for all available static pages.
- [Literature.StaticPages.MetaTagHelpers](Literature.StaticPages.MetaTagHelpers.md): Helpers for rendering meta tags in static pages.

- [Literature.StaticPages.Templates](Literature.StaticPages.Templates.md): Behaviour for the `templates` opt for `Literature.StaticPages.Generator`.
Contains the `Phoenix.Component` callbacks for all `Generator.page_types()`.
Also contains placeholder implementations for each page type.

- [Literature.Tag](Literature.Tag.md):   Literature Tag Model

- [Literature.TagPost](Literature.TagPost.md): Literature TagPost Model

- [Literature.Tasks.ConvertPostHtmlToMarkdown](Literature.Tasks.ConvertPostHtmlToMarkdown.md): Task to convert HTML content in posts to Markdown format.
Make sure database version is V12.

- [Literature.Uploaders](Literature.Uploaders.md): Literature Uploaders

- [Literature.Uploaders.DifferentSizes](Literature.Uploaders.DifferentSizes.md): Literature Uploaders

- [Literature.Uploaders.DifferentSizes.Type](Literature.Uploaders.DifferentSizes.Type.md)
- [Literature.Uploaders.ProfileImage](Literature.Uploaders.ProfileImage.md): Literature Profile Image Uploader

- [Literature.Uploaders.ProfileImage.Type](Literature.Uploaders.ProfileImage.Type.md)
- [Literature.Uploaders.Type](Literature.Uploaders.Type.md)
- [Literature.Workers.DownloadWorker](Literature.Workers.DownloadWorker.md): pool boy worker that handles image proccessing and stores it in temp file

- Exceptions
  - [Literature.PageNotFound](Literature.PageNotFound.md): Raised when a page is not found.

