Radpress

_images/zen_mode.png

Contents

What is Radpress?

Radpress is a simple blog application for Djangonauts. It doesn’t use WYSIWYG editor. The default markup syntax is reStructuredText and you can preview your entry simply before published it.

Features

  • Zen mode for writing articles
  • Disqus support for comment and reactions
  • Useful sidebar widgets; tag cloud, latest posts
  • Adding page links in navigation bar
  • Listing archives for date or tag
  • Author information for articles
  • Simple theme like as Octopress.

Requirements

  • Django >= 1.4
  • docutils >= 0.9 # for reStructuredText
  • Pygments >= 1.5 # for highlighting code syntax
  • easy-thumbnails >= 1.0.3
  • and Pillow or PIL

Installation

You can install Radpress with pip or easy_install:

pip install radpress

It also installs it’s dependencies, but you need some configuration after package installation. In your django project, you should add easy_thumbnails before radpress.

Python Imaging Library

We prefer Pillow in stage of development. But it’s not added to setup.py as mandatory dependency. You want to continue to use PIL in your project. This and easy-thumbnails is required to add image for articles, and cropping and resizing images.

Configuration

RADPRESS_TITLE

Set your blog title.

Default: “Radpress”

RADPRESS_DESCRIPTION

Set your blog description.

Default: “A blogging application for Djangonauts”

RADPRESS_LIMIT

Set blog entry count in a page.

Default: 5

RADPRESS_GA_CODE

Set Google Analytics code to enable support.

Default: None

RADPRESS_DISQUS

Set shortname if you want to enable Disqus comments support.

Default: None

RADPRESS_HIDE_EMAIL

If you define this variable as “False”, author emails can be visible in RSS or only author name seems.

Default: True

Development

Thanks in advance for the contribution! Please start with installing requirements for the development:

$ pip install -r requirements/development.txt

Then, see the issues in Github: https://github.com/gkmngrgn/radpress/issues

If you want to send your changes to us, create your fork, open the branch about your changes, commit them and send a pull request. That’s all.

JS Components

jquery.js

I am not a frontend developer, but jQuery seems very easy and some javascript libraries need to jQuery.

http://jquery.com/

taboverride.min.js

It’s required to override tab behaviour in zen mode textarea.

http://wjbryant.github.io/taboverride/

Architect

There are two ways to update or save publishing status, title, slug or other entry fields. The end user should be use customized form (named ZenModeForm) to add or update an article information. But if you want to update entry model object directly, metadata will be update for object fields:

form --> model
- update fields for content metadata

model --> form
- update metadata for fields

Some metadata elements should be required in content field:

  • title
  • slug

Optional elements:

  • tags
  • is_published (default: false)
  • image

Screenshots

_images/zen_mode2.png _images/article_detail.png _images/zen_mode.png _images/archive.png

Indices and tables