##// END OF EJS Templates
Don't use JS and links in tag buttons. Use <button> instead
neko259 -
r1039:4008735b default
parent child Browse files
Show More
@@ -1,91 +1,93 b''
1 .ui-button {
1 .ui-button {
2 display: none;
2 display: none;
3 }
3 }
4
4
5 .ui-dialog-content {
5 .ui-dialog-content {
6 padding: 0;
6 padding: 0;
7 min-height: 0;
7 min-height: 0;
8 }
8 }
9
9
10 .mark_btn {
10 .mark_btn {
11 cursor: pointer;
11 cursor: pointer;
12 }
12 }
13
13
14 .img-full {
14 .img-full {
15 position: fixed;
15 position: fixed;
16 background-color: #CCC;
16 background-color: #CCC;
17 border: 1px solid #000;
17 border: 1px solid #000;
18 cursor: pointer;
18 cursor: pointer;
19 }
19 }
20
20
21 .strikethrough {
21 .strikethrough {
22 text-decoration: line-through;
22 text-decoration: line-through;
23 }
23 }
24
24
25 .post_preview {
25 .post_preview {
26 z-index: 300;
26 z-index: 300;
27 position:absolute;
27 position:absolute;
28 }
28 }
29
29
30 .gallery_image {
30 .gallery_image {
31 display: inline-block;
31 display: inline-block;
32 }
32 }
33
33
34 @media print {
34 @media print {
35 .post-form-w {
35 .post-form-w {
36 display: none;
36 display: none;
37 }
37 }
38 }
38 }
39
39
40 input[name="image"] {
40 input[name="image"] {
41 display: block;
41 display: block;
42 width: 100px;
42 width: 100px;
43 height: 100px;
43 height: 100px;
44 cursor: pointer;
44 cursor: pointer;
45 position: absolute;
45 position: absolute;
46 opacity: 0;
46 opacity: 0;
47 z-index: 1;
47 z-index: 1;
48 }
48 }
49
49
50 .file_wrap {
50 .file_wrap {
51 width: 100px;
51 width: 100px;
52 height: 100px;
52 height: 100px;
53 border: solid 1px white;
53 border: solid 1px white;
54 display: inline-block;
54 display: inline-block;
55 }
55 }
56
56
57 form > .file_wrap {
57 form > .file_wrap {
58 float: left;
58 float: left;
59 }
59 }
60
60
61 .file-thumb {
61 .file-thumb {
62 width: 100px;
62 width: 100px;
63 height: 100px;
63 height: 100px;
64 background-size: cover;
64 background-size: cover;
65 background-position: center;
65 background-position: center;
66 }
66 }
67
67
68 .compact-form-text {
68 .compact-form-text {
69 margin-left:110px;
69 margin-left:110px;
70 }
70 }
71
71
72 textarea, input {
72 textarea, input {
73 -moz-box-sizing: border-box;
73 -moz-box-sizing: border-box;
74 -webkit-box-sizing: border-box;
74 -webkit-box-sizing: border-box;
75 box-sizing: border-box;
75 box-sizing: border-box;
76 }
76 }
77
77
78 .compact-form-text > textarea {
78 .compact-form-text > textarea {
79 height: 100px;
79 height: 100px;
80 width: 100%;
80 width: 100%;
81 }
81 }
82
82
83 .post-button-form {
83 .post-button-form {
84 display: inline;
84 display: inline;
85 }
85 }
86
86
87 .post-button-form > input[type="submit"] {
87 .post-button-form > button {
88 border: none;
88 border: none;
89 margin: 0;
89 margin: inherit;
90 padding: 0;
90 padding: inherit;
91 background: none;
92 font-size: inherit;
91 }
93 }
@@ -1,511 +1,515 b''
1 * {
1 * {
2 text-decoration: none;
2 text-decoration: none;
3 font-weight: inherit;
3 font-weight: inherit;
4 }
4 }
5
5
6 b, strong {
6 b, strong {
7 font-weight: bold;
7 font-weight: bold;
8 }
8 }
9
9
10 html {
10 html {
11 background: #555;
11 background: #555;
12 color: #ffffff;
12 color: #ffffff;
13 }
13 }
14
14
15 body {
15 body {
16 margin: 0;
16 margin: 0;
17 }
17 }
18
18
19 #admin_panel {
19 #admin_panel {
20 background: #FF0000;
20 background: #FF0000;
21 color: #00FF00
21 color: #00FF00
22 }
22 }
23
23
24 .input_field_error {
24 .input_field_error {
25 color: #FF0000;
25 color: #FF0000;
26 }
26 }
27
27
28 .title {
28 .title {
29 font-weight: bold;
29 font-weight: bold;
30 color: #ffcc00;
30 color: #ffcc00;
31 }
31 }
32
32
33 .link, a {
33 .link, a {
34 color: #afdcec;
34 color: #afdcec;
35 }
35 }
36
36
37 .block {
37 .block {
38 display: inline-block;
38 display: inline-block;
39 vertical-align: top;
39 vertical-align: top;
40 }
40 }
41
41
42 .tag {
42 .tag {
43 color: #FFD37D;
43 color: #FFD37D;
44 }
44 }
45
45
46 .post_id {
46 .post_id {
47 color: #fff380;
47 color: #fff380;
48 }
48 }
49
49
50 .post, .dead_post, .archive_post, #posts-table {
50 .post, .dead_post, .archive_post, #posts-table {
51 background: #333;
51 background: #333;
52 padding: 10px;
52 padding: 10px;
53 clear: left;
53 clear: left;
54 word-wrap: break-word;
54 word-wrap: break-word;
55 border-top: 1px solid #777;
55 border-top: 1px solid #777;
56 border-bottom: 1px solid #777;
56 border-bottom: 1px solid #777;
57 }
57 }
58
58
59 .post + .post {
59 .post + .post {
60 border-top: none;
60 border-top: none;
61 }
61 }
62
62
63 .dead_post + .dead_post {
63 .dead_post + .dead_post {
64 border-top: none;
64 border-top: none;
65 }
65 }
66
66
67 .archive_post + .archive_post {
67 .archive_post + .archive_post {
68 border-top: none;
68 border-top: none;
69 }
69 }
70
70
71 .metadata {
71 .metadata {
72 padding-top: 5px;
72 padding-top: 5px;
73 margin-top: 10px;
73 margin-top: 10px;
74 border-top: solid 1px #666;
74 border-top: solid 1px #666;
75 color: #ddd;
75 color: #ddd;
76 }
76 }
77
77
78 .navigation_panel, .tag_info {
78 .navigation_panel, .tag_info {
79 background: #222;
79 background: #222;
80 margin-bottom: 5px;
80 margin-bottom: 5px;
81 margin-top: 5px;
81 margin-top: 5px;
82 padding: 10px;
82 padding: 10px;
83 border-bottom: solid 1px #888;
83 border-bottom: solid 1px #888;
84 border-top: solid 1px #888;
84 border-top: solid 1px #888;
85 color: #eee;
85 color: #eee;
86 }
86 }
87
87
88 .navigation_panel .link {
88 .navigation_panel .link {
89 border-right: 1px solid #fff;
89 border-right: 1px solid #fff;
90 font-weight: bold;
90 font-weight: bold;
91 margin-right: 1ex;
91 margin-right: 1ex;
92 padding-right: 1ex;
92 padding-right: 1ex;
93 }
93 }
94 .navigation_panel .link:last-child {
94 .navigation_panel .link:last-child {
95 border-left: 1px solid #fff;
95 border-left: 1px solid #fff;
96 border-right: none;
96 border-right: none;
97 float: right;
97 float: right;
98 margin-left: 1ex;
98 margin-left: 1ex;
99 margin-right: 0;
99 margin-right: 0;
100 padding-left: 1ex;
100 padding-left: 1ex;
101 padding-right: 0;
101 padding-right: 0;
102 }
102 }
103
103
104 .navigation_panel::after, .post::after {
104 .navigation_panel::after, .post::after {
105 clear: both;
105 clear: both;
106 content: ".";
106 content: ".";
107 display: block;
107 display: block;
108 height: 0;
108 height: 0;
109 line-height: 0;
109 line-height: 0;
110 visibility: hidden;
110 visibility: hidden;
111 }
111 }
112
112
113 .header {
113 .header {
114 border-bottom: solid 2px #ccc;
114 border-bottom: solid 2px #ccc;
115 margin-bottom: 5px;
115 margin-bottom: 5px;
116 border-top: none;
116 border-top: none;
117 margin-top: 0;
117 margin-top: 0;
118 }
118 }
119
119
120 .footer {
120 .footer {
121 border-top: solid 2px #ccc;
121 border-top: solid 2px #ccc;
122 margin-top: 5px;
122 margin-top: 5px;
123 border-bottom: none;
123 border-bottom: none;
124 margin-bottom: 0;
124 margin-bottom: 0;
125 }
125 }
126
126
127 p, .br {
127 p, .br {
128 margin-top: .5em;
128 margin-top: .5em;
129 margin-bottom: .5em;
129 margin-bottom: .5em;
130 }
130 }
131
131
132 .post-form-w {
132 .post-form-w {
133 background: #333344;
133 background: #333344;
134 border-top: solid 1px #888;
134 border-top: solid 1px #888;
135 border-bottom: solid 1px #888;
135 border-bottom: solid 1px #888;
136 color: #fff;
136 color: #fff;
137 padding: 10px;
137 padding: 10px;
138 margin-bottom: 5px;
138 margin-bottom: 5px;
139 margin-top: 5px;
139 margin-top: 5px;
140 }
140 }
141
141
142 .form-row {
142 .form-row {
143 width: 100%;
143 width: 100%;
144 }
144 }
145
145
146 .form-label {
146 .form-label {
147 padding: .25em 1ex .25em 0;
147 padding: .25em 1ex .25em 0;
148 vertical-align: top;
148 vertical-align: top;
149 }
149 }
150
150
151 .form-input {
151 .form-input {
152 padding: .25em 0;
152 padding: .25em 0;
153 }
153 }
154
154
155 .form-errors {
155 .form-errors {
156 font-weight: bolder;
156 font-weight: bolder;
157 vertical-align: middle;
157 vertical-align: middle;
158 }
158 }
159
159
160 .post-form input:not([name="image"]), .post-form textarea {
160 .post-form input:not([name="image"]), .post-form textarea {
161 background: #333;
161 background: #333;
162 color: #fff;
162 color: #fff;
163 border: solid 1px;
163 border: solid 1px;
164 padding: 0;
164 padding: 0;
165 font: medium sans-serif;
165 font: medium sans-serif;
166 width: 100%;
166 width: 100%;
167 }
167 }
168
168
169 .post-form textarea {
169 .post-form textarea {
170 resize: vertical;
170 resize: vertical;
171 }
171 }
172
172
173 .form-submit {
173 .form-submit {
174 display: table;
174 display: table;
175 margin-bottom: 1ex;
175 margin-bottom: 1ex;
176 margin-top: 1ex;
176 margin-top: 1ex;
177 }
177 }
178
178
179 .form-title {
179 .form-title {
180 font-weight: bold;
180 font-weight: bold;
181 font-size: 2ex;
181 font-size: 2ex;
182 margin-bottom: 0.5ex;
182 margin-bottom: 0.5ex;
183 }
183 }
184
184
185 .post-form input[type="submit"], input[type="submit"] {
185 .post-form input[type="submit"], input[type="submit"] {
186 background: #222;
186 background: #222;
187 border: solid 2px #fff;
187 border: solid 2px #fff;
188 color: #fff;
188 color: #fff;
189 padding: 0.5ex;
189 padding: 0.5ex;
190 }
190 }
191
191
192 input[type="submit"]:hover {
192 input[type="submit"]:hover {
193 background: #060;
193 background: #060;
194 }
194 }
195
195
196 blockquote {
196 blockquote {
197 border-left: solid 2px;
197 border-left: solid 2px;
198 padding-left: 5px;
198 padding-left: 5px;
199 color: #B1FB17;
199 color: #B1FB17;
200 margin: 0;
200 margin: 0;
201 }
201 }
202
202
203 .post > .image {
203 .post > .image {
204 float: left;
204 float: left;
205 margin: 0 1ex .5ex 0;
205 margin: 0 1ex .5ex 0;
206 min-width: 1px;
206 min-width: 1px;
207 text-align: center;
207 text-align: center;
208 display: table-row;
208 display: table-row;
209 }
209 }
210
210
211 .post > .metadata {
211 .post > .metadata {
212 clear: left;
212 clear: left;
213 }
213 }
214
214
215 .get {
215 .get {
216 font-weight: bold;
216 font-weight: bold;
217 color: #d55;
217 color: #d55;
218 }
218 }
219
219
220 * {
220 * {
221 text-decoration: none;
221 text-decoration: none;
222 }
222 }
223
223
224 .dead_post {
224 .dead_post {
225 background-color: #442222;
225 background-color: #442222;
226 }
226 }
227
227
228 .archive_post {
228 .archive_post {
229 background-color: #000;
229 background-color: #000;
230 }
230 }
231
231
232 .mark_btn {
232 .mark_btn {
233 border: 1px solid;
233 border: 1px solid;
234 min-width: 2ex;
234 min-width: 2ex;
235 padding: 2px 2ex;
235 padding: 2px 2ex;
236 }
236 }
237
237
238 .mark_btn:hover {
238 .mark_btn:hover {
239 background: #555;
239 background: #555;
240 }
240 }
241
241
242 .quote {
242 .quote {
243 color: #92cf38;
243 color: #92cf38;
244 font-style: italic;
244 font-style: italic;
245 }
245 }
246
246
247 .multiquote {
247 .multiquote {
248 padding: 3px;
248 padding: 3px;
249 display: inline-block;
249 display: inline-block;
250 background: #222;
250 background: #222;
251 border-style: solid;
251 border-style: solid;
252 border-width: 1px 1px 1px 4px;
252 border-width: 1px 1px 1px 4px;
253 font-size: 0.9em;
253 font-size: 0.9em;
254 }
254 }
255
255
256 .spoiler {
256 .spoiler {
257 background: white;
257 background: white;
258 color: white;
258 color: white;
259 }
259 }
260
260
261 .spoiler:hover {
261 .spoiler:hover {
262 color: black;
262 color: black;
263 }
263 }
264
264
265 .comment {
265 .comment {
266 color: #eb2;
266 color: #eb2;
267 }
267 }
268
268
269 a:hover {
269 a:hover {
270 text-decoration: underline;
270 text-decoration: underline;
271 }
271 }
272
272
273 .last-replies {
273 .last-replies {
274 margin-left: 3ex;
274 margin-left: 3ex;
275 margin-right: 3ex;
275 margin-right: 3ex;
276 border-left: solid 1px #777;
276 border-left: solid 1px #777;
277 border-right: solid 1px #777;
277 border-right: solid 1px #777;
278 }
278 }
279
279
280 .last-replies > .post:first-child {
280 .last-replies > .post:first-child {
281 border-top: none;
281 border-top: none;
282 }
282 }
283
283
284 .thread {
284 .thread {
285 margin-bottom: 3ex;
285 margin-bottom: 3ex;
286 margin-top: 1ex;
286 margin-top: 1ex;
287 }
287 }
288
288
289 .post:target {
289 .post:target {
290 border: solid 2px white;
290 border: solid 2px white;
291 }
291 }
292
292
293 pre{
293 pre{
294 white-space:pre-wrap
294 white-space:pre-wrap
295 }
295 }
296
296
297 li {
297 li {
298 list-style-position: inside;
298 list-style-position: inside;
299 }
299 }
300
300
301 .fancybox-skin {
301 .fancybox-skin {
302 position: relative;
302 position: relative;
303 background-color: #fff;
303 background-color: #fff;
304 color: #ddd;
304 color: #ddd;
305 text-shadow: none;
305 text-shadow: none;
306 }
306 }
307
307
308 .fancybox-image {
308 .fancybox-image {
309 border: 1px solid black;
309 border: 1px solid black;
310 }
310 }
311
311
312 .image-mode-tab {
312 .image-mode-tab {
313 background: #444;
313 background: #444;
314 color: #eee;
314 color: #eee;
315 margin-top: 5px;
315 margin-top: 5px;
316 padding: 5px;
316 padding: 5px;
317 border-top: 1px solid #888;
317 border-top: 1px solid #888;
318 border-bottom: 1px solid #888;
318 border-bottom: 1px solid #888;
319 }
319 }
320
320
321 .image-mode-tab > label {
321 .image-mode-tab > label {
322 margin: 0 1ex;
322 margin: 0 1ex;
323 }
323 }
324
324
325 .image-mode-tab > label > input {
325 .image-mode-tab > label > input {
326 margin-right: .5ex;
326 margin-right: .5ex;
327 }
327 }
328
328
329 #posts-table {
329 #posts-table {
330 margin-top: 5px;
330 margin-top: 5px;
331 margin-bottom: 5px;
331 margin-bottom: 5px;
332 }
332 }
333
333
334 .tag_info > h2 {
334 .tag_info > h2 {
335 margin: 0;
335 margin: 0;
336 }
336 }
337
337
338 .post-info {
338 .post-info {
339 color: #ddd;
339 color: #ddd;
340 margin-bottom: 1ex;
340 margin-bottom: 1ex;
341 }
341 }
342
342
343 .moderator_info {
343 .moderator_info {
344 color: #e99d41;
344 color: #e99d41;
345 float: right;
345 float: right;
346 font-weight: bold;
346 font-weight: bold;
347 opacity: 0.4;
347 opacity: 0.4;
348 }
348 }
349
349
350 .moderator_info:hover {
350 .moderator_info:hover {
351 opacity: 1;
351 opacity: 1;
352 }
352 }
353
353
354 .refmap {
354 .refmap {
355 font-size: 0.9em;
355 font-size: 0.9em;
356 color: #ccc;
356 color: #ccc;
357 margin-top: 1em;
357 margin-top: 1em;
358 }
358 }
359
359
360 .fav {
360 .fav {
361 color: yellow;
361 color: yellow;
362 }
362 }
363
363
364 .not_fav {
364 .not_fav {
365 color: #ccc;
365 color: #ccc;
366 }
366 }
367
367
368 .role {
368 .role {
369 text-decoration: underline;
369 text-decoration: underline;
370 }
370 }
371
371
372 .form-email {
372 .form-email {
373 display: none;
373 display: none;
374 }
374 }
375
375
376 .bar-value {
376 .bar-value {
377 background: rgba(50, 55, 164, 0.45);
377 background: rgba(50, 55, 164, 0.45);
378 font-size: 0.9em;
378 font-size: 0.9em;
379 height: 1.5em;
379 height: 1.5em;
380 }
380 }
381
381
382 .bar-bg {
382 .bar-bg {
383 position: relative;
383 position: relative;
384 border-top: solid 1px #888;
384 border-top: solid 1px #888;
385 border-bottom: solid 1px #888;
385 border-bottom: solid 1px #888;
386 margin-top: 5px;
386 margin-top: 5px;
387 overflow: hidden;
387 overflow: hidden;
388 }
388 }
389
389
390 .bar-text {
390 .bar-text {
391 padding: 2px;
391 padding: 2px;
392 position: absolute;
392 position: absolute;
393 left: 0;
393 left: 0;
394 top: 0;
394 top: 0;
395 }
395 }
396
396
397 .page_link {
397 .page_link {
398 background: #444;
398 background: #444;
399 border-top: solid 1px #888;
399 border-top: solid 1px #888;
400 border-bottom: solid 1px #888;
400 border-bottom: solid 1px #888;
401 padding: 5px;
401 padding: 5px;
402 color: #eee;
402 color: #eee;
403 font-size: 2ex;
403 font-size: 2ex;
404 }
404 }
405
405
406 .skipped_replies {
406 .skipped_replies {
407 padding: 5px;
407 padding: 5px;
408 margin-left: 3ex;
408 margin-left: 3ex;
409 margin-right: 3ex;
409 margin-right: 3ex;
410 border-left: solid 1px #888;
410 border-left: solid 1px #888;
411 border-right: solid 1px #888;
411 border-right: solid 1px #888;
412 border-bottom: solid 1px #888;
412 border-bottom: solid 1px #888;
413 background: #000;
413 background: #000;
414 }
414 }
415
415
416 .current_page {
416 .current_page {
417 padding: 2px;
417 padding: 2px;
418 background-color: #afdcec;
418 background-color: #afdcec;
419 color: #000;
419 color: #000;
420 }
420 }
421
421
422 .current_mode {
422 .current_mode {
423 font-weight: bold;
423 font-weight: bold;
424 }
424 }
425
425
426 .gallery_image {
426 .gallery_image {
427 border: solid 1px;
427 border: solid 1px;
428 padding: 0.5ex;
428 padding: 0.5ex;
429 margin: 0.5ex;
429 margin: 0.5ex;
430 text-align: center;
430 text-align: center;
431 }
431 }
432
432
433 code {
433 code {
434 border: dashed 1px #ccc;
434 border: dashed 1px #ccc;
435 background: #111;
435 background: #111;
436 padding: 2px;
436 padding: 2px;
437 font-size: 1.2em;
437 font-size: 1.2em;
438 display: inline-block;
438 display: inline-block;
439 }
439 }
440
440
441 pre {
441 pre {
442 overflow: auto;
442 overflow: auto;
443 }
443 }
444
444
445 .img-full {
445 .img-full {
446 background: #222;
446 background: #222;
447 border: solid 1px white;
447 border: solid 1px white;
448 }
448 }
449
449
450 .tag_item {
450 .tag_item {
451 display: inline-block;
451 display: inline-block;
452 margin: 0.2ex;
452 margin: 0.2ex;
453 padding: 0.1ex;
453 padding: 0.1ex;
454 }
454 }
455
455
456 #id_models li {
456 #id_models li {
457 list-style: none;
457 list-style: none;
458 }
458 }
459
459
460 #id_q {
460 #id_q {
461 margin-left: 1ex;
461 margin-left: 1ex;
462 }
462 }
463
463
464 ul {
464 ul {
465 padding-left: 0px;
465 padding-left: 0px;
466 }
466 }
467
467
468 .quote-header {
468 .quote-header {
469 border-bottom: 2px solid #ddd;
469 border-bottom: 2px solid #ddd;
470 margin-bottom: 1ex;
470 margin-bottom: 1ex;
471 padding-bottom: .5ex;
471 padding-bottom: .5ex;
472 color: #ddd;
472 color: #ddd;
473 font-size: 1.2em;
473 font-size: 1.2em;
474 }
474 }
475
475
476 /* Reflink preview */
476 /* Reflink preview */
477 .post_preview {
477 .post_preview {
478 border-left: 1px solid #777;
478 border-left: 1px solid #777;
479 border-right: 1px solid #777;
479 border-right: 1px solid #777;
480 }
480 }
481
481
482 /* Code highlighter */
482 /* Code highlighter */
483 .hljs {
483 .hljs {
484 color: #fff;
484 color: #fff;
485 background: #000;
485 background: #000;
486 display: inline-block;
486 display: inline-block;
487 }
487 }
488
488
489 .hljs, .hljs-subst, .hljs-tag .hljs-title, .lisp .hljs-title, .clojure .hljs-built_in, .nginx .hljs-title {
489 .hljs, .hljs-subst, .hljs-tag .hljs-title, .lisp .hljs-title, .clojure .hljs-built_in, .nginx .hljs-title {
490 color: #fff;
490 color: #fff;
491 }
491 }
492
492
493 #up {
493 #up {
494 position: fixed;
494 position: fixed;
495 bottom: 5px;
495 bottom: 5px;
496 right: 5px;
496 right: 5px;
497 border: 1px solid #777;
497 border: 1px solid #777;
498 background: #000;
498 background: #000;
499 padding: 4px;
499 padding: 4px;
500 }
500 }
501
501
502 .user-cast {
502 .user-cast {
503 border: solid #ffffff 1px;
503 border: solid #ffffff 1px;
504 padding: .2ex;
504 padding: .2ex;
505 background: #152154;
505 background: #152154;
506 color: #fff;
506 color: #fff;
507 }
507 }
508
508
509 .highlight {
509 .highlight {
510 background-color: #222;
510 background-color: #222;
511 }
511 }
512
513 .post-button-form > button:hover {
514 text-decoration: underline;
515 }
@@ -1,399 +1,403 b''
1 * {
1 * {
2 font-size: inherit;
2 font-size: inherit;
3 margin: 0;
3 margin: 0;
4 padding: 0;
4 padding: 0;
5 }
5 }
6 html {
6 html {
7 background: #fff;
7 background: #fff;
8 color: #000;
8 color: #000;
9 font: medium sans-serif;
9 font: medium sans-serif;
10 }
10 }
11 a {
11 a {
12 color: inherit;
12 color: inherit;
13 text-decoration: underline;
13 text-decoration: underline;
14 }
14 }
15 li {
15 li {
16 list-style-position: inside;
16 list-style-position: inside;
17 }
17 }
18
18
19 #admin_panel {
19 #admin_panel {
20 background: #182F6F;
20 background: #182F6F;
21 color: #fff;
21 color: #fff;
22 padding: .5ex 1ex .5ex 1ex;
22 padding: .5ex 1ex .5ex 1ex;
23 }
23 }
24
24
25 .navigation_panel {
25 .navigation_panel {
26 background: #182F6F;
26 background: #182F6F;
27 color: #B4CFEC;
27 color: #B4CFEC;
28 margin-bottom: 1em;
28 margin-bottom: 1em;
29 padding: .5ex 1ex 1ex 1ex;
29 padding: .5ex 1ex 1ex 1ex;
30 }
30 }
31 .navigation_panel::after {
31 .navigation_panel::after {
32 clear: both;
32 clear: both;
33 content: ".";
33 content: ".";
34 display: block;
34 display: block;
35 height: 0;
35 height: 0;
36 line-height: 0;
36 line-height: 0;
37 visibility: hidden;
37 visibility: hidden;
38 }
38 }
39
39
40 .navigation_panel a:link, .navigation_panel a:visited, .navigation_panel a:hover {
40 .navigation_panel a:link, .navigation_panel a:visited, .navigation_panel a:hover {
41 text-decoration: none;
41 text-decoration: none;
42 }
42 }
43
43
44 .navigation_panel .link {
44 .navigation_panel .link {
45 border-right: 1px solid #fff;
45 border-right: 1px solid #fff;
46 color: #fff;
46 color: #fff;
47 font-weight: bold;
47 font-weight: bold;
48 margin-right: 1ex;
48 margin-right: 1ex;
49 padding-right: 1ex;
49 padding-right: 1ex;
50 }
50 }
51 .navigation_panel .link:last-child {
51 .navigation_panel .link:last-child {
52 border-left: 1px solid #fff;
52 border-left: 1px solid #fff;
53 border-right: none;
53 border-right: none;
54 float: right;
54 float: right;
55 margin-left: 1ex;
55 margin-left: 1ex;
56 margin-right: 0;
56 margin-right: 0;
57 padding-left: 1ex;
57 padding-left: 1ex;
58 padding-right: 0;
58 padding-right: 0;
59 }
59 }
60
60
61 .navigation_panel .tag {
61 .navigation_panel .tag {
62 color: #fff;
62 color: #fff;
63 }
63 }
64
64
65 .input_field {
65 .input_field {
66
66
67 }
67 }
68
68
69 .input_field_name {
69 .input_field_name {
70
70
71 }
71 }
72
72
73 .input_field_error {
73 .input_field_error {
74 color: #FF0000;
74 color: #FF0000;
75 }
75 }
76
76
77
77
78 .title {
78 .title {
79 color: #182F6F;
79 color: #182F6F;
80 font-weight: bold;
80 font-weight: bold;
81 }
81 }
82
82
83 .post-form-w {
83 .post-form-w {
84 background: #182F6F;
84 background: #182F6F;
85 border-radius: 1ex;
85 border-radius: 1ex;
86 color: #fff;
86 color: #fff;
87 margin: 1em 1ex;
87 margin: 1em 1ex;
88 padding: 1ex;
88 padding: 1ex;
89 }
89 }
90
90
91 .form-row {
91 .form-row {
92 display: table;
92 display: table;
93 width: 100%;
93 width: 100%;
94 }
94 }
95 .form-label, .form-input {
95 .form-label, .form-input {
96 display: table-cell;
96 display: table-cell;
97 vertical-align: top;
97 vertical-align: top;
98 }
98 }
99 .form-label {
99 .form-label {
100 padding: .25em 1ex .25em 0;
100 padding: .25em 1ex .25em 0;
101 width: 14ex;
101 width: 14ex;
102 }
102 }
103 .form-input {
103 .form-input {
104 padding: .25em 0;
104 padding: .25em 0;
105 }
105 }
106 .form-input > * {
106 .form-input > * {
107 background: #fff;
107 background: #fff;
108 color: #000;
108 color: #000;
109 border: none;
109 border: none;
110 padding: 0;
110 padding: 0;
111 resize: vertical;
111 resize: vertical;
112 }
112 }
113
113
114 .form-input > :not(.file_wrap) {
114 .form-input > :not(.file_wrap) {
115 width: 100%;
115 width: 100%;
116 }
116 }
117
117
118 .form-submit {
118 .form-submit {
119 border-bottom: 1px solid #666;
119 border-bottom: 1px solid #666;
120 margin-bottom: .5em;
120 margin-bottom: .5em;
121 padding-bottom: .5em;
121 padding-bottom: .5em;
122 }
122 }
123 .form-title {
123 .form-title {
124 font-weight: bold;
124 font-weight: bold;
125 margin-bottom: .5em;
125 margin-bottom: .5em;
126 }
126 }
127 .post-form .settings_item {
127 .post-form .settings_item {
128 margin: .5em 0;
128 margin: .5em 0;
129 }
129 }
130 .form-submit input {
130 .form-submit input {
131 margin-top: .5em;
131 margin-top: .5em;
132 padding: .2em 1ex;
132 padding: .2em 1ex;
133 }
133 }
134 .form-label {
134 .form-label {
135 text-align: left;
135 text-align: left;
136 }
136 }
137
137
138 .block {
138 .block {
139 display: inline-block;
139 display: inline-block;
140 vertical-align: top;
140 vertical-align: top;
141 }
141 }
142
142
143 .post_id {
143 .post_id {
144 color: #a00;
144 color: #a00;
145 }
145 }
146
146
147 .post {
147 .post {
148 clear: left;
148 clear: left;
149 margin: 0 1ex 1em 1ex;
149 margin: 0 1ex 1em 1ex;
150 overflow-x: auto;
150 overflow-x: auto;
151 word-wrap: break-word;
151 word-wrap: break-word;
152 background: #FFF;
152 background: #FFF;
153 padding: 1ex;
153 padding: 1ex;
154 border: 1px solid #666;
154 border: 1px solid #666;
155 box-shadow: 1px 1px 2px 1px #666;
155 box-shadow: 1px 1px 2px 1px #666;
156 }
156 }
157
157
158 #posts > .post:last-child {
158 #posts > .post:last-child {
159 border-bottom: none;
159 border-bottom: none;
160 padding-bottom: 0;
160 padding-bottom: 0;
161 }
161 }
162
162
163 .metadata {
163 .metadata {
164 background: #C0E4E8;
164 background: #C0E4E8;
165 border: 1px solid #7F9699;
165 border: 1px solid #7F9699;
166 border-radius: .4ex;
166 border-radius: .4ex;
167 display: table;
167 display: table;
168 margin-top: .5em;
168 margin-top: .5em;
169 padding: .4em;
169 padding: .4em;
170 }
170 }
171
171
172 .post ul, .post ol {
172 .post ul, .post ol {
173 margin: .5em 0 .5em 3ex;
173 margin: .5em 0 .5em 3ex;
174 }
174 }
175 .post li {
175 .post li {
176 margin: .2em 0;
176 margin: .2em 0;
177 }
177 }
178 .post p {
178 .post p {
179 margin: .5em 0;
179 margin: .5em 0;
180 }
180 }
181 .post blockquote {
181 .post blockquote {
182 border-left: 3px solid #182F6F;
182 border-left: 3px solid #182F6F;
183 margin: .5em 0 .5em 3ex;
183 margin: .5em 0 .5em 3ex;
184 padding-left: 1ex;
184 padding-left: 1ex;
185 }
185 }
186 .post blockquote > blockquote {
186 .post blockquote > blockquote {
187 padding-top: .1em;
187 padding-top: .1em;
188 }
188 }
189
189
190 .post > .image {
190 .post > .image {
191 float: left;
191 float: left;
192 margin-right: 1ex;
192 margin-right: 1ex;
193 }
193 }
194 .post > .metadata {
194 .post > .metadata {
195 clear: left;
195 clear: left;
196 }
196 }
197
197
198 .post > .message .get {
198 .post > .message .get {
199 color: #182F6F; font-weight: bold;
199 color: #182F6F; font-weight: bold;
200 }
200 }
201
201
202 .dead_post > .metadata {
202 .dead_post > .metadata {
203 background: #eee;
203 background: #eee;
204 }
204 }
205
205
206 .quote, .multiquote {
206 .quote, .multiquote {
207 color: #182F6F;
207 color: #182F6F;
208 }
208 }
209
209
210 .spoiler {
210 .spoiler {
211 background: black;
211 background: black;
212 color: black;
212 color: black;
213 }
213 }
214
214
215 .spoiler:hover {
215 .spoiler:hover {
216 background: #ffffff;
216 background: #ffffff;
217 }
217 }
218
218
219 .comment {
219 .comment {
220 color: #557055;
220 color: #557055;
221 }
221 }
222
222
223 .last-replies {
223 .last-replies {
224 margin-left: 6ex;
224 margin-left: 6ex;
225 }
225 }
226
226
227 .thread > .post > .message > .post-info {
227 .thread > .post > .message > .post-info {
228 border-bottom: 1px solid #ccc;
228 border-bottom: 1px solid #ccc;
229 padding-bottom: .5em;
229 padding-bottom: .5em;
230 }
230 }
231
231
232 :target .post_id {
232 :target .post_id {
233 background: #182F6F;
233 background: #182F6F;
234 color: #FFF;
234 color: #FFF;
235 text-decoration: none;
235 text-decoration: none;
236 }
236 }
237
237
238 .image-mode-tab {
238 .image-mode-tab {
239 background: #182F6F;
239 background: #182F6F;
240 color: #FFF;
240 color: #FFF;
241 display: table;
241 display: table;
242 margin: 1em auto 1em 0;
242 margin: 1em auto 1em 0;
243 padding: .2em .5ex;
243 padding: .2em .5ex;
244 }
244 }
245
245
246 .image-mode-tab > label {
246 .image-mode-tab > label {
247 margin: 0 1ex;
247 margin: 0 1ex;
248 }
248 }
249
249
250 .image-mode-tab > label > input {
250 .image-mode-tab > label > input {
251 margin-right: .5ex;
251 margin-right: .5ex;
252 }
252 }
253
253
254 .tag_info, .page_link {
254 .tag_info, .page_link {
255 margin: 1em 0;
255 margin: 1em 0;
256 text-align: center;
256 text-align: center;
257 }
257 }
258
258
259 .form-errors {
259 .form-errors {
260 margin-left: 1ex;
260 margin-left: 1ex;
261 }
261 }
262
262
263 .moderator_info {
263 .moderator_info {
264 font-weight: bold;
264 font-weight: bold;
265 float: right;
265 float: right;
266 }
266 }
267
267
268 .refmap {
268 .refmap {
269 border: 1px dashed #aaa;
269 border: 1px dashed #aaa;
270 padding: 0.5em;
270 padding: 0.5em;
271 display: table;
271 display: table;
272 }
272 }
273
273
274 .fav {
274 .fav {
275 color: blue;
275 color: blue;
276 }
276 }
277
277
278 .not_fav {
278 .not_fav {
279 color: #ccc;
279 color: #ccc;
280 }
280 }
281
281
282 .role {
282 .role {
283 text-decoration: underline;
283 text-decoration: underline;
284 }
284 }
285
285
286 .form-email {
286 .form-email {
287 display: none;
287 display: none;
288 }
288 }
289
289
290 .bar-value {
290 .bar-value {
291 background: #E3E7F2;
291 background: #E3E7F2;
292 padding: .1em 1ex;
292 padding: .1em 1ex;
293 moz-box-sizing: border-box;
293 moz-box-sizing: border-box;
294 box-sizing: border-box;
294 box-sizing: border-box;
295 height: 1.5em;
295 height: 1.5em;
296 }
296 }
297
297
298 .bar-bg {
298 .bar-bg {
299 background: #EA4649;
299 background: #EA4649;
300 border: 1px solid #666;
300 border: 1px solid #666;
301 margin: 0 1ex 1em 1ex;
301 margin: 0 1ex 1em 1ex;
302 position: relative;
302 position: relative;
303 overflow: hidden;
303 overflow: hidden;
304 }
304 }
305
305
306 .bar-text {
306 .bar-text {
307 padding: 2px;
307 padding: 2px;
308 position: absolute;
308 position: absolute;
309 left: 0;
309 left: 0;
310 top: 0;
310 top: 0;
311 }
311 }
312
312
313 .skipped_replies {
313 .skipped_replies {
314 margin: 1ex;
314 margin: 1ex;
315 }
315 }
316
316
317 #mark-panel {
317 #mark-panel {
318 background: #eee;
318 background: #eee;
319 border-bottom: 1px solid #182F6F;
319 border-bottom: 1px solid #182F6F;
320 }
320 }
321
321
322 .mark_btn {
322 .mark_btn {
323 display: inline-block;
323 display: inline-block;
324 padding: .2em 1ex;
324 padding: .2em 1ex;
325 border-left: 1px solid #182F6F;
325 border-left: 1px solid #182F6F;
326 }
326 }
327
327
328 .mark_btn:first-child {
328 .mark_btn:first-child {
329 border-left: none;
329 border-left: none;
330 }
330 }
331
331
332 .mark_btn:last-child {
332 .mark_btn:last-child {
333 border-right: 1px solid #182F6F;
333 border-right: 1px solid #182F6F;
334 }
334 }
335
335
336 .current_page {
336 .current_page {
337 border-bottom: 1px solid #FFF;
337 border-bottom: 1px solid #FFF;
338 padding: 0px 0.5ex;
338 padding: 0px 0.5ex;
339 }
339 }
340
340
341 .image-mode-tab a {
341 .image-mode-tab a {
342 text-decoration: none;
342 text-decoration: none;
343 }
343 }
344 .image-mode-tab .current_mode::before {
344 .image-mode-tab .current_mode::before {
345 content: "βœ“ ";
345 content: "βœ“ ";
346 padding: 0 0 0 .5ex;
346 padding: 0 0 0 .5ex;
347 color: #182F6F;
347 color: #182F6F;
348 background: #FFF;
348 background: #FFF;
349 }
349 }
350 .image-mode-tab .current_mode {
350 .image-mode-tab .current_mode {
351 padding: 0 .5ex 0 0;
351 padding: 0 .5ex 0 0;
352 color: #182F6F;
352 color: #182F6F;
353 background: #FFF;
353 background: #FFF;
354 }
354 }
355
355
356 .gallery_image_metadata {
356 .gallery_image_metadata {
357 margin-bottom: 1em;
357 margin-bottom: 1em;
358 }
358 }
359
359
360 .gallery_image {
360 .gallery_image {
361 padding: 4px;
361 padding: 4px;
362 margin: .5em 0 0 1ex;
362 margin: .5em 0 0 1ex;
363 text-align: center;
363 text-align: center;
364 vertical-align: top;
364 vertical-align: top;
365 }
365 }
366
366
367 .swappable-form-full > form {
367 .swappable-form-full > form {
368 display: table;
368 display: table;
369 width: 100%;
369 width: 100%;
370 }
370 }
371
371
372 #id_models li {
372 #id_models li {
373 list-style: none;
373 list-style: none;
374 }
374 }
375
375
376 #id_q {
376 #id_q {
377 margin-left: 1ex;
377 margin-left: 1ex;
378 }
378 }
379
379
380 .br {
380 .br {
381 margin-top: 0.5em;
381 margin-top: 0.5em;
382 margin-bottom: 0.5em;
382 margin-bottom: 0.5em;
383 }
383 }
384
384
385 .message, .refmap {
385 .message, .refmap {
386 margin-top: .5em;
386 margin-top: .5em;
387 }
387 }
388
388
389 .user-cast {
389 .user-cast {
390 padding: 0.2em .5ex;
390 padding: 0.2em .5ex;
391 background: #008;
391 background: #008;
392 color: #FFF;
392 color: #FFF;
393 display: inline-block;
393 display: inline-block;
394 text-decoration: none;
394 text-decoration: none;
395 }
395 }
396
396
397 .highlight {
397 .highlight {
398 background-color: #D4F0F9;
398 background-color: #D4F0F9;
399 }
399 }
400
401 .dead_post {
402 border-right: 1ex solid #666;
403 }
@@ -1,116 +1,99 b''
1 /*
1 /*
2 @licstart The following is the entire license notice for the
2 @licstart The following is the entire license notice for the
3 JavaScript code in this page.
3 JavaScript code in this page.
4
4
5
5
6 Copyright (C) 2013 neko259
6 Copyright (C) 2013 neko259
7
7
8 The JavaScript code in this page is free software: you can
8 The JavaScript code in this page is free software: you can
9 redistribute it and/or modify it under the terms of the GNU
9 redistribute it and/or modify it under the terms of the GNU
10 General Public License (GNU GPL) as published by the Free Software
10 General Public License (GNU GPL) as published by the Free Software
11 Foundation, either version 3 of the License, or (at your option)
11 Foundation, either version 3 of the License, or (at your option)
12 any later version. The code is distributed WITHOUT ANY WARRANTY;
12 any later version. The code is distributed WITHOUT ANY WARRANTY;
13 without even the implied warranty of MERCHANTABILITY or FITNESS
13 without even the implied warranty of MERCHANTABILITY or FITNESS
14 FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
14 FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
15
15
16 As additional permission under GNU GPL version 3 section 7, you
16 As additional permission under GNU GPL version 3 section 7, you
17 may distribute non-source (e.g., minimized or compacted) forms of
17 may distribute non-source (e.g., minimized or compacted) forms of
18 that code without the copy of the GNU GPL normally required by
18 that code without the copy of the GNU GPL normally required by
19 section 4, provided you include this license notice and a URL
19 section 4, provided you include this license notice and a URL
20 through which recipients can access the Corresponding Source.
20 through which recipients can access the Corresponding Source.
21
21
22 @licend The above is the entire license notice
22 @licend The above is the entire license notice
23 for the JavaScript code in this page.
23 for the JavaScript code in this page.
24 */
24 */
25
25
26 if (window.Intl) {
26 if (window.Intl) {
27 var LOCALE = window.navigator.language;
27 var LOCALE = window.navigator.language;
28 var FORMATTER = new Intl.DateTimeFormat(
28 var FORMATTER = new Intl.DateTimeFormat(
29 LOCALE,
29 LOCALE,
30 {
30 {
31 weekday: 'short', year: 'numeric', month: 'short', day: 'numeric',
31 weekday: 'short', year: 'numeric', month: 'short', day: 'numeric',
32 hour: 'numeric', minute: '2-digit', second: '2-digit'
32 hour: 'numeric', minute: '2-digit', second: '2-digit'
33 }
33 }
34 );
34 );
35 }
35 }
36
36
37 /**
37 /**
38 * An email is a hidden file to prevent spam bots from posting. It has to be
38 * An email is a hidden file to prevent spam bots from posting. It has to be
39 * hidden.
39 * hidden.
40 */
40 */
41 function hideEmailFromForm() {
41 function hideEmailFromForm() {
42 $('.form-email').parent().parent().hide();
42 $('.form-email').parent().parent().hide();
43 }
43 }
44
44
45 /**
45 /**
46 * Highlight code blocks with code highlighter
46 * Highlight code blocks with code highlighter
47 */
47 */
48 function highlightCode(node) {
48 function highlightCode(node) {
49 node.find('pre code').each(function(i, e) {
49 node.find('pre code').each(function(i, e) {
50 hljs.highlightBlock(e);
50 hljs.highlightBlock(e);
51 });
51 });
52 }
52 }
53
53
54 /**
54 /**
55 * Translate timestamps to local ones for all <time> tags inside node.
55 * Translate timestamps to local ones for all <time> tags inside node.
56 */
56 */
57 function translate_time(node) {
57 function translate_time(node) {
58 if (window.Intl === null) {
58 if (window.Intl === null) {
59 return;
59 return;
60 }
60 }
61
61
62 var elements;
62 var elements;
63
63
64 if (node === null) {
64 if (node === null) {
65 elements = $('time');
65 elements = $('time');
66 } else {
66 } else {
67 elements = node.find('time');
67 elements = node.find('time');
68 }
68 }
69
69
70 if (!elements.length) {
70 if (!elements.length) {
71 return;
71 return;
72 }
72 }
73
73
74 elements.each(function() {
74 elements.each(function() {
75 var element = $(this);
75 var element = $(this);
76 var dateAttr = element.attr('datetime');
76 var dateAttr = element.attr('datetime');
77 if (dateAttr) {
77 if (dateAttr) {
78 var date = new Date(dateAttr);
78 var date = new Date(dateAttr);
79 element.text(FORMATTER.format(date));
79 element.text(FORMATTER.format(date));
80 }
80 }
81 });
81 });
82 }
82 }
83
83
84 /**
85 * We use buttons viewed as a form with link and hidden inputs to ensure
86 * the search crawlers don't index or click them.
87 *
88 * But we need to submit the form by clicking the links. That's why these
89 * handlers are here.
90 */
91 function addPostButtonActions() {
92 $('.post-button-form > a').each(function() {
93 $(this).click(function() {
94 $(this).parent().submit();
95 });
96 });
97 }
98
99 $( document ).ready(function() {
84 $( document ).ready(function() {
100 hideEmailFromForm();
85 hideEmailFromForm();
101
86
102 $("a[href='#top']").click(function() {
87 $("a[href='#top']").click(function() {
103 $("html, body").animate({ scrollTop: 0 }, "slow");
88 $("html, body").animate({ scrollTop: 0 }, "slow");
104 return false;
89 return false;
105 });
90 });
106
91
107 addImgPreview();
92 addImgPreview();
108
93
109 addRefLinkPreview();
94 addRefLinkPreview();
110
95
111 highlightCode($(document));
96 highlightCode($(document));
112
97
113 translate_time(null);
98 translate_time(null);
114
115 addPostButtonActions();
116 });
99 });
@@ -1,193 +1,188 b''
1 {% extends "boards/base.html" %}
1 {% extends "boards/base.html" %}
2
2
3 {% load i18n %}
3 {% load i18n %}
4 {% load cache %}
4 {% load cache %}
5 {% load board %}
5 {% load board %}
6 {% load static %}
6 {% load static %}
7
7
8 {% block head %}
8 {% block head %}
9 {% if tag %}
9 {% if tag %}
10 <title>{{ tag.name }} - {{ site_name }}</title>
10 <title>{{ tag.name }} - {{ site_name }}</title>
11 {% else %}
11 {% else %}
12 <title>{{ site_name }}</title>
12 <title>{{ site_name }}</title>
13 {% endif %}
13 {% endif %}
14
14
15 {% if current_page.has_previous %}
15 {% if current_page.has_previous %}
16 <link rel="prev" href="
16 <link rel="prev" href="
17 {% if tag %}
17 {% if tag %}
18 {% url "tag" tag_name=tag.name page=current_page.previous_page_number %}
18 {% url "tag" tag_name=tag.name page=current_page.previous_page_number %}
19 {% else %}
19 {% else %}
20 {% url "index" page=current_page.previous_page_number %}
20 {% url "index" page=current_page.previous_page_number %}
21 {% endif %}
21 {% endif %}
22 " />
22 " />
23 {% endif %}
23 {% endif %}
24 {% if current_page.has_next %}
24 {% if current_page.has_next %}
25 <link rel="next" href="
25 <link rel="next" href="
26 {% if tag %}
26 {% if tag %}
27 {% url "tag" tag_name=tag.name page=current_page.next_page_number %}
27 {% url "tag" tag_name=tag.name page=current_page.next_page_number %}
28 {% else %}
28 {% else %}
29 {% url "index" page=current_page.next_page_number %}
29 {% url "index" page=current_page.next_page_number %}
30 {% endif %}
30 {% endif %}
31 " />
31 " />
32 {% endif %}
32 {% endif %}
33
33
34 {% endblock %}
34 {% endblock %}
35
35
36 {% block content %}
36 {% block content %}
37
37
38 {% get_current_language as LANGUAGE_CODE %}
38 {% get_current_language as LANGUAGE_CODE %}
39
39
40 {% if tag %}
40 {% if tag %}
41 <div class="tag_info">
41 <div class="tag_info">
42 <h2>
42 <h2>
43 <form action="{% url 'tag' tag.name %}" method="post" class="post-button-form">
43 <form action="{% url 'tag' tag.name %}" method="post" class="post-button-form">
44 <input type="hidden" name="method"
45 {% if is_favorite %}
44 {% if is_favorite %}
46 <input type="hidden" name="method" value="unsubscribe" />
45 <button name="method" value="unsubscribe" class="fav">β˜…</button>
47 <a class="fav" href="#">β˜…</a>
48 {% else %}
46 {% else %}
49 <input type="hidden" name="method" value="subscribe" />
47 <button name="method" value="subscribe" class="not_fav">β˜…</button>
50 <a class="not_fav" href="#">β˜…</a>
51 {% endif %}
48 {% endif %}
52 </form>
49 </form>
53 <form action="{% url 'tag' tag.name %}" method="post" class="post-button-form">
50 <form action="{% url 'tag' tag.name %}" method="post" class="post-button-form">
54 {% if is_hidden %}
51 {% if is_hidden %}
55 <input type="hidden" name="method" value="unhide" />
52 <button name="method" value="unhide" class="fav">H</button>
56 <a class="fav" href="#">H</a>
57 {% else %}
53 {% else %}
58 <input type="hidden" name="method" value="hide" />
54 <button name="method" value="hide" class="not_fav">H</button>
59 <a class="not_fav" href="#">H</a>
60 {% endif %}
55 {% endif %}
61 </form>
56 </form>
62 {% autoescape off %}
57 {% autoescape off %}
63 {{ tag.get_view }}
58 {{ tag.get_view }}
64 {% endautoescape %}
59 {% endautoescape %}
65 {% if moderator %}
60 {% if moderator %}
66 <span class="moderator_info">[<a href="{% url 'admin:boards_tag_change' tag.id %}">{% trans 'Edit tag' %}</a>]</span>
61 <span class="moderator_info">[<a href="{% url 'admin:boards_tag_change' tag.id %}">{% trans 'Edit tag' %}</a>]</span>
67 {% endif %}
62 {% endif %}
68 </h2>
63 </h2>
69 <p>{% blocktrans with thread_count=tag.get_thread_count post_count=tag.get_post_count %}This tag has {{ thread_count }} threads and {{ post_count }} posts.{% endblocktrans %}</p>
64 <p>{% blocktrans with thread_count=tag.get_thread_count post_count=tag.get_post_count %}This tag has {{ thread_count }} threads and {{ post_count }} posts.{% endblocktrans %}</p>
70 </div>
65 </div>
71 {% endif %}
66 {% endif %}
72
67
73 {% if threads %}
68 {% if threads %}
74 {% if current_page.has_previous %}
69 {% if current_page.has_previous %}
75 <div class="page_link">
70 <div class="page_link">
76 <a href="
71 <a href="
77 {% if tag %}
72 {% if tag %}
78 {% url "tag" tag_name=tag.name page=current_page.previous_page_number %}
73 {% url "tag" tag_name=tag.name page=current_page.previous_page_number %}
79 {% else %}
74 {% else %}
80 {% url "index" page=current_page.previous_page_number %}
75 {% url "index" page=current_page.previous_page_number %}
81 {% endif %}
76 {% endif %}
82 ">{% trans "Previous page" %}</a>
77 ">{% trans "Previous page" %}</a>
83 </div>
78 </div>
84 {% endif %}
79 {% endif %}
85
80
86 {% for thread in threads %}
81 {% for thread in threads %}
87 {% cache 600 thread_short thread.id thread.last_edit_time moderator LANGUAGE_CODE %}
82 {% cache 600 thread_short thread.id thread.last_edit_time moderator LANGUAGE_CODE %}
88 <div class="thread">
83 <div class="thread">
89 {% post_view thread.get_opening_post moderator is_opening=True thread=thread truncated=True need_open_link=True %}
84 {% post_view thread.get_opening_post moderator is_opening=True thread=thread truncated=True need_open_link=True %}
90 {% if not thread.archived %}
85 {% if not thread.archived %}
91 {% with last_replies=thread.get_last_replies %}
86 {% with last_replies=thread.get_last_replies %}
92 {% if last_replies %}
87 {% if last_replies %}
93 {% with skipped_replies_count=thread.get_skipped_replies_count %}
88 {% with skipped_replies_count=thread.get_skipped_replies_count %}
94 {% if skipped_replies_count %}
89 {% if skipped_replies_count %}
95 <div class="skipped_replies">
90 <div class="skipped_replies">
96 <a href="{% url 'thread' thread.get_opening_post_id %}">
91 <a href="{% url 'thread' thread.get_opening_post_id %}">
97 {% blocktrans with count=skipped_replies_count %}Skipped {{ count }} replies. Open thread to see all replies.{% endblocktrans %}
92 {% blocktrans with count=skipped_replies_count %}Skipped {{ count }} replies. Open thread to see all replies.{% endblocktrans %}
98 </a>
93 </a>
99 </div>
94 </div>
100 {% endif %}
95 {% endif %}
101 {% endwith %}
96 {% endwith %}
102 <div class="last-replies">
97 <div class="last-replies">
103 {% for post in last_replies %}
98 {% for post in last_replies %}
104 {% post_view post is_opening=False moderator=moderator truncated=True %}
99 {% post_view post is_opening=False moderator=moderator truncated=True %}
105 {% endfor %}
100 {% endfor %}
106 </div>
101 </div>
107 {% endif %}
102 {% endif %}
108 {% endwith %}
103 {% endwith %}
109 {% endif %}
104 {% endif %}
110 </div>
105 </div>
111 {% endcache %}
106 {% endcache %}
112 {% endfor %}
107 {% endfor %}
113
108
114 {% if current_page.has_next %}
109 {% if current_page.has_next %}
115 <div class="page_link">
110 <div class="page_link">
116 <a href="
111 <a href="
117 {% if tag %}
112 {% if tag %}
118 {% url "tag" tag_name=tag.name page=current_page.next_page_number %}
113 {% url "tag" tag_name=tag.name page=current_page.next_page_number %}
119 {% else %}
114 {% else %}
120 {% url "index" page=current_page.next_page_number %}
115 {% url "index" page=current_page.next_page_number %}
121 {% endif %}
116 {% endif %}
122 ">{% trans "Next page" %}</a>
117 ">{% trans "Next page" %}</a>
123 </div>
118 </div>
124 {% endif %}
119 {% endif %}
125 {% else %}
120 {% else %}
126 <div class="post">
121 <div class="post">
127 {% trans 'No threads exist. Create the first one!' %}</div>
122 {% trans 'No threads exist. Create the first one!' %}</div>
128 {% endif %}
123 {% endif %}
129
124
130 <div class="post-form-w">
125 <div class="post-form-w">
131 <script src="{% static 'js/panel.js' %}"></script>
126 <script src="{% static 'js/panel.js' %}"></script>
132 <div class="post-form">
127 <div class="post-form">
133 <div class="form-title">{% trans "Create new thread" %}</div>
128 <div class="form-title">{% trans "Create new thread" %}</div>
134 <div class="swappable-form-full">
129 <div class="swappable-form-full">
135 <form enctype="multipart/form-data" method="post" id="form">{% csrf_token %}
130 <form enctype="multipart/form-data" method="post" id="form">{% csrf_token %}
136 {{ form.as_div }}
131 {{ form.as_div }}
137 <div class="form-submit">
132 <div class="form-submit">
138 <input type="submit" value="{% trans "Post" %}"/>
133 <input type="submit" value="{% trans "Post" %}"/>
139 </div>
134 </div>
140 (ctrl-enter)
135 (ctrl-enter)
141 </form>
136 </form>
142 </div>
137 </div>
143 <div>
138 <div>
144 {% trans 'Tags must be delimited by spaces. Text or image is required.' %}
139 {% trans 'Tags must be delimited by spaces. Text or image is required.' %}
145 </div>
140 </div>
146 <div><a href="{% url "staticpage" name="help" %}">
141 <div><a href="{% url "staticpage" name="help" %}">
147 {% trans 'Text syntax' %}</a></div>
142 {% trans 'Text syntax' %}</a></div>
148 </div>
143 </div>
149 </div>
144 </div>
150
145
151 <script src="{% static 'js/form.js' %}"></script>
146 <script src="{% static 'js/form.js' %}"></script>
152
147
153 {% endblock %}
148 {% endblock %}
154
149
155 {% block metapanel %}
150 {% block metapanel %}
156
151
157 <span class="metapanel">
152 <span class="metapanel">
158 <b><a href="{% url "authors" %}">{{ site_name }}</a> {{ version }}</b>
153 <b><a href="{% url "authors" %}">{{ site_name }}</a> {{ version }}</b>
159 {% trans "Pages:" %}
154 {% trans "Pages:" %}
160 <a href="
155 <a href="
161 {% if tag %}
156 {% if tag %}
162 {% url "tag" tag_name=tag.name page=paginator.page_range|first %}
157 {% url "tag" tag_name=tag.name page=paginator.page_range|first %}
163 {% else %}
158 {% else %}
164 {% url "index" page=paginator.page_range|first %}
159 {% url "index" page=paginator.page_range|first %}
165 {% endif %}
160 {% endif %}
166 ">&lt;&lt;</a>
161 ">&lt;&lt;</a>
167 [
162 [
168 {% for page in paginator.center_range %}
163 {% for page in paginator.center_range %}
169 <a
164 <a
170 {% ifequal page current_page.number %}
165 {% ifequal page current_page.number %}
171 class="current_page"
166 class="current_page"
172 {% endifequal %}
167 {% endifequal %}
173 href="
168 href="
174 {% if tag %}
169 {% if tag %}
175 {% url "tag" tag_name=tag.name page=page %}
170 {% url "tag" tag_name=tag.name page=page %}
176 {% else %}
171 {% else %}
177 {% url "index" page=page %}
172 {% url "index" page=page %}
178 {% endif %}
173 {% endif %}
179 ">{{ page }}</a>
174 ">{{ page }}</a>
180 {% if not forloop.last %},{% endif %}
175 {% if not forloop.last %},{% endif %}
181 {% endfor %}
176 {% endfor %}
182 ]
177 ]
183 <a href="
178 <a href="
184 {% if tag %}
179 {% if tag %}
185 {% url "tag" tag_name=tag.name page=paginator.page_range|last %}
180 {% url "tag" tag_name=tag.name page=paginator.page_range|last %}
186 {% else %}
181 {% else %}
187 {% url "index" page=paginator.page_range|last %}
182 {% url "index" page=paginator.page_range|last %}
188 {% endif %}
183 {% endif %}
189 ">&gt;&gt;</a>
184 ">&gt;&gt;</a>
190 [<a href="rss/">RSS</a>]
185 [<a href="rss/">RSS</a>]
191 </span>
186 </span>
192
187
193 {% endblock %}
188 {% endblock %}
General Comments 0
You need to be logged in to leave comments. Login now