Commits

Anonymous committed e9ef967 Merge

Merging branches

Comments (0)

Files changed (7)

 syntax: glob
 *.pyc
 *.swp
+*.swo
+dist/
+MANIFEST
+
+Copyright (c) 2010, Josh VanderLinden
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+    * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+include LICENSE README
+recursive-include articles *.py *.html *.po *.mo
 django-articles is the blog engine that I use on codekoala.com
 
-==Features==
+Features
+========
 
-  * Tracks the following information about your visitors:
-    * Session key
-    * IP address
-    * User agent
-    * Whether or not they are a registered user and logged in
-    * Where they came from (http-referer)
-    * What page on your site they last visited
-    * How many pages on your site they have visited
-  * Allows user-agent filtering for visitor articles
-  * Automatic clean-up of old visitor records
-  * Can ban certain IP addresses, rendering the site useless to visitors from those IP's (great for stopping spam)
-  * The ability to have a live feed of active users on your website
-  * Template tags to:
-    * display how many active users there are on your site
-    * determine how many active users are on the same page within your site
-  * Optional "Active Visitors Map" to see where visitors are in the world
+* Tags for articles, with a tag cloud template tag
+* Ability to post in the future
+* Article expiration facilities
+* Allows articles to be written in plain text/HTML or using Markdown, ReStructured Text, or Textile markup
+* Related articles
+* Follow-up articles
+* Disqus comments
+* Article archive, with pagination
+* Internationalization-ready
+* Detects links in articles and creates a per-article index for you
+* Word count
+* RSS feeds for the latest articles
+* RSS feeds for the latest articles by tag
 
-==Requirements==
+Requirements
+============
 
