Meta allows you to add meta data to site
        :params **kwargs:

        meta keys we're expecting:
            title (str)
            description (str)
            url (str) (Will pick it up by itself if not set)
            image (str)
            site_name (str) (but can pick it up from config file)
            object_type (str)
            keywords (list)
            locale (str)

            **Boolean By default these keys are True
            use_opengraph
            use_twitter
            use_googleplus

def meta_(cls, **kwargs):
        """
        Meta allows you to add meta data to site
        :params **kwargs:

        meta keys we're expecting:
            title (str)
            description (str)
            url (str) (Will pick it up by itself if not set)
            image (str)
            site_name (str) (but can pick it up from config file)
            object_type (str)
            keywords (list)
            locale (str)

            **Boolean By default these keys are True
            use_opengraph
            use_twitter
            use_googleplus

        """
        _name_ = "META"
        meta_data = cls._context.get(_name_, {})
        for k, v in kwargs.items():
            # Prepend/Append string
            if (k.endswith("__prepend") or k.endswith("__append")) \
                    and isinstance(v, str):
                k, position = k.split("__", 2)
                _v = meta_data.get(k, "")
                if position == "prepend":
                    v += _v
                elif position == "append":
                    v = _v + v
            if k == "keywords" and not isinstance(k, list):
                raise ValueError("Meta keyword must be a list")
            meta_data[k] = v
        cls.context_(_name_=meta_data)