Default structure†
root/ | +- template/ | | | +- posts/ | | | | | +- YYYY-MM-DD-posttitle.html.clj | | | +- layouts/ | | | | | +- default.clj | | | +- index.html.clj | +- public/ | | | +- css/ | | | +- js/ | +- _config.clj
root/†
All public static files such as JavaScripts and StyleSheets are here. Compiled templates are also put here.
template/†
Template root directory.
template/posts/†
Blog posts data directory. All post files should be named YYYY-MM-DD-posttitle.html.clj as same as Jekyll filename format. This naming format can be configured _config.clj
template/layouts/†
All layout files are here.
template/index.html.clj†
Template file. When misaki compile templates, last extension(.clj
in this case) is removed.
To edit templates, See Edit Template.
index.html.clj => COMPILE => index.html
public/†
Public root directory. Static files are here.
_config.clj†
Configuration file for misaki.
{ ;; directory setting :public-dir "public/" :tag-out-dir "tag/" :template-dir "template/" :post-dir "posts/" :layout-dir "layouts/" ;; posts and tags url setting ;; default value: "/" ;; ex) ;; "/" => "/YYYY-MM/POST.html" ;; "/foo" => "/foo/YYYY-MM/POST.html" :url-base "/" ;; dev server port ;; default value: 8080 :port 8080 ;; site language ;; default value: "en" :lang "en" ;; default site data :site {:site-title "misaki" :twitter "uochan" :css ["http://fonts.googleapis.com/css?family=Josefin+Sans" "/css/main.css"] :device-css ["/css/smartphone.css"] :js ["/js/main.js"]} ;; post file compile hook :compile-with-post ["index.html.clj" "atom.xml.clj"] ;; tag setting :tag-layout "tag" ;; post setting ;; default value: #"(\d{4})[-_](\d{1,2})[-_](\d{1,2})[-_](.+)$" :post-filename-regexp #"(\d{4})[-_](\d{1,2})[-_](\d{1,2})[-_](.+)$" :post-filename-format "$(year)-$(month)/$(filename)" ;; post sort type (:date :name :title :date-desc :name-desc :title-desc) ;; default value: :date-desc :post-sort-type :date-desc ;; clojurescript compile options ;; src-dir base is `:template-dir` ;; output-dir base is `:public-dir` ;:cljs {:src-dir "cljs" ; :output-to "js/main.js" ; :optimizations :whitespace ; :pretty-print true} ;; highlight setting :code-highlight {:CLJ "lang-clj", :CLOJURE "lang-clj"} ;; flag for detailed log ;; default value: false :detailed-log false ;; flag for error notification ;; default value: false :notify? false ;; notify setting(OPTIONAL) :notify-setting {;; title for fixing notification ;; default value: "$(filename)" :fixed-title "$(filename)" ;; message for fixing notication ;; default value: "FIXED" :fixed "FIXED" ;; title for failing notification ;; default value: "$(filename) : $(line)" :failed-title "$(filename) : $(line)" ;; message for failing notification ;; default value: $(message) :failed "$(message)"} ;; compiler setting ;; default value: "default" :compiler "default" }
- >= 0.2.6, Growl notify only support GNTP. If you want to use Growl notification with UDP, please checkout <= 0.2.5 version.
- See Highlight Setting about code highlight setting.