2018-04-20 purescript-halogen で HTML を String に
fwt (private) 。PureScript で Halogen を使った server-side rendering を雑に実装。……と言っても Halogen の HTML を String にして返しているだけ。 String にする箇所の雰囲気は↓。
bower install -S purescript-halogen purescript-halogen-vdom-string-renderer
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log)
import Data.Unit (Unit)
import Halogen.HTML (HTML(..), PlainHTML)
import Halogen.HTML as HH
import Halogen.VDom.DOM.StringRenderer (render)
renderWidget :: forall w. w -> String
renderWidget _ = ""
render' :: HTML -> String
render' (HTML vdom) = render renderWidget vdom
view :: PlainHTML
view = HH.html [] [ {- ... -} ]
main :: Eff ( console :: CONSOLE | e ) Unit
main = log $ render' view
HTML
を Component
にしたら、いろいろ難しそう。とりあえずは深く考えずに書いていく。
あとは Client のビルドもできるようにした。 pulp browserify
しているだけ。
明日は Client で navigator.mediaDevices.getUserMedia
を使ってごにょごにょしていく。 PureScript の中で JavaScript の Promise
を扱うあたりなど FFI まわりが課題になるのかな。