-
Notifications
You must be signed in to change notification settings - Fork 61
/
schemas.clj
64 lines (61 loc) · 2.73 KB
/
schemas.clj
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
(ns cryogen-core.schemas
(:require
[schema.core :as s]))
(def Klipse
{(s/optional-key :settings) s/Any
(s/optional-key :js-src) {:min s/Str :non-min s/Str}
(s/optional-key :js) (s/enum :min :non-min)
(s/optional-key :css-base) s/Str
(s/optional-key :css-theme) s/Str})
(def MetaData
{(s/optional-key :layout) s/Keyword
:title s/Str
(s/optional-key :date) s/Str
(s/optional-key :author) s/Str
(s/optional-key :tags) [s/Str]
(s/optional-key :toc) (s/conditional keyword? (s/enum :ol :ul)
:else s/Bool)
(s/optional-key :draft?) s/Bool
(s/optional-key :klipse) (s/conditional map? Klipse
:else (s/pred true?))
(s/optional-key :home?) s/Bool
(s/optional-key :page-index) s/Int
(s/optional-key :navbar?) s/Bool
s/Keyword s/Any})
(def Config
{:site-title s/Str
:author s/Str
:description s/Str
:site-url s/Str
:post-root s/Str
:page-root s/Str
(s/optional-key :post-root-uri) (s/maybe s/Str)
(s/optional-key :page-root-uri) (s/maybe s/Str)
(s/optional-key :tag-root-uri) s/Str
(s/optional-key :author-root-uri) s/Str
(s/optional-key :public-dest) s/Str
:blog-prefix s/Str
:rss-name s/Str
(s/optional-key :rss-filters) [s/Str]
(s/optional-key :recent-posts) s/Int
:post-date-format s/Str
(s/optional-key :archive-group-format) s/Str
(s/optional-key :sass-src) [s/Str]
(s/optional-key :sass-path) s/Str
:theme s/Str
(s/optional-key :resources) [s/Str]
(s/optional-key :keep-files) [s/Str]
(s/optional-key :disqus?) s/Bool
(s/optional-key :disqus-shortname) s/Str
(s/optional-key :ignored-files) [s/Regex]
(s/optional-key :previews?) s/Bool
(s/optional-key :posts-per-page) s/Int
(s/optional-key :blocks-per-preview) s/Int
:clean-urls (s/enum :trailing-slash
:no-trailing-slash
:dirty)
(s/optional-key :collapse-subdirs?) s/Bool
(s/optional-key :hide-future-posts?) s/Bool
(s/optional-key :klipse) Klipse
(s/optional-key :debug?) s/Bool
s/Keyword s/Any})