Project tree:
|-- css
| `-- global.css
|-- img
| |-- border.jpg
| |-- bg_top.gif
| `-- logo.jpg
|-- js
| |-- jquery.js
| |-- prototype.js
| `-- myscript.js
|-- html
| |-- contact.html
| |-- home.html
| `-- products.html
`-- index.html
Google - Web Components
Yandex - BEM + BEM-tools
(ns example
(:require [reagent.core :as reagent :refer [atom]]))
(defn atom-input [value]
[:input {:type "text"
:value @value
:on-change #(reset! value (-> % .-target .-value))}])
(defn shared-state []
(let [val (atom "foo")]
(fn []
[:div
[:p "The value is now: " @val]
[:p "Change it here: " [atom-input val]]])))
(css {:vendors ["webkit" "moz" "o"]}
[[:.fn-simple-component {:color "#353535"}]
[:.fn-simple-component-title
^:prefix {:border-radius "10px"}
{:background-color "#f0f0f0"}
{:text-align "center"}
{:color "#353535"}
{:height "200px"}
{:padding "15px"}]]
(ns frontend-new.components.simple-component
(:require
[reagent.core :as reagent :refer [atom]]
[garden.core :refer [css]]
[frontend-new.common.css-helper :as css-helper :refer [include-css!]]))
(include-css! "fn-simple-component" (css {:vendors ["webkit" "moz" "o"]}
[[:.fn-simple-component {:color "#353535"}]
[:.fn-simple-component-title
^:prefix {:border-radius "10px"}
{:background-color "#f0f0f0"}
{:text-align "center"}
{:color "#353535"}
{:height "200px"}
{:padding "15px"}]]))
(defn simple-component [title]
[:div {:class "fn-simple-component"}
[:h1 {:class "fn-simple-component-title"} title]])