summaryrefslogtreecommitdiff
path: root/www/build-site.el
blob: 3e88b9a5e2c6f11956a6e725b016c53cd4b24293 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
;; -*- lexical-binding: t; -*-

( defun publication-object ( )
  ( let ( ( object-projects ( list ) )
          ( org-publish-project-alist ( list ) )
          ( success-report "Build complete!" ) )
    ( list

      :object-compose
      ( lambda ( )
        ( setq org-publish-project-alist ( list object-projects ) )
        ( ) )

      :object-get-projects
      ( lambda ( data-projects )
        ( setq object-projects ( append data-projects object-projects ) )
        ( ) )

      :object-report
      ( lambda ( )
        ( print object-projects )
        ( print org-publish-project-alist )
        ( print success-report )
        ( ) ) ) ) )

( setq publication-instance ( publication-object ) )

( setq object-compose ( plist-get publication-instance :object-compose ) )

( setq object-projects ( plist-get publication-instance :object-get-projects ) )

( setq object-report ( plist-get publication-instance :object-report ) )

( defun publish ( &rest project-data )
  ( let ( ( data-projects ( plist-get project-data :data-projects ) ) )
    ( funcall object-projects data-projects )
    ( funcall object-compose )
    ( funcall object-report )
    ( ) ) )