Home
Author Manual
Themes Guide
Development
Roadmap
Journal
Contribution Guide
How Versioning Works
What is FPM.manifest.ftd?
What is digest.json?
File System Organization

FPM.ftd

In every FPM package there must be a file named FPM.ftd.
-- import: fpm

-- fpm.package: amitu
repo: github

fpm.package
This is the only mandatory ftd section in FPM.ftd file.

name: caption
This is the name of the package. This is the only required value.

repo: optional string

An FPM package can be hosted on fpm-repo or on Github etc.

If the key is missing, the package is assumed to be hosted on fpm-repo, www.fifthtry.com.

If the package is hosted on Github, then it must be repo: github.

Note: package name must match with the repo related name. Eg for a package hosted on Github under the repo: github.com/foo/bar must have the package name: foo/bar.

The value of repo can also be path to a .zip file, so if you want to use an specific version from Git repo, you can locate its corresponding .zip file and store it here.

fpm.dependency
A package can depend on another package.

-- import: fpm

-- fpm.package: amitu

-- fpm.dependency: fifthtry/fpm-blog
repo: github

Here the package amitu has a dependency on fifthtry/fpm-blog. When any dependency is specified, fpm build downloads and stored it in .packages folder.

Any number of dependencies can be mentioned.

repo
This is the repo where the dependency is hosted. If the repo is omitted it is assumed to the same as repo of the current package.

fpm.font
Any custom fonts can be included in FTD generated HTML files by using font blocks:

-- fpm.font: myFirstFont
woff: sansation_light.woff
woff2: sansation_light.woff

name: caption
name is required, it must be used to refer to the font in the ftd files, eg:

-- ftd.text: hello
font: myFirstFont

woff, woff2

The URL of the font files. Both woff and woff2 are supported. We will use woff2 if it is provided, else woff.

At least one of the two must be provided.

fpm.ignore

You can add files to ignore when creating a build. Ignored files are not processed during build process, and are not made part of .build folder.

By default fpm already ignores all files that git ignores, if the package is part of a git repository. You can also ignore files by using fpm.ignore:

-- fpm.ignore: *.txt
-- fpm.ignore: /db.sqlite
Any number of patterns can be specified.

fpm.sitemap
You can add a sitemap in FPM.ftd file. Details in sitemap docs.