Mida now supports Ruby v1.9.3 and thanks to Sam Granieri v2.0. There is also a change to parse_source()
which will now output the exception error message if raised.
-
-
Mida v0.3.3 Released
by Lawrence WoodmanThis version now contains all the schema.org datatypes, enumerations and vocabularies. This was achieved by scraping the site using schema.org_scraper to create a JSON and YAML representation of the types. These are hosted on github so that the changes can easily be tracked.
The main problem that I did encounter was that the Enumeration type conflicts with the explanation in the Getting started Guide. In the type list, it says that Enumeration is a vocabulary derived from Thing, whereas in the explanation it says to uses the
<link>
tag to specify the value of the enumeration. The latter makes a lot more sense as otherwise it is unclear which property should be used to specify the value. I have therefore created anEnumeration
DataType
, which can be subclassed to create anEnumeration
with specified valid values, as in the following:To see the complete list of changes, please have a look at the CHANGELOG.
-
Mida v0.3.2 Released
by Lawrence WoodmanAfter looking at the best way to implement the recently released schema.org Vocabularies, I decided to allow vocabularies to be included into other vocabularies. This would not only reduce repetition when specifying the same properties repeatedly, but would also allow vocabularies that include another vocabulary to be used in place of that vocabulary. It is used as follows:
In the above if you gave a
Book
as an item ofCollection
this would be accepted because it includes theThing
vocabulary. When examining the item you would find#vocabulary
set toBook
and you would have access to all the properties ofThing
and all the properties ofBook
.This release also has a small bug fix so that
mida
no longer defaults to searches for%r{}
and will only make searches if a type regexp is given. -
Mida v0.3.1 Released
by Lawrence WoodmanThe big addition for this release is a command-line tool,
mida
.To use the tool, supply it with the urls or filenames that you would like to be parsed (by default each item is output as yaml):
If you want to search for specific types you can use the
-t
switch followed by a Regular Expression:For more information look at
mida
’s help:To see the complete list of changes, please have a look at the CHANGELOG.
-
Mida v0.3.0 Released
by Lawrence WoodmanThe new release includes quite a few refinements such as auto registering the vocabularies via the
inherited
hook and adding variousDataType
s such asBoolean
,Float
, ISO8601Date, etc. To improve output when usingpp
ory
onItem#to_h
thevocabulary
has been removed.There are a couple of changes to watch out for:
- When describing a vocabulary
types
has been deprecated in favour ofextract
. This was done in case greater flexibility was needed at a later date by providingextract
with a block. If this happensextract
would make more sense as a name. String
can no longer be used as a type when describing aVocabulary
, instead useDataType::Text
- Properties marked as
has_one
now output a single value instead of anArray
Document#search
now only uses aRegexp
to search with as this greatly simplified the code
The project would benefit from greater collaboration, to aid this
Bundler
support has been added.To see the complete list of changes, please have a look at the CHANGELOG.
- When describing a vocabulary
-
Mida v0.2.0 Released
by Lawrence WoodmanThe main change for this release is that you can now describe vocabularies to conform to. These are set out by subclassing
VocabularyDesc
as in the following:There were also a few implementation changes. To see the complete list of changes, please have a look at the CHANGELOG.
-
Mida v0.1.3 Released
by Lawrence WoodmanThis release fixes a few bugs where
itemprop
s were not being parsed properly if they contained non-microdata elements. It also will now recognizeitemprop
s nested within otheritemprop
s. -
Mida v0.1.0 Released
by Lawrence WoodmanThis is the first release of Mida. It was written after hearing rumours of Google making increasing use of Microdata; if this turns out to be true then more sites will in-turn make use of it and a Microdata parser will become very useful.