microformats2-types 0.2.1 → 0.3.0
raw patch · 4 files changed
+97/−82 lines, 4 filesdep +data-defaultdep +settersPVP ok
version bump matches the API change (PVP)
Dependencies added: data-default, setters
API changes (from Hackage documentation)
- Data.Microformats2: defaultAdr :: Adr
- Data.Microformats2: defaultCard :: Card
- Data.Microformats2: defaultCite :: Cite
- Data.Microformats2: defaultEntry :: Entry
- Data.Microformats2: defaultGeo :: Geo
+ Data.Microformats2: instance Default Adr
+ Data.Microformats2: instance Default Card
+ Data.Microformats2: instance Default Cite
+ Data.Microformats2: instance Default Entry
+ Data.Microformats2: instance Default Geo
+ Data.Microformats2.Setters: setAdrCountryName :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrExtendedAddress :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrGeo :: Embedded Geo -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrLabel :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrLocality :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrPostOfficeBox :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrPostalCode :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrRegion :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrStreetAddress :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setCardAdditionalName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardAdr :: Embedded Adr -> Card -> Card
+ Data.Microformats2.Setters: setCardAnniversary :: Maybe UTCTime -> Card -> Card
+ Data.Microformats2.Setters: setCardBday :: Maybe UTCTime -> Card -> Card
+ Data.Microformats2.Setters: setCardCategory :: [Text] -> Card -> Card
+ Data.Microformats2.Setters: setCardEmail :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardFamilyName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardGenderIdentity :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardGivenName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardHonorificPrefix :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardHonorificSuffix :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardImpp :: [Text] -> Card -> Card
+ Data.Microformats2.Setters: setCardJobTitle :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardKey :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardLogo :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardNickname :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardNote :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardOrg :: Embedded Card -> Card -> Card
+ Data.Microformats2.Setters: setCardPhoto :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardRole :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardSex :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardSortString :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardTel :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardUid :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardUrl :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCiteAccessed :: Maybe UTCTime -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteAuthor :: Embedded Card -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteContent :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteName :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCitePublication :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCitePublished :: Maybe UTCTime -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteUid :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteUrl :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setEntryAuthor :: Embedded Card -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryCategory :: [Text] -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryComments :: [EntryReference] -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryContent :: Maybe ContentReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryInReplyTo :: Maybe EntryReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryLikeOf :: Maybe EntryReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryLocation :: Maybe LocationReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryName :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryPublished :: Maybe UTCTime -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryRepostOf :: Maybe EntryReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntrySummary :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntrySyndication :: [Text] -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryUid :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryUpdated :: Maybe UTCTime -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryUrl :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setGeoAltitude :: Maybe Double -> Geo -> Geo
+ Data.Microformats2.Setters: setGeoLatitude :: Maybe Double -> Geo -> Geo
+ Data.Microformats2.Setters: setGeoLongitude :: Maybe Double -> Geo -> Geo
Files
- README.md +1/−1
- library/Data/Microformats2.hs +72/−76
- library/Data/Microformats2/Setters.hs +17/−0
- microformats2-types.cabal +7/−5
README.md view
@@ -7,5 +7,5 @@ ## License -Copyright 2014 Greg V <greg@unrelenting.technology> +Copyright 2014-2015 Greg V <greg@unrelenting.technology> Available under the ISC license, see the `COPYING` file
library/Data/Microformats2.hs view
@@ -16,6 +16,7 @@ import safe Data.Typeable (Typeable) import safe Data.Text.Lazy (Text) import safe Data.Data (Data)+import Data.Default import Data.Time (UTCTime) import Text.Pandoc.Definition (Pandoc) @@ -45,12 +46,11 @@ , geoAltitude :: Maybe Double } deriving (Eq, Show, Data, Typeable) --- | An empty Geo.-defaultGeo :: Geo-defaultGeo = Geo- { geoLatitude = Nothing- , geoLongitude = Nothing- , geoAltitude = Nothing }+instance Default Geo where+ def = Geo+ { geoLatitude = Nothing+ , geoLongitude = Nothing+ , geoAltitude = Nothing } -- | An Adr type, based on h-adr <http://microformats.org/wiki/h-adr> data Adr = Adr@@ -65,18 +65,17 @@ , adrGeo :: Embedded Geo } deriving (Eq, Show, Data, Typeable) --- | An empty Adr.-defaultAdr :: Adr-defaultAdr = Adr- { adrStreetAddress = Nothing- , adrExtendedAddress = Nothing- , adrPostOfficeBox = Nothing- , adrLocality = Nothing- , adrRegion = Nothing- , adrPostalCode = Nothing- , adrCountryName = Nothing- , adrLabel = Nothing- , adrGeo = Nowhere }+instance Default Adr where+ def = Adr+ { adrStreetAddress = Nothing+ , adrExtendedAddress = Nothing+ , adrPostOfficeBox = Nothing+ , adrLocality = Nothing+ , adrRegion = Nothing+ , adrPostalCode = Nothing+ , adrCountryName = Nothing+ , adrLabel = Nothing+ , adrGeo = Nowhere } -- | A Card type, based on h-card <http://microformats.org/wiki/h-card> data Card = Card@@ -108,35 +107,34 @@ , cardAnniversary :: Maybe UTCTime } deriving (Eq, Show, Data, Typeable) --- | An empty Card.-defaultCard :: Card-defaultCard = Card- { cardName = Nothing- , cardHonorificPrefix = Nothing- , cardGivenName = Nothing- , cardAdditionalName = Nothing- , cardFamilyName = Nothing- , cardSortString = Nothing- , cardHonorificSuffix = Nothing- , cardNickname = Nothing- , cardEmail = Nothing- , cardLogo = Nothing- , cardPhoto = Nothing- , cardUrl = Nothing- , cardUid = Nothing- , cardCategory = []- , cardAdr = Nowhere- , cardTel = Nothing- , cardNote = Nothing- , cardBday = Nothing- , cardKey = Nothing- , cardOrg = Nowhere- , cardJobTitle = Nothing- , cardRole = Nothing- , cardImpp = []- , cardSex = Nothing- , cardGenderIdentity = Nothing- , cardAnniversary = Nothing }+instance Default Card where+ def = Card+ { cardName = Nothing+ , cardHonorificPrefix = Nothing+ , cardGivenName = Nothing+ , cardAdditionalName = Nothing+ , cardFamilyName = Nothing+ , cardSortString = Nothing+ , cardHonorificSuffix = Nothing+ , cardNickname = Nothing+ , cardEmail = Nothing+ , cardLogo = Nothing+ , cardPhoto = Nothing+ , cardUrl = Nothing+ , cardUid = Nothing+ , cardCategory = []+ , cardAdr = Nowhere+ , cardTel = Nothing+ , cardNote = Nothing+ , cardBday = Nothing+ , cardKey = Nothing+ , cardOrg = Nowhere+ , cardJobTitle = Nothing+ , cardRole = Nothing+ , cardImpp = []+ , cardSex = Nothing+ , cardGenderIdentity = Nothing+ , cardAnniversary = Nothing } -- | A Cite type, based on h-cite <http://microformats.org/wiki/h-cite> data Cite = Cite@@ -150,17 +148,16 @@ , citeContent :: Maybe Text } deriving (Eq, Show, Data, Typeable) --- | An empty Cite.-defaultCite :: Cite-defaultCite = Cite- { citeName = Nothing- , citePublished = Nothing- , citeAuthor = Nowhere- , citeUrl = Nothing- , citeUid = Nothing- , citePublication = Nothing- , citeAccessed = Nothing- , citeContent = Nothing }+instance Default Cite where+ def = Cite+ { citeName = Nothing+ , citePublished = Nothing+ , citeAuthor = Nowhere+ , citeUrl = Nothing+ , citeUid = Nothing+ , citePublication = Nothing+ , citeAccessed = Nothing+ , citeContent = Nothing } -- | A location reference. -- Left means a Card is used, which is often used for checkins.@@ -192,21 +189,20 @@ , entryRepostOf :: Maybe EntryReference } deriving (Eq, Show, Data, Typeable) --- | An empty Entry.-defaultEntry :: Entry-defaultEntry = Entry- { entryName = Nothing- , entrySummary = Nothing- , entryContent = Nothing- , entryPublished = Nothing- , entryUpdated = Nothing- , entryAuthor = Nowhere- , entryCategory = []- , entryUrl = Nothing- , entryUid = Nothing- , entryLocation = Nothing- , entryComments = []- , entrySyndication = []- , entryInReplyTo = Nothing- , entryLikeOf = Nothing- , entryRepostOf = Nothing }+instance Default Entry where+ def = Entry+ { entryName = Nothing+ , entrySummary = Nothing+ , entryContent = Nothing+ , entryPublished = Nothing+ , entryUpdated = Nothing+ , entryAuthor = Nowhere+ , entryCategory = []+ , entryUrl = Nothing+ , entryUid = Nothing+ , entryLocation = Nothing+ , entryComments = []+ , entrySyndication = []+ , entryInReplyTo = Nothing+ , entryLikeOf = Nothing+ , entryRepostOf = Nothing }
+ library/Data/Microformats2/Setters.hs view
@@ -0,0 +1,17 @@+{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-missing-signatures #-}+{-# LANGUAGE TemplateHaskell #-}++-- | TH-derived Setters instances for Data.Microformats2.+module Data.Microformats2.Setters (+ module Data.Microformats2.Setters+) where++import Data.Microformats2+import Data.Setters++$(declareSetters ''Embedded)+$(declareSetters ''Geo)+$(declareSetters ''Adr)+$(declareSetters ''Card)+$(declareSetters ''Cite)+$(declareSetters ''Entry)
microformats2-types.cabal view
@@ -1,10 +1,10 @@ name: microformats2-types-version: 0.2.1-synopsis: Microformats 2 types for Haskell.+version: 0.3.0+synopsis: Microformats 2 types (with Aeson instances) category: Web homepage: https://github.com/myfreeweb/microformats2-types author: Greg V-copyright: 2014 Greg V <greg@unrelenting.technology>+copyright: 2014-2015 Greg V <greg@unrelenting.technology> maintainer: greg@unrelenting.technology license: OtherLicense license-file: COPYING@@ -13,8 +13,7 @@ extra-source-files: README.md tested-with:- GHC == 7.6.3- , GHC == 7.8.2+ GHC == 7.8.2 source-repository head type: git@@ -28,9 +27,12 @@ , either , aeson , pandoc-types+ , data-default+ , setters default-language: Haskell2010 exposed-modules: Data.Microformats2 Data.Microformats2.Aeson+ Data.Microformats2.Setters ghc-options: -Wall hs-source-dirs: library