From 56ec3b1803ed91b5b39ec001ff99d147d44f5e6d Mon Sep 17 00:00:00 2001 From: sterni Date: Thu, 13 Jan 2022 00:33:59 +0100 Subject: refactor(sterni/mblog): add (sub)class for apple note messages * Upon creation of an apple-note object we can check if certain fields we are interested in are present and of the right type etc. These currently are: - UUID (for links later) - Subject (title) - Time - Text part with supported MIME type These are then put into their own shortcut fields in the apple-note subclass which allows for easier access and forces us to make sure they are present. * Split out everything note related into its own package. Using the new type, we can expose an interface which sort of makes sense. Change-Id: Ic9d67518354e61a3cc8388bb0e566fce661e90d0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5072 Tested-by: BuildkiteCI Reviewed-by: sterni --- users/sterni/mblog/packages.lisp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'users/sterni/mblog/packages.lisp') diff --git a/users/sterni/mblog/packages.lisp b/users/sterni/mblog/packages.lisp index a58aad27d11b..1d5aa07313ca 100644 --- a/users/sterni/mblog/packages.lisp +++ b/users/sterni/mblog/packages.lisp @@ -5,18 +5,33 @@ (:documentation "Very incomplete package for dealing with maildir(5).")) -(defpackage :mblog +(defpackage :note (:use :common-lisp - :mime4cl :closure-html :who - :uiop) - (:shadow :with-html-output) ; conflict between closure-html and who + :cl-date-time-parser + :mime4cl + :who) (:import-from :alexandria :when-let* :when-let :starts-with-subseq :ends-with-subseq) + (:shadow :with-html-output) ; conflict between closure-html and who + (:export + :apple-note + :apple-note-uuid + :apple-note-subject + :apple-note-time + :apple-note-text-part + :make-apple-note + :apple-note-html-fragment)) + +(defpackage :mblog + (:use + :common-lisp + :uiop + :note) (:export :main)) -- cgit 1.4.1