Module B0_github.Pages
Publish to GitHub pages.
Updating GitHub pages
val update : ?follow_symlinks:bool -> src:B0_std.Fpath.t option -> B0_std.Fpath.t -> update
update ~follow_symlinks ~src dst
is an update that given a relative pathdst
in the work tree that may not exist:- If
src
isNone
, deletesdst
in the work tree. - If
src
isSome src
replacesdst
in the work tree by the contents of the file or file hierarchysrc
. Iffollow_symlinks
istrue
(default) symbolic links are followed insrc
.
Use
.
fordst
to denote the root of the work tree; for exampleupdate ~src:(Some dir) (Fpath.v ".")
replaces the whole website by the file hierarchy rooted atdir
.- If
val nojekyll : update
nojekyll is
update ~src:(Some Os.File.null) (Fpath.v ".nojekyll")
. Add this to the updtaes to prevent the Jekyll processing that is automatically performed on GitHub pages.
val default_branch : B0_vcs.Git.branch
default_branch
is"gh-pages"
, GitHub's default publication branch for GitHub pages.
val commit_updates : ?allow_hardlinks:bool -> ?log:B0_std.Log.level -> ?branch:B0_vcs.Git.branch -> B0_vcs.t -> amend:bool -> force:bool -> remote:B0_vcs.Git.remote -> msg:string -> update list -> (bool, string) Stdlib.result
commit_updates vcs ~log ~remote ~branch ~msg us
updatesbranch
(defaults togh-pages
) onremote
according to updatesus
with commit messagemsg
.Ok false
is returned if there was nothing to update.- If
amend
istrue
, the last commit is amended (if any exists) and the author reset rather than a new commit added - If
force
istrue
, the various git operations are forced. log
indicates a logging level used to monitor progress (defaults toLog
.app).- If
allow_hardlinks
istrue
(default), updates are, if possible hard linked to the working directory rather than copied
More precisely this:
- Fetches
remote/branch
if it exists. - Creates a transient checkout with a temporary workdir in
Os
.Dir.default_tmp and a branch called_b0-update-gh-pages
reset toremote/branch
. - Commits changes with message
msg
according tous
which are applied in order, see Updating GitHub pages. - Destroys the transient checkout
- Pushes
_b0-update-gh-pages
onremote/branch
- Destroys the branch
_b0-update-gh-pages
Warning. If you have paths that start with
_
GitHub pages won't publish them. You can disable this by adding a.nojekyll
file at the root the gh-page branch, seenojekyll
.- If