sphinxcontrib-newsfeed /

Filename Size Date modified Message
demo
sphinxcontrib
83 B
47 B
1.3 KB
91 B
4.5 KB
1.4 KB

sphinxcontrib-newsfeed -- News Feed extension for Sphinx

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.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.