summaryrefslogtreecommitdiff
path: root/www/build-site.el
diff options
context:
space:
mode:
Diffstat (limited to 'www/build-site.el')
-rw-r--r--www/build-site.el26
1 files changed, 16 insertions, 10 deletions
diff --git a/www/build-site.el b/www/build-site.el
index f2e8b7d..92f6339 100644
--- a/www/build-site.el
+++ b/www/build-site.el
@@ -20,7 +20,6 @@
:object-report
( lambda ( )
- ( print object-projects )
( print org-publish-project-alist )
( print success-report )
( ) ) ) ) )
@@ -28,21 +27,28 @@
;;; The Object Interface
( defun object-compose ( publication-instance )
- ( plist-get publication-instance :object-compose ) )
+ ( funcall ( plist-get publication-instance :object-compose ) ) )
-( defun object-get-projects ( publication-instance )
- ( plist-get publication-instance :object-get-projects ) )
+( defun object-get-projects ( publication-instance data-projects )
+ ( funcall
+ ( plist-get publication-instance :object-get-projects ) data-projects ) )
( defun object-report ( publication-instance )
- ( plist-get publication-instance :object-report ) )
+ ( funcall ( plist-get publication-instance :object-report ) ) )
;;; The User Logic
+( defun export-project-alist ( publication-instance )
+ ( object-compose publication-instance )
+ ( object-report publication-instance ) )
+
+( defun import-data ( publication-instance project-data )
+ ( let ( ( data-projects ( plist-get project-data :data-projects ) ) )
+ ( object-get-projects publication-instance data-projects ) ) )
+
;;; The User Interface
( defun publish ( publication-instance &rest project-data )
- ( let ( ( data-projects ( plist-get project-data :data-projects ) ) )
- ( funcall ( object-get-projects publication-instance ) data-projects )
- ( funcall ( object-compose publication-instance ) )
- ( funcall ( object-report publication-instance ) )
- ( ) ) )
+ ( import-data publication-instance project-data )
+ ( export-project-alist publication-instance )
+ ( ) )