首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hiccup模板函数

Hiccup模板函数
EN

Stack Overflow用户
提问于 2014-04-06 17:39:09
回答 1查看 649关注 0票数 2

我正在尝试向我的文件中添加以下Hiccup模板函数

代码语言:javascript
复制
(defn d3-page [title js body & {:keys [extra-js] :or {extra-js []}}]
        (html5
            [:head
                [:title title]
            (include-css "/css/nv.d3.css"))
            (include-css "/css/style.css")]
            [:body
        (concat
            [body]
            [(include-js "http://d3js.org/d3.v3.min.js")
             (include-js (str "https://raw.github.com"
                              "/novus/nvd3"
                              "/master/nv.d3.min.js")]
        (map include-js extra-js)
            [(include-js "/js/script.js")
             (javascript-tag js)])]))

但是,当我运行lein ring server时,请继续获得一个不匹配的分隔符。这来自,所以我很惊讶地发现了一个错误,并且怀疑这个错误就在我的头上。下面是文件中的其余代码:

代码语言:javascript
复制
(ns web-viz.web
(:require [compojure.route :as route]
      [compojure.handler :as handler]
      [clojure.string :as str])
(:use compojure.core
  ring.adapter.jetty
  [ring.middleware.content-type :only
  (wrap-content-type)]
  [ring.middleware.file :only (wrap-file)]
  [ring.middleware.file-info :only
  (wrap-file-info)]
  [ring.middleware.stacktrace :only
  (wrap-stacktrace)]
  [ring.util.response :only (redirect)]
  [hiccup core element page]
  [hiccup.middleware :only (wrap-base-url)]))

 (defn d3-page...as above
  ...)

 (deftype Group [key values])
 (deftype Point [x y size])

 (defn add-label [chart axis label]
    (if-not (nil? label)
            (.axisLabel (aget chart axis) label)))

 (defn add-axes-labels [chart x-label y-label]
    (doto chart (add-label "xAxis" x-label)
                (add-label "yAxis" y-label)))

(defn populate-node [selector chart groups transition continuation]
    (-> (.select js/d3 selector)
        (.datum groups)
        (.transition)
        (.duration (if transition 500 0))
        (.call chart)
        (.call continuation)))

 (defn force-layout-plot [] 
(d3-page "Force-Directed Layout"
"webviz.force.force_layout();"
[:div#force.chart [:svg]]))

 (defroutes site-routes
(GET "/force" [] (force-layout-plot))
(GET "/force/data.json" []
(redirect "/data/census-race.json"))
(route/resources "/")
(route/not-found "Page not found"))

(def app (-> (handler/site site-routes)))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-06 18:03:13

在第5行

代码语言:javascript
复制
(include-css "/css/nv.d3.css"))

那里还有一个额外的)

在第13行,

代码语言:javascript
复制
"/master/nv.d3.min.js")]

少了一个)。应该是

代码语言:javascript
复制
"/master/nv.d3.min.js"))]

您应该使用一个编辑器,它可以自动完成大括号、括号和括号等的匹配。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22897557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档