v0.8.0RC2

06.12.2007 - permalink

We added a permalink function with the changeset 1300
This link used the page id, witch should only changes if the page would be deleted ;)
A permalink url makes a redirect to the right place.

You must add a variable into your settings.py like this:

1
<p id="permalink"><a href="DjangoTag0Assembly" title="permalink to this page">permalink</a></p>

Note: The "url.py" has been changed, too.

You can insert a permalink into the global template like this one:

1
<p id="permalink"><a href="DjangoTag1Assembly" title="permalink to this page">permalink</a></p>

04.12.2007 - two new settings for the urls

Add two new settings with the Changeset 1320
Now, you can easy setup two things for the urls:

1
2
3
4
5
6
7
8
9
# Serve static files for the development server?
# Using this method is inefficient and insecure.
# Do not use this in a production setting. Use this only for development.
SERVE_STATIC_FILES = False

# If you used a old PyLucid installation then you can recirect the old
# urls with "indey.py" to the new URLs without the "index.py" part.
# Default: False
REDIRECT_OLD_PYLUCID_URL = False

This changes is not really backwards-incompatible because in the urls.py we use "getattr" so the variables must not exists in your settings.py

03.12.2007 - new additional Stylesheet/JavaScript handling

Since Changeset 1127 from 29.06.2007 there exists a new additional Stylesheet/JavaScript handling. But this change are not documented in the past.

In the global Template, you only need the line "

" or " "!

Please check your template an delete a block like this one:

1
2
3
4
<!-- additional javascript code - START -->
DjangoTag4Assembly<!-- additional javascript code - END -->
<!-- additional stylesheet code - START -->
DjangoTag5Assembly<!-- additional stylesheet code - END -->

Info: This block outsourced into the file ./PyLucid/plugins_internal/page_style/internal_pages/add_data.html

31.10.2007 - settings.PERMALINK_URL_PREFIX

A new entry in settings is needed to build a permalink for a cms page. You must add this into your settings.py:

1
2
# the redirect to the real page url 
PERMALINK_URL_PREFIX = "_goto"

Note: If the settings entry not exists, you will get the ImproperlyConfigured error:&lt;blockquote&gt;Error while importing URLconf 'PyLucid.urls': 'Settings' object has no attribute 'PERMALINK_URL_PREFIX'&lt;/blockquote&gt;

30.10.2007 - RSSfeedGenerator generates only the url

The RSS feed generator plugin generates only the url and not the complete html link. So you should update your template:

Put in your global template (into the html head) this line:

1
<link rel="alternate" type="application/rss+xml" title="pages updates" href="DjangoTag6Assembly" />

To add a normal link into your CMS page use this line:

1
<a href="DjangoTag7Assembly" type="application/rss+xml" title="page updates">RSS feed</a>

See also /RSSfeedGenerator

23.10.2007 - rename settings entry

In the settings the entry CSS_DIV_CLASS_NAME was renamed to CSS_PLUGIN_CLASS_NAME.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Index: /trunk/pylucid_project/PyLucid/settings_example.py
===================================================================
--- /trunk/pylucid_project/PyLucid/settings_example.py (revision 1221)
+++ /trunk/pylucid_project/PyLucid/settings_example.py (revision 1283)
@@ -382,5 +382,5 @@
 ALLOW_SEND_MAILS = True
 
-# Every Plugin output clasp around with a html DIV tag.
-# Here you can defined witch CSS class name the DIV tag should used:
-CSS_DIV_CLASS_NAME = "PyLucidPlugins"
+# Every Plugin output gets a html SPAN tag around.
+# Here you can defined witch CSS class name the tag should used:
+CSS_PLUGIN_CLASS_NAME = "PyLucidPlugins"

Look into the SVN diff

23.10.2007 - pygments styles

The Stylesheets for hightlighted sourcecode are automatically inserted no longer.
You should insert a default pygments style in your global stylesheet.

You can use this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* ----------------------------------------------------------------------
   Pygments syntax highlighter
---------------------------------------------------------------------- */
.pygments_code, .pygments_code table, .pygments_code .code, .pygments_code pre {
    background: #ffffff;
    padding: 0;
    margin: 0;
}
.pygments_code pre {
 border: 1px;
}
.pygments_code .code {
  width: 100%;
}

.pygments  { background: #ffffff; }
.pygments .c { color: #808080 } /* Comment */
.pygments .err { color: #F00000; background-color: #F0A0A0 } /* Error */
.pygments .k { color: #008000; font-weight: bold } /* Keyword */
.pygments .o { color: #303030 } /* Operator */
.pygments .cm { color: #808080 } /* Comment.Multiline */
.pygments .cp { color: #507090 } /* Comment.Preproc */
.pygments .c1 { color: #808080 } /* Comment.Single */
.pygments .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
.pygments .gd { color: #A00000 } /* Generic.Deleted */
.pygments .ge { font-style: italic } /* Generic.Emph */
.pygments .gr { color: #FF0000 } /* Generic.Error */
.pygments .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.pygments .gi { color: #00A000 } /* Generic.Inserted */
.pygments .go { color: #808080 } /* Generic.Output */
.pygments .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.pygments .gs { font-weight: bold } /* Generic.Strong */
.pygments .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.pygments .gt { color: #0040D0 } /* Generic.Traceback */
.pygments .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.pygments .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.pygments .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */
.pygments .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.pygments .kt { color: #303090; font-weight: bold } /* Keyword.Type */
.pygments .m { color: #6000E0; font-weight: bold } /* Literal.Number */
.pygments .s { background-color: #fff0f0 } /* Literal.String */
.pygments .na { color: #0000C0 } /* Name.Attribute */
.pygments .nb { color: #007020 } /* Name.Builtin */
.pygments .nc { color: #B00060; font-weight: bold } /* Name.Class */
.pygments .no { color: #003060; font-weight: bold } /* Name.Constant */
.pygments .nd { color: #505050; font-weight: bold } /* Name.Decorator */
.pygments .ni { color: #800000; font-weight: bold } /* Name.Entity */
.pygments .ne { color: #F00000; font-weight: bold } /* Name.Exception */
.pygments .nf { color: #0060B0; font-weight: bold } /* Name.Function */
.pygments .nl { color: #907000; font-weight: bold } /* Name.Label */
.pygments .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.pygments .nt { color: #007000 } /* Name.Tag */
.pygments .nv { color: #906030 } /* Name.Variable */
.pygments .ow { color: #000000; font-weight: bold } /* Operator.Word */
.pygments .w { color: #bbbbbb } /* Text.Whitespace */
.pygments .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */
.pygments .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */
.pygments .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */
.pygments .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */
.pygments .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
.pygments .sc { color: #0040D0 } /* Literal.String.Char */
.pygments .sd { color: #D04020 } /* Literal.String.Doc */
.pygments .s2 { background-color: #fff0f0 } /* Literal.String.Double */
.pygments .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
.pygments .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
.pygments .si { background-color: #e0e0e0 } /* Literal.String.Interpol */
.pygments .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */
.pygments .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
.pygments .s1 { background-color: #fff0f0 } /* Literal.String.Single */
.pygments .ss { color: #A06000 } /* Literal.String.Symbol */
.pygments .bp { color: #007020 } /* Name.Builtin.Pseudo */
.pygments .vc { color: #306090 } /* Name.Variable.Class */
.pygments .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */
.pygments .vi { color: #3030B0 } /* Name.Variable.Instance */
.pygments .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */

See also: