juan_gandhi: (VP)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2014-12-05 05:00 pm
Entry tags:

а вот и весь мой рендеринг

  def questionHTML(i: Int, q: String) =
    <span>
      <h3>Question {i+1}</h3>{q}
      <br/><br/><br/><br/><br/><br/>
  </span>

  def variantHTML(v: List[String]) =
    <p style="page-break-after:always;">
      <h1><center>{title}</center></h1>
      {v.zipWithIndex map {case(q,j) => questionHTML(j,q)}}
    </p>

  def html(variants: List[List[String]]) = {
    <html><body>{
      variants map variantHTML
    }</body></html>
  }

[identity profile] pondohva-loiso.livejournal.com 2014-12-06 01:07 am (UTC)(link)
html внутри кода напоминает мне старый perl-код :) Я уверен, что тогда был хороший perl-код, но в сайтиках клиентов хостинга я видел часто такое.

[identity profile] nponeccop.livejournal.com 2014-12-06 01:31 am (UTC)(link)
Этот подход не масштабируется. Если что-то б-м сложное - только шаблоны, только хардкор

[identity profile] doxtop.livejournal.com 2014-12-06 01:53 am (UTC)(link)






- это жесть.
у меня строкой
s"""
|
${}
|""".stripMargin('|')


xml же вроде отдельную либу жарником тянет в 2.11. зачем?
та и в строку можно правильно !doctype написать без хмль гемороя
Edited 2014-12-06 02:00 (UTC)

[identity profile] brightist.livejournal.com 2014-12-06 02:13 am (UTC)(link)

какой ужос
спрячьте и не позорьтесь с вашими брбрбрбрбр :)

[identity profile] migmit.livejournal.com 2014-12-06 06:06 am (UTC)(link)
Что-то я не понял, кто такой {title}.

[identity profile] si14.livejournal.com 2014-12-06 09:09 am (UTC)(link)
То же на кложурке (+prismatic/schema +weavejester/hiccup):

(s/defn question-html [i :- s/Int q :- s/Str]
  [:span
   [:h3 "Question " (inc i)]
   q
   (repeat [:br] 6)])

(s/defn variant-html [v :- [s/Str]]
  [:p {:style {:page-break-after "always"}}
   [:h1 [:center title]]
   (map-indexed question-html v)])

(s/defn html [variants :- [[s/Str]]]
  (h/html
   [:html
    [:body
     (map variant-html variants)]]))


На мой субъективный вкус немного аккуратнее смотрится.
Edited 2014-12-06 09:11 (UTC)

[identity profile] Дмитрий Васильев (from livejournal.com) 2014-12-06 06:19 pm (UTC)(link)
render: ->
  div className: 'posts-container',
    div className: 'posts',
      CreateNewPost @props
      for post in @props.posts.items
        Post {post}