Skip to main content

Sphinx "microdata" extension

Project description

Microdata semantic markups support for Sphinx Documentation Generator.

This plugin is derived from pelican-microdata.

Written by Fabrice Salvaire.

Installation

See sphinx-contrib for more details.

To install the plugin, you have to run these commands:

python setup.py build
python setup.py install

The PySpice source code is hosted at https://github.com/FabriceSalvaire/sphinx-microdata

To clone the Git repository, run this command in a terminal:

git clone git@github.com:FabriceSalvaire/sphinx-microdata

Usage

To load the plugin, you have to add it in your conf.py file.

extensions = [
  ...
  'sphinxcontrib.microdata',
  ]

Directives

Microdata plugin provides two directives:

  • itemscope, a block directive allowing to declare an itemscope block:

    .. itemscope:: <Schema type>
        :tag: element type (default: div)
        :itemprop: optionnal itemprop attribute
        :compact: optionnal
    
        Nested content
  • itemprop, an inline directive/role allowing to annotate some text with an itemprop attribute.

    :itemprop:`Displayed text <itemprop name>`
    :itemprop:`Displayed text <itemprop name:http://some.url/>`

Example

This reStructuredText document:

.. itemscope: Person
    :tag: p

    My name is :itemprop:`Bob Smith <name>`
    but people call me :itemprop:`Smithy <nickanme>`.
    Here is my home page:
    :itemprop:`www.exemple.com <url:http://www.example.com>`
    I live in Albuquerque, NM and work as an :itemprop:`engineer <title>`
    at :itemprop:`ACME Corp <affiliation>`.

will result in:

<p itemscope itemtype="http://data-vocabulary.org/Person">
    My name is <span itemprop="name">Bob Smith</span>
    but people call me <span itemprop="nickname">Smithy</span>.
    Here is my home page:
    <a href="http://www.example.com" itemprop="url">www.example.com</a>
    I live in Albuquerque, NM and work as an <span itemprop="title">engineer</span>
    at <span itemprop="affiliation">ACME Corp</span>.
</p>

This reStructuredText document using nested itemscope:

.. itemscope:: Person

    My name is :itemprop:`John Doe <name>`

    .. itemscope:: Address
        :tag: p
        :itemprop: address

        I live in :itemprop:`Albuquerque <name>`

will result in:

<div itemscope itemtype="http://data-vocabulary.org/Person">
<p>
My name is <span itemprop="name">John Doe</span>
</p>
<p itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address">
I live in <span itemprop="name">Albuquerque</span>'
</p>
</div>

This reStructuredText document using nested and compact itemscope:

.. itemscope:: Person
    :tag: p
    :compact:

    My name is :itemprop:`John Doe <name>`

    .. itemscope:: Address
        :tag: span
        :itemprop: address

        I live in :itemprop:`Albuquerque <name>`

will result in:

<p itemscope itemtype="http://data-vocabulary.org/Person">
My name is <span itemprop="name">John Doe</span>
<span itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address">
I live in <span itemprop="name">Albuquerque</span>
</span>
</p>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

File details

Details for the file sphinxcontrib-microdata-0.1dev-20140921.tar.gz.

File metadata

File hashes

Hashes for sphinxcontrib-microdata-0.1dev-20140921.tar.gz
Algorithm Hash digest
SHA256 d7f9aa8b8eab00bddf8cfcc60441d66e8f777b1cb7516a31d3e160ec906c5bf1
MD5 28886f815fee31ad06831caad6826e76
BLAKE2b-256 28b9657a0cd61816e59c204009ebc48f990c39d740c835df2d105f7dcfa89699

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page