added django 1.3 statifiles support; rename media/forum -> media/djangobb_forum
|
@ -1 +1 @@
|
|||
4143fc5c29e6fdc96ac121759d7fc299c37b4690 projects
|
||||
76482633dc52faeac2191f853b32a16307be2697 projects
|
||||
|
|
|
@ -48,9 +48,13 @@ try:
|
|||
except ImportError:
|
||||
pass
|
||||
|
||||
path = os.path.join(settings.MEDIA_ROOT, 'forum', 'themes')
|
||||
THEME_CHOICES = [(theme, theme) for theme in os.listdir(path)
|
||||
if os.path.isdir(os.path.join(path, theme))]
|
||||
path = os.path.join(settings.STATIC_ROOT, 'forum', 'themes')
|
||||
if os.path.exists(path):
|
||||
# fix for collectstatic
|
||||
THEME_CHOICES = [(theme, theme) for theme in os.listdir(path)
|
||||
if os.path.isdir(os.path.join(path, theme))]
|
||||
else:
|
||||
THEME_CHOICES = []
|
||||
|
||||
class Category(models.Model):
|
||||
name = models.CharField(_('Name'), max_length=80)
|
||||
|
@ -251,7 +255,7 @@ class Post(models.Model):
|
|||
|
||||
def summary(self):
|
||||
LIMIT = 50
|
||||
tail = len(self.body) > LIMIT and '...' or ''
|
||||
tail = len(self.body) > LIMIT and '...' or ''
|
||||
return self.body[:LIMIT] + tail
|
||||
|
||||
__unicode__ = summary
|
||||
|
|
|
@ -12,7 +12,7 @@ TOPIC_PAGE_SIZE = get('DJANGOBB_TOPIC_PAGE_SIZE', 10)
|
|||
FORUM_PAGE_SIZE = get('DJANGOBB_FORUM_PAGE_SIZE', 20)
|
||||
SEARCH_PAGE_SIZE = get('DJANGOBB_SEARCH_PAGE_SIZE', 20)
|
||||
USERS_PAGE_SIZE = get('DJANGOBB_USERS_PAGE_SIZE', 20)
|
||||
AVATARS_UPLOAD_TO = get('DJANGOBB_AVATARS_UPLOAD_TO', 'forum/avatars')
|
||||
AVATARS_UPLOAD_TO = get('DJANGOBB_AVATARS_UPLOAD_TO', 'djangobb_forum/avatars')
|
||||
AVATAR_WIDTH = get('DJANGOBB_AVATAR_WIDTH', 60)
|
||||
AVATAR_HEIGHT = get('DJANGOBB_AVATAR_HEIGHT', 60)
|
||||
DEFAULT_TIME_ZONE = get('DJANGOBB_DEFAULT_TIME_ZONE', 3)
|
||||
|
@ -56,23 +56,23 @@ REPUTATION_SUPPORT = get('DJANGOBB_REPUTATION_SUPPORT', True)
|
|||
|
||||
# ATTACHMENT Extension
|
||||
ATTACHMENT_SUPPORT = get('DJANGOBB_ATTACHMENT_SUPPORT', True)
|
||||
ATTACHMENT_UPLOAD_TO = get('DJANGOBB_ATTACHMENT_UPLOAD_TO', 'forum/attachments')
|
||||
ATTACHMENT_UPLOAD_TO = get('DJANGOBB_ATTACHMENT_UPLOAD_TO', 'djangobb_forum/attachments')
|
||||
ATTACHMENT_SIZE_LIMIT = get('DJANGOBB_ATTACHMENT_SIZE_LIMIT', 1024 * 1024)
|
||||
|
||||
# SMILE Extension
|
||||
SMILES_SUPPORT = get('DJANGOBB_SMILES_SUPPORT', True)
|
||||
EMOTION_SMILE = get('DJANGOBB_EMOTION_SMILE', '<img src="%sforum/img/smilies/smile.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_NEUTRAL = get('DJANGOBB_EMOTION_NEUTRAL', '<img src="%sforum/img/smilies/neutral.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_SAD = get('DJANGOBB_EMOTION_SAD', '<img src="%sforum/img/smilies/sad.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_BIG_SMILE = get('DJANGOBB_EMOTION_BIG_SMILE', '<img src="%sforum/img/smilies/big_smile.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_YIKES = get('DJANGOBB_EMOTION_YIKES', '<img src="%sforum/img/smilies/yikes.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_WINK = get('DJANGOBB_EMOTION_WINK', '<img src="%sforum/img/smilies/wink.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_HMM = get('DJANGOBB_EMOTION_HMM', '<img src="%sforum/img/smilies/hmm.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_TONGUE = get('DJANGOBB_EMOTION_TONGUE', '<img src="%sforum/img/smilies/tongue.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_LOL = get('DJANGOBB_EMOTION_LOL', '<img src="%sforum/img/smilies/lol.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_MAD = get('DJANGOBB_EMOTION_MAD', '<img src="%sforum/img/smilies/mad.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_ROLL = get('DJANGOBB_EMOTION_ROLL', '<img src="%sforum/img/smilies/roll.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_COOL = get('DJANGOBB_EMOTION_COOL', '<img src="%sforum/img/smilies/cool.png" />' % settings.MEDIA_URL)
|
||||
EMOTION_SMILE = get('DJANGOBB_EMOTION_SMILE', '<img src="%sdjangobb_forum/img/smilies/smile.png" />' % settings.STATIC_URL)
|
||||
EMOTION_NEUTRAL = get('DJANGOBB_EMOTION_NEUTRAL', '<img src="%sdjangobb_forum/img/smilies/neutral.png" />' % settings.STATIC_URL)
|
||||
EMOTION_SAD = get('DJANGOBB_EMOTION_SAD', '<img src="%sdjangobb_forum/img/smilies/sad.png" />' % settings.STATIC_URL)
|
||||
EMOTION_BIG_SMILE = get('DJANGOBB_EMOTION_BIG_SMILE', '<img src="%sdjangobb_forum/img/smilies/big_smile.png" />' % settings.STATIC_URL)
|
||||
EMOTION_YIKES = get('DJANGOBB_EMOTION_YIKES', '<img src="%sdjangobb_forum/img/smilies/yikes.png" />' % settings.STATIC_URL)
|
||||
EMOTION_WINK = get('DJANGOBB_EMOTION_WINK', '<img src="%sdjangobb_forum/img/smilies/wink.png" />' % settings.STATIC_URL)
|
||||
EMOTION_HMM = get('DJANGOBB_EMOTION_HMM', '<img src="%sdjangobb_forum/img/smilies/hmm.png" />' % settings.STATIC_URL)
|
||||
EMOTION_TONGUE = get('DJANGOBB_EMOTION_TONGUE', '<img src="%sdjangobb_forum/img/smilies/tongue.png" />' % settings.STATIC_URL)
|
||||
EMOTION_LOL = get('DJANGOBB_EMOTION_LOL', '<img src="%sdjangobb_forum/img/smilies/lol.png" />' % settings.STATIC_URL)
|
||||
EMOTION_MAD = get('DJANGOBB_EMOTION_MAD', '<img src="%sdjangobb_forum/img/smilies/mad.png" />' % settings.STATIC_URL)
|
||||
EMOTION_ROLL = get('DJANGOBB_EMOTION_ROLL', '<img src="%sdjangobb_forum/img/smilies/roll.png" />' % settings.STATIC_URL)
|
||||
EMOTION_COOL = get('DJANGOBB_EMOTION_COOL', '<img src="%sdjangobb_forum/img/smilies/cool.png" />' % settings.STATIC_URL)
|
||||
SMILES = ((r'(:|=)\)', EMOTION_SMILE), #:), =)
|
||||
(r'(:|=)\|', EMOTION_NEUTRAL), #:|, =|
|
||||
(r'(:|=)\(', EMOTION_SAD), #:(, =(
|
||||
|
|
36
djangobb_forum/static/djangobb_forum/css/error.css
Normal file
|
@ -0,0 +1,36 @@
|
|||
body {background-color: #fff; color: #333333; text-align: left; font-family: Verdana,Arial,Helvetica,sans-serif; }
|
||||
div.dialog {
|
||||
width: 25em;
|
||||
padding: 0 4em;
|
||||
margin: 4em auto 0 auto;
|
||||
border: 1px solid #ccc;
|
||||
border-right-color: #999;
|
||||
border-bottom-color: #999;
|
||||
}
|
||||
h1 {font-size: 40px; color: #333333; font-weight: normal; margin: 0px; padding: 30px 0px 5px 0px;}
|
||||
h3 {font-size: 18px; color: #333333; font-weight: normal; margin: 0px; padding: 0px 0px 10px 0px;}
|
||||
p {font-size: 12px;}
|
||||
|
||||
table.p404 {background: #f8f8f8; border: 1px solid #d6d6d6; width: 450px;}
|
||||
|
||||
#h_align {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
overflow: visible;
|
||||
visibility: visible;
|
||||
display: block
|
||||
}
|
||||
|
||||
#content
|
||||
{
|
||||
margin-left: -224px;
|
||||
position: absolute;
|
||||
top: -150px;
|
||||
left: 50%;
|
||||
width: 450px;
|
||||
height: 300px;
|
||||
visibility: visible
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
/*=============================================*/
|
||||
/* LO-FI SCREEN CSS FILE */
|
||||
/* (c) 2004 Invision Power Services, Inc. */
|
||||
/* This CSS by: Matthew Mecham */
|
||||
/*=============================================*/
|
||||
|
||||
@import url(lofiscreen.css);
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
/*=============================================*/
|
||||
/* LO-FI SCREEN CSS FILE */
|
||||
/* (c) 2004 Invision Power Services, Inc. */
|
||||
/* This CSS by: Matthew Mecham */
|
||||
/*=============================================*/
|
||||
|
||||
@import url(lofiscreen.css);
|
||||
|
208
djangobb_forum/static/djangobb_forum/css/lofi/lofiscreen.css
Normal file
|
@ -0,0 +1,208 @@
|
|||
/*=============================================*/
|
||||
/* LO-FI SCREEN CSS FILE */
|
||||
/* (c) 2004 Invision Power Services, Inc. */
|
||||
/* This CSS by: Matthew Mecham */
|
||||
/*=============================================*/
|
||||
|
||||
BODY
|
||||
{
|
||||
background-color: #FFF;
|
||||
color: #000;
|
||||
font-family: Verdana, Tahoma, Arial, "Trebuchet MS", Sans-Serif, Georgia, Courier, "Times New Roman", Serif;
|
||||
font-size: 1em;
|
||||
margin: 20px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.djangobbnav
|
||||
{
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
border:1px solid gray;
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
.djangobbpagespan
|
||||
{
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
border:1px solid gray;
|
||||
padding:10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.djangobbnavsmall
|
||||
{
|
||||
font-size: 10px;
|
||||
font-weight: bold;
|
||||
border:1px dotted lightgray;
|
||||
padding:8px 8px 8px 8px;
|
||||
text-align:center;
|
||||
width:350px;
|
||||
float:right;
|
||||
}
|
||||
|
||||
#largetext
|
||||
{
|
||||
font-size: 1.0em;
|
||||
font-weight: bold;
|
||||
margin-bottom: 10px;
|
||||
padding-top: 3px;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
#djangobbwrapper
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#djangobbcopyright
|
||||
{
|
||||
margin-top: 10px;
|
||||
font-size: 10px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#djangobbcontent
|
||||
{
|
||||
padding: 10px;
|
||||
margin-top:10px;
|
||||
border:1px solid gray;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.topicwrap,
|
||||
.forumwrap
|
||||
{
|
||||
line-height:130%;
|
||||
}
|
||||
|
||||
.topicwrap ul,
|
||||
.forumwrap ul
|
||||
{
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.topicwrap li,
|
||||
.forumwrap li
|
||||
{
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.forumwrap strong
|
||||
{
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.desc
|
||||
{
|
||||
color: gray;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.smalltext
|
||||
{
|
||||
color: gray;
|
||||
font-size: 10px;
|
||||
text-align:center;
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
/*---------------------------------------*/
|
||||
/* Post view */
|
||||
/*---------------------------------------*/
|
||||
|
||||
|
||||
.postwrapper
|
||||
{
|
||||
border:1px solid #E6E3E4;
|
||||
padding:1px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.posttopbar
|
||||
{
|
||||
background-color: #E6E3E4;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.postname
|
||||
{
|
||||
font-weight: bold;
|
||||
font-size: 0.8em;
|
||||
width: auto;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.postdate
|
||||
{
|
||||
width:auto;
|
||||
font-size: 0.8em;
|
||||
color: gray;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.postcontent
|
||||
{
|
||||
padding: 6px;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
/*---------------------------------------*/
|
||||
/* NEW QUOTE / CODE WRAPPERS */
|
||||
/*---------------------------------------*/
|
||||
|
||||
.quotetop
|
||||
{
|
||||
color: #000;
|
||||
margin: 8px auto 0px auto;
|
||||
font-weight:bold;
|
||||
font-size:10px;
|
||||
padding: 8px;
|
||||
background-color:#E4EAF2;
|
||||
border-left: 4px solid #8394B2;
|
||||
border-top: 1px dotted #000;
|
||||
border-right: 1px dotted #000;
|
||||
}
|
||||
.quotemain
|
||||
{
|
||||
color: #465584;
|
||||
background-color: #FAFCFE;
|
||||
border-left: 4px solid #8394B2;
|
||||
border-right: 1px dotted #000;
|
||||
/*border-top: 1px dotted #000;*/
|
||||
border-bottom: 1px dotted #000;
|
||||
padding: 4px;
|
||||
margin: 0px auto 8px auto;
|
||||
}
|
||||
|
||||
.codetop,
|
||||
.sqltop,
|
||||
.htmltop
|
||||
{
|
||||
width:98%;
|
||||
color: #000;
|
||||
margin: 0px auto 0px auto;
|
||||
font-weight:bold;
|
||||
padding: 3px;
|
||||
background-color:#FDDBCC;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.codemain,
|
||||
.sqlmain,
|
||||
.htmlmain
|
||||
{
|
||||
font-family: Courier, "Courier New", Verdana, Arial;
|
||||
color: #465584;
|
||||
background-color: #FAFCFE;
|
||||
border: 1px dotted #000;
|
||||
padding: 2px;
|
||||
width:98%;
|
||||
margin: 0px auto 0px auto;
|
||||
/*overflow: auto;
|
||||
height: 200px;*/
|
||||
}
|
||||
|
||||
|
71
djangobb_forum/static/djangobb_forum/css/pygments.css
Normal file
|
@ -0,0 +1,71 @@
|
|||
div .code {
|
||||
font: 10px "Monospaced", monospace;
|
||||
display: block;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
border: solid #000000 1px;
|
||||
padding: 5px;
|
||||
max-height: 450px;
|
||||
overflow: auto;
|
||||
}
|
||||
.hll { background-color: #ffffcc }
|
||||
.c { color: #408080; font-style: italic } /* Comment */
|
||||
.err { border: 1px solid #FF0000 } /* Error */
|
||||
.k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.o { color: #666666 } /* Operator */
|
||||
.cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
.cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
.c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
.cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
.gd { color: #A00000 } /* Generic.Deleted */
|
||||
.ge { font-style: italic } /* Generic.Emph */
|
||||
.gr { color: #FF0000 } /* Generic.Error */
|
||||
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.gi { color: #00A000 } /* Generic.Inserted */
|
||||
.go { color: #808080 } /* Generic.Output */
|
||||
.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.gs { font-weight: bold } /* Generic.Strong */
|
||||
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.gt { color: #0040D0 } /* Generic.Traceback */
|
||||
.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||
.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||
.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
||||
.kp { color: #008000 } /* Keyword.Pseudo */
|
||||
.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||
.kt { color: #B00040 } /* Keyword.Type */
|
||||
.m { color: #666666 } /* Literal.Number */
|
||||
.s { color: #BA2121 } /* Literal.String */
|
||||
.na { color: #7D9029 } /* Name.Attribute */
|
||||
.nb { color: #008000 } /* Name.Builtin */
|
||||
.nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
.no { color: #880000 } /* Name.Constant */
|
||||
.nd { color: #AA22FF } /* Name.Decorator */
|
||||
.ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
.nf { color: #0000FF } /* Name.Function */
|
||||
.nl { color: #A0A000 } /* Name.Label */
|
||||
.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.nv { color: #19177C } /* Name.Variable */
|
||||
.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
.w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.mf { color: #666666 } /* Literal.Number.Float */
|
||||
.mh { color: #666666 } /* Literal.Number.Hex */
|
||||
.mi { color: #666666 } /* Literal.Number.Integer */
|
||||
.mo { color: #666666 } /* Literal.Number.Oct */
|
||||
.sb { color: #BA2121 } /* Literal.String.Backtick */
|
||||
.sc { color: #BA2121 } /* Literal.String.Char */
|
||||
.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
.s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
.sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
.sx { color: #008000 } /* Literal.String.Other */
|
||||
.sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
.s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
.ss { color: #19177C } /* Literal.String.Symbol */
|
||||
.bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
.vc { color: #19177C } /* Name.Variable.Class */
|
||||
.vg { color: #19177C } /* Name.Variable.Global */
|
||||
.vi { color: #19177C } /* Name.Variable.Instance */
|
||||
.il { color: #666666 } /* Literal.Number.Integer.Long */
|
BIN
djangobb_forum/static/djangobb_forum/favicon.png
Normal file
After Width: | Height: | Size: 885 B |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/audio.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/compress.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/doc.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/image.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/text.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/unknown.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/attachment/video.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote0.gif
Normal file
After Width: | Height: | Size: 482 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote1.gif
Normal file
After Width: | Height: | Size: 725 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote10.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote2.gif
Normal file
After Width: | Height: | Size: 766 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote3.gif
Normal file
After Width: | Height: | Size: 793 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote4.gif
Normal file
After Width: | Height: | Size: 810 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote5.gif
Normal file
After Width: | Height: | Size: 825 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote6.gif
Normal file
After Width: | Height: | Size: 828 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote7.gif
Normal file
After Width: | Height: | Size: 828 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote8.gif
Normal file
After Width: | Height: | Size: 815 B |
BIN
djangobb_forum/static/djangobb_forum/img/authority/vote9.gif
Normal file
After Width: | Height: | Size: 788 B |
BIN
djangobb_forum/static/djangobb_forum/img/feed-icon-big.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/feed-icon-small.png
Normal file
After Width: | Height: | Size: 689 B |
BIN
djangobb_forum/static/djangobb_forum/img/login-bg.gif
Normal file
After Width: | Height: | Size: 328 B |
BIN
djangobb_forum/static/djangobb_forum/img/logo.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/openid_logo.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/reputation/warn_add.gif
Normal file
After Width: | Height: | Size: 137 B |
After Width: | Height: | Size: 127 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/big_smile.png
Normal file
After Width: | Height: | Size: 544 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/cool.png
Normal file
After Width: | Height: | Size: 560 B |
After Width: | Height: | Size: 725 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/hmm.png
Normal file
After Width: | Height: | Size: 564 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/lol.png
Normal file
After Width: | Height: | Size: 538 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/mad.png
Normal file
After Width: | Height: | Size: 560 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/neutral.png
Normal file
After Width: | Height: | Size: 565 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/roll.png
Normal file
After Width: | Height: | Size: 559 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/sad.png
Normal file
After Width: | Height: | Size: 568 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/smile.png
Normal file
After Width: | Height: | Size: 598 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/tongue.png
Normal file
After Width: | Height: | Size: 563 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/wink.png
Normal file
After Width: | Height: | Size: 642 B |
BIN
djangobb_forum/static/djangobb_forum/img/smilies/yikes.png
Normal file
After Width: | Height: | Size: 554 B |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_0.gif
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_0_Half.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_1.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_1_Half.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_2.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_2_Half.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_3.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_3_Half.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_4.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_4_Half.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
djangobb_forum/static/djangobb_forum/img/stars/Star_5.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
16
djangobb_forum/static/djangobb_forum/js/corners_init.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
$(function() {
|
||||
settings = {
|
||||
tl: { radius: 1 },
|
||||
tr: { radius: 1 },
|
||||
bl: { radius: 10 },
|
||||
br: { radius: 10 },
|
||||
antiAlias: true,
|
||||
autoPad: false,
|
||||
validTags: ['div', 'ul', 'li']
|
||||
}
|
||||
|
||||
$('.corners').each(function() {
|
||||
var cornersObj = new curvyCorners(settings, this);
|
||||
cornersObj.applyCornersToAll();
|
||||
});
|
||||
});
|
96
djangobb_forum/static/djangobb_forum/js/jquery.cookie.js
Normal file
|
@ -0,0 +1,96 @@
|
|||
/**
|
||||
* Cookie plugin
|
||||
*
|
||||
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Create a cookie with the given name and value and other optional parameters.
|
||||
*
|
||||
* @example $.cookie('the_cookie', 'the_value');
|
||||
* @desc Set the value of a cookie.
|
||||
* @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
|
||||
* @desc Create a cookie with all available options.
|
||||
* @example $.cookie('the_cookie', 'the_value');
|
||||
* @desc Create a session cookie.
|
||||
* @example $.cookie('the_cookie', null);
|
||||
* @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
|
||||
* used when the cookie was set.
|
||||
*
|
||||
* @param String name The name of the cookie.
|
||||
* @param String value The value of the cookie.
|
||||
* @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
|
||||
* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
|
||||
* If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
|
||||
* If set to null or omitted, the cookie will be a session cookie and will not be retained
|
||||
* when the the browser exits.
|
||||
* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
|
||||
* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
|
||||
* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
|
||||
* require a secure protocol (like HTTPS).
|
||||
* @type undefined
|
||||
*
|
||||
* @name $.cookie
|
||||
* @cat Plugins/Cookie
|
||||
* @author Klaus Hartl/klaus.hartl@stilbuero.de
|
||||
*/
|
||||
|
||||
/**
|
||||
* Get the value of a cookie with the given name.
|
||||
*
|
||||
* @example $.cookie('the_cookie');
|
||||
* @desc Get the value of a cookie.
|
||||
*
|
||||
* @param String name The name of the cookie.
|
||||
* @return The value of the cookie.
|
||||
* @type String
|
||||
*
|
||||
* @name $.cookie
|
||||
* @cat Plugins/Cookie
|
||||
* @author Klaus Hartl/klaus.hartl@stilbuero.de
|
||||
*/
|
||||
jQuery.cookie = function(name, value, options) {
|
||||
if (typeof value != 'undefined') { // name and value given, set cookie
|
||||
options = options || {};
|
||||
if (value === null) {
|
||||
value = '';
|
||||
options.expires = -1;
|
||||
}
|
||||
var expires = '';
|
||||
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
|
||||
var date;
|
||||
if (typeof options.expires == 'number') {
|
||||
date = new Date();
|
||||
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
|
||||
} else {
|
||||
date = options.expires;
|
||||
}
|
||||
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
|
||||
}
|
||||
// CAUTION: Needed to parenthesize options.path and options.domain
|
||||
// in the following expressions, otherwise they evaluate to undefined
|
||||
// in the packed version for some reason...
|
||||
var path = options.path ? '; path=' + (options.path) : '';
|
||||
var domain = options.domain ? '; domain=' + (options.domain) : '';
|
||||
var secure = options.secure ? '; secure' : '';
|
||||
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
|
||||
} else { // only name given, get cookie
|
||||
var cookieValue = null;
|
||||
if (document.cookie && document.cookie != '') {
|
||||
var cookies = document.cookie.split(';');
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var cookie = jQuery.trim(cookies[i]);
|
||||
// Does this cookie string begin with the name we want?
|
||||
if (cookie.substring(0, name.length + 1) == (name + '=')) {
|
||||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return cookieValue;
|
||||
}
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
jQuery.fn.highlight=function(b){function a(e,j){var l=0;if(e.nodeType==3){var k=e.data.toUpperCase().indexOf(j);if(k>=0){var h=document.createElement("span");h.className="highlight";var f=e.splitText(k);var c=f.splitText(j.length);var d=f.cloneNode(true);h.appendChild(d);f.parentNode.replaceChild(h,f);l=1}}else{if(e.nodeType==1&&e.childNodes&&!/(script|style)/i.test(e.tagName)){for(var g=0;g<e.childNodes.length;++g){g+=a(e.childNodes[g],j)}}}return l}return this.each(function(){a(this,b.toUpperCase())})};jQuery.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;with(this.parentNode){replaceChild(this.firstChild,this);normalize()}}).end()};
|
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 667 B |
After Width: | Height: | Size: 859 B |
After Width: | Height: | Size: 567 B |
After Width: | Height: | Size: 223 B |
After Width: | Height: | Size: 343 B |
After Width: | Height: | Size: 344 B |
After Width: | Height: | Size: 248 B |
After Width: | Height: | Size: 357 B |
After Width: | Height: | Size: 606 B |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 743 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 273 B |
|
@ -0,0 +1,11 @@
|
|||
Markup language:
|
||||
BBCode
|
||||
|
||||
Description:
|
||||
A basic BBCode markup set with Bold, Italic, Underline, Picture, Link, Size, List, Quotes, Code, Clean button, Preview button.
|
||||
|
||||
Install:
|
||||
- Download the zip file
|
||||
- Unzip it in your markItUp! sets folder
|
||||
- Modify your JS link to point at this set.js
|
||||
- Modify your CSS link to point at this style.css
|
|
@ -0,0 +1,53 @@
|
|||
// ----------------------------------------------------------------------------
|
||||
// markItUp!
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Jay Salvat
|
||||
// http://markitup.jaysalvat.com/
|
||||
// ----------------------------------------------------------------------------
|
||||
// BBCode tags example
|
||||
// http://en.wikipedia.org/wiki/Bbcode
|
||||
// ----------------------------------------------------------------------------
|
||||
// Feel free to add more tags
|
||||
// ----------------------------------------------------------------------------
|
||||
mySettings = {
|
||||
previewParserPath: POST_PREVIEW_URL, // path to your BBCode parser
|
||||
markupSet: [
|
||||
{name:'Bold', key:'B', openWith:'[b]', closeWith:'[/b]'},
|
||||
{name:'Italic', key:'I', openWith:'[i]', closeWith:'[/i]'},
|
||||
{name:'Underline', key:'U', openWith:'[u]', closeWith:'[/u]'},
|
||||
{name:'Stroke', key:'S', openWith:'[s]', closeWith:'[/s]' },
|
||||
{separator:'---------------' },
|
||||
{name:'Picture', key:'P', replaceWith:'[img][![Url]!][/img]'},
|
||||
{name:'Link', key:'L', openWith:'[url=[![Url]!]]', closeWith:'[/url]', placeHolder:'Your text to link here...'},
|
||||
{separator:'---------------' },
|
||||
{name:'Size', key:'S', openWith:'', closeWith:'',
|
||||
dropMenu :[
|
||||
{name:'Big', openWith:'[size 32]', closeWith:'[/size]' },
|
||||
{name:'Small', openWith:'[size 10]', closeWith:'[/size]' }
|
||||
]},
|
||||
{separator:'---------------' },
|
||||
{name:'Bulleted list', openWith:'[list]\n', closeWith:'\n[/list]'},
|
||||
{name:'Numeric list', openWith:'[list=[![Starting number]!]]\n', closeWith:'\n[/list]'},
|
||||
{name:'List item', openWith:'[*] '},
|
||||
{separator:'---------------' },
|
||||
{name:'Quotes', openWith:'[quote]', closeWith:'[/quote]'},
|
||||
{name:'Code', openWith:'[code]', closeWith:'[/code]'},
|
||||
{name:'Smiles', openWith:'', closeWith:'', dropMenu:[
|
||||
{name:'Smile', openWith:':)'},
|
||||
{name:'Neutral', openWith:':|'},
|
||||
{name:'Sad', openWith:':('},
|
||||
{name:'Big smile', openWith:':D'},
|
||||
{name:'Yikes', openWith:':o'},
|
||||
{name:'Wink', openWith:';)'},
|
||||
{name:'Hmm', openWith:':/'},
|
||||
{name:'Tongue', openWith:':P'},
|
||||
{name:'Lol', openWith:':lol:'},
|
||||
{name:'Mad', openWith:':mad:'},
|
||||
{name:'Roll', openWith:':rolleyes:'},
|
||||
{name:'Cool', openWith:':cool:'},
|
||||
]},
|
||||
{separator:'---------------' },
|
||||
{name:'Clean', className:"clean", replaceWith:function(markitup) { return markitup.selection.replace(/\[(.*?)\]/g, "") } },
|
||||
{name:'Preview', className:"preview", call:'preview' }
|
||||
]
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
/* -------------------------------------------------------------------
|
||||
// markItUp!
|
||||
// By Jay Salvat - http://markitup.jaysalvat.com/
|
||||
// ------------------------------------------------------------------*/
|
||||
.markItUp .markItUpButton1 a {
|
||||
background-image:url(images/bold.png);
|
||||
}
|
||||
.markItUp .markItUpButton2 a {
|
||||
background-image:url(images/italic.png);
|
||||
}
|
||||
.markItUp .markItUpButton3 a {
|
||||
background-image:url(images/underline.png);
|
||||
}
|
||||
|
||||
.markItUp .markItUpButton4 a {
|
||||
background-image:url(images/stroke.png);
|
||||
}
|
||||
|
||||
.markItUp .markItUpButton5 a {
|
||||
background-image:url(images/picture.png);
|
||||
}
|
||||
.markItUp .markItUpButton6 a {
|
||||
background-image:url(images/link.png);
|
||||
}
|
||||
|
||||
.markItUp .markItUpButton7 a {
|
||||
background-image:url(images/fonts.png);
|
||||
}
|
||||
.markItUp .markItUpButton8 a {
|
||||
background-image:url(images/list-bullet.png);
|
||||
}
|
||||
.markItUp .markItUpButton9 a {
|
||||
background-image:url(images/list-numeric.png);
|
||||
}
|
||||
.markItUp .markItUpButton10 a {
|
||||
background-image:url(images/list-item.png);
|
||||
}
|
||||
|
||||
.markItUp .markItUpButton11 a {
|
||||
background-image:url(images/quotes.png);
|
||||
}
|
||||
.markItUp .markItUpButton12 a {
|
||||
background-image:url(images/code.png);
|
||||
}
|
||||
.markItUp .markItUpButton13 a {
|
||||
background-image:url(../../../../img/smilies/smile.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-1 a {
|
||||
background-image:url(../../../../img/smilies/smile.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-2 a {
|
||||
background-image:url(../../../../img/smilies/neutral.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-3 a {
|
||||
background-image:url(../../../../img/smilies/sad.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-4 a {
|
||||
background-image:url(../../../../img/smilies/big_smile.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-5 a {
|
||||
background-image:url(../../../../img/smilies/yikes.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-6 a {
|
||||
background-image:url(../../../../img/smilies/wink.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-7 a {
|
||||
background-image:url(../../../../img/smilies/hmm.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-8 a {
|
||||
background-image:url(../../../../img/smilies/tongue.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-9 a {
|
||||
background-image:url(../../../../img/smilies/lol.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-10 a {
|
||||
background-image:url(../../../../img/smilies/mad.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-11 a {
|
||||
background-image:url(../../../../img/smilies/roll.png);
|
||||
}
|
||||
.markItUp .markItUpButton13-12 a {
|
||||
background-image:url(../../../../img/smilies/cool.png);
|
||||
}
|
||||
.markItUp .clean a {
|
||||
background-image:url(images/clean.png);
|
||||
}
|
||||
.markItUp .preview a {
|
||||
background-image:url(images/preview.png);
|
||||
}
|
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 667 B |
After Width: | Height: | Size: 516 B |
After Width: | Height: | Size: 223 B |
After Width: | Height: | Size: 343 B |
After Width: | Height: | Size: 606 B |
After Width: | Height: | Size: 537 B |
After Width: | Height: | Size: 269 B |
|
@ -0,0 +1,27 @@
|
|||
// ----------------------------------------------------------------------------
|
||||
// markItUp!
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright (C) 2008 Jay Salvat
|
||||
// http://markitup.jaysalvat.com/
|
||||
// ----------------------------------------------------------------------------
|
||||
// Html tags
|
||||
// http://en.wikipedia.org/wiki/html
|
||||
// ----------------------------------------------------------------------------
|
||||
// Basic set. Feel free to add more tags
|
||||
// ----------------------------------------------------------------------------
|
||||
mySettings = {
|
||||
onShiftEnter: {keepDefault:false, replaceWith:'<br />\n'},
|
||||
onCtrlEnter: {keepDefault:false, openWith:'\n<p>', closeWith:'</p>'},
|
||||
onTab: {keepDefault:false, replaceWith:' '},
|
||||
markupSet: [
|
||||
{name:'Bold', key:'B', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' },
|
||||
{name:'Italic', key:'I', openWith:'(!(<em>|!|<i>)!)', closeWith:'(!(</em>|!|</i>)!)' },
|
||||
{name:'Stroke through', key:'S', openWith:'<del>', closeWith:'</del>' },
|
||||
{separator:'---------------' },
|
||||
{name:'Picture', key:'P', replaceWith:'<img src="[![Source:!:http://]!]" alt="[![Alternative text]!]" />' },
|
||||
{name:'Link', key:'L', openWith:'<a href="[![Link:!:http://]!]"(!( title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'Your text to link...' },
|
||||
{separator:'---------------' },
|
||||
{name:'Clean', className:'clean', replaceWith:function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } },
|
||||
{name:'Preview', className:'preview', call:'preview'}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/* -------------------------------------------------------------------
|
||||
// markItUp!
|
||||
// By Jay Salvat - http://markitup.jaysalvat.com/
|
||||
// ------------------------------------------------------------------*/
|
||||
.markItUp .markItUpButton1 a {
|
||||
background-image:url(images/bold.png);
|
||||
}
|
||||
.markItUp .markItUpButton2 a {
|
||||
background-image:url(images/italic.png);
|
||||
}
|
||||
.markItUp .markItUpButton3 a {
|
||||
background-image:url(images/stroke.png);
|
||||
}
|
||||
|
||||
.markItUp .markItUpButton4 a {
|
||||
background-image:url(images/picture.png);
|
||||
}
|
||||
.markItUp .markItUpButton5 a {
|
||||
background-image:url(images/link.png);
|
||||
}
|
||||
|
||||
.markItUp .markItUpButton6 a {
|
||||
background-image:url(images/clean.png);
|
||||
}
|
||||
.markItUp .preview a {
|
||||
background-image:url(images/preview.png);
|
||||
}
|
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 859 B |
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 306 B |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 310 B |
After Width: | Height: | Size: 223 B |
After Width: | Height: | Size: 343 B |
After Width: | Height: | Size: 344 B |