{ "info": { "author": "Alex Holmes", "author_email": "alex@alex-holmes.com", "bugtrack_url": null, "classifiers": [], "description": "Really Simple Blogging Platform\n===============================\n\nI made a reusable blog application using Django. *It is really simple.*\n\nIt does tagging, rss, ckeditor rich text entry with image uploads, slugged urls\nand that's about it.\n\nNo comments, no social integration, no trackbacks.\n\nIt is pretty customisable though because I'm be using it for two very\ndifferent blogs.\n\n\nInstall\n-------\n\nAll within a Django project:\n\nAdd to ``INSTALLED_APPS``::\n\n INSTALLED_APPS = (\n ...\n 'ckeditor',\n 'rsbp',\n )\n\nConfigure ckeditor::\n\n from rsbp.ck_settings import RSBP_CKEDITOR_CONFIG\n CKEDITOR_UPLOAD_PATH = os.path.join(MEDIA_ROOT, 'uploads')\n CKEDITOR_CONFIGS = {\n 'rsbp': RSBP_CKEDITOR_CONFIG,\n }\n\nCustomise\n---------\n\nProbably the first things you'll want to do are:\n\n- Tweak the templates a bit, you'll probably want to start with\n ``templates/rsbp/includes/footer.html``\n\n- Tweak the default settings:\n\n ``RSBP_IMAGE_UPLOAD_DIR``\n Will be appended to your media directory, default: \"uploads\"\n\n ``RSBP_POSTS_PER_PAGE``\n How many posts show per page, default: 5\n\n ``RSBP_FEED_TITLE``\n The title of your rss feed, default: \"Blog\"\n\n ``RSBP_FEED_LINK``\n The default link for the rss feed, default: \"/\"\n\n ``RSBP_FEED_DESCRIPTION``\n The description of your blog for the rss feed, default: \"\"\n\n ``RSBP_FEED_MAX_ITEMS``\n The number of items to publish at any time on your rss feed, default: 10\n\n\nAfter that you can go crazy and add:\n\nCustom Post Types\n-----------------\n\nYou can add them like this:\n\n``models.py``::\n\n from rsbp.models import Post\n from django import models\n\n class EventPost(Post):\n\n when = models.DateTimeField()\n description = models.TextField(blank=True, null=True)\n\n def feed_title(self):\n return \"{0} at {1}\".format(self.title, self.when.strftime('%x %X'))\n\n def feed_description(self):\n return self.description\n\n EventPost.register_type()\n\n``admin.py``::\n\n from django.contrib import admin\n from rsbp.admin import PostAdmin\n from .models import EventPost\n\n admin.site.register(EventPost, PostAdmin)\n\n``templates/rsbp/event_post.html``::\n\n

{{ post }}

\n
\n {{ post.description|safe }}\n
\n
\n {% include rsbp/includes/default_meta.html\" %}\n
\n\n\n=========\nChangelog\n=========\n\n0.0.1 (2013-05-31)\n------------------\n\n- Add tests for publishing logic\n- Add tests for absent or half-present slugs\n- Slug bugfixes\n- CKEditor now strips attributes from pasted text by default (this can be\n overridden)\n\n\n0.0.0 (2013-05-30)\n------------------\n\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alex2/rsbp", "keywords": "django blog", "license": "WTFPL", "maintainer": null, "maintainer_email": null, "name": "rsbp", "package_url": "https://pypi.org/project/rsbp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rsbp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/alex2/rsbp" }, "release_url": "https://pypi.org/project/rsbp/0.0.1/", "requires_dist": null, "requires_python": null, "summary": "Really Simple Blogging Platform, written in Django", "version": "0.0.1" }, "last_serial": 715478, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "a0ab99154dc66aee1a85287715f302bd", "sha256": "7e71b392505c1cb5cfded94748ceede66392f66a2328c9497ee27fef6367afd3" }, "downloads": -1, "filename": "rsbp-0.0.0.zip", "has_sig": false, "md5_digest": "a0ab99154dc66aee1a85287715f302bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15495, "upload_time": "2013-05-30T00:21:32", "url": "https://files.pythonhosted.org/packages/45/ce/91d591ea486f97ef63a7a1a09369e74e22973a9ca476958349b5faaf6927/rsbp-0.0.0.zip" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "9fe729980fdd81aaa9fb9e11797aa29e", "sha256": "4cac817253369442540a309cf5cb20fefe2bfb8530e4acb73a5a98614119f69f" }, "downloads": -1, "filename": "rsbp-0.0.1.zip", "has_sig": false, "md5_digest": "9fe729980fdd81aaa9fb9e11797aa29e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16661, "upload_time": "2013-05-31T06:55:17", "url": "https://files.pythonhosted.org/packages/44/82/6433070524ec7bc1e4be43c88c1a07a52a92cdb3904646274783474ae9ea/rsbp-0.0.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9fe729980fdd81aaa9fb9e11797aa29e", "sha256": "4cac817253369442540a309cf5cb20fefe2bfb8530e4acb73a5a98614119f69f" }, "downloads": -1, "filename": "rsbp-0.0.1.zip", "has_sig": false, "md5_digest": "9fe729980fdd81aaa9fb9e11797aa29e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16661, "upload_time": "2013-05-31T06:55:17", "url": "https://files.pythonhosted.org/packages/44/82/6433070524ec7bc1e4be43c88c1a07a52a92cdb3904646274783474ae9ea/rsbp-0.0.1.zip" } ] }