fpm package
File System Organizationfpm
organizes ftd
files in “packages”. Any folder is a fpm package
if it contains a valid FPM.ftd
file.FPM.ftd
FPM.ftd
.foo.com
or foo.com/bar
. The former is usually the “account name”, eg the username or the org that owns that package, and the latter is a namespace package.https
)..build
folderfpm
can be used as a static site generator, fpm build
will
convert all ftd
, markdown
files to html
and store them in .build
folder.
If you are using static site hosting solution, eg Github Pages, Vercel,
Cloudflare Pages etc, the content of .build
folder has to be uploaded to your
static site host.
.build
Is Ignore-able Folder.build
folder should be added to .gitignore
if you are storing fpm package in a git repository..packages
folder.packages
folder..packages
Is Ignore-able Folder.packages
folder should also be added to .gitignore
..packages/<package-name.ftd>
fileWhen a fpm package is translated, a source package needs information about all the translation packages, to show on the translation status page. But we do not need the entire content of the translation packages.
To avoid downloading entire package, we just download the FPM.ftd
for the
translation packages in this case.
.history
folderfpm
is also a version control system and can be used instead of say git
.
History of all edits are kept in history tracking
, and creates a snapshot of
every file that is modified in .history
folder.
You can create a new history snapshot by using fpm sync
.
If this package uses fpm
as the respository, .history
folder is managed by
the fpm server
. If the package is stored in git
repository, then fpm sync
creates local snapshots.
.history
When We Using git
?fpm
supports translation and ad-hoc tracking features..history
folder..history/.latest.ftd
file.history
folder. It looks like this:-- import: fpm -- fpm.snapshot: FPM.ftd timestamp: 1646494343706523000 -- fpm.snapshot: foo/index.ftd timestamp: 1638625721072234000