[template improvements jupdike@gmail.com**20071212013944] { hunk ./Template.hs 61 +---------------------------------------------- +-- BUTTONS +---------------------------------------------- + hunk ./Template.hs 76 + +buttons loggedin p = + [elm "p" ["class"-->"goright"] (intersperse spacePad buttons)] + where buttons = if loggedin then loggedinBtns p else loggedoutBtns p + +---------------------------------------------- + hunk ./Template.hs 404 + let messagefinal = xmlToStr message hunk ./Template.hs 408 + let somescriptstr = xmlToStr somescripts hunk ./Template.hs 412 + let buttonstr = xmlToStr $ buttons loggedin pageName hunk ./Template.hs 414 - putStrLn $ templateReplace mytemplate [ ("@content", xmlString) + putStrLn $ templateReplace mytemplate [ ("@buttons", buttonstr) + , ("@content", messagefinal ++ xmlString) hunk ./Template.hs 418 + , ("@scripts", somescriptstr) hunk ./Template.hs 421 + +templateReplace templ pairs = unlines . map doReplace . lines $ templ + where + doReplace x@('@':rest) = elookup x pairs + doReplace x = x + elookup a kv = case lookup a kv of + Nothing -> "" + Just b -> b + +{- hunk ./Template.hs 433 +-} hunk ./blah.hs 1 +{- hunk ./blah.hs 9 +-} + +{- +type Str = String -> String + +string s = s "" +str s = (s++) +cat a b = a . b +-} + +mytemplate = "hello there\n@buttons\nsomething else\n@content\ntest2" +test = templateReplace mytemplate [ ("@buttons", "but") + , ("@content", "contentment") + ] + +--templateReplace templ [] = templ +--templateReplace templ ((a,b):rest) = templateReplace (replace a b templ) rest + +templateReplace templ pairs = unlines . map doReplace . lines $ templ + where + doReplace x@('@':rest) = elookup x pairs + doReplace x = x + elookup a kv = case lookup a kv of + Nothing -> "" + Just b -> b }