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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

Details for the file sphinxcontrib-newsfeed-0.1.4.tar.gz.

File metadata

File hashes

Hashes for sphinxcontrib-newsfeed-0.1.4.tar.gz
Algorithm Hash digest
SHA256 f78c865b1a32d249644a9c46f395b547df0dc21ed69b70898d64235b4755efb4
MD5 f02110053bb04239a9b2c16d0ea76fe1
BLAKE2b-256 2b5e8bc839b5c4ef030bf26eede24208a49f25d00033cbd4969b3895264f14db

See more details on using hashes here.

File details

Details for the file sphinxcontrib_newsfeed-0.1.4-py2-none-any.whl.

File metadata

File hashes

Hashes for sphinxcontrib_newsfeed-0.1.4-py2-none-any.whl
Algorithm Hash digest
SHA256 6556e6cb4b4d060c5795f30bc2630589c720ec3678861473155172901f295a9b
MD5 93b7319f2aa53b1b39f9a94ac3b395b9
BLAKE2b-256 2adc47314ad0fd1d0eb77f005481cffeb872eb0d13b049a6b40f1fec9da1fb33

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