Добавление перехватчиков OnLoad для шаблонов Heist с использованием Snap Web Framework - PullRequest
3 голосов
/ 28 ноября 2011

Я хочу добавить несколько хуков для предварительной обработки Heist шаблонов в веб-приложении, используя Snap . До сих пор мой наивный подход заключался в использовании следующего кода в инициализаторе моего приложения:

app :: SnapletInit App App
app = makeSnaplet "app" "The main web application" Nothing $ do
    -- ...
    h <- nestSnaplet "heist" heist $ heistInit "resources/templates"
    -- ...
    modifyHeistTS . addOnLoadHook $ myTemplateHook

Этот код, конечно, не работает, так как хук добавляется после шаблоны загружаются из "ресурсов / шаблонов"

Как можно изменить состояние шаблона Heist до загрузки исходных шаблонов, чтобы добавить хуки OnLoad?

1 Ответ

2 голосов
/ 28 ноября 2011

Отличный вопрос.Похоже, это упущение с моей стороны при разработке библиотекиЯ подумаю о том, как лучше всего это поддержать, и вернусь к вам.

Если вы хотите немедленное решение, вставьте что-нибудь, чтобы добавить свой хук в состояние шаблона, которое передается в loadTemplates здесь .Или же вы можете изменить emptyTemplateState непосредственно в Heist.

Обновление: I добавлено функция heistInit ', которая должна решить эту проблему.Это будет в следующем выпуске взлома.До этого вы можете получить его от github .

...