##// END OF EJS Templates
Fixed RSS in thread list pages. Changes to markdown parser. This refs #11
neko259 -
r91:c0e948d4 default
parent child Browse files
Show More
@@ -1,271 +1,270 b''
1 1 html {
2 2 background: #555;
3 3 color: #ffffff;
4 4 }
5 5
6 6 #admin_panel {
7 7 background: #FF0000;
8 8 color: #00FF00
9 9 }
10 10
11 11 .input_field {
12 12
13 13 }
14 14
15 15 .input_field_name {
16 16
17 17 }
18 18
19 19 .input_field_error {
20 20 color: #FF0000;
21 21 }
22 22
23 23
24 24 .title {
25 25 font-weight: bold;
26 26 color: #ffcc00;
27 27 }
28 28
29 29 .link, a {
30 30 color: #afdcec;
31 31 }
32 32
33 33 .block {
34 34 display: inline-block;
35 35 vertical-align: top;
36 36 }
37 37
38 38 .tag {
39 39 color: #b4cfec;
40 40 }
41 41
42 42 .post_id {
43 43 color: #fff380;
44 44 }
45 45
46 46 .post, .dead_post {
47 47 background: #333;
48 48 margin: 5px;
49 49 padding: 10px;
50 50 border-radius: 5px;
51 51 clear: left;
52 52 word-wrap: break-word;
53 53 }
54 54
55 55 .metadata {
56 56 padding: 5px;
57 57 margin-top: 10px;
58 58 border: solid 1px #666;
59 59 font-size: 0.9em;
60 60 color: #ddd;
61 61 display: table;
62 62 }
63 63
64 64 .navigation_panel, .tag_info {
65 65 background: #444;
66 66 margin: 5px;
67 67 padding: 10px;
68 68 border-radius: 5px;
69 69 color: #eee;
70 70 }
71 71
72 72 .navigation_panel .link {
73 73 border-right: 1px solid #fff;
74 74 font-weight: bold;
75 75 margin-right: 1ex;
76 76 padding-right: 1ex;
77 77 }
78 78 .navigation_panel .link:last-child {
79 79 border-left: 1px solid #fff;
80 80 border-right: none;
81 81 float: right;
82 82 margin-left: 1ex;
83 83 margin-right: 0;
84 84 padding-left: 1ex;
85 85 padding-right: 0;
86 86 }
87 87
88 88 .navigation_panel::after, .post::after {
89 89 clear: both;
90 90 content: ".";
91 91 display: block;
92 92 height: 0;
93 93 line-height: 0;
94 94 visibility: hidden;
95 95 }
96 96
97 97 p {
98 98 margin-top: .5em;
99 99 margin-bottom: .5em;
100 100 }
101 101
102 102 .post-form-w {
103 103 display: table;
104 104 background: #333344;
105 105 border-radius: 5px;
106 106 color: #fff;
107 107 padding: 10px;
108 108 margin: 5px
109 109 }
110 110
111 111 .form-row {
112 112 display: table-row;
113 113 }
114 114
115 115 .form-label, .form-input, .form-errors {
116 116 display: table-cell;
117 117 }
118 118
119 119 .form-label {
120 120 padding: .25em 1ex .25em 0;
121 121 vertical-align: top;
122 122 }
123 123
124 124 .form-input {
125 125 padding: .25em 0;
126 126 }
127 127
128 128 .form-errors {
129 129 padding-left: 1ex;
130 130 font-weight: bold;
131 131 vertical-align: top;
132 132 }
133 133
134 134 .post-form input, .post-form textarea {
135 135 background: #333;
136 136 color: #fff;
137 137 border: solid 1px;
138 138 padding: 0;
139 139 width: 100%;
140 140 }
141 141
142 142 .form-submit {
143 143 border-bottom: 2px solid #ddd;
144 144 margin-bottom: .5em;
145 145 padding-bottom: .5em;
146 146 }
147 147
148 148 .form-title {
149 149 font-weight: bold;
150 150 }
151 151
152 152 input[type="submit"] {
153 153 background: #222;
154 154 border: solid 1px #fff;
155 155 color: #fff;
156 156 }
157 157
158 158 blockquote {
159 159 border-left: solid 2px;
160 160 padding-left: 5px;
161 161 color: #B1FB17;
162 162 margin: 0;
163 163 }
164 164
165 165 .post > .image {
166 166 float: left;
167 167 margin: 0 1ex .5ex 0;
168 168 min-width: 1px;
169 169 height: 150px;
170 170 text-align: center;
171 171 display: table-row;
172 172 }
173 173
174 174 .post > .metadata {
175 175 clear: left;
176 176 }
177 177
178 178 .get {
179 179 font-weight: bold;
180 180 color: #d55;
181 181 }
182 182
183 183 * {
184 184 text-decoration: none;
185 185 }
186 186
187 187 .dead_post {
188 188 background-color: #442222;
189 189 }
190 190
191 191 .quote {
192 192 color: #92cf38;
193 padding-left: 5px;
194 193 }
195 194
196 195 .spoiler {
197 196 background: white;
198 197 color: white;
199 198 }
200 199
201 200 .spoiler:hover {
202 201 background: black;
203 202 }
204 203
205 204 .comment {
206 205 color: #5dbcb7;
207 206 }
208 207
209 208 a:hover {
210 209 text-decoration: underline;
211 210 }
212 211
213 212 .last-replies {
214 213 margin-left: 3ex;
215 214 }
216 215
217 216 .thread {
218 217 margin-bottom: 3ex;
219 218 }
220 219
221 220 .post:target {
222 221 border: solid 2px white;
223 222 }
224 223
225 224 pre{
226 225 white-space:pre-wrap
227 226 }
228 227
229 228 li {
230 229 list-style-position: inside;
231 230 }
232 231
233 232 .fancybox-skin {
234 233 position: relative;
235 234 background-color: #fff;
236 235 color: #ddd;
237 236 text-shadow: none;
238 237 }
239 238
240 239 .fancybox-image {
241 240 border: 1px solid black;
242 241 }
243 242
244 243 .image-mode-tab {
245 244 background: #444;
246 245 color: #eee;
247 246 display: table;
248 247 margin: 5px;
249 248 padding: 5px;
250 249 border-radius: 5px;
251 250 }
252 251
253 252 .image-mode-tab > label {
254 253 margin: 0 1ex;
255 254 }
256 255
257 256 .image-mode-tab > label > input {
258 257 margin-right: .5ex;
259 258 }
260 259
261 260 #posts-table {
262 261 margin: 5px;
263 262 }
264 263
265 264 .tag_info {
266 265 display: table;
267 266 }
268 267
269 268 .tag_info > h2 {
270 269 margin: 0;
271 270 } No newline at end of file
@@ -1,112 +1,113 b''
1 1 {% extends "boards/base.html" %}
2 2
3 3 {% load i18n %}
4 4 {% load markup %}
5 5
6 6 {% block head %}
7 7 <title>Neboard - {{ posts.0.title }}</title>
8 8 {% endblock %}
9 9
10 10 {% block content %}
11 11 <script src="{{ STATIC_URL }}js/thread.js"></script>
12 12
13 13 {% if posts %}
14 14 <div id="posts">
15 15 {% for post in posts %}
16 16 {% if posts.0.can_bump %}
17 17 <div class="post" id="{{ post.id }}">
18 18 {% else %}
19 19 <div class="post dead_post" id="{{ post.id }}">
20 20 {% endif %}
21 21 {% if post.image %}
22 22 <div class="image">
23 23 <a
24 24 class="fancy"
25 25 href="{{ post.image.url }}"><img
26 26 src="{{ post.image.url_200x150 }}"
27 27 alt="{% trans 'Post image' %}" />
28 28 </a>
29 29 </div>
30 30 {% endif %}
31 31 <div class="message">
32 32 <div class="post-info">
33 33 <span class="title">{{ post.title }}</span>
34 34 <a class="post_id" href="#{{ post.id }}">
35 35 (#{{ post.id }})</a>
36 36 [{{ post.pub_time }}]
37 37 {% if post.is_get %}
38 38 <span class="get">
39 39 {% trans "Get!" %}
40 40 </span>
41 41 {% endif %}
42 42 </div>
43 43 {% autoescape off %}
44 44 {{ post.text.rendered }}
45 45 {% endautoescape %}
46 46 </div>
47 47 {% if post.tags.all %}
48 48 <div class="metadata">
49 49 <span class="tags">{% trans 'Tags' %}:
50 50 {% for tag in post.tags.all %}
51 51 <a class="tag" href="{% url 'tag' tag.name %}">
52 52 {{ tag.name }}</a>
53 53 {% endfor %}
54 54 </span>
55 55 </div>
56 56 {% endif %}
57 57 </div>
58 58 {% endfor %}
59 59 </div>
60 60 {% else %}
61 61 No thread found.
62 62 <hr />
63 63 {% endif %}
64 64
65 65 <form id="form" enctype="multipart/form-data" method="post"
66 66 >{% csrf_token %}
67 67 <div class="post-form-w">
68 68 <div class="form-title">{% trans "Reply to thread" %}</div>
69 69 <div class="post-form">
70 70 <div class="form-row">
71 71 <div class="form-label">{% trans 'Title' %}</div>
72 72 <div class="form-input">{{ form.title }}</div>
73 73 <div class="form-errors">{{ form.title.errors }}</div>
74 74 </div>
75 75 <div class="form-row">
76 76 <div class="form-label">{% trans 'Text' %}</div>
77 77 <div class="form-input">{{ form.text }}</div>
78 78 <div class="form-errors">{{ form.text.errors }}</div>
79 79 </div>
80 80 <div class="form-row">
81 81 <div class="form-label">{% trans 'Image' %}</div>
82 82 <div class="form-input">{{ form.image }}</div>
83 83 <div class="form-errors">{{ form.image.errors }}</div>
84 84 </div>
85 85 <div class="form-row">
86 86 {{ form.captcha }}
87 87 </div>
88 88 </div>
89 89
90 90 <div class="form-submit"><input type="submit"
91 91 value="{% trans "Post" %}"/></div>
92 92 <div><a href="http://daringfireball.net/projects/markdown/basics">
93 93 {% trans 'Basic markdown syntax.' %}</a></div>
94 94 <div>{% trans 'Example: ' %}*<i>{% trans 'italic' %}</i>*,
95 95 **<b>{% trans 'bold' %}</b>**</div>
96 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>{% trans 'Links to answers can be inserted with' %}
98 "&gt;&gt;123"
99 </div>
99 100 </div>
100 101 </form>
101 102
102 103 {% endblock %}
103 104
104 105 {% block metapanel %}
105 106
106 107 <span class="metapanel">
107 108 {{ posts.0.get_reply_count }} {% trans 'replies' %},
108 109 {{ posts.0.get_images_count }} {% trans 'images' %}.
109 110 {% trans 'Last update: ' %}{{ posts.0.last_edit_time }}
110 111 </span>
111 112
112 113 {% endblock %} No newline at end of file
@@ -1,32 +1,34 b''
1 1 from django.conf.urls import patterns, url, include
2 2 from boards import views
3 3 from boards.rss import AllThreadsFeed, TagThreadsFeed, ThreadPostsFeed
4 4
5 5 urlpatterns = patterns('',
6 6
7 7 # /boards/
8 8 url(r'^$', views.index, name='index'),
9 9 # /boards/page/
10 10 url(r'^page/(?P<page>\w+)/$', views.index, name='index'),
11 11
12 12 # login page
13 13 url(r'^login$', views.login, name='login'),
14 14 # logout page
15 15 url(r'^logout$', views.logout, name='logout'),
16 16
17 17 # /boards/tag/tag_name/
18 18 url(r'^tag/(?P<tag_name>\w+)/$', views.tag, name='tag'),
19 19 # /boards/tag/tag_id/page/
20 20 url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/$', views.tag, name='tag'),
21 21 # /boards/thread/
22 22 url(r'^thread/(?P<post_id>\w+)/$', views.thread, name='thread'),
23 23 # /boards/theme/theme_name/
24 24 url(r'^settings$', views.settings, name='settings'),
25 25 url(r'^tags$', views.all_tags, name='tags'),
26 26 url(r'^captcha/', include('captcha.urls')),
27 27
28 28 # RSS feeds
29 29 url(r'^rss/$', AllThreadsFeed()),
30 url(r'^page/(?P<page>\w+)/rss/$', AllThreadsFeed()),
30 31 url(r'^tag/(?P<tag_name>\w+)/rss/$', TagThreadsFeed()),
32 url(r'^tag/(?P<tag_name>\w+)/page/(?P<page>\w+)/rss/$', TagThreadsFeed()),
31 33 url(r'^thread/(?P<post_id>\w+)/rss/$', ThreadPostsFeed()),
32 34 ) No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now