(progn 
 (require 'package)
 (package-initialize)

 (add-to-list 'load-path "./")

 (setq package-list '(htmlize clojure-mode))

 (setq package-archives '(("elpa" . "http://tromey.com/elpa/")
                          ("gnu" . "http://elpa.gnu.org/packages/")
                          ("marmalade" . "https://marmalade-repo.org/packages/")))
 (package-initialize)

 (unless package-archive-contents
   (package-refresh-contents))

 (dolist (package package-list)
   (unless (package-installed-p package)
     (package-install package)))

 (require 'htmlize)
 (require 'org)
 (require 'org-macs)
 (require 'ox-html)
 (require 'ob)
 (global-font-lock-mode 1)
 (require 'clojure-mode)
 (require 'clojure-mode-extra-font-locking)
 (setq org-export-with-section-numbers nil)
 (setq org-babel-use-quick-and-dirty-noweb-expansion t)
 (setq org-confirm-babel-evaluate nil)

 ;; for org-mode 8.x
 (when (locate-library "ob-sh")
   (org-babel-do-load-languages
    'org-babel-load-languages '((sh . t))))
 ;; for org-mode 9.x
 (when (locate-library "ob-shell")
   (org-babel-do-load-languages
    'org-babel-load-languages '((shell . t))))
 
 (set-face-foreground 'font-lock-string-face "#990000")
 (set-face-foreground 'font-lock-keyword-face "#ff5f00")
 (set-face-foreground 'font-lock-function-name-face "#d7af00")
 (set-face-foreground 'font-lock-builtin-face "#66cc00")
 (set-face-foreground 'font-lock-comment-face "#008787")

 (find-file "ferret.org")
 (progn 
   (org-html-export-as-html nil)
   (with-current-buffer "*Org HTML Export*"
     (write-region (org-no-properties (buffer-string)) nil "ferret-manual.html"))))
