You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
451 B
22 lines
451 B
;;;; 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))))
|
|
|