Merge lp:~pydjwiki-dev/pydjwiki/no-proj into lp:pydjwiki
- no-proj
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | M. Nesvold |
Approved revision: | 39 |
Merged at revision: | 28 |
Proposed branch: | lp:~pydjwiki-dev/pydjwiki/no-proj |
Merge into: | lp:pydjwiki |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~pydjwiki-dev/pydjwiki/no-proj |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Louis Wilson | Needs Fixing | ||
Review via email: mp+6432@code.launchpad.net |
Commit message
Description of the change
M. Nesvold (mdnesvold) wrote : | # |
- 33. By M. Nesvold
-
Fixed fatal typo in installation instructions
- 34. By Louis Wilson <email address hidden>
-
Updated the documentation build system to use Make
- 35. By Louis Wilson <email address hidden>
-
Changed two docstrings to refer to non-deprecated functions
- 36. By Louis Wilson <email address hidden>
-
Updated installation documentation
Louis Wilson (louis-wins) wrote : | # |
Installation instructions seem to be lacking. I fixed what I could, but could not figure out how to get it to use the CSS file. For some reason PYDJWIKI_MEDIA_ROOT is not being defined, and I'm not really sure how that Middleware is supposed to work.
Also, as far as I can tell, the user has to add "${SITE_
I'll add this as a bug.
- 37. By M. Nesvold
-
Fixed autoloading of default data fixture on first syncdb
- 38. By M. Nesvold
-
Updated installation instructions to include installing humanize
- 39. By M. Nesvold
-
Added patch for bug #377492
Preview Diff
1 | === renamed file 'wiki/pydjwiki/__init__.py' => '__init__.py' |
2 | === renamed file 'wiki/pydjwiki/admin.py' => 'admin.py' |
3 | === renamed file 'wiki/pydjwiki/deprecation.py' => 'deprecation.py' |
4 | === renamed file 'wiki/pydjwiki/djhooks.py' => 'djhooks.py' |
5 | === renamed directory 'wiki/pydjwiki/doc' => 'doc' |
6 | === added file 'doc/Installation.tex' |
7 | --- doc/Installation.tex 1970-01-01 00:00:00 +0000 |
8 | +++ doc/Installation.tex 2009-05-11 17:55:38 +0000 |
9 | @@ -0,0 +1,65 @@ |
10 | +\documentclass{article} |
11 | + |
12 | +\usepackage{fullpage} |
13 | + |
14 | +\begin{document} |
15 | +\title{PyDjWiki Installation Guide} |
16 | +\author{} |
17 | +\date{} |
18 | +\maketitle |
19 | + |
20 | +\begin{abstract} |
21 | +This document describes the steps necessary to get the PyDjWiki app running on a Django project. |
22 | +\end{abstract} |
23 | + |
24 | +\section{Start your project} |
25 | + |
26 | +If you haven't done so already, start a project using \texttt{django-admin.py startproject}. |
27 | + |
28 | +\section{Download PyDjWiki} |
29 | + |
30 | +If you're reading this document, you've probably already done that. You can put the download wherever you want; you can either put it directly in your \texttt{site-packages} directory (as long as you name the folder \texttt{pydjwiki}), or somewhere else and put a symbolic link in \texttt{site-packages}: |
31 | + |
32 | +\begin{verbatim} |
33 | +ln -s path/to/download path/to/site-packages/pydjwiki |
34 | +\end{verbatim} |
35 | + |
36 | +\subsection{Finding \texttt{site-packages}} |
37 | + |
38 | +You can find out where your \texttt{site-packages} directory is located by typing the following into a shell prompt: |
39 | + |
40 | +\begin{verbatim} |
41 | +python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" |
42 | +\end{verbatim} |
43 | + |
44 | +\section{Install the app} |
45 | + |
46 | +Now you have to tell your site project to use the PyDjWiki app. |
47 | + |
48 | +\subsection{Modify \texttt{settings.py}} |
49 | + |
50 | +In your project's \texttt{settings.py}, make the following changes: |
51 | + |
52 | +\begin{enumerate} |
53 | +\item Add the string \texttt{"pydjwiki.djhooks.PyDjWikiMiddleware"} to the beginning of your \texttt{MIDDLEWARE\_{}CLASSES} setting. |
54 | +\item Add the string \texttt{"pydjwiki.djhooks.context\_{}processor\_{}pydjwiki"} to your \texttt{TEMPLATE\_{}CONTEXT\_{}PROCESSORS} settings. |
55 | +\item Anywhere in the file, preferably near the top, add the line \texttt{from pydjwiki.settings import *} to import default PyDjWiki settings. (This will also set \texttt{LOGIN\_{}URL} and \texttt{LOGIN\_{}REDIRECT\_{}URL} if they aren't defined elsewhere in your settings file.) |
56 | +\end{enumerate} |
57 | + |
58 | +\subsection{Modify your URLConf} |
59 | + |
60 | +Add the following to your \texttt{urls.py} file: |
61 | + |
62 | +\begin{verbatim} |
63 | +urlpatterns += patterns("", |
64 | + (r"^%s" % settings.PYDJWIKI_URL_ROOT[1:], include("pydjwiki.urls")), |
65 | +) |
66 | +\end{verbatim} |
67 | + |
68 | +\subsection{Sync your database} |
69 | + |
70 | +From the directory with your project's \texttt{manage.py} file, enter \texttt{python manage.py syncdb} into a shell prompt to create PyDjWiki's tables. |
71 | + |
72 | +The first time you do this with PyDjWiki installed, entries will be automatically created in the Namespace, Title, and Revision tables to provide a default front page (\texttt{meta/Front Page}) with sample content. This happens when PyDjWiki detects those three tables being created in the same \texttt{syncdb} run. If, for some reason, not all the tables are created at the same time, don't worry. The default data is stored in a fixture, so make sure all the necessary tables have been created and invoke \texttt{python manage.py loaddata pydjwikistart.xml} to load it in. |
73 | + |
74 | +%\end{document} |
75 | \ No newline at end of file |
76 | |
77 | === modified file 'doc/Wikitext Extensibility.tex' |
78 | --- wiki/pydjwiki/doc/Wikitext Extensibility.tex 2009-05-10 21:31:13 +0000 |
79 | +++ doc/Wikitext Extensibility.tex 2009-05-11 17:56:14 +0000 |
80 | @@ -88,7 +88,8 @@ |
81 | In this case, the revelant node becomes |
82 | |
83 | \begin{verbatim} |
84 | -ExtensionNode (name="CHLOROPLETH" args={"base": "United States", ...} data="AL=9\nAK=3...") |
85 | +ExtensionNode (name="CHLOROPLETH" args={"base": "United States", ...} |
86 | + data="AL=9\nAK=3...") |
87 | \end{verbatim} |
88 | |
89 | Which evaluates to |
90 | @@ -96,9 +97,9 @@ |
91 | \begin{verbatim} |
92 | DocumentNode |
93 | |--- ParagraphNode |
94 | -| |--- TextNode (text="The distribution of electoral votes is shown on the right.") |
95 | +| |--- TextNode (text="The distribution ... is shown on the right.") |
96 | |--- FloatNode (class="Figure") |
97 | -| |--- ImageNode (src="ext/chloropleth/United-States-c5dd1b2697720fe692c529688d3f4f8d.svg") |
98 | +| |--- ImageNode (src="ext/chloropleth/United-States-hash.svg") |
99 | \end{verbatim} |
100 | |
101 | \section{Handler methods} |
102 | |
103 | === renamed file 'wiki/pydjwiki/dpr.py' => 'dpr.py' |
104 | === renamed directory 'wiki/pydjwiki/dynamic' => 'dynamic' |
105 | === added directory 'fixtures' |
106 | === added file 'fixtures/pydjwikistart.xml' |
107 | --- fixtures/pydjwikistart.xml 1970-01-01 00:00:00 +0000 |
108 | +++ fixtures/pydjwikistart.xml 2009-05-11 17:56:48 +0000 |
109 | @@ -0,0 +1,4 @@ |
110 | +<?xml version="1.0" encoding="utf-8"?> |
111 | +<django-objects version="1.0"><object pk="1" model="pydjwiki.title"><field to="pydjwiki.namespace" name="namespace" rel="ManyToOneRel">1</field><field type="CharField" name="name">Front_Page</field><field type="BooleanField" name="active">True</field></object><object pk="1" model="pydjwiki.namespace"><field type="CharField" name="name">meta</field><field type="CharField" name="renderer">pydjwiki.render.parsers.creoleadd.CreoleAdditionsParser</field></object><object pk="1" model="pydjwiki.revision"><field to="pydjwiki.title" name="title" rel="ManyToOneRel">1</field><field type="DateTimeField" name="timestamp">2009-01-01 00:00:00</field><field to="auth.user" name="user" rel="ManyToOneRel">1</field><field type="TextField" name="content">== Welcome! == |
112 | + |
113 | +Your wiki is up and running!</field><field type="CharField" name="comment">Wiki creation</field><field type="BooleanField" name="is_minor">False</field></object><object pk="4" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">allpages</field><field type="SlugField" name="key">all_pages</field><field type="CharField" name="view">pydjwiki.dynamic.allpages.view</field><field type="TextField" name="description"></field><field type="CharField" name="title">All pages</field><field type="BooleanField" name="index">True</field></object><object pk="2" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">archive</field><field type="SlugField" name="key">archive</field><field type="CharField" name="view">pydjwiki.dynamic.archive.view</field><field type="TextField" name="description"></field><field type="CharField" name="title">Archive</field><field type="BooleanField" name="index">False</field></object><object pk="6" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">edit</field><field type="SlugField" name="key">edit</field><field type="CharField" name="view">pydjwiki.dynamic.edit.view</field><field type="TextField" name="description"></field><field type="CharField" name="title">Edit</field><field type="BooleanField" name="index">False</field></object><object pk="1" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">history</field><field type="SlugField" name="key">edit_history</field><field type="CharField" name="view">pydjwiki.dynamic.edithistory.view</field><field type="TextField" name="description">Displays the edit history for a page.</field><field type="CharField" name="title">Edit history</field><field type="BooleanField" name="index">False</field></object><object pk="5" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">index</field><field type="SlugField" name="key">index</field><field type="CharField" name="view">pydjwiki.dynamic.index.view</field><field type="TextField" name="description"></field><field type="CharField" name="title">Dynamic pages</field><field type="BooleanField" name="index">True</field></object><object pk="3" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">linkindex</field><field type="SlugField" name="key">link_index</field><field type="CharField" name="view">pydjwiki.dynamic.linkindex.view</field><field type="TextField" name="description"></field><field type="CharField" name="title">Index of links</field><field type="BooleanField" name="index">False</field></object><object pk="7" model="pydjwiki.dynamicpage"><field type="SlugField" name="url">linkshere</field><field type="SlugField" name="key">links_here</field><field type="CharField" name="view">pydjwiki.dynamic.linkshere.view</field><field type="TextField" name="description"></field><field type="CharField" name="title">Links to Page</field><field type="BooleanField" name="index">False</field></object></django-objects> |
114 | |
115 | === renamed file 'wiki/pydjwiki/lib.py' => 'lib.py' |
116 | === renamed directory 'wiki/pydjwiki/management' => 'management' |
117 | === modified file 'management/__init__.py' |
118 | --- wiki/pydjwiki/management/__init__.py 2009-02-13 00:00:19 +0000 |
119 | +++ management/__init__.py 2009-05-11 02:42:53 +0000 |
120 | @@ -0,0 +1,33 @@ |
121 | +from datetime import datetime |
122 | + |
123 | +from django.db.models.signals import post_syncdb |
124 | + |
125 | +from pydjwiki import models |
126 | + |
127 | + |
128 | +def handle_syncdb(**kwargs): |
129 | + from django.core.management import call_command |
130 | + from django.contrib.auth.models import User |
131 | + from pydjwiki.models import Namespace, Title, Revision |
132 | + classes = Namespace, Title, Revision |
133 | + if not all([m in kwargs['created_models'] for m in classes]): |
134 | + return |
135 | +# ns = Namespace(name='meta', |
136 | +# renderer='pydjwiki.render.parsers.creoleadd.CreoleAdditionsParser') |
137 | +# ns.save() |
138 | +# title = Title(namespace=ns, name='Front_Page', active=False) |
139 | +# title.save() |
140 | +# content = '== Welcome! ==\n\nYour wiki is up and running!' |
141 | +# user = User.objects.order_by('id')[0] |
142 | +# rev = Revision(title=title, timestamp=datetime(2009, 1, 1), |
143 | +# user=user, content=content, comment='Wiki creation') |
144 | +# rev.save() |
145 | +# title.active = True |
146 | +# title.save() |
147 | +# |
148 | +# call_command('loaddata', 'dynamics.yaml') |
149 | + call_command('loaddata', 'pydjwiki_start.xml') |
150 | + |
151 | + |
152 | +post_syncdb.connect(handle_syncdb, sender=models, |
153 | + dispatch_uid='pydjwiki.management.handle_syncdb') |
154 | \ No newline at end of file |
155 | |
156 | === renamed file 'wiki/pydjwiki/models.py' => 'models.py' |
157 | --- wiki/pydjwiki/models.py 2009-05-10 19:49:55 +0000 |
158 | +++ models.py 2009-05-11 02:42:53 +0000 |
159 | @@ -265,10 +265,16 @@ |
160 | |
161 | def update_revision_links(sender, **kwargs): |
162 | """Update Link table every time a Revision object is saved.""" |
163 | - kwargs['instance'].title.rebuild_links() |
164 | + try: |
165 | + kwargs['instance'].title.rebuild_links() |
166 | + except Exception: |
167 | + pass |
168 | post_save.connect(update_revision_links, sender=Revision) |
169 | |
170 | def remove_inactive_title_links(sender, **kwargs): |
171 | """Update Link table every time a Title object is saved.""" |
172 | - kwargs['instance'].rebuild_links() |
173 | + try: |
174 | + kwargs['instance'].rebuild_links() |
175 | + except Exception: |
176 | + pass |
177 | post_save.connect(remove_inactive_title_links, sender=Title) |
178 | |
179 | === renamed directory 'wiki/pydjwiki/render' => 'render' |
180 | === added file 'settings.py' |
181 | --- settings.py 1970-01-01 00:00:00 +0000 |
182 | +++ settings.py 2009-05-11 02:42:53 +0000 |
183 | @@ -0,0 +1,35 @@ |
184 | +PYDJWIKI_NAMESPACE_REGEX = r'[a-z]+' |
185 | +PYDJWIKI_TITLE_REGEX = r'[^\t\n\r\f\v?#]+' |
186 | +PYDJWIKI_URL_REGEX = r'(?P<namespace>%s)/(?P<title>%s)(?:#(?P<anchor>.*))?$' \ |
187 | + % (PYDJWIKI_NAMESPACE_REGEX, PYDJWIKI_TITLE_REGEX) |
188 | +PYDJWIKI_MEDIA_PSEUDONS = 'pydj-media' |
189 | +PYDJWIKI_SYSTEM_PSEUDONS = 'dynamic-page' |
190 | +PYDJWIKI_DEFAULT_NS = 'dev' |
191 | +PYDJWIKI_URL_ROOT = '/pydjwiki/' |
192 | +PYDJWIKI_WIKI_NAME = 'PyDjWiki Development Wiki' |
193 | +PYDJWIKI_FRONT_PAGE = 'meta/Front Page' |
194 | +PYDJWIKI_FRONT_PAGE_URL = ''.join((PYDJWIKI_URL_ROOT, PYDJWIKI_FRONT_PAGE)) |
195 | +PYDJWIKI_SPACE_FRIENDLY_USER_AGENTS = ( |
196 | + # Modifying this setting requires a server restart. (Maybe.) |
197 | + r'Firefox/3', |
198 | + r'Opera', |
199 | +) |
200 | +PYDJWIKI_MAIN_NS = 'article' |
201 | +PYDJWIKI_SILENT_NAMESPACES = set(( |
202 | + PYDJWIKI_MAIN_NS, |
203 | + PYDJWIKI_SYSTEM_PSEUDONS, |
204 | +)) |
205 | +PYDJWIKI_SIDEBAR_TEMPLATES = ( |
206 | + 'pydjwiki/sidebar/welcome.html', |
207 | + 'pydjwiki/sidebar/links.html', |
208 | + 'pydjwiki/sidebar/toc.html', |
209 | +) |
210 | +PYDJWIKI_LOGIN_PAGE = '%s/login/' % PYDJWIKI_SYSTEM_PSEUDONS |
211 | +PYDJWIKI_LOGOUT_PAGE = '%s/logout/' % PYDJWIKI_SYSTEM_PSEUDONS |
212 | +PYDJWIKI_EDIT_PAGE = '%s/edit/' % PYDJWIKI_SYSTEM_PSEUDONS |
213 | + |
214 | +from pydjwiki.dpr import _DynamicURLRegistry |
215 | +PYDJWIKI_DYNAMICS = _DynamicURLRegistry() |
216 | + |
217 | +LOGIN_URL = ''.join((PYDJWIKI_URL_ROOT, PYDJWIKI_LOGIN_PAGE)) |
218 | +LOGIN_REDIRECT_URL = ''.join((PYDJWIKI_URL_ROOT, PYDJWIKI_FRONT_PAGE)) |
219 | \ No newline at end of file |
220 | |
221 | === renamed directory 'wiki/pydjwiki/templates' => 'templates' |
222 | === added file 'templates/base.html' |
223 | --- templates/base.html 1970-01-01 00:00:00 +0000 |
224 | +++ templates/base.html 2009-05-11 02:42:53 +0000 |
225 | @@ -0,0 +1,8 @@ |
226 | +<html> |
227 | +<head> |
228 | +<title>{% block title %}{% endblock %}</title> |
229 | +{% block extrahead %}{% endblock %}</head> |
230 | +<body> |
231 | +{% block content %}{% endblock %} |
232 | +</body> |
233 | +</html> |
234 | |
235 | === renamed directory 'wiki/pydjwiki/templatetags' => 'templatetags' |
236 | === renamed file 'wiki/pydjwiki/urls.py' => 'urls.py' |
237 | === renamed file 'wiki/pydjwiki/views.py' => 'views.py' |
238 | === removed directory 'wiki' |
239 | === removed file 'wiki/__init__.py' |
240 | === removed file 'wiki/database' |
241 | Binary files wiki/database 2009-03-01 04:12:40 +0000 and wiki/database 1970-01-01 00:00:00 +0000 differ |
242 | === removed file 'wiki/manage.py' |
243 | --- wiki/manage.py 2009-03-11 03:25:19 +0000 |
244 | +++ wiki/manage.py 1970-01-01 00:00:00 +0000 |
245 | @@ -1,18 +0,0 @@ |
246 | -#!/usr/bin/env python |
247 | - |
248 | -from django.core.management import execute_manager |
249 | - |
250 | -try: |
251 | - import settings # Assumed to be in the same directory. |
252 | -except ImportError: |
253 | - import sys |
254 | - sys.stderr.write("Error: Can't find the file 'settings.py' in the " |
255 | - "directory containing %r. It appears you've customized " |
256 | - "things.\nYou'll have to run django-admin.py, passing " |
257 | - "it your settings module.\n(If the file settings.py " |
258 | - "does indeed exist, it's causing an ImportError " |
259 | - "somehow.)\n" % __file__) |
260 | - sys.exit(1) |
261 | - |
262 | -if __name__ == '__main__': |
263 | - execute_manager(settings) |
264 | |
265 | === removed directory 'wiki/pydjwiki' |
266 | === removed file 'wiki/settings.py' |
267 | --- wiki/settings.py 2009-03-09 20:04:00 +0000 |
268 | +++ wiki/settings.py 1970-01-01 00:00:00 +0000 |
269 | @@ -1,143 +0,0 @@ |
270 | -# Django settings for wiki project. |
271 | - |
272 | -def _relative(stub): |
273 | - import os.path |
274 | - dir = os.path.dirname(__file__) |
275 | - return os.path.normpath(u'%s/%s' % (dir, stub)) |
276 | - |
277 | -DEBUG = True |
278 | -TEMPLATE_DEBUG = DEBUG |
279 | - |
280 | -ADMINS = ( |
281 | - ('Michael Nesvold', 'mdnesvold@gmail.com'), |
282 | - ('Louis Wilson', 'louis.wilson@asu.edu'), |
283 | - # ('Your Name', 'your_email@domain.com'), |
284 | -) |
285 | - |
286 | -MANAGERS = ADMINS |
287 | - |
288 | -DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', |
289 | - # 'sqlite3' or 'oracle'. |
290 | -DATABASE_NAME = _relative('database') |
291 | -DATABASE_USER = '' # Not used with sqlite3. |
292 | -DATABASE_PASSWORD = '' # Not used with sqlite3. |
293 | -DATABASE_HOST = '' # Set to empty string for localhost. |
294 | - # Not used with sqlite3. |
295 | -DATABASE_PORT = '' # Set to empty string for default. |
296 | - # Not used with sqlite3. |
297 | - |
298 | -# Local time zone for this installation. Choices can be found here: |
299 | -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name |
300 | -# although not all choices may be available on all operating systems. |
301 | -# If running in a Windows environment this must be set to the same as |
302 | -# your system time zone. |
303 | -TIME_ZONE = 'America/Phoenix' |
304 | - |
305 | -# Language code for this installation. All choices can be found here: |
306 | -# http://www.i18nguy.com/unicode/language-identifiers.html |
307 | -LANGUAGE_CODE = 'en-us' |
308 | - |
309 | -SITE_ID = 1 |
310 | - |
311 | -# If you set this to False, Django will make some optimizations so as |
312 | -# not to load the internationalization machinery. |
313 | -USE_I18N = False |
314 | - |
315 | -# Absolute path to the directory that holds media. |
316 | -# Example: "/home/media/media.lawrence.com/" |
317 | -MEDIA_ROOT = '' |
318 | - |
319 | -# URL that handles the media served from MEDIA_ROOT. Make sure to use a |
320 | -# trailing slash if there is a path component (optional in other cases). |
321 | -# Examples: "http://media.lawrence.com", "http://example.com/media/" |
322 | -MEDIA_URL = '' |
323 | - |
324 | -# URL prefix for admin media -- CSS, JavaScript and images. Make sure |
325 | -# to use a trailing slash. |
326 | -# Examples: "http://foo.com/media/", "/media/". |
327 | -ADMIN_MEDIA_PREFIX = '/media/' |
328 | - |
329 | -# Make this unique, and don't share it with anybody. |
330 | -SECRET_KEY = 'gc%)t_l7ey9dpga(*4z+5nae+-%f%i6)#u85ps_=t=0j@pkndf' |
331 | - |
332 | -# List of callables that know how to import templates from various |
333 | -# sources. |
334 | -TEMPLATE_LOADERS = ( |
335 | - 'django.template.loaders.filesystem.load_template_source', |
336 | - 'django.template.loaders.app_directories.load_template_source', |
337 | -# 'django.template.loaders.eggs.load_template_source', |
338 | -) |
339 | - |
340 | -MIDDLEWARE_CLASSES = ( |
341 | - 'pydjwiki.djhooks.PyDjWikiMiddleware', |
342 | - 'django.middleware.common.CommonMiddleware', |
343 | - 'django.contrib.sessions.middleware.SessionMiddleware', |
344 | - 'django.contrib.auth.middleware.AuthenticationMiddleware', |
345 | -) |
346 | - |
347 | -ROOT_URLCONF = 'wiki.urls' |
348 | - |
349 | -TEMPLATE_DIRS = ( |
350 | - # Put strings here, like "/home/html/django_templates" or |
351 | - # "C:/www/django/templates". |
352 | - # Always use forward slashes, even on Windows. |
353 | - # Don't forget to use absolute paths, not relative paths. |
354 | - _relative('templates'), |
355 | - _relative('pydjwiki/templates'), |
356 | - _relative('pydjwiki/dev/templates'), |
357 | -) |
358 | - |
359 | -TEMPLATE_CONTEXT_PROCESSORS = ( |
360 | - 'django.core.context_processors.auth', # specified in default value |
361 | - 'django.core.context_processors.debug', # specified in default value |
362 | - 'django.core.context_processors.i18n', # specified in default value |
363 | - 'django.core.context_processors.media', # specified in default value |
364 | - 'pydjwiki.djhooks.context_processor_pydjwiki', |
365 | -) |
366 | - |
367 | -INSTALLED_APPS = ( |
368 | - 'django.contrib.admin', |
369 | - 'django.contrib.admindocs', |
370 | - 'django.contrib.auth', |
371 | - 'django.contrib.contenttypes', |
372 | - 'django.contrib.humanize', |
373 | - 'django.contrib.sessions', |
374 | -# 'django.contrib.sites', |
375 | - 'wiki.pydjwiki', |
376 | -) |
377 | - |
378 | -PYDJWIKI_NAMESPACE_REGEX = r'[a-z]+' |
379 | -PYDJWIKI_TITLE_REGEX = r'[^\t\n\r\f\v?#]+' |
380 | -PYDJWIKI_URL_REGEX = r'(?P<namespace>%s)/(?P<title>%s)(?:#(?P<anchor>.*))?$' \ |
381 | - % (PYDJWIKI_NAMESPACE_REGEX, PYDJWIKI_TITLE_REGEX) |
382 | -PYDJWIKI_MEDIA_PSEUDONS = 'pydj-media' |
383 | -PYDJWIKI_SYSTEM_PSEUDONS = 'dynamic-page' |
384 | -PYDJWIKI_DEFAULT_NS = 'dev' |
385 | -PYDJWIKI_URL_ROOT = '/pydjwiki/' |
386 | -PYDJWIKI_WIKI_NAME = 'PyDjWiki Development Wiki' |
387 | -PYDJWIKI_FRONT_PAGE = 'meta/Front Page' |
388 | -PYDJWIKI_FRONT_PAGE_URL = ''.join((PYDJWIKI_URL_ROOT, PYDJWIKI_FRONT_PAGE)) |
389 | -PYDJWIKI_SPACE_FRIENDLY_USER_AGENTS = ( |
390 | - # Modifying this setting requires a server restart. (Maybe.) |
391 | - r'Firefox/3', |
392 | - r'Opera', |
393 | -) |
394 | -PYDJWIKI_MAIN_NS = 'article' |
395 | -PYDJWIKI_SILENT_NAMESPACES = set(( |
396 | - PYDJWIKI_MAIN_NS, |
397 | - PYDJWIKI_SYSTEM_PSEUDONS, |
398 | -)) |
399 | -PYDJWIKI_SIDEBAR_TEMPLATES = ( |
400 | - 'pydjwiki/sidebar/welcome.html', |
401 | - 'pydjwiki/sidebar/links.html', |
402 | - 'pydjwiki/sidebar/toc.html', |
403 | -) |
404 | -PYDJWIKI_LOGIN_PAGE = '%s/login/' % PYDJWIKI_SYSTEM_PSEUDONS |
405 | -PYDJWIKI_LOGOUT_PAGE = '%s/logout/' % PYDJWIKI_SYSTEM_PSEUDONS |
406 | -PYDJWIKI_EDIT_PAGE = '%s/edit/' % PYDJWIKI_SYSTEM_PSEUDONS |
407 | - |
408 | -from pydjwiki.dpr import _DynamicURLRegistry |
409 | -PYDJWIKI_DYNAMICS = _DynamicURLRegistry() |
410 | - |
411 | -LOGIN_URL = ''.join((PYDJWIKI_URL_ROOT, PYDJWIKI_LOGIN_PAGE)) |
412 | -LOGIN_REDIRECT_URL = ''.join((PYDJWIKI_URL_ROOT, PYDJWIKI_FRONT_PAGE)) |
413 | |
414 | === removed directory 'wiki/templates' |
415 | === removed directory 'wiki/templates/admin' |
416 | === removed file 'wiki/templates/admin/base.html' |
417 | --- wiki/templates/admin/base.html 2008-12-12 07:03:52 +0000 |
418 | +++ wiki/templates/admin/base.html 1970-01-01 00:00:00 +0000 |
419 | @@ -1,55 +0,0 @@ |
420 | -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
421 | -<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}" xml:lang="{{ LANGUAGE_CODE }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}> |
422 | -<head> |
423 | -<title>{% block title %}{% endblock %}</title> |
424 | -<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" /> |
425 | -{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% admin_media_prefix %}css/rtl.css{% endblock %}" />{% endif %} |
426 | -{% block extrastyle %}{% endblock %} |
427 | -{% block extrahead %}{% endblock %} |
428 | -{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %} |
429 | -</head> |
430 | -{% load i18n %} |
431 | - |
432 | -<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}"> |
433 | - |
434 | -<!-- Container --> |
435 | -<div id="container"> |
436 | - |
437 | - {% if not is_popup %} |
438 | - <!-- Header --> |
439 | - <div id="header"> |
440 | - <div id="branding"> |
441 | - {% block branding %}{% endblock %} |
442 | - </div> |
443 | - {% if user.is_authenticated and user.is_staff %} |
444 | - <div id="user-tools">{% trans 'Welcome,' %} <strong>{% if user.first_name %}{{ user.first_name|escape }}{% else %}{{ user.username }}{% endif %}</strong>. {% block userlinks %}{% url django-admindocs-docroot as docsroot %}{% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %}<a href="{{ root_path }}password_change/">{% trans 'Change password' %}</a> / <a href="{{ root_path }}logout/">{% trans 'Log out' %}</a>{% endblock %}</div> |
445 | - {% endif %} |
446 | - {% block nav-global %}{% endblock %} |
447 | - </div> |
448 | - <!-- END Header --> |
449 | - {% block breadcrumbs %}<div class="breadcrumbs"><a href="/">{% trans 'Home' %}</a>{% if title %} › {{ title|escape }}{% endif %}</div>{% endblock %} |
450 | - {% endif %} |
451 | - |
452 | - {% if messages %} |
453 | - <ul class="messagelist">{% for message in messages %}<li>{{ message|escape }}</li>{% endfor %}</ul> |
454 | - {% endif %} |
455 | - |
456 | - <!-- Content --> |
457 | - <div id="content" class="{% block coltype %}colM{% endblock %}"> |
458 | - {% block pretitle %}{% endblock %} |
459 | - {% block content_title %}{% if title %}<h1>{{ title|escape }}</h1>{% endif %}{% endblock %} |
460 | - {% block content %} |
461 | - {% block object-tools %}{% endblock %} |
462 | - {{ content }} |
463 | - {% endblock %} |
464 | - {% block sidebar %}{% endblock %} |
465 | - <br class="clear" /> |
466 | - </div> |
467 | - <!-- END Content --> |
468 | - |
469 | - {% block footer %}<div id="footer"></div>{% endblock %} |
470 | -</div> |
471 | -<!-- END Container --> |
472 | - |
473 | -</body> |
474 | -</html> |
475 | |
476 | === removed file 'wiki/templates/admin/base_site.html' |
477 | --- wiki/templates/admin/base_site.html 2008-12-12 07:03:52 +0000 |
478 | +++ wiki/templates/admin/base_site.html 1970-01-01 00:00:00 +0000 |
479 | @@ -1,10 +0,0 @@ |
480 | -{% extends "admin/base.html" %} |
481 | -{% load i18n %} |
482 | - |
483 | -{% block title %}{{ title }} | {% trans 'PyDjWiki admin' %}{% endblock %} |
484 | - |
485 | -{% block branding %} |
486 | -<h1 id="site-name">{% trans 'PyDjWiki administration' %}</h1> |
487 | -{% endblock %} |
488 | - |
489 | -{% block nav-global %}{% endblock %} |
490 | |
491 | === removed file 'wiki/templates/base.html' |
492 | --- wiki/templates/base.html 2009-02-16 20:48:55 +0000 |
493 | +++ wiki/templates/base.html 1970-01-01 00:00:00 +0000 |
494 | @@ -1,8 +0,0 @@ |
495 | -<html> |
496 | -<head> |
497 | -<title>{% block title %}{% endblock %}</title> |
498 | -{% block extrahead %}{% endblock %}</head> |
499 | -<body> |
500 | -{% block content %}{% endblock %} |
501 | -</body> |
502 | -</html> |
503 | |
504 | === removed file 'wiki/urls.py' |
505 | --- wiki/urls.py 2009-03-08 21:09:32 +0000 |
506 | +++ wiki/urls.py 1970-01-01 00:00:00 +0000 |
507 | @@ -1,20 +0,0 @@ |
508 | -from django.conf import settings |
509 | -from django.conf.urls.defaults import * |
510 | - |
511 | -# Documentation |
512 | -urlpatterns = patterns('', |
513 | - (r'^admin/doc/', include('django.contrib.admindocs.urls')), |
514 | - (r'^%s' % settings.PYDJWIKI_URL_ROOT[1:], include('wiki.pydjwiki.urls')), |
515 | -) |
516 | - |
517 | -# Redirect to /pydjwiki by default |
518 | -urlpatterns += patterns('django.views.generic.simple', |
519 | - (r'^$', 'redirect_to', {'url': '/pydjwiki/'}), |
520 | -) |
521 | - |
522 | -# Admin site |
523 | -from django.contrib import admin |
524 | -admin.autodiscover() |
525 | -urlpatterns += patterns('', |
526 | - (r'^admin/(.*)', admin.site.root) |
527 | -) |
You probably want to double-check me that the installation instructions actually work.