Skip to main content

News Feed extension for Sphinx

Project description

Overview

sphinxcontrib-newsfeed is a extension for adding a simple Blog, News or Announcements section to a Sphinx website.

Features:

  • Makes feed entries from Sphinx documents.

  • Generates a list of entries with teasers.

  • Saves the feed to a file in RSS format.

  • Supports comments via Disqus.

You can see this extension in action at http://htsql.org/blog/. For more examples, see demo directory in the source distribution.

This software is written by Kirill Simonov (Prometheus Research, LLC) and released under BSD license.

Usage

To enable this extension, add the following line to conf.py:

extensions.append('sphinxcontrib.newsfeed')

To add a comment form to news entries, you also need to specify the Disqus website identifier:

disqus_shortname = '...'

Now you can convert any Sphinx document to a news entry by using directive feed-entry. For example:

Welcome!!!
==========

.. feed-entry::
   :date: 2012-01-01

Welcome to the news feed of **Elvensense**.  Here we will post
release announcements and other project news.

Use cut directive to separate the entry teaser from the content:

Elvensense 96 is released
=========================

.. feed-entry::
   :date: 2012-12-31

We are proud to announce a new release of **Elvensense**.

.. cut::

Specific changes since the last release:

* An exciting feature was added.
* An annoying bug was fixed.

To make a list of news entries and generate an RSS file, use feed directive:

.. feed::
   :rss: index.rss
   :title: Elvensense News

   release
   welcome

The body of feed directive must list documents containing news entries (similar to toctree). The options of feed directive define the name of the RSS file and describe the feed metadata.

You need to manually update your HTML templates to add a link to the RSS feed:

<link rel="alternate"
      type="application/rss+xml"
      title="Elvensense News"
      href="/index.rss" />

Reference

Directives

feed-entry

Specifies an entry metadata.

This directive has no body.

Options:

author

The author of the post (optional).

date

The date of the post in YYYY-MM-DD format.

feed

Inserts a list of entries with teasers at the current location.

This directive should contain a list of document names (similar to toctree). This directive adds the documents to the hierarchy, so that you don’t need to add the to toctree.

Options:

rss

Where to write the RSS feed (optional).

title

The name of the RSS channel.

description

Description of the RSS channel.

link

The website URL.

cut

Separates the entry teaser from the rest of the text.

This directive has no options and no body.

disqus

Inserts a Disqus comment widget.

Normally you don’t need to use this directive for news entries since, if disqus_shortname parameter is set, Disqus comment form is encluded automatically with every feed entry. This directive allows you to use Disqus with regular Sphinx documents.

Options:

shortname

The website identifier. Use to override disqus_shortname configuration parameter.

identifier

The page identifier. If not set, use the document name.

title

The title of the page. If not set, use the document title.

Configuration parameters

disqus_shortname

Sets the unique identifier for a Disqus website. To acquire one, you need to register the website on http://disqus.com/.

disqus_developer

Sets the developer mode (False or True).

CSS classes

feed-meta

Wraps for the post metadata block.

feed-author

Wraps the author name.

feed-date

Wraps the post date.

feed-disqus

Wraps the Disqus comment widget.

feed-ref

Wraps the post title in the list of posts.

feed-more

Wraps the Read more… link.

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

sphinxcontrib-newsfeed-0.1.4.tar.gz (10.9 kB view hashes)

Uploaded Source

Built Distribution

sphinxcontrib_newsfeed-0.1.4-py2-none-any.whl (10.0 kB view hashes)

Uploaded Python 2

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