23 lines
451 B
Common Lisp
23 lines
451 B
Common Lisp
;;;; annotate.lisp
|
|
|
|
(in-package #:cl-bible)
|
|
|
|
(defstruct metadata
|
|
notes
|
|
tags)
|
|
|
|
(defun add-metadata (verse metadata)
|
|
(cons verse metadata))
|
|
|
|
(defun get-notes (verse)
|
|
(metadata-notes (cdr verse)))
|
|
|
|
(defun get-tags (verse)
|
|
(metadata-tags (cdr verse)))
|
|
|
|
(defun add-note (verse note)
|
|
(setf (metadata-notes (cdr verse)) (cons note (get-notes verse))))
|
|
|
|
(defun add-tag (verse tag)
|
|
(setf (metadata-tags (cdr verse)) (cons tag (get-tags verse))))
|