FASTN.ftd
file in any folder:FASTN.ftd
marks a folder as fastn
package-- import: fastn -- fastn.package: fastn.dev zip: github.com/fifthtry/fastn.dev/archive/refs/heads/main.zip base: https://raw.githubusercontent.com/fifthtry/fastn.dev/main
fastn.dev
. Packages in FASTN are named after the domain where they would be published. {ds.highlight: Every FASTN package is a website.}FASTN.ftd
file:-- import: fastn -- fastn.package: fastn.dev zip: github.com/fifthtry/fastn.dev/archive/refs/heads/main.zip -- fastn.dependency: fifthtry.github.io/doc-site as ds
fastn.dev
has a dependency on fifthtry.github.io/doc-site
. We have also used “alias” feature to bind the name of this dependency to ds
, so FTD files can write -- import: ds
instead of having to use the full path, e.g. -- import: fifthtry.github.io/doc-site
.
What this means is when fastn
sees fifthtry.github.io/doc-site
as a dependency, it fetches the content of fifthtry.github.io/doc-site/FASTN.ftd
file which acts as the meta data for the package, and the meta data includes the URL from where the package ZIP can be downloaded.
In our examples we use Github’s zip serving feature to let Github generate and distribute our .zip file. If you are not using Github
, you can store the zip file containing entire package in some other location, like S3, or a server you control, and fastn
will work with that.