##// END OF EJS Templates
Removed borders from footer and header. Removed additional footer block....
neko259 -
r842:b89ae958 default
parent child Browse files
Show More
@@ -1,463 +1,473 b''
1 html {
1 html {
2 background: #555;
2 background: #555;
3 color: #ffffff;
3 color: #ffffff;
4 }
4 }
5
5
6 body {
6 body {
7 margin: 0;
7 margin: 0;
8 }
8 }
9
9
10 #admin_panel {
10 #admin_panel {
11 background: #FF0000;
11 background: #FF0000;
12 color: #00FF00
12 color: #00FF00
13 }
13 }
14
14
15 .input_field_error {
15 .input_field_error {
16 color: #FF0000;
16 color: #FF0000;
17 }
17 }
18
18
19 .title {
19 .title {
20 font-weight: bold;
20 font-weight: bold;
21 color: #ffcc00;
21 color: #ffcc00;
22 }
22 }
23
23
24 .link, a {
24 .link, a {
25 color: #afdcec;
25 color: #afdcec;
26 }
26 }
27
27
28 .block {
28 .block {
29 display: inline-block;
29 display: inline-block;
30 vertical-align: top;
30 vertical-align: top;
31 }
31 }
32
32
33 .tag {
33 .tag {
34 color: #FFD37D;
34 color: #FFD37D;
35 }
35 }
36
36
37 .post_id {
37 .post_id {
38 color: #fff380;
38 color: #fff380;
39 }
39 }
40
40
41 .post, .dead_post, .archive_post, #posts-table {
41 .post, .dead_post, .archive_post, #posts-table {
42 background: #333;
42 background: #333;
43 padding: 10px;
43 padding: 10px;
44 clear: left;
44 clear: left;
45 word-wrap: break-word;
45 word-wrap: break-word;
46 border-top: 1px solid #777;
46 border-top: 1px solid #777;
47 border-bottom: 1px solid #777;
47 border-bottom: 1px solid #777;
48 }
48 }
49
49
50 .post + .post {
50 .post + .post {
51 border-top: none;
51 border-top: none;
52 }
52 }
53
53
54 .dead_post + .dead_post {
54 .dead_post + .dead_post {
55 border-top: none;
55 border-top: none;
56 }
56 }
57
57
58 .archive_post + .archive_post {
58 .archive_post + .archive_post {
59 border-top: none;
59 border-top: none;
60 }
60 }
61
61
62 .metadata {
62 .metadata {
63 padding-top: 5px;
63 padding-top: 5px;
64 margin-top: 10px;
64 margin-top: 10px;
65 border-top: solid 1px #666;
65 border-top: solid 1px #666;
66 color: #ddd;
66 color: #ddd;
67 }
67 }
68
68
69 .navigation_panel, .tag_info {
69 .navigation_panel, .tag_info {
70 background: #444;
70 background: #444;
71 margin-bottom: 5px;
71 margin-bottom: 5px;
72 margin-top: 5px;
72 margin-top: 5px;
73 padding: 10px;
73 padding: 10px;
74 border-bottom: solid 1px #888;
74 border-bottom: solid 1px #888;
75 border-top: solid 1px #888;
75 border-top: solid 1px #888;
76 color: #eee;
76 color: #eee;
77 }
77 }
78
78
79 .navigation_panel .link {
79 .navigation_panel .link {
80 border-right: 1px solid #fff;
80 border-right: 1px solid #fff;
81 font-weight: bold;
81 font-weight: bold;
82 margin-right: 1ex;
82 margin-right: 1ex;
83 padding-right: 1ex;
83 padding-right: 1ex;
84 }
84 }
85 .navigation_panel .link:last-child {
85 .navigation_panel .link:last-child {
86 border-left: 1px solid #fff;
86 border-left: 1px solid #fff;
87 border-right: none;
87 border-right: none;
88 float: right;
88 float: right;
89 margin-left: 1ex;
89 margin-left: 1ex;
90 margin-right: 0;
90 margin-right: 0;
91 padding-left: 1ex;
91 padding-left: 1ex;
92 padding-right: 0;
92 padding-right: 0;
93 }
93 }
94
94
95 .navigation_panel::after, .post::after {
95 .navigation_panel::after, .post::after {
96 clear: both;
96 clear: both;
97 content: ".";
97 content: ".";
98 display: block;
98 display: block;
99 height: 0;
99 height: 0;
100 line-height: 0;
100 line-height: 0;
101 visibility: hidden;
101 visibility: hidden;
102 }
102 }
103
103
104 .header {
105 border-bottom: solid 1px #888;
106 margin-bottom: 5px;
107 border-top: none;
108 margin-top: 0;
109 }
110
111 .footer {
112 border-top: solid 1px #888;
113 margin-top: 5px;
114 border-bottom: none;
115 margin-bottom: 0;
116 }
117
104 p, .br {
118 p, .br {
105 margin-top: .5em;
119 margin-top: .5em;
106 margin-bottom: .5em;
120 margin-bottom: .5em;
107 }
121 }
108
122
109 .post-form-w {
123 .post-form-w {
110 background: #333344;
124 background: #333344;
111 border-top: solid 1px #888;
125 border-top: solid 1px #888;
112 border-bottom: solid 1px #888;
126 border-bottom: solid 1px #888;
113 color: #fff;
127 color: #fff;
114 padding: 10px;
128 padding: 10px;
115 margin-bottom: 5px;
129 margin-bottom: 5px;
116 margin-top: 5px;
130 margin-top: 5px;
117 }
131 }
118
132
119 .form-row {
133 .form-row {
120 width: 100%;
134 width: 100%;
121 }
135 }
122
136
123 .form-label {
137 .form-label {
124 padding: .25em 1ex .25em 0;
138 padding: .25em 1ex .25em 0;
125 vertical-align: top;
139 vertical-align: top;
126 }
140 }
127
141
128 .form-input {
142 .form-input {
129 padding: .25em 0;
143 padding: .25em 0;
130 }
144 }
131
145
132 .form-errors {
146 .form-errors {
133 font-weight: bolder;
147 font-weight: bolder;
134 vertical-align: middle;
148 vertical-align: middle;
135 }
149 }
136
150
137 .post-form input:not([name="image"]), .post-form textarea {
151 .post-form input:not([name="image"]), .post-form textarea {
138 background: #333;
152 background: #333;
139 color: #fff;
153 color: #fff;
140 border: solid 1px;
154 border: solid 1px;
141 padding: 0;
155 padding: 0;
142 font: medium sans-serif;
156 font: medium sans-serif;
143 width: 100%;
157 width: 100%;
144 }
158 }
145
159
146 .form-submit {
160 .form-submit {
147 display: table;
161 display: table;
148 margin-bottom: 1ex;
162 margin-bottom: 1ex;
149 margin-top: 1ex;
163 margin-top: 1ex;
150 }
164 }
151
165
152 .form-title {
166 .form-title {
153 font-weight: bold;
167 font-weight: bold;
154 font-size: 2ex;
168 font-size: 2ex;
155 margin-bottom: 0.5ex;
169 margin-bottom: 0.5ex;
156 }
170 }
157
171
158 .post-form input[type="submit"], input[type="submit"] {
172 .post-form input[type="submit"], input[type="submit"] {
159 background: #222;
173 background: #222;
160 border: solid 2px #fff;
174 border: solid 2px #fff;
161 color: #fff;
175 color: #fff;
162 padding: 0.5ex;
176 padding: 0.5ex;
163 }
177 }
164
178
165 input[type="submit"]:hover {
179 input[type="submit"]:hover {
166 background: #060;
180 background: #060;
167 }
181 }
168
182
169 blockquote {
183 blockquote {
170 border-left: solid 2px;
184 border-left: solid 2px;
171 padding-left: 5px;
185 padding-left: 5px;
172 color: #B1FB17;
186 color: #B1FB17;
173 margin: 0;
187 margin: 0;
174 }
188 }
175
189
176 .post > .image {
190 .post > .image {
177 float: left;
191 float: left;
178 margin: 0 1ex .5ex 0;
192 margin: 0 1ex .5ex 0;
179 min-width: 1px;
193 min-width: 1px;
180 text-align: center;
194 text-align: center;
181 display: table-row;
195 display: table-row;
182 }
196 }
183
197
184 .post > .metadata {
198 .post > .metadata {
185 clear: left;
199 clear: left;
186 }
200 }
187
201
188 .get {
202 .get {
189 font-weight: bold;
203 font-weight: bold;
190 color: #d55;
204 color: #d55;
191 }
205 }
192
206
193 * {
207 * {
194 text-decoration: none;
208 text-decoration: none;
195 }
209 }
196
210
197 .dead_post {
211 .dead_post {
198 background-color: #442222;
212 background-color: #442222;
199 }
213 }
200
214
201 .archive_post {
215 .archive_post {
202 background-color: #000;
216 background-color: #000;
203 }
217 }
204
218
205 .mark_btn {
219 .mark_btn {
206 border: 1px solid;
220 border: 1px solid;
207 min-width: 2ex;
221 min-width: 2ex;
208 padding: 2px 2ex;
222 padding: 2px 2ex;
209 }
223 }
210
224
211 .mark_btn:hover {
225 .mark_btn:hover {
212 background: #555;
226 background: #555;
213 }
227 }
214
228
215 .quote {
229 .quote {
216 color: #92cf38;
230 color: #92cf38;
217 font-style: italic;
231 font-style: italic;
218 }
232 }
219
233
220 .multiquote {
234 .multiquote {
221 padding: 3px;
235 padding: 3px;
222 display: inline-block;
236 display: inline-block;
223 background: #222;
237 background: #222;
224 border-style: solid;
238 border-style: solid;
225 border-width: 1px 1px 1px 4px;
239 border-width: 1px 1px 1px 4px;
226 font-size: 0.9em;
240 font-size: 0.9em;
227 }
241 }
228
242
229 .spoiler {
243 .spoiler {
230 background: white;
244 background: white;
231 color: white;
245 color: white;
232 }
246 }
233
247
234 .spoiler:hover {
248 .spoiler:hover {
235 color: black;
249 color: black;
236 }
250 }
237
251
238 .comment {
252 .comment {
239 color: #eb2;
253 color: #eb2;
240 }
254 }
241
255
242 a:hover {
256 a:hover {
243 text-decoration: underline;
257 text-decoration: underline;
244 }
258 }
245
259
246 .last-replies {
260 .last-replies {
247 margin-left: 3ex;
261 margin-left: 3ex;
248 margin-right: 3ex;
262 margin-right: 3ex;
249 border-left: solid 1px #777;
263 border-left: solid 1px #777;
250 border-right: solid 1px #777;
264 border-right: solid 1px #777;
251 }
265 }
252
266
253 .last-replies > .post:first-child {
267 .last-replies > .post:first-child {
254 border-top: none;
268 border-top: none;
255 }
269 }
256
270
257 .thread {
271 .thread {
258 margin-bottom: 3ex;
272 margin-bottom: 3ex;
259 margin-top: 1ex;
273 margin-top: 1ex;
260 }
274 }
261
275
262 .post:target {
276 .post:target {
263 border: solid 2px white;
277 border: solid 2px white;
264 }
278 }
265
279
266 pre{
280 pre{
267 white-space:pre-wrap
281 white-space:pre-wrap
268 }
282 }
269
283
270 li {
284 li {
271 list-style-position: inside;
285 list-style-position: inside;
272 }
286 }
273
287
274 .fancybox-skin {
288 .fancybox-skin {
275 position: relative;
289 position: relative;
276 background-color: #fff;
290 background-color: #fff;
277 color: #ddd;
291 color: #ddd;
278 text-shadow: none;
292 text-shadow: none;
279 }
293 }
280
294
281 .fancybox-image {
295 .fancybox-image {
282 border: 1px solid black;
296 border: 1px solid black;
283 }
297 }
284
298
285 .image-mode-tab {
299 .image-mode-tab {
286 background: #444;
300 background: #444;
287 color: #eee;
301 color: #eee;
288 margin-top: 5px;
302 margin-top: 5px;
289 padding: 5px;
303 padding: 5px;
290 border-top: 1px solid #888;
304 border-top: 1px solid #888;
291 border-bottom: 1px solid #888;
305 border-bottom: 1px solid #888;
292 }
306 }
293
307
294 .image-mode-tab > label {
308 .image-mode-tab > label {
295 margin: 0 1ex;
309 margin: 0 1ex;
296 }
310 }
297
311
298 .image-mode-tab > label > input {
312 .image-mode-tab > label > input {
299 margin-right: .5ex;
313 margin-right: .5ex;
300 }
314 }
301
315
302 #posts-table {
316 #posts-table {
303 margin-top: 5px;
317 margin-top: 5px;
304 margin-bottom: 5px;
318 margin-bottom: 5px;
305 }
319 }
306
320
307 .tag_info > h2 {
321 .tag_info > h2 {
308 margin: 0;
322 margin: 0;
309 }
323 }
310
324
311 .post-info {
325 .post-info {
312 color: #ddd;
326 color: #ddd;
313 margin-bottom: 1ex;
327 margin-bottom: 1ex;
314 }
328 }
315
329
316 .moderator_info {
330 .moderator_info {
317 color: #e99d41;
331 color: #e99d41;
318 float: right;
332 float: right;
319 font-weight: bold;
333 font-weight: bold;
320 }
334 }
321
335
322 .refmap {
336 .refmap {
323 font-size: 0.9em;
337 font-size: 0.9em;
324 color: #ccc;
338 color: #ccc;
325 margin-top: 1em;
339 margin-top: 1em;
326 }
340 }
327
341
328 .fav {
342 .fav {
329 color: yellow;
343 color: yellow;
330 }
344 }
331
345
332 .not_fav {
346 .not_fav {
333 color: #ccc;
347 color: #ccc;
334 }
348 }
335
349
336 .role {
350 .role {
337 text-decoration: underline;
351 text-decoration: underline;
338 }
352 }
339
353
340 .form-email {
354 .form-email {
341 display: none;
355 display: none;
342 }
356 }
343
357
344 .footer {
345 margin: 5px;
346 }
347
348 .bar-value {
358 .bar-value {
349 background: rgba(50, 55, 164, 0.45);
359 background: rgba(50, 55, 164, 0.45);
350 font-size: 0.9em;
360 font-size: 0.9em;
351 height: 1.5em;
361 height: 1.5em;
352 }
362 }
353
363
354 .bar-bg {
364 .bar-bg {
355 position: relative;
365 position: relative;
356 border-top: solid 1px #888;
366 border-top: solid 1px #888;
357 border-bottom: solid 1px #888;
367 border-bottom: solid 1px #888;
358 margin-top: 5px;
368 margin-top: 5px;
359 overflow: hidden;
369 overflow: hidden;
360 }
370 }
361
371
362 .bar-text {
372 .bar-text {
363 padding: 2px;
373 padding: 2px;
364 position: absolute;
374 position: absolute;
365 left: 0;
375 left: 0;
366 top: 0;
376 top: 0;
367 }
377 }
368
378
369 .page_link {
379 .page_link {
370 background: #444;
380 background: #444;
371 border-top: solid 1px #888;
381 border-top: solid 1px #888;
372 border-bottom: solid 1px #888;
382 border-bottom: solid 1px #888;
373 padding: 5px;
383 padding: 5px;
374 color: #eee;
384 color: #eee;
375 font-size: 2ex;
385 font-size: 2ex;
376 }
386 }
377
387
378 .skipped_replies {
388 .skipped_replies {
379 padding: 5px;
389 padding: 5px;
380 margin-left: 3ex;
390 margin-left: 3ex;
381 margin-right: 3ex;
391 margin-right: 3ex;
382 border-left: solid 1px #888;
392 border-left: solid 1px #888;
383 border-right: solid 1px #888;
393 border-right: solid 1px #888;
384 border-bottom: solid 1px #888;
394 border-bottom: solid 1px #888;
385 background: #000;
395 background: #000;
386 }
396 }
387
397
388 .current_page {
398 .current_page {
389 border: solid 1px #afdcec;
399 border: solid 1px #afdcec;
390 padding: 2px;
400 padding: 2px;
391 }
401 }
392
402
393 .current_mode {
403 .current_mode {
394 font-weight: bold;
404 font-weight: bold;
395 }
405 }
396
406
397 .gallery_image {
407 .gallery_image {
398 border: solid 1px;
408 border: solid 1px;
399 padding: 0.5ex;
409 padding: 0.5ex;
400 margin: 0.5ex;
410 margin: 0.5ex;
401 text-align: center;
411 text-align: center;
402 }
412 }
403
413
404 code {
414 code {
405 border: dashed 1px #ccc;
415 border: dashed 1px #ccc;
406 background: #111;
416 background: #111;
407 padding: 2px;
417 padding: 2px;
408 font-size: 1.2em;
418 font-size: 1.2em;
409 display: inline-block;
419 display: inline-block;
410 }
420 }
411
421
412 pre {
422 pre {
413 overflow: auto;
423 overflow: auto;
414 }
424 }
415
425
416 .img-full {
426 .img-full {
417 background: #222;
427 background: #222;
418 border: solid 1px white;
428 border: solid 1px white;
419 }
429 }
420
430
421 .tag_item {
431 .tag_item {
422 display: inline-block;
432 display: inline-block;
423 border: 1px dashed #666;
433 border: 1px dashed #666;
424 margin: 0.2ex;
434 margin: 0.2ex;
425 padding: 0.1ex;
435 padding: 0.1ex;
426 }
436 }
427
437
428 #id_models li {
438 #id_models li {
429 list-style: none;
439 list-style: none;
430 }
440 }
431
441
432 #id_q {
442 #id_q {
433 margin-left: 1ex;
443 margin-left: 1ex;
434 }
444 }
435
445
436 ul {
446 ul {
437 padding-left: 0px;
447 padding-left: 0px;
438 }
448 }
439
449
440 .quote-header {
450 .quote-header {
441 border-bottom: 2px solid #ddd;
451 border-bottom: 2px solid #ddd;
442 margin-bottom: 1ex;
452 margin-bottom: 1ex;
443 padding-bottom: .5ex;
453 padding-bottom: .5ex;
444 color: #ddd;
454 color: #ddd;
445 font-size: 1.2em;
455 font-size: 1.2em;
446 }
456 }
447
457
448 /* Reflink preview */
458 /* Reflink preview */
449 .post_preview {
459 .post_preview {
450 border-left: 1px solid #777;
460 border-left: 1px solid #777;
451 border-right: 1px solid #777;
461 border-right: 1px solid #777;
452 }
462 }
453
463
454 /* Code highlighter */
464 /* Code highlighter */
455 .hljs {
465 .hljs {
456 color: #fff;
466 color: #fff;
457 background: #000;
467 background: #000;
458 display: inline-block;
468 display: inline-block;
459 }
469 }
460
470
461 .hljs, .hljs-subst, .hljs-tag .hljs-title, .lisp .hljs-title, .clojure .hljs-built_in, .nginx .hljs-title {
471 .hljs, .hljs-subst, .hljs-tag .hljs-title, .lisp .hljs-title, .clojure .hljs-built_in, .nginx .hljs-title {
462 color: #fff;
472 color: #fff;
463 }
473 }
@@ -1,62 +1,58 b''
1 {% load staticfiles %}
1 {% load staticfiles %}
2 {% load i18n %}
2 {% load i18n %}
3 {% load l10n %}
3 {% load l10n %}
4 {% load static from staticfiles %}
4 {% load static from staticfiles %}
5
5
6 <!DOCTYPE html>
6 <!DOCTYPE html>
7 <html>
7 <html>
8 <head>
8 <head>
9 <link rel="stylesheet" type="text/css" href="{% static 'css/base.css' %}" media="all"/>
9 <link rel="stylesheet" type="text/css" href="{% static 'css/base.css' %}" media="all"/>
10 <link rel="stylesheet" type="text/css" href="{% static 'css/3party/highlight.css' %}" media="all"/>
10 <link rel="stylesheet" type="text/css" href="{% static 'css/3party/highlight.css' %}" media="all"/>
11 <link rel="stylesheet" type="text/css" href="{% static theme_css %}" media="all"/>
11 <link rel="stylesheet" type="text/css" href="{% static theme_css %}" media="all"/>
12 <link rel="alternate" type="application/rss+xml" href="rss/" title="{% trans 'Feed' %}"/>
12 <link rel="alternate" type="application/rss+xml" href="rss/" title="{% trans 'Feed' %}"/>
13
13
14 <link rel="icon" type="image/png"
14 <link rel="icon" type="image/png"
15 href="{% static 'favicon.png' %}">
15 href="{% static 'favicon.png' %}">
16
16
17 <meta name="viewport" content="width=device-width, initial-scale=1"/>
17 <meta name="viewport" content="width=device-width, initial-scale=1"/>
18 <meta charset="utf-8"/>
18 <meta charset="utf-8"/>
19
19
20 {% block head %}{% endblock %}
20 {% block head %}{% endblock %}
21 </head>
21 </head>
22 <body>
22 <body>
23 <script src="{% static 'js/jquery-2.0.1.min.js' %}"></script>
23 <script src="{% static 'js/jquery-2.0.1.min.js' %}"></script>
24 <script src="{% static 'js/jquery-ui-1.10.3.custom.min.js' %}"></script>
24 <script src="{% static 'js/jquery-ui-1.10.3.custom.min.js' %}"></script>
25 <script src="{% static 'js/jquery.mousewheel.js' %}"></script>
25 <script src="{% static 'js/jquery.mousewheel.js' %}"></script>
26 <script src="{% url 'js_info_dict' %}"></script>
26 <script src="{% url 'js_info_dict' %}"></script>
27
27
28 <div class="navigation_panel">
28 <div class="navigation_panel header">
29 <a class="link" href="{% url 'index' %}">{% trans "All threads" %}</a>
29 <a class="link" href="{% url 'index' %}">{% trans "All threads" %}</a>
30 {% for tag in tags %}
30 {% for tag in tags %}
31 <a class="tag" href="{% url 'tag' tag_name=tag.name %}"
31 <a class="tag" href="{% url 'tag' tag_name=tag.name %}"
32 >#{{ tag.name }}</a>,
32 >#{{ tag.name }}</a>,
33 {% endfor %}
33 {% endfor %}
34 <a href="{% url 'tags' %}" title="{% trans 'Tag management' %}"
34 <a href="{% url 'tags' %}" title="{% trans 'Tag management' %}"
35 >[...]</a>,
35 >[...]</a>,
36 <a href="{% url 'search' %}" title="{% trans 'Search' %}">[S]</a>
36 <a href="{% url 'search' %}" title="{% trans 'Search' %}">[S]</a>
37 <a class="link" href="{% url 'settings' %}">{% trans 'Settings' %}</a>
37 <a class="link" href="{% url 'settings' %}">{% trans 'Settings' %}</a>
38 </div>
38 </div>
39
39
40 {% block content %}{% endblock %}
40 {% block content %}{% endblock %}
41
41
42 <script src="{% static 'js/popup.js' %}"></script>
42 <script src="{% static 'js/popup.js' %}"></script>
43 <script src="{% static 'js/image.js' %}"></script>
43 <script src="{% static 'js/image.js' %}"></script>
44 <script src="{% static 'js/3party/highlight.min.js' %}"></script>
44 <script src="{% static 'js/3party/highlight.min.js' %}"></script>
45 <script src="{% static 'js/refpopup.js' %}"></script>
45 <script src="{% static 'js/refpopup.js' %}"></script>
46 <script src="{% static 'js/main.js' %}"></script>
46 <script src="{% static 'js/main.js' %}"></script>
47
47
48 <div class="navigation_panel">
48 <div class="navigation_panel footer">
49 {% block metapanel %}{% endblock %}
49 {% block metapanel %}{% endblock %}
50 [<a href="{% url 'admin:index' %}">{% trans 'Admin' %}</a>]
50 [<a href="{% url 'admin:index' %}">{% trans 'Admin' %}</a>]
51 {% with ppd=posts_per_day|floatformat:2 %}
51 {% with ppd=posts_per_day|floatformat:2 %}
52 {% blocktrans %}Speed: {{ ppd }} posts per day{% endblocktrans %}
52 {% blocktrans %}Speed: {{ ppd }} posts per day{% endblocktrans %}
53 {% endwith %}
53 {% endwith %}
54 <a class="link" href="#top">{% trans 'Up' %}</a>
54 <a class="link" href="#top">{% trans 'Up' %}</a>
55 </div>
55 </div>
56
56
57 <div class="footer">
58 <!-- Put your banners here -->
59 </div>
60
61 </body>
57 </body>
62 </html>
58 </html>
@@ -1,250 +1,235 b''
1 # Django settings for neboard project.
1 # Django settings for neboard project.
2 import os
2 import os
3 from boards.mdx_neboard import bbcode_extended
3 from boards.mdx_neboard import bbcode_extended
4
4
5 DEBUG = True
5 DEBUG = True
6 TEMPLATE_DEBUG = DEBUG
6 TEMPLATE_DEBUG = DEBUG
7
7
8 ADMINS = (
8 ADMINS = (
9 # ('Your Name', 'your_email@example.com'),
9 # ('Your Name', 'your_email@example.com'),
10 ('admin', 'admin@example.com')
10 ('admin', 'admin@example.com')
11 )
11 )
12
12
13 MANAGERS = ADMINS
13 MANAGERS = ADMINS
14
14
15 DATABASES = {
15 DATABASES = {
16 'default': {
16 'default': {
17 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
17 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
18 'NAME': 'database.db', # Or path to database file if using sqlite3.
18 'NAME': 'database.db', # Or path to database file if using sqlite3.
19 'USER': '', # Not used with sqlite3.
19 'USER': '', # Not used with sqlite3.
20 'PASSWORD': '', # Not used with sqlite3.
20 'PASSWORD': '', # Not used with sqlite3.
21 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
21 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
22 'PORT': '', # Set to empty string for default. Not used with sqlite3.
22 'PORT': '', # Set to empty string for default. Not used with sqlite3.
23 'CONN_MAX_AGE': None,
23 'CONN_MAX_AGE': None,
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 = 'en'
35 LANGUAGE_CODE = 'en'
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 )
85 )
86
86
87 if DEBUG:
87 if DEBUG:
88 STATICFILES_STORAGE = \
88 STATICFILES_STORAGE = \
89 'django.contrib.staticfiles.storage.StaticFilesStorage'
89 'django.contrib.staticfiles.storage.StaticFilesStorage'
90 else:
90 else:
91 STATICFILES_STORAGE = \
91 STATICFILES_STORAGE = \
92 'django.contrib.staticfiles.storage.CachedStaticFilesStorage'
92 'django.contrib.staticfiles.storage.CachedStaticFilesStorage'
93
93
94 # Make this unique, and don't share it with anybody.
94 # Make this unique, and don't share it with anybody.
95 SECRET_KEY = '@1rc$o(7=tt#kd+4s$u6wchm**z^)4x90)7f6z(i&amp;55@o11*8o'
95 SECRET_KEY = '@1rc$o(7=tt#kd+4s$u6wchm**z^)4x90)7f6z(i&amp;55@o11*8o'
96
96
97 # List of callables that know how to import templates from various sources.
97 # List of callables that know how to import templates from various sources.
98 TEMPLATE_LOADERS = (
98 TEMPLATE_LOADERS = (
99 'django.template.loaders.filesystem.Loader',
99 'django.template.loaders.filesystem.Loader',
100 'django.template.loaders.app_directories.Loader',
100 'django.template.loaders.app_directories.Loader',
101 )
101 )
102
102
103 TEMPLATE_CONTEXT_PROCESSORS = (
103 TEMPLATE_CONTEXT_PROCESSORS = (
104 'django.core.context_processors.media',
104 'django.core.context_processors.media',
105 'django.core.context_processors.static',
105 'django.core.context_processors.static',
106 'django.core.context_processors.request',
106 'django.core.context_processors.request',
107 'django.contrib.auth.context_processors.auth',
107 'django.contrib.auth.context_processors.auth',
108 'boards.context_processors.user_and_ui_processor',
108 'boards.context_processors.user_and_ui_processor',
109 )
109 )
110
110
111 MIDDLEWARE_CLASSES = (
111 MIDDLEWARE_CLASSES = (
112 'django.contrib.sessions.middleware.SessionMiddleware',
112 'django.contrib.sessions.middleware.SessionMiddleware',
113 'django.middleware.locale.LocaleMiddleware',
113 'django.middleware.locale.LocaleMiddleware',
114 'django.middleware.common.CommonMiddleware',
114 'django.middleware.common.CommonMiddleware',
115 'django.contrib.auth.middleware.AuthenticationMiddleware',
115 'django.contrib.auth.middleware.AuthenticationMiddleware',
116 'django.contrib.messages.middleware.MessageMiddleware',
116 'django.contrib.messages.middleware.MessageMiddleware',
117 'boards.middlewares.BanMiddleware',
117 'boards.middlewares.BanMiddleware',
118 'boards.middlewares.MinifyHTMLMiddleware',
118 'boards.middlewares.MinifyHTMLMiddleware',
119 )
119 )
120
120
121 ROOT_URLCONF = 'neboard.urls'
121 ROOT_URLCONF = 'neboard.urls'
122
122
123 # Python dotted path to the WSGI application used by Django's runserver.
123 # Python dotted path to the WSGI application used by Django's runserver.
124 WSGI_APPLICATION = 'neboard.wsgi.application'
124 WSGI_APPLICATION = 'neboard.wsgi.application'
125
125
126 TEMPLATE_DIRS = (
126 TEMPLATE_DIRS = (
127 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
127 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
128 # Always use forward slashes, even on Windows.
128 # Always use forward slashes, even on Windows.
129 # Don't forget to use absolute paths, not relative paths.
129 # Don't forget to use absolute paths, not relative paths.
130 'templates',
130 'templates',
131 )
131 )
132
132
133 INSTALLED_APPS = (
133 INSTALLED_APPS = (
134 'django.contrib.auth',
134 'django.contrib.auth',
135 'django.contrib.contenttypes',
135 'django.contrib.contenttypes',
136 'django.contrib.sessions',
136 'django.contrib.sessions',
137 # 'django.contrib.sites',
137 # 'django.contrib.sites',
138 'django.contrib.messages',
138 'django.contrib.messages',
139 'django.contrib.staticfiles',
139 'django.contrib.staticfiles',
140 # Uncomment the next line to enable the admin:
140 # Uncomment the next line to enable the admin:
141 'django.contrib.admin',
141 'django.contrib.admin',
142 # Uncomment the next line to enable admin documentation:
142 # Uncomment the next line to enable admin documentation:
143 # 'django.contrib.admindocs',
143 # 'django.contrib.admindocs',
144 'django.contrib.humanize',
144 'django.contrib.humanize',
145 'django_cleanup',
145 'django_cleanup',
146
146
147 # Migrations
147 # Migrations
148 'south',
148 'south',
149 'debug_toolbar',
149 'debug_toolbar',
150
150
151 # Search
151 # Search
152 'haystack',
152 'haystack',
153
153
154 'boards',
154 'boards',
155 )
155 )
156
156
157 DEBUG_TOOLBAR_PANELS = (
158 'debug_toolbar.panels.version.VersionDebugPanel',
159 'debug_toolbar.panels.timer.TimerDebugPanel',
160 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
161 'debug_toolbar.panels.headers.HeaderDebugPanel',
162 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
163 'debug_toolbar.panels.template.TemplateDebugPanel',
164 'debug_toolbar.panels.sql.SQLDebugPanel',
165 'debug_toolbar.panels.signals.SignalDebugPanel',
166 'debug_toolbar.panels.logger.LoggingPanel',
167 )
168
169 # A sample logging configuration. The only tangible logging
157 # A sample logging configuration. The only tangible logging
170 # performed by this configuration is to send an email to
158 # performed by this configuration is to send an email to
171 # the site admins on every HTTP 500 error when DEBUG=False.
159 # the site admins on every HTTP 500 error when DEBUG=False.
172 # See http://docs.djangoproject.com/en/dev/topics/logging for
160 # See http://docs.djangoproject.com/en/dev/topics/logging for
173 # more details on how to customize your logging configuration.
161 # more details on how to customize your logging configuration.
174 LOGGING = {
162 LOGGING = {
175 'version': 1,
163 'version': 1,
176 'disable_existing_loggers': False,
164 'disable_existing_loggers': False,
177 'formatters': {
165 'formatters': {
178 'verbose': {
166 'verbose': {
179 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
167 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
180 },
168 },
181 'simple': {
169 'simple': {
182 'format': '%(levelname)s %(asctime)s [%(module)s] %(message)s'
170 'format': '%(levelname)s %(asctime)s [%(module)s] %(message)s'
183 },
171 },
184 },
172 },
185 'filters': {
173 'filters': {
186 'require_debug_false': {
174 'require_debug_false': {
187 '()': 'django.utils.log.RequireDebugFalse'
175 '()': 'django.utils.log.RequireDebugFalse'
188 }
176 }
189 },
177 },
190 'handlers': {
178 'handlers': {
191 'console': {
179 'console': {
192 'level': 'DEBUG',
180 'level': 'DEBUG',
193 'class': 'logging.StreamHandler',
181 'class': 'logging.StreamHandler',
194 'formatter': 'simple'
182 'formatter': 'simple'
195 },
183 },
196 },
184 },
197 'loggers': {
185 'loggers': {
198 'boards': {
186 'boards': {
199 'handlers': ['console'],
187 'handlers': ['console'],
200 'level': 'DEBUG',
188 'level': 'DEBUG',
201 }
189 }
202 },
190 },
203 }
191 }
204
192
205 HAYSTACK_CONNECTIONS = {
193 HAYSTACK_CONNECTIONS = {
206 'default': {
194 'default': {
207 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
195 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
208 'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
196 'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
209 },
197 },
210 }
198 }
211
199
212 MARKUP_FIELD_TYPES = (
200 MARKUP_FIELD_TYPES = (
213 ('bbcode', bbcode_extended),
201 ('bbcode', bbcode_extended),
214 )
202 )
215
203
216 THEMES = [
204 THEMES = [
217 ('md', 'Mystic Dark'),
205 ('md', 'Mystic Dark'),
218 ('md_centered', 'Mystic Dark (centered)'),
206 ('md_centered', 'Mystic Dark (centered)'),
219 ('sw', 'Snow White'),
207 ('sw', 'Snow White'),
220 ('pg', 'Photon Gray'),
208 ('pg', 'Photon Gray'),
221 ]
209 ]
222
210
223 POPULAR_TAGS = 10
211 POPULAR_TAGS = 10
224
212
225 POSTING_DELAY = 20 # seconds
213 POSTING_DELAY = 20 # seconds
226
214
227 COMPRESS_HTML = True
215 COMPRESS_HTML = True
228
216
229 # Debug mode middlewares
217 # Debug mode middlewares
230 if DEBUG:
218 if DEBUG:
231 MIDDLEWARE_CLASSES += (
219 MIDDLEWARE_CLASSES += (
232 #'boards.profiler.ProfilerMiddleware',
233 'debug_toolbar.middleware.DebugToolbarMiddleware',
220 'debug_toolbar.middleware.DebugToolbarMiddleware',
234 )
221 )
235
222
236 def custom_show_toolbar(request):
223 def custom_show_toolbar(request):
237 return DEBUG
224 return False
238
225
239 DEBUG_TOOLBAR_CONFIG = {
226 DEBUG_TOOLBAR_CONFIG = {
240 'INTERCEPT_REDIRECTS': False,
241 'SHOW_TOOLBAR_CALLBACK': custom_show_toolbar,
242 'HIDE_DJANGO_SQL': False,
243 'ENABLE_STACKTRACES': True,
227 'ENABLE_STACKTRACES': True,
228 'SHOW_TOOLBAR_CALLBACK': 'neboard.settings.custom_show_toolbar',
244 }
229 }
245
230
246 # FIXME Uncommenting this fails somehow. Need to investigate this
231 # FIXME Uncommenting this fails somehow. Need to investigate this
247 #DEBUG_TOOLBAR_PANELS += (
232 #DEBUG_TOOLBAR_PANELS += (
248 # 'debug_toolbar.panels.profiling.ProfilingDebugPanel',
233 # 'debug_toolbar.panels.profiling.ProfilingDebugPanel',
249 #)
234 #)
250
235
General Comments 0
You need to be logged in to leave comments. Login now