Pretty URLS


Pretty URLS

Often called "pretty URLs", Tapestry will by default compile your project in a way that removes the need for the .html file extension. For example source/about.phtml will be compiled to build_local/about/index.html, which will be accessible from http://www.example.com/about due to the way that web servers handle default pages.

This functionality may be disabled site wide via the pretty permalink configuration property within your config.php or config.yaml file.

Or alternatively it may be disabled on a per file basis via setting pretty_permalink to false within the file Frontmatter, e.g:

---
    pretty_permalink: false
---

Defining custom permalinks

You can define custom permalinks on a per file basis, this is useful for when you want the file to be output to a particular location or with a certain file extension. For example you may have the source file source/atom.phtml which you want to output to build_local/atom.xml. This would be achieved by setting the following Frontmatter.

---
    permalink: atom.xml
---

Custom permalink template variables

The following table lists the template variables that are available for your custom permalink property.

VariableDescription
{ext}The current file extension.
{filename}The current file filename.
{path}The current files relative path, e.g. /source/folder/file.md -> folder
{year}The year that the file was modified, or if it has a date set via filename or frontmatter method the year that is set.
{month}The month that the file was modified, or if it has a date set via filename or frontmatter method the month that is set.
{day}The day that the file was modified, or if it has a date set via filename or frontmatter method the day that is set.
{page}This is a special tag that is relevant only to paginated pages, it will return the current page number.
{slug}The current file slug, generated from its title if one is set in the frontmatter or otherwise the filename.