` can be given as page-level front-matter as well.
+
+.. admonition:: Automatically detect blog posts with a ``glob`` pattern
+ :class: tip
+
+ Instead of adding ``blogpost: true`` to each page, you may also provide a pattern (or list of patterns) in your ``conf.py`` file using the ``blog_post_pattern`` option.
+ Any filenames that match this pattern will be treated as blog posts (and page front-matter will be used to classify the blog post).
+ For example, the following configuration would match all ``rst`` files in the ``posts/`` folder:
+
+ .. code-block:: python
+
+ blog_post_pattern = "posts/*.rst"
+
+ and this configuration will match all blog posts that match either ``rst`` or ``md``:
+
+ .. code-block:: python
+
+ blog_post_pattern = ["posts/*.rst", "posts/*.md"]
+
+.. _posting-sections:
+
+Posting Sections
+----------------
+
+.. post:: Aug 20, 2014
+ :tags: directive
+ :category: Manual
+ :location: SF
+ :author: Ahmet
+
+:rst:dir:`post` directive can be used multiple times in a single page to create multiple posts of different sections of the document.
+
+When :rst:dir:`post` is used more than once, post titles and excerpts are extracted from the sections that contain the directives.
+This behavior can also be set as the default behavior using :confval:`post_always_section` configuration options.
+
+Some caveats and differences from posting a document once are:
+
+ * Next and previous links at the bottom will only regard the first post in the document.
+ * Information displayed on the sidebar will belong to the first post.
+ * References for section posts is not automatically created. Labels for cross-referencing needs to be created manually, e.g., ``.. _posting-sections``. See :ref:`xref-syntax` for details.
+
+Multiple use of :rst:dir:`post` may be suitable for major additions to a previous post. For minor changes, :rst:dir:`update` directive may be preferred.
+
+Listing
+-------
+
+A list of posts can be displayed in any page using the following directive:
+
+.. rst:directive:: postlist
+
+ Following example display all the options the directive takes::
+
+ .. postlist:: 5
+ :author: Ahmet
+ :category: Manual
+ :location: Pittsburgh
+ :language: en
+ :tags: tips
+ :date: %A, %B %d, %Y
+ :format: {title} by {author} on {date}
+ :list-style: circle
+ :excerpts:
+ :sort:
+ :expand: Read more ...
+
+ This will result in a bullet list of up to 5 posts (default is all) authored by `:ref:`author-ahmet`` in `:ref:`language-en`` when he was in `:ref:`location-pittsburgh`` and posted in `:ref:`category-manual`` with tags `:ref:`tag-tips``.
+ Posts will be in ``:sort:``\ed to appear in chronological order and listed with their ``:excerpts:``.
+ Here are those posts:
+
+ .. postlist:: 5
+ :author: Ahmet
+ :category: Manual
+ :location: Pittsburgh
+ :language: en
+ :tags: tips
+ :date: %A, %B %d, %Y
+ :format: {title} by {author} on {date}
+ :list-style: circle
+ :excerpts:
+ :sort:
+ :expand: Read more ...
+
+ When no options are given all posts will be considered and they will be ordered by recency.
+ Also, note that if the current post is one of the most recent posts, it will be omitted.
+
+.. update:: Aug 21, 2014
+
+ Added :rst:dir:`update` directive and
+ :ref:`posting-sections` section.
+ Also revised the text here and there.
+
+.. update:: Sep 15, 2014
+
+ * :rst:dir:`post` directive has ``:language:`` option.
+ * :rst:dir:`postlist` directive takes arguments to filter posts.
+
+.. update:: Mar 28, 2015
+
+ Added ``:excerpts:`` option to :rst:dir:`postlist` to list posts with their excerpts.
+
+.. update:: Apr 14, 2015
+
+ Added ``:list-style:`` option to :rst:dir:`postlist` to control bullet list style.
+ *circle*, *disc*, and *none* (default) are recognized.
+
+.. update:: May 25, 2021
+
+ Added ``:expand:`` option to :rst:dir:`postlist` to add a call to action to continue reading the post.
diff --git a/docs/manual/templates-themes.rst b/docs/manual/templates-themes.rst
new file mode 100644
index 0000000..1b0fbcd
--- /dev/null
+++ b/docs/manual/templates-themes.rst
@@ -0,0 +1,101 @@
+Templating and Themes Support
+=============================
+
+.. post:: Oct 26, 2024
+ :tags: themes
+ :category: Manual
+ :author: Libor
+
+Ablog, being a Sphinx extension, has highly customizable HTML output. The generated HTML files are based on `Sphinx templates`_. You, or Sphinx themes, can partially or completely override these templates to customize the resulting HTML.
+
+.. _Sphinx templates: https://www.sphinx-doc.org/en/master/development/html_themes/templating.html
+
+.. versionchanged:: 0.11
+ The :doc:`Ablog 0.11 ` has changed and improved the way you can customize templates and themes. Please note that this document describes the new way of customizing templates and themes support.
+
+.. _sidebars:
+
+Blog sidebars
+-------------
+
+Sidebars are a common way to provide additional information to the reader. There are seven Ablog sidebars you can include in your HTML output using the Sphinx_ :confval:`html_sidebars` configuration option (in addition to your theme sidebars).
+
+- ``ablog/postcard.html`` provides information regarding the current post (when on a post page).
+- ``ablog/recentposts.html`` lists the most recent five posts.
+- ``ablog/tagcloud.html`` provides links to archive pages generated for each tag.
+- ``ablog/category.html``, ``ablog/authors.html``, ``ablog/languages.html``, and ``ablog/locations.html`` sidebars generate lists of links to respective archive pages with the number of matching posts (e.g., "Manual (14)", "2023 (8)", "English (22)").
+
+For example, the sidebars that you see on this website on the left are:
+
+.. code-block:: python
+
+ html_sidebars = {
+ "**": [
+ # Comes from Alabaster theme
+ "about.html",
+ "searchfield.html",
+ # Ablog sidebars
+ "ablog/postcard.html",
+ "ablog/recentposts.html",
+ "ablog/tagcloud.html",
+ "ablog/categories.html",
+ "ablog/archives.html",
+ "ablog/authors.html",
+ "ablog/languages.html",
+ "ablog/locations.html",
+ ]
+ }
+
+Styling default Ablog sidebars
+------------------------------
+
+Ablog standard sidebars are wrapped in ```` with CSS classes like :samp:`ablog-sidebar-item ablog__{}`, making them easier to style.
+
+For example, the ``recentposts.html`` template is wrapped in ``
Comments
+ + + + + comments powered by Disqus + +