123456789101112131415161718192021222324252627282930313233343536373839404142(* YOCaml a static blog generator.
Copyright (C) 2024 The Funkyworkers and The YOCaml's developers
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. *)moduleRequired=Requiredletrun(moduleSource:Required.SOURCE)(moduleClock:Mirage_clock.PCLOCK)~context?author?email?message~remote?level?custom_error_handlerprogram=letopenLwt.Syntaxinlet()=Mirage_crypto_rng_unix.initialize(moduleMirage_crypto_rng.Fortuna)inlet*context=matchcontextwith`SSH->Ssh.context()inlet*store=Git_kv.connectcontextremoteinletmoduleStore=Git_kv.Make(Clock)inStore.change_and_push?author?author_email:email?messagestore(funstore->letmoduleConfig=structletstore=storeendinletmoduleRuntime=Runtime.Make(Source)(Config)(Store)inlet()=Yocaml_runtime.Log.setup?level()inRuntime.Runner.run?custom_error_handlerprogram)moduleFrom_identity(Source:Yocaml.Required.RUNTIMEwithtype'at='a)=structincludeSourceletliftx=Lwt.returnxend