Most properties are optional, but some should always be set. In particular, Org needs to know where to look for source files, and where to put published files.
Directory containing publishing source files.
Directory where output files are published. You can directly publish to a webserver using a file name syntax appropriate for the Emacs tramp package. Or you can publish to a local directory and use external tools to upload your website (see Uploading Files).
Function or list of functions to be called before starting the publishing process, for example, to run ‘make’ for updating files to be published. Each preparation function is called with a single argument, the project property list.
Function or list of functions called after finishing the publishing process, for example, to change permissions of the resulting files. Each completion function is called with a single argument, the project property list.