Want to try fastn for your company's website?
Book a Demo

Dynamic URLs Guide

fastn can be used for creating dynamic websites. By default fastn maps the URL's path to file system to decide which ftd document to serve. This behaviour can be changed as described in custom URLs guide. In this guide we will see how we can map any URL matching a given pattern to a ftd document.
⚠️
Static Vs Dynamic
This feature works better with dynamic hosting. If you are using fastn in static site mode, then how the page looked when fastn build was called will be shown to everyone. But if you are using dynamic mode then this page would be regenerated on every page load.
Dynamic URLs are specified in FASTN.ftd file under the fastn.dynamic-urls section:
-- fastn.dynamic-urls:

# User Profile Page
url: /<string:username>/
document: profile.ftd
Lang:
ftd
In the above snippet we are saying any URL that matches the pattern /<string:username>/ will be served by the document profile.ftd. When this url matches, the matching value of the string is stored as username and can be extracted using request-data processor.
-- import: fastn/processors as pr

-- record r-data:
string username:

-- r-data data:
$processor$: pr.request-data

-- ds.markdown: $data.message
Lang:
ftd

Valid Types

Following types are supported:

string

This matches any string other than /.

integer

This matches any valid integer.

decimal

This matches any decimal number.