When Trio outputs pages to the file system, either to the public or to the release folders, it employs a folder structure and file naming convention that results in clean, user-friendly URLs that are easy to share externally, such as on social media or via email.
For the remainder of this discussion, the folder named target is used to represent both the public and the release folders that Trio writes to. In both instances, Trio employs the same conventions which are explained below.
You can override how Trio outputs your pages to the file system using Permalinks.
For Non Blog Article Pages
File source/fragments/index.md would be written to target/index.html and its URL would be /.
File source/fragments/about.md would be written to target/about/index.html and its URL would be /about/.
File source/fragments/abc/index.md would be written to target/abc/index.html and its URL would be /abc/.
File source/fragments/abc/contact.md would be written to target/abc/contact/index.html and its URL would be /abc/contact/.
As the examples above demonstrate, when Trio creates your non blog-related pages, Trio will create the appropriate parent folders for the page if they don't already exist.
For Blog Article Pages
When naming your blog article, use the form yyyy-mm-dd-articlename.md|.html, where:
- yyyy: is the 4 digit year
- mm: is the 2 digit month
- dd: is the 2 digit day
File source/fragments/articles/2018-11-18-articlename.md would be written to target/2018/11/18/articlename/index.html and its URL would be /2018/11/18/articlename/.
File source/fragments/articles/2018-11-18-articlename.md declares category: abc in its front matter and would be written to target/abc/2018/11/18/articlename/index.html and its URL would be /abc/2018/11/18/articlename/.
As the examples above demonstrate, when Trio creates your blog article pages, Trio will create the appropriate parent folders for the page if they don't already exist.
Fragment file name's that you prepend with an underscore (i.e. "_") marks them as a "work in progress", and will be ignored during a release build of your project. This allows you to develop new pages without impacting your release builds.
For example, during a release build, article `source/fragments/articles/_2019-01-01-articlename.md` would be ignored.
Your Financial Support Of This Project Is Greatly Appreciated
Trio is an open source project and is therefore free of charge to use both for noncommercial and commercial use, but when you use Trio to create a new website, please consider donating a few bucks. It doesn't take very long, the process is secure, and it will allow us to continue to support the community and to maintain and enhance Trio going forward.
Show your ❤️, add your ★ to the Github repo.