summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/build-site.el26
-rw-r--r--www/www.org26
2 files changed, 32 insertions, 20 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 )
+ ( ) )
diff --git a/www/www.org b/www/www.org
index 638afb8..40ef38b 100644
--- a/www/www.org
+++ b/www/www.org
@@ -100,7 +100,6 @@ are also published, in the sequence given.
:object-report
( lambda ( )
- ( print object-projects )
( print org-publish-project-alist )
( print success-report )
( ) ) ) ) )
@@ -108,24 +107,31 @@ are also published, in the sequence given.
;;; 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 )
+ ( ) )
#+END_SRC
* EOF