diff --git a/src/html.ml b/src/html.ml index 1b66d3b..4724fa9 100644 --- a/src/html.ml +++ b/src/html.ml @@ -62,6 +62,7 @@ let form ?(header_tpl=None) blog_url lgrn ymd = let auth_name = either ymd.meta.author.Author.name Logarion.Configuration.(lgrn.owner) in let auth_addr = either ymd.meta.author.Author.email Logarion.Configuration.(lgrn.email) in [ + input ~a:[a_name "uuid"; a_value (Id.to_string ymd.meta.uuid); a_hidden ()] (); input_set "Title" (input ~a:[a_name "title"; a_value ymd.meta.title; a_required ()] ()); diff --git a/src/logarion.ml b/src/logarion.ml index 650da68..abc805c 100644 --- a/src/logarion.ml +++ b/src/logarion.ml @@ -42,8 +42,15 @@ let file_meta_pairs () = List.map t ymds let to_file ymd = - let path = "ymd/" ^ (Ymd.filename ymd) ^ ".ymd" in + let fmp = file_meta_pairs () in + let path = ("ymd/" ^ (Ymd.filename ymd) ^ ".ymd") in let write_ymd out = Lwt_io.write out (Ymd.to_string ymd) in + let open Ymd in + (try + let (file, m) = List.find (fun (_, meta) -> meta.uuid = ymd.meta.uuid) fmp in + let fp = "ymd/" ^ file in + Unix.rename fp path; + with Not_found -> ()); Lwt_io.with_file ~mode:Lwt_io.output path write_ymd let latest_file_meta_pair fragment =