changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/skel/comp/org.lisp

changeset 663: cc89b337384b
parent: e6c6713c17ff
author: Richard Westhaver <ellis@rwest.io>
date: Sat, 21 Sep 2024 22:58:22 -0400
permissions: -rw-r--r--
description: skel upgrades, added skel/net
490
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 ;;; org.lisp --- Skel Org File Components
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 ;; 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 ;;; Code:
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 (in-package :skel/comp/org)
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 (defclass sk-org-file (sk-component org-document sk-meta) ())
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 (defmethod sk-new ((self (eql :org)) &rest args)
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
   (apply #'make-instance 'sk-org-file args))
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 (defmethod sk-convert ((self org-document))
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
   (let ((self (change-class self 'sk-org-file)))
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
     (update-id self)
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
     self))
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
 
559
e6c6713c17ff update component loading
Richard Westhaver <ellis@rwest.io>
parents: 508
diff changeset
18
 (defmethod sk-load-component ((kind (eql :org)) (form pathname) &optional (path *default-pathname-defaults*))
490
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
   (declare (ignore kind))
559
e6c6713c17ff update component loading
Richard Westhaver <ellis@rwest.io>
parents: 508
diff changeset
20
   (let* ((name (namestring form))
663
cc89b337384b skel upgrades, added skel/net
Richard Westhaver <ellis@rwest.io>
parents: 559
diff changeset
21
          (p (make-pathname :name name :type "org" :directory (namestring path)))
559
e6c6713c17ff update component loading
Richard Westhaver <ellis@rwest.io>
parents: 508
diff changeset
22
          (comp (sk-convert (org-parse :document p))))
490
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
     (setf (sk-name comp) name)
559
e6c6713c17ff update component loading
Richard Westhaver <ellis@rwest.io>
parents: 508
diff changeset
24
     (setf (sk-path comp) p)
490
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
     comp))
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 
7a7e6c273f52 skel component updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
 ;; (describe (sk-load-component :org #p"readme"))