##// END OF EJS Templates
Added proper russian translation of the template code. The form validation messages are not yet translated. This refs #36
neko259 -
r83:597e046e default
parent child Browse files
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -1,72 +1,141 b''
1 # SOME DESCRIPTIVE TITLE.
1 # SOME DESCRIPTIVE TITLE.
2 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
2 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3 # This file is distributed under the same license as the PACKAGE package.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
5 #
6 msgid ""
6 msgid ""
7 msgstr ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "Report-Msgid-Bugs-To: \n"
9 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2013-04-13 22:07+0300\n"
10 "POT-Creation-Date: 2013-06-09 17:35+0300\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: ru\n"
14 "Language: ru\n"
15 "MIME-Version: 1.0\n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
17 "Content-Transfer-Encoding: 8bit\n"
18 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
19 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20
20
21 #: templates/base.html:22
21 #: templates/base.html:27
22 msgid "All threads"
22 msgid "All threads"
23 msgstr "ВсС Π½ΠΈΠΊΠΈ"
23 msgstr "ВсС Ρ‚Π΅ΠΌΡ‹"
24
25 #: templates/base.html:33
26 msgid "Settings"
27 msgstr "Настройки"
28
29 #: templates/base.html:40
30 msgid "Up"
31 msgstr "Π’Π²Π΅Ρ€Ρ…"
24
32
25 #: templates/posting_general.html:26
33 #: templates/posting_general.html:18
26 msgid "View"
34 msgid "Tag: "
27 msgstr "ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€"
35 msgstr "Π’Π΅Π³: "
28
36
29 #: templates/posting_general.html:31
37 #: templates/posting_general.html:35 templates/posting_general.html.py:79
38 #: templates/thread.html:27
39 #, fuzzy
40 msgid "Post image"
41 msgstr "Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сообщСния"
42
43 #: templates/posting_general.html:46
44 msgid "Reply"
45 msgstr "ΠžΡ‚Π²Π΅Ρ‚"
46
47 #: templates/posting_general.html:53 templates/thread.html:107
30 msgid "replies"
48 msgid "replies"
31 msgstr "ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²"
49 msgstr "ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²"
32
50
33 #: templates/posting_general.html:32
51 #: templates/posting_general.html:54 templates/thread.html:108
34 msgid "images"
52 msgid "images"
35 msgstr "ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ"
53 msgstr "ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ"
36
54
37 #: templates/posting_general.html:33
55 #: templates/posting_general.html:56 templates/posting_general.html.py:127
38 msgid "gets"
56 #: templates/thread.html:49
39 msgstr "Π³Π΅Ρ‚Ρ‹"
40
41 #: templates/posting_general.html:35 templates/posting_general.html.py:67
42 #: templates/thread.html:31
43 msgid "Tags"
57 msgid "Tags"
44 msgstr "Π’Π΅Π³ΠΈ"
58 msgstr "Π’Π΅Π³ΠΈ"
45
59
46 #: templates/posting_general.html:52
60 #: templates/posting_general.html:109
47 msgid "Create new thread"
61 msgid "Create new thread"
48 msgstr "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π½ΠΈΡ‚ΡŒ"
62 msgstr "Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ"
49
63
50 #: templates/posting_general.html:55 templates/thread.html:50
64 #: templates/posting_general.html:112 templates/thread.html:71
51 msgid "Title"
65 msgid "Title"
52 msgstr "Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ"
66 msgstr "Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ"
53
67
54 #: templates/posting_general.html:59 templates/thread.html:54
68 #: templates/posting_general.html:117 templates/thread.html:76
55 msgid "Text"
69 msgid "Text"
56 msgstr "ВСкст"
70 msgstr "ВСкст"
57
71
58 #: templates/posting_general.html:63 templates/thread.html:58
72 #: templates/posting_general.html:122 templates/thread.html:81
59 msgid "Image"
73 msgid "Image"
60 msgstr "ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°"
74 msgstr "Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅"
61
75
62 #: templates/posting_general.html:70 templates/thread.html:61
76 #: templates/posting_general.html:136 templates/thread.html:91
63 msgid "Post"
77 msgid "Post"
64 msgstr "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ"
78 msgstr "ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ"
65
79
66 #: templates/posting_general.html:72
80 #: templates/posting_general.html:152
67 msgid "Tags must be delimited by spaces. Text or image is required."
81 #, fuzzy
68 msgstr "Π’Π΅Π³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. ВСкст ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹."
82 msgid "Pages:"
83 msgstr "Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹: "
84
85 #: templates/settings.html:13
86 msgid "Theme"
87 msgstr "Π’Π΅ΠΌΠ°"
88
89 #: templates/settings.html:29
90 msgid "Save"
91 msgstr "Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ"
92
93 #: templates/tags.html:7
94 msgid "tags"
95 msgstr "Ρ‚Π΅Π³ΠΎΠ²"
96
97 #: templates/thread.html:39
98 msgid "Get!"
99 msgstr "Π“Π΅Ρ‚!"
100
101 #: templates/thread.html:68
102 msgid "Reply to thread"
103 msgstr "ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π² Ρ‚Π΅ΠΌΡƒ"
104
105 #: templates/thread.html:93
106 msgid "Basic markdown syntax."
107 msgstr "Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис markdown."
69
108
70 #: templates/thread.html:47
109 #: templates/thread.html:94
71 msgid "Reply to the thread"
110 msgid "Example: "
72 msgstr "ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ‚ΡŒ"
111 msgstr "ΠŸΡ€ΠΈΠΌΠ΅Ρ€: "
112
113 #: templates/thread.html:94
114 msgid "italic"
115 msgstr "курсив"
116
117 #: templates/thread.html:95
118 msgid "bold"
119 msgstr "ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ"
120
121 #: templates/thread.html:96
122 msgid "Quotes can be inserted with"
123 msgstr "Π¦ΠΈΡ‚Π°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вставлСны ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ"
124
125 #: templates/thread.html:97
126 msgid "Links to answers can be inserted with"
127 msgstr "Бсылки Π½Π° ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вставлСны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ"
128
129 #: templates/thread.html:109
130 msgid "Last update: "
131 msgstr "ПослСднСС обновлСниС: "
132
133 #~ msgid "View"
134 #~ msgstr "ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€"
135
136 #~ msgid "gets"
137 #~ msgstr "Π³Π΅Ρ‚ΠΎΠ²"
138
139 #~ msgid "Tags must be delimited by spaces. Text or image is required."
140 #~ msgstr ""
141 #~ "Π’Π΅Π³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. ВСкст ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹."
1 NO CONTENT: file renamed from templates/base.html to boards/templates/base.html
NO CONTENT: file renamed from templates/base.html to boards/templates/base.html
1 NO CONTENT: file renamed from templates/login.html to boards/templates/login.html
NO CONTENT: file renamed from templates/login.html to boards/templates/login.html
1 NO CONTENT: file renamed from templates/posting_general.html to boards/templates/posting_general.html
NO CONTENT: file renamed from templates/posting_general.html to boards/templates/posting_general.html
1 NO CONTENT: file renamed from templates/settings.html to boards/templates/settings.html
NO CONTENT: file renamed from templates/settings.html to boards/templates/settings.html
1 NO CONTENT: file renamed from templates/tags.html to boards/templates/tags.html
NO CONTENT: file renamed from templates/tags.html to boards/templates/tags.html
@@ -1,110 +1,112 b''
1 {% extends "base.html" %}
1 {% extends "base.html" %}
2
2
3 {% load i18n %}
3 {% load i18n %}
4 {% load markup %}
4 {% load markup %}
5
5
6 {% block head %}
6 {% block head %}
7 <title>Neboard - {{ posts.0.title }}</title>
7 <title>Neboard - {{ posts.0.title }}</title>
8 {% endblock %}
8 {% endblock %}
9
9
10 {% block content %}
10 {% block content %}
11 <script src="{{ STATIC_URL }}js/thread.js"></script>
11 <script src="{{ STATIC_URL }}js/thread.js"></script>
12
12
13 {% if posts %}
13 {% if posts %}
14 <div id="posts">
14 <div id="posts">
15 {% for post in posts %}
15 {% for post in posts %}
16 {% if posts.0.can_bump %}
16 {% if posts.0.can_bump %}
17 <div class="post" id="{{ post.id }}">
17 <div class="post" id="{{ post.id }}">
18 {% else %}
18 {% else %}
19 <div class="post dead_post" id="{{ post.id }}">
19 <div class="post dead_post" id="{{ post.id }}">
20 {% endif %}
20 {% endif %}
21 {% if post.image %}
21 {% if post.image %}
22 <div class="image">
22 <div class="image">
23 <a
23 <a
24 class="fancy"
24 class="fancy"
25 href="{{ post.image.url }}"><img
25 href="{{ post.image.url }}"><img
26 src="{{ post.image.url_200x150 }}"
26 src="{{ post.image.url_200x150 }}"
27 alt="{% trans 'Post image' %}" />
27 alt="{% trans 'Post image' %}" />
28 </a>
28 </a>
29 </div>
29 </div>
30 {% endif %}
30 {% endif %}
31 <div class="message">
31 <div class="message">
32 <div class="post-info">
32 <div class="post-info">
33 <span class="title">{{ post.title }}</span>
33 <span class="title">{{ post.title }}</span>
34 <a class="post_id" href="#{{ post.id }}">
34 <a class="post_id" href="#{{ post.id }}">
35 (#{{ post.id }})</a>
35 (#{{ post.id }})</a>
36 [{{ post.pub_time }}]
36 [{{ post.pub_time }}]
37 {% if post.is_get %}
37 {% if post.is_get %}
38 <span class="get">
38 <span class="get">
39 {% trans "Get!" %}
39 {% trans "Get!" %}
40 </span>
40 </span>
41 {% endif %}
41 {% endif %}
42 </div>
42 </div>
43 {% autoescape off %}
43 {% autoescape off %}
44 {{ post.text.rendered }}
44 {{ post.text.rendered }}
45 {% endautoescape %}
45 {% endautoescape %}
46 </div>
46 </div>
47 {% if post.tags.all %}
47 {% if post.tags.all %}
48 <div class="metadata">
48 <div class="metadata">
49 <span class="tags">{% trans 'Tags' %}:
49 <span class="tags">{% trans 'Tags' %}:
50 {% for tag in post.tags.all %}
50 {% for tag in post.tags.all %}
51 <a class="tag" href="{% url 'tag' tag.name %}">
51 <a class="tag" href="{% url 'tag' tag.name %}">
52 {{ tag.name }}</a>
52 {{ tag.name }}</a>
53 {% endfor %}
53 {% endfor %}
54 </span>
54 </span>
55 </div>
55 </div>
56 {% endif %}
56 {% endif %}
57 </div>
57 </div>
58 {% endfor %}
58 {% endfor %}
59 </div>
59 </div>
60 {% else %}
60 {% else %}
61 No thread found.
61 No thread found.
62 <hr />
62 <hr />
63 {% endif %}
63 {% endif %}
64
64
65 <form id="form" enctype="multipart/form-data" method="post"
65 <form id="form" enctype="multipart/form-data" method="post"
66 >{% csrf_token %}
66 >{% csrf_token %}
67 <div class="post-form-w">
67 <div class="post-form-w">
68 <div class="form-title">{% trans "Reply to thread" %}</div>
68 <div class="form-title">{% trans "Reply to thread" %}</div>
69 <div class="post-form">
69 <div class="post-form">
70 <div class="form-row">
70 <div class="form-row">
71 <div class="form-label">{% trans 'Title' %}</div>
71 <div class="form-label">{% trans 'Title' %}</div>
72 <div class="form-input">{{ form.title }}</div>
72 <div class="form-input">{{ form.title }}</div>
73 <div class="form-errors">{{ form.title.errors }}</div>
73 <div class="form-errors">{{ form.title.errors }}</div>
74 </div>
74 </div>
75 <div class="form-row">
75 <div class="form-row">
76 <div class="form-label">{% trans 'Text' %}</div>
76 <div class="form-label">{% trans 'Text' %}</div>
77 <div class="form-input">{{ form.text }}</div>
77 <div class="form-input">{{ form.text }}</div>
78 <div class="form-errors">{{ form.text.errors }}</div>
78 <div class="form-errors">{{ form.text.errors }}</div>
79 </div>
79 </div>
80 <div class="form-row">
80 <div class="form-row">
81 <div class="form-label">{% trans 'Image' %}</div>
81 <div class="form-label">{% trans 'Image' %}</div>
82 <div class="form-input">{{ form.image }}</div>
82 <div class="form-input">{{ form.image }}</div>
83 <div class="form-errors">{{ form.image.errors }}</div>
83 <div class="form-errors">{{ form.image.errors }}</div>
84 </div>
84 </div>
85 <div class="form-row">
85 <div class="form-row">
86 {{ form.captcha }}
86 {{ form.captcha }}
87 </div>
87 </div>
88 </div>
88 </div>
89
89
90 <div class="form-submit"><input type="submit"
90 <div class="form-submit"><input type="submit"
91 value="{% trans "Post" %}"/></div>
91 value="{% trans "Post" %}"/></div>
92 <div>Use <a
92 <div><a href="http://daringfireball.net/projects/markdown/basics">
93 href="http://daringfireball.net/projects/markdown/basics">
93 {% trans 'Basic markdown syntax.' %}</a></div>
94 markdown</a> syntax for posting.</div>
94 <div>{% trans 'Example: ' %}*<i>{% trans 'italic' %}</i>*,
95 <div>Example: *<i>italic</i>*, **<b>bold</b>**</div>
95 **<b>{% trans 'bold' %}</b>**</div>
96 <div>Insert quotes with "&gt;"</div>
96 <div>{% trans 'Quotes can be inserted with' %} "&gt;"</div>
97 <div>{% trans 'Links to answers can be inserted with' %} "&gt;&gt;
98 123"</div>
97 </div>
99 </div>
98 </form>
100 </form>
99
101
100 {% endblock %}
102 {% endblock %}
101
103
102 {% block metapanel %}
104 {% block metapanel %}
103
105
104 <span class="metapanel">
106 <span class="metapanel">
105 {{ posts.0.get_reply_count }} {% trans 'replies' %},
107 {{ posts.0.get_reply_count }} {% trans 'replies' %},
106 {{ posts.0.get_images_count }} {% trans 'images' %}.
108 {{ posts.0.get_images_count }} {% trans 'images' %}.
107 {% trans 'Last update: ' %}{{ posts.0.last_edit_time }}
109 {% trans 'Last update: ' %}{{ posts.0.last_edit_time }}
108 </span>
110 </span>
109
111
110 {% endblock %} No newline at end of file
112 {% endblock %}
@@ -1,195 +1,195 b''
1 # Django settings for neboard project.
1 # Django settings for neboard project.
2 import os
2 import os
3 import markdown
3 import markdown
4 from boards.mdx_neboard import markdown_extended
4 from boards.mdx_neboard import markdown_extended
5
5
6 DEBUG = True
6 DEBUG = True
7 TEMPLATE_DEBUG = DEBUG
7 TEMPLATE_DEBUG = DEBUG
8
8
9 ADMINS = (
9 ADMINS = (
10 # ('Your Name', 'your_email@example.com'),
10 # ('Your Name', 'your_email@example.com'),
11 ('admin', 'admin@example.com')
11 ('admin', 'admin@example.com')
12 )
12 )
13
13
14 MANAGERS = ADMINS
14 MANAGERS = ADMINS
15
15
16 DATABASES = {
16 DATABASES = {
17 'default': {
17 'default': {
18 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
18 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
19 'NAME': 'database.db', # Or path to database file if using sqlite3.
19 'NAME': 'database.db', # Or path to database file if using sqlite3.
20 'USER': '', # Not used with sqlite3.
20 'USER': '', # Not used with sqlite3.
21 'PASSWORD': '', # Not used with sqlite3.
21 'PASSWORD': '', # Not used with sqlite3.
22 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
22 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
23 'PORT': '', # Set to empty string for default. Not used with sqlite3.
23 'PORT': '', # Set to empty string for default. Not used with sqlite3.
24 }
24 }
25 }
25 }
26
26
27 # Local time zone for this installation. Choices can be found here:
27 # Local time zone for this installation. Choices can be found here:
28 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
28 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
29 # although not all choices may be available on all operating systems.
29 # although not all choices may be available on all operating systems.
30 # In a Windows environment this must be set to your system time zone.
30 # In a Windows environment this must be set to your system time zone.
31 TIME_ZONE = 'Europe/Kiev'
31 TIME_ZONE = 'Europe/Kiev'
32
32
33 # Language code for this installation. All choices can be found here:
33 # Language code for this installation. All choices can be found here:
34 # http://www.i18nguy.com/unicode/language-identifiers.html
34 # http://www.i18nguy.com/unicode/language-identifiers.html
35 LANGUAGE_CODE = 'ru'
35 LANGUAGE_CODE = 'ru-RU'
36
36
37 SITE_ID = 1
37 SITE_ID = 1
38
38
39 # If you set this to False, Django will make some optimizations so as not
39 # If you set this to False, Django will make some optimizations so as not
40 # to load the internationalization machinery.
40 # to load the internationalization machinery.
41 USE_I18N = True
41 USE_I18N = True
42
42
43 # If you set this to False, Django will not format dates, numbers and
43 # If you set this to False, Django will not format dates, numbers and
44 # calendars according to the current locale.
44 # calendars according to the current locale.
45 USE_L10N = True
45 USE_L10N = True
46
46
47 # If you set this to False, Django will not use timezone-aware datetimes.
47 # If you set this to False, Django will not use timezone-aware datetimes.
48 USE_TZ = True
48 USE_TZ = True
49
49
50 # Absolute filesystem path to the directory that will hold user-uploaded files.
50 # Absolute filesystem path to the directory that will hold user-uploaded files.
51 # Example: "/home/media/media.lawrence.com/media/"
51 # Example: "/home/media/media.lawrence.com/media/"
52 MEDIA_ROOT = './media/'
52 MEDIA_ROOT = './media/'
53
53
54 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
54 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
55 # trailing slash.
55 # trailing slash.
56 # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
56 # Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
57 MEDIA_URL = '/media/'
57 MEDIA_URL = '/media/'
58
58
59 # Absolute path to the directory static files should be collected to.
59 # Absolute path to the directory static files should be collected to.
60 # Don't put anything in this directory yourself; store your static files
60 # Don't put anything in this directory yourself; store your static files
61 # in apps' "static/" subdirectories and in STATICFILES_DIRS.
61 # in apps' "static/" subdirectories and in STATICFILES_DIRS.
62 # Example: "/home/media/media.lawrence.com/static/"
62 # Example: "/home/media/media.lawrence.com/static/"
63 STATIC_ROOT = ''
63 STATIC_ROOT = ''
64
64
65 # URL prefix for static files.
65 # URL prefix for static files.
66 # Example: "http://media.lawrence.com/static/"
66 # Example: "http://media.lawrence.com/static/"
67 STATIC_URL = '/static/'
67 STATIC_URL = '/static/'
68
68
69 # Additional locations of static files
69 # Additional locations of static files
70 # It is really a hack, put real paths, not related
70 # It is really a hack, put real paths, not related
71 STATICFILES_DIRS = (
71 STATICFILES_DIRS = (
72 os.path.dirname(__file__) + '/boards/static',
72 os.path.dirname(__file__) + '/boards/static',
73
73
74 # '/d/work/python/django/neboard/neboard/boards/static',
74 # '/d/work/python/django/neboard/neboard/boards/static',
75 # Put strings here, like "/home/html/static" or "C:/www/django/static".
75 # Put strings here, like "/home/html/static" or "C:/www/django/static".
76 # Always use forward slashes, even on Windows.
76 # Always use forward slashes, even on Windows.
77 # Don't forget to use absolute paths, not relative paths.
77 # Don't forget to use absolute paths, not relative paths.
78 )
78 )
79
79
80 # List of finder classes that know how to find static files in
80 # List of finder classes that know how to find static files in
81 # various locations.
81 # various locations.
82 STATICFILES_FINDERS = (
82 STATICFILES_FINDERS = (
83 'django.contrib.staticfiles.finders.FileSystemFinder',
83 'django.contrib.staticfiles.finders.FileSystemFinder',
84 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
84 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
85 # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
85 # 'django.contrib.staticfiles.finders.DefaultStorageFinder',
86 )
86 )
87
87
88 # Make this unique, and don't share it with anybody.
88 # Make this unique, and don't share it with anybody.
89 SECRET_KEY = '@1rc$o(7=tt#kd+4s$u6wchm**z^)4x90)7f6z(i&amp;55@o11*8o'
89 SECRET_KEY = '@1rc$o(7=tt#kd+4s$u6wchm**z^)4x90)7f6z(i&amp;55@o11*8o'
90
90
91 # List of callables that know how to import templates from various sources.
91 # List of callables that know how to import templates from various sources.
92 TEMPLATE_LOADERS = (
92 TEMPLATE_LOADERS = (
93 'django.template.loaders.filesystem.Loader',
93 'django.template.loaders.filesystem.Loader',
94 'django.template.loaders.app_directories.Loader',
94 'django.template.loaders.app_directories.Loader',
95 # 'django.template.loaders.eggs.Loader',
95 # 'django.template.loaders.eggs.Loader',
96 )
96 )
97
97
98 TEMPLATE_CONTEXT_PROCESSORS = (
98 TEMPLATE_CONTEXT_PROCESSORS = (
99 'django.core.context_processors.media',
99 'django.core.context_processors.media',
100 'django.core.context_processors.static',
100 'django.core.context_processors.static',
101 'django.core.context_processors.request',
101 'django.core.context_processors.request',
102 'django.contrib.auth.context_processors.auth',
102 'django.contrib.auth.context_processors.auth',
103 )
103 )
104
104
105 MIDDLEWARE_CLASSES = (
105 MIDDLEWARE_CLASSES = (
106 'django.middleware.common.CommonMiddleware',
106 'django.middleware.common.CommonMiddleware',
107 'django.contrib.sessions.middleware.SessionMiddleware',
107 'django.contrib.sessions.middleware.SessionMiddleware',
108 # 'django.middleware.csrf.CsrfViewMiddleware',
108 # 'django.middleware.csrf.CsrfViewMiddleware',
109 'django.contrib.auth.middleware.AuthenticationMiddleware',
109 'django.contrib.auth.middleware.AuthenticationMiddleware',
110 'django.contrib.messages.middleware.MessageMiddleware',
110 'django.contrib.messages.middleware.MessageMiddleware',
111 # Uncomment the next line for simple clickjacking protection:
111 # Uncomment the next line for simple clickjacking protection:
112 # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
112 # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
113 )
113 )
114
114
115 ROOT_URLCONF = 'neboard.urls'
115 ROOT_URLCONF = 'neboard.urls'
116
116
117 # Python dotted path to the WSGI application used by Django's runserver.
117 # Python dotted path to the WSGI application used by Django's runserver.
118 WSGI_APPLICATION = 'neboard.wsgi.application'
118 WSGI_APPLICATION = 'neboard.wsgi.application'
119
119
120 TEMPLATE_DIRS = (
120 TEMPLATE_DIRS = (
121 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
121 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
122 # Always use forward slashes, even on Windows.
122 # Always use forward slashes, even on Windows.
123 # Don't forget to use absolute paths, not relative paths.
123 # Don't forget to use absolute paths, not relative paths.
124 'templates',
124 'templates',
125 )
125 )
126
126
127 INSTALLED_APPS = (
127 INSTALLED_APPS = (
128 'django.contrib.auth',
128 'django.contrib.auth',
129 'django.contrib.contenttypes',
129 'django.contrib.contenttypes',
130 'django.contrib.sessions',
130 'django.contrib.sessions',
131 'django.contrib.sites',
131 'django.contrib.sites',
132 'django.contrib.messages',
132 'django.contrib.messages',
133 'django.contrib.staticfiles',
133 'django.contrib.staticfiles',
134 # Uncomment the next line to enable the admin:
134 # Uncomment the next line to enable the admin:
135 'django.contrib.admin',
135 'django.contrib.admin',
136 # Uncomment the next line to enable admin documentation:
136 # Uncomment the next line to enable admin documentation:
137 # 'django.contrib.admindocs',
137 # 'django.contrib.admindocs',
138 'django.contrib.markup',
138 'django.contrib.markup',
139 'django_cleanup',
139 'django_cleanup',
140 'boards',
140 'boards',
141 'captcha',
141 'captcha',
142 )
142 )
143
143
144 # TODO: NEED DESIGN FIXES
144 # TODO: NEED DESIGN FIXES
145 CAPTCHA_OUTPUT_FORMAT = (u' %(hidden_field)s '
145 CAPTCHA_OUTPUT_FORMAT = (u' %(hidden_field)s '
146 u'<div class="form-label">%(image)s</div>'
146 u'<div class="form-label">%(image)s</div>'
147 u'<div class="form-text">%(text_field)s</div>')
147 u'<div class="form-text">%(text_field)s</div>')
148
148
149 # A sample logging configuration. The only tangible logging
149 # A sample logging configuration. The only tangible logging
150 # performed by this configuration is to send an email to
150 # performed by this configuration is to send an email to
151 # the site admins on every HTTP 500 error when DEBUG=False.
151 # the site admins on every HTTP 500 error when DEBUG=False.
152 # See http://docs.djangoproject.com/en/dev/topics/logging for
152 # See http://docs.djangoproject.com/en/dev/topics/logging for
153 # more details on how to customize your logging configuration.
153 # more details on how to customize your logging configuration.
154 LOGGING = {
154 LOGGING = {
155 'version': 1,
155 'version': 1,
156 'disable_existing_loggers': False,
156 'disable_existing_loggers': False,
157 'filters': {
157 'filters': {
158 'require_debug_false': {
158 'require_debug_false': {
159 '()': 'django.utils.log.RequireDebugFalse'
159 '()': 'django.utils.log.RequireDebugFalse'
160 }
160 }
161 },
161 },
162 'handlers': {
162 'handlers': {
163 'mail_admins': {
163 'mail_admins': {
164 'level': 'ERROR',
164 'level': 'ERROR',
165 'filters': ['require_debug_false'],
165 'filters': ['require_debug_false'],
166 'class': 'django.utils.log.AdminEmailHandler'
166 'class': 'django.utils.log.AdminEmailHandler'
167 }
167 }
168 },
168 },
169 'loggers': {
169 'loggers': {
170 'django.request': {
170 'django.request': {
171 'handlers': ['mail_admins'],
171 'handlers': ['mail_admins'],
172 'level': 'ERROR',
172 'level': 'ERROR',
173 'propagate': True,
173 'propagate': True,
174 },
174 },
175 }
175 }
176 }
176 }
177
177
178 MARKUP_FIELD_TYPES = (
178 MARKUP_FIELD_TYPES = (
179 ('markdown', markdown_extended),
179 ('markdown', markdown_extended),
180 )
180 )
181 # Custom imageboard settings
181 # Custom imageboard settings
182 MAX_POSTS_PER_THREAD = 10 # Thread bumplimit
182 MAX_POSTS_PER_THREAD = 10 # Thread bumplimit
183 MAX_THREAD_COUNT = 500 # Old threads will be deleted to preserve this count
183 MAX_THREAD_COUNT = 500 # Old threads will be deleted to preserve this count
184 THREADS_PER_PAGE = 10
184 THREADS_PER_PAGE = 10
185 SITE_NAME = 'Neboard'
185 SITE_NAME = 'Neboard'
186
186
187 THEMES = [
187 THEMES = [
188 ('md', 'Mystic Dark'),
188 ('md', 'Mystic Dark'),
189 ('sw', 'Snow White') ]
189 ('sw', 'Snow White') ]
190 DEFAULT_THEME = 'md'
190 DEFAULT_THEME = 'md'
191
191
192 POPULAR_TAGS = 10
192 POPULAR_TAGS = 10
193 LAST_REPLIES_COUNT = 3
193 LAST_REPLIES_COUNT = 3
194
194
195 ENABLE_CAPTCHA = True No newline at end of file
195 ENABLE_CAPTCHA = True
General Comments 0
You need to be logged in to leave comments. Login now