This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Allow definition of custom metadata parsers for Pelican content

Project Description

A plugin for Pelican that allows the easy definition of custom metadata parsers.

Install

To install the library, you can use pip

$ pip install pelican-metadataparsing

Usage

  1. Update pelicanconf.py:

    1. Add metadataparsing to PLUGINS.

      You should add it before any metadata-affecting plugins.

      PLUGINS = [..., 'metadataparsing', ...]
      
    2. Define your custom metadata parsers through the METADATA_PARSERS setting:

      METADATA_PARSERS = {
          "<metadata-field-name1>": <function parser1(x)>,
          "<metadata-field-name2>": <function parser2(x)>
      }
      
  2. Corresponding fields of the page, article or entity object will have the value returned from the respective parser function.

Example

Multi-line metadata to simple string

import collections
import six

def parse_description(string):
    if string is None or isinstance(string, six.string_types):
        return string

    if isinstance(string, collections.Iterable):
        string = " ".join(string)

    return string


METADATA_PARSERS = {
    "Description": parse_description
}

For a working example check my site and my site’s source code.

Release History

Release History

This version
History Node

0.1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pelican-metadataparsing-0.1.0.tar.gz (7.0 kB) Copy SHA256 Checksum SHA256 Source Aug 26, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting