Как я могу визуализировать конкретный компонент purescript-галогена в головке < >?Как визуализировать компоненты purescript-галогена в теге <head>
Следующий пример написан для галогенных 1.0.0 делает таблицы стилей и абзаца в HTML теле:
module Main where
import Prelude
import Control.Monad.Eff (Eff)
import Data.Maybe (Maybe(Nothing))
import CSS as C
import Halogen as H
import Halogen.Aff as HA
import Halogen.HTML as HH
import Halogen.HTML.CSS as HS
import Halogen.Query.HalogenM as HQ
import Halogen.VDom.Driver as HV
styles :: forall p i. HH.HTML p i
styles = HS.stylesheet $
C.select C.body $ C.margin C.nil C.nil C.nil C.nil
content :: forall p i. HH.HTML p i
content = HH.p_ [ HH.text "Test" ]
main :: Eff (HA.HalogenEffects()) Unit
main = HA.runHalogenAff $ HA.awaitBody >>= HV.runUI ui unit
where
ui = H.component { initialState : const unit
, render : const render
, eval : const $ HQ.halt "no query"
, receiver : const Nothing
}
render = HH.div_ [ styles, content ]
DOM-генерируется следующим образом:
<html>
<head>
<title>Test</title>
<script async="" type="text/javascript" src="main.js"></script>
</head>
<body>
<div>
<style type="text/css">
body { margin: 0 0 0 0 }
</style>
<p>
Test
</p>
</div>
</body>
</html>
Этот пример работает, но по для элемента specification элемент стиля разрешен только «где ожидается контент метаданных», то есть < глава > элемент. Поэтому я хочу отобразить таблицу стилей. Как это сделать?
Зачем ставить таблицу стилей с помощью галогена, если она полностью статична? Можно создавать атрибуты стиля для определенных элементов, если требуется такая гибкость. Но вопрос в целом по-прежнему интересен ... Я думаю о
Рендеринг статической таблицы стилей в Purescript имеет следующие преимущества: вы можете использовать всю мощь PureScript для сборки таблицы стилей и не нуждаться в другом препроцессоре CSS, таком как Sass или Less. Кроме того, вы можете модулизовать код, чтобы компоненты Halogen сохранялись вместе со своими стилями. Использование атрибутов стиля не является вариантом, если вам нужны медиа-запросы или псевдоклассы типа ': hover'. –