diff options
-rw-r--r-- | src/Db.hs | 7 | ||||
-rw-r--r-- | src/Render.hs | 11 |
2 files changed, 16 insertions, 2 deletions
@@ -96,6 +96,13 @@ getFeaturesByBase db base = M.filterWithKey (\k v -> (base ++ ".") `isPrefixOf` -- |Get number of algorithms in database algorithmCount db = M.size $ dalgos db +split :: (Eq a) => a -> [a] -> [[a]] +split delim s = let (a, b:bs) = span (/= delim) s in a:split delim bs + +-- |Get base of feature +getFeatureBase :: String -> String +getFeatureBase feature = head $ split '.' feature + minMaxPublicationYears db = (firstyear, lastyear) where pubyears = catMaybes $ map (lookup "year" . E.fields) $ dpublications db diff --git a/src/Render.hs b/src/Render.hs index 7b8bab2..1b22270 100644 --- a/src/Render.hs +++ b/src/Render.hs @@ -33,8 +33,15 @@ resolveDoi q = "http://doi.org/" ++ q protofeatures :: Database -> Protocol -> Html () protofeatures _ p | (M.size $ pfeatures p) == 0 = mempty protofeatures db p = do - dt_ "Features" - dd_ $ ul_ [class_ "features list-inline"] $ forM_ (sort $ M.keys $ pfeatures p) (\x -> li_ [data_ "id" (T.pack x), class_ "list-inline-item"] $ toHtml $ maybe ("" :: String) fname $ M.lookup x (dfeatures db)) + dt_ "Features" + dd_ $ ul_ [class_ "features"] $ forM_ (sort $ M.keys $ pfeatures p) item + where + item :: String -> Html () + item name = li_ [data_ "id" (T.pack name)] $ do + toHtml $ maybeLookup $ getFeatureBase name + ": " + toHtml $ maybeLookup name + maybeLookup name = maybe ("" :: String) fname $ M.lookup name (dfeatures db) -- |List of protocol publications protopapers :: [T] -> Html () |