User Docs Developer Docs | |

Theme Structure

A fully-featured Pubvana theme uses the following directory layout:

themes/mytheme/
├── theme_info.json                 ← required: manifest
├── screenshot.png                  ← recommended: 1200×900px preview
├── assets/
│   ├── css/style.css
│   ├── js/theme.js
│   └── images/
└── views/
    ├── layout.tpl                  ← required
    ├── home.tpl                    ← required
    ├── post.tpl                    ← required
    ├── page.tpl                    ← required
    ├── category.tpl                ← required
    ├── tag.tpl                     ← required
    ├── archive.tpl                 ← required
    ├── search.tpl                  ← required
    └── partials/
        ├── sidebar.tpl
        ├── post-card.tpl
        ├── author-card.tpl
        ├── pagination.tpl
        ├── comments-list.tpl
        ├── _comment.tpl
        └── comment-form.tpl

Required Files

FilePurpose
theme_info.jsonManifest with metadata, widget areas, options, and CSS class mapping
views/layout.tplMaster layout — all other templates extend this
views/home.tplBlog homepage
views/post.tplSingle blog post
views/page.tplStatic page
views/category.tplCategory archive listing
views/tag.tplTag archive listing
views/archive.tplDate-based archive
views/search.tplSearch results

Recommended Partials

PartialPurpose
partials/sidebar.tplRenders a named widget area
partials/post-card.tplCard used in listing pages
partials/author-card.tplAuthor profile block on post pages
partials/pagination.tplBootstrap pagination
partials/comments-list.tplComment thread container
partials/_comment.tplSingle comment (recursive for replies)
partials/comment-form.tplComment submission form

Assets

Reference assets using the {! theme_url !} tag function:

{! theme_url "assets/css/style.css" !}
{! theme_url "assets/js/theme.js" !}