;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;
;;;; Smeagol: a very simple Wiki engine.
;;;;
;;;; This program is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU General Public License
;;;; as published by the Free Software Foundation; either version 2
;;;; of the License, or (at your option) any later version.
;;;;
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;;; GNU General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with this program; if not, write to the Free Software
;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
;;;; USA.
;;;;
;;;; Copyright (C) 2017 Simon Brooke
;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;; config.edn: a simple configuration map for Smeagol; inspired by Cryogen.
;;; This is top-level configuration. All values can be overridden with
;;; environment variables.

;;      ;       ;       ;       ;       ;       ;       ;       ;       ;
{
  :content-dir          "resources/public/content"
                                        ;; where content is served from.
  :default-locale       "en-GB"         ;; default language used for messages
  :extensions-from      :local          ;; where to load JavaScript libraries
                                        ;; from: options are :local, :remote.
  :formatters                           ;; formatters for processing markdown
                                        ;; extensions.
  {:backticks    {:formatter "smeagol.formatting/process-backticks"
                  :scripts {}
                  :styles {}}
   :geocsv       {:formatter "smeagol.extensions.geocsv/process-geocsv"
                  :scripts {:core {:local "vendor/node_modules/geocsv-js/js/geocsv.js"}
                            :leaflet {:local "vendor/node_modules/leaflet/dist/leaflet.js"
                                      :remote "https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"}
                            :papaparse {:local "vendor/node_modules/papaparse/papaparse.js"
                                        :remote "https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.1.0/papaparse.min.js"}}
                  :styles {:leaflet {:local "vendor/node_modules/leaflet/dist/leaflet.css"
                                     :remote "https://unpkg.com/leaflet@1.6.0/dist/leaflet.css"}}
                  :icon-url-base "uploads/map-pin/"}
   :mermaid      {:formatter "smeagol.extensions.mermaid/process-mermaid"
                  :scripts {:core {:local "vendor/node_modules/mermaid/dist/mermaid.min.js"
                                   :remote "https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.4.6/mermaid.min.js"}}}
   :pswp         {:formatter "smeagol.extensions.photoswipe/process-photoswipe"
                  :scripts {:core {:local "vendor/node_modules/photoswipe/dist/photoswipe.min.js"
                                   :remote "https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.js"}
                            :ui {:local "vendor/node_modules/photoswipe/dist/photoswipe-ui-default.min.js"
                                 :remote "https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe-ui-default.min.js"}}
                  :styles {:core {:local "vendor/node_modules/photoswipe/dist/photoswipe.css"}
                           :skin {:local "vendor/node_modules/photoswipe/dist/default-skin/default-skin.css"}}}
   :test         {:formatter "smeagol.extensions.test/process-test" }
   :vega         {:formatter "smeagol.extensions.vega/process-vega"
                  :scripts {:core {:remote "https://cdnjs.cloudflare.com/ajax/libs/vega/5.9.1/vega.min.js"}
                            :lite {:remote "https://cdnjs.cloudflare.com/ajax/libs/vega-lite/4.1.1/vega-lite.min.js"}
                            :embed {:remote "https://cdnjs.cloudflare.com/ajax/libs/vega-embed/6.2.2/vega-embed.min.js"}}}
   :vis          {:formatter "smeagol.extensions.vega/process-vega"
                  :scripts {:core {:remote "https://cdnjs.cloudflare.com/ajax/libs/vega/5.9.1/vega.min.js"}
                            :lite {:remote "https://cdnjs.cloudflare.com/ajax/libs/vega-lite/4.1.1/vega-lite.min.js"}
                            :embed {:remote "https://cdnjs.cloudflare.com/ajax/libs/vega-embed/6.2.2/vega-embed.min.js"}}}}
  :log-level            :info           ;; the minimum logging level; one of
                                        ;; :trace :debug :info :warn :error :fatal
  :passwd               "resources/passwd"
                                        ;; where the password file is stored
  :site-title           "Smeagol"       ;; overall title of the site, used in
                                        ;; page headings
  :start-page           "Introduction"  ;; the page shown to a visitor to the
                                        ;; root URL.
  :thumbnails           {:small 64      ;; maximum dimension of thumbnails
                                        ;; stored in the /small directory
                         :med 400       ;; maximum dimension of thumbnails
                                        ;; stored in the /med directory
                         :map-pin 40    ;; stored in the /map-pin directory
                         ;; you can add as many extra keys and values as
                         ;; you like here for additional sizes of images.
                         ;; Images will only be scaled if their maximum
                         ;; dimension (in pixels) is greater than the value;
                         ;; only JPEG and PNG images will be scaled.
                         }
  }