-`django-articles` wants a modern version of Django--something after 1.0.  It used to rely on `django.contrib.comments` for commenting needs, but I recently switched to [http://www.disqus.com/ Disqus].  Included herein is a management command to convert `django.contrib.comments` comments to Disqus.
+``django-articles`` wants a modern version of Django--something after 1.1.  It used to rely on ``django.contrib.comments`` for commenting needs, but I recently switched to `Disqus <http://www.disqus.com/>`_.  Included herein is a management command to convert ``django.contrib.comments`` comments to Disqus.
 
-This project also expects `django.contrib.sites`, `django.contrib.admin`, `django.contrib.markup`, `django.contrib.auth`, `django.contrib.humanize`, and `django.contrib.syndication` to be properly installed.
+This project also expects ``django.contrib.sites``, ``django.contrib.admin``, ``django.contrib.markup``, ``django.contrib.auth``, ``django.contrib.humanize``, and ``django.contrib.syndication`` to be properly installed.
 
-==Installation==
+Installation
+============
 
-Download `django-articles` using *one* of the following methods:
+Download ``django-articles`` using *one* of the following methods:
 
-===Checkout from Mercurial===
+Checkout from Mercurial
+-----------------------
 
-{{{
-hg clone http://django-articles.googlecode.com/hg/ django-articles
-hg clone http://bitbucket.org/codekoala/django-articles/
-}}}
+Use one of the following commands::
 
-==Configuration==
+    hg clone http://django-articles.googlecode.com/hg/ django-articles
+    hg clone http://bitbucket.org/codekoala/django-articles/
 
-First of all, you must add this project to your list of `INSTALLED_APPS` in `settings.py`:
+The CheeseShop
+--------------
+
+Use one of the following commands::
+
+    pip install django-articles
+    easy_install django-articles
+
+Configuration
+=============
+
+First of all, you must add this project to your list of ``INSTALLED_APPS`` in ``settings.py``:
 
 {{{
 INSTALLED_APPS = (
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
+    'django.contrib.humanize',
+    'django.contrib.markup',
     'django.contrib.sessions',
     'django.contrib.sites',
+    'django.contrib.syndication',
     ...
     'articles',
     ...
 )
 }}}
 
-Run `manage.py syncdb`.  This creates a few tables in your database that are necessary for operation.
+Run ``manage.py syncdb``.  This creates a few tables in your database that are necessary for operation.
 
-Next, set a couple of settings in your `settings.py`:
+Next, set a couple of settings in your ``settings.py``:
 
- * `DISQUS_USER_API_KEY`: Your user API key from Disqus.  This is free, and you can learn how to get it from [http://2ze.us/ME Disqus's API Page] or you can try http://disqus.com/api/get_my_key/ when you're logged into Disqus.  You only need this one if you're going to be converting comments from `django.contrib.comments` to Disqus.
- * `DISQUS_FORUM_SHORTNAME`: set this to `True` if you want to see markers on the map
+ * ``DISQUS_USER_API_KEY``: Your user API key from Disqus.  This is free, and you can learn how to get it from  `Disqus's API Page <http://2ze.us/ME>`_ or you can try http://disqus.com/api/get_my_key/ when you're logged into Disqus.  You only need this one if you're going to be converting comments from ``django.contrib.comments`` to Disqus.
+ * ``DISQUS_FORUM_SHORTNAME``: set this to ``True`` if you want to see markers on the map
 
-When that's done, you should be able to begin using `django-articles`!
+When that's done, you should be able to begin using ``django-articles``!
 
 Good luck!  Please contact me with any questions or concerns you have with the project!
+

articles/__init__.py

+__version__ = '1.5'
+
 """
 The Pygments reStructuredText directive
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

articles/locale/en_US/LC_MESSAGES/django.po

+# django-articles: English translation.
+# Copyright (C) 2008-2010
+# This file is distributed under the same license as the django-articles package.
+# Josh VanderLinden <codekoala@gmail.com>, 2010
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: django-articles dev\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-01-29 07:32-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Josh VanderLinden <codekoala@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: admin.py:42
+msgid "Mark select articles as active"
+msgstr ""
+
+#: admin.py:46
+msgid "Mark select articles as inactive"
+msgstr ""
+
+#: forms.py:8
+msgid "Words that describe this article"
+msgstr ""
+
+#: models.py:22
+msgid "HTML/Plain Text"
+msgstr ""
+
+#: models.py:23
+msgid "Markdown"
+msgstr ""
+
+#: models.py:24
+msgid "ReStructured Text"
+msgstr ""
+
+#: models.py:25
+msgid "Textile"
+msgstr ""
+
+#: models.py:83
+msgid ""
+"Select the type of markup you are using in this article.\n"
+"<ul>\n"
+"<li><a href=\"http://daringfireball.net/projects/markdown/basics\" target="
+"\"_blank\">Markdown Guide</a></li>\n"
+"<li><a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\" "
+"target=\"_blank\">ReStructured Text Guide</a></li>\n"
+"<li><a href=\"http://thresholdstate.com/articles/4312/the-textile-reference-"
+"manual\" target=\"_blank\">Textile Guide</a></li>\n"
+"</ul>"
+msgstr ""
+
+#: models.py:97
+msgid ""
+"If omitted, the description will be determined by the first bit of the "
+"article's content."
+msgstr ""
+
+#: models.py:103
+msgid "Tags that describe this article"
+msgstr ""
+
+#: models.py:104
+msgid "Select any other articles that this article follows up on."
+msgstr ""
+
+#: models.py:107
+msgid "The date and time this article shall appear online."
+msgstr ""
+
+#: models.py:108
+msgid "Leave blank if the article does not expire."
+msgstr ""
+
+#: models.py:111
+msgid "Enable this if users must login before they can read this article."
+msgstr ""
+
+#: models.py:113
+msgid "Show AddThis button"
+msgstr ""
+
+#: models.py:113
+msgid "Check this to show an AddThis bookmark button when viewing an article."
+msgstr ""
+
+#: models.py:114
+msgid "Use article author's username"
+msgstr ""
+
+#: models.py:114
+msgid ""
+"Check this if you want to use the article author's username for the AddThis "
+"button.  Respected only if the username field is left empty."
+msgstr ""
+
+#: models.py:115
+msgid "AddThis Username"
+msgstr ""
+
+#: models.py:115
+msgid "The AddThis username to use for the button."
+msgstr ""
+
+#: templates/articles/_articles.html:4 templates/articles/_meta.html:58
+msgid "Read this article"
+msgstr ""
+
+#: templates/articles/_articles.html:6
+msgid "Posted on"
+msgstr ""
+
+#: templates/articles/_articles.html:7
+msgid "by"
+msgstr ""
+
+#: templates/articles/_articles.html:7
+msgid "View articles posted by"
+msgstr ""
+
+#: templates/articles/_meta.html:6
+msgid "Published"
+msgstr ""
+
+#: templates/articles/_meta.html:8
+msgid "Author"
+msgstr ""
+
+#: templates/articles/_meta.html:8
+msgid "Read other articles by this author"
+msgstr ""
+
+#: templates/articles/_meta.html:10
+msgid "Comments"
+msgstr ""
+
+#: templates/articles/_meta.html:12
+msgid "Word Count"
+msgstr ""
+
+#: templates/articles/_meta.html:16
+msgid "Next"
+msgstr ""
+
+#: templates/articles/_meta.html:23
+msgid "Previous"
+msgstr ""
+
+#: templates/articles/_meta.html:40
+msgid "Tags"
+msgstr ""
+
+#: templates/articles/_meta.html:44
+msgid "Follow-Up Articles"
+msgstr ""
+
+#: templates/articles/_meta.html:48
+msgid "Read this follow-up article"
+msgstr ""
+
+#: templates/articles/_meta.html:48 templates/articles/_meta.html.py:58
+#: templates/articles/_meta.html:68
+msgid "posted"
+msgstr ""
+
+#: templates/articles/_meta.html:54
+msgid "Follows Up On"
+msgstr ""
+
+#: templates/articles/_meta.html:64
+msgid "Related Articles"
+msgstr ""
+
+#: templates/articles/_meta.html:68
+msgid "Read this related article"
+msgstr ""
+
+#: templates/articles/_meta.html:74
+msgid "Article Links"
+msgstr ""
+
+#: templates/articles/article_list.html:4
+#: templates/articles/article_list.html:7
+msgid "Articles"
+msgstr ""
+
+#: templates/articles/article_list.html:7 templates/articles/by_author.html:7
+#: templates/articles/display_tag.html:7 templates/articles/in_month.html:7
+#: templates/articles/uncategorized_article_list.html:7
+msgid "page"
+msgstr ""
+
+#: templates/articles/base.html:6
+msgid "Article Archives"
+msgstr ""
+
+#: templates/articles/base.html:14
+msgid "View articles posted in this month"
+msgstr ""
+
+#: templates/articles/by_author.html:4
+msgid "Articles By Author"
+msgstr ""
+
+#: templates/articles/by_author.html:7
+msgid "Articles By"
+msgstr ""
+
+#: templates/articles/display_tag.html:4 templates/articles/display_tag.html:7
+msgid "Articles Tagged"
+msgstr ""
+
+#: templates/articles/in_month.html:4 templates/articles/in_month.html.py:7
+msgid "Articles From"
+msgstr ""
+
+#: templates/articles/uncategorized_article_list.html:4
+#: templates/articles/uncategorized_article_list.html:7
+msgid "Uncategorized Articles"
+msgstr ""
+from distutils.core import setup
+from articles import __version__
+
+setup(
+    name='django-articles',
+    version=__version__,
+    description='Sophisticated blogging engine for Django-powered sites',
+    long_description=open('README', 'r').read(),
+    keywords='django, blog, blogging, engine',
+    author='Josh VanderLinden',
+    author_email='codekoala at gmail com',
+    url='http://bitbucket.org/codekoala/django-articles/',
+    license='BSD',
+    package_dir={'articles': 'articles'},
+    packages=['articles'],
+    classifiers=[
+        "Development Status :: 5 - Production/Stable",
+        "Environment :: Web Environment",
+        "Framework :: Django",
+        "Intended Audience :: Developers",
+        "Intended Audience :: End Users/Desktop",
+        "License :: OSI Approved :: BSD License",
+        "Natural Language :: English",
+        "Operating System :: OS Independent",
+        "Programming Language :: Python",
+        "Topic :: Communications",
+        "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary",
+    ],
+)
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.