Skip to content

FabriceSalvaire/sphinx-microdata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microdata plugin for Sphinx

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>

About

Microdata semantic markups support for Sphinx Documentation Generator.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages