##// END OF EJS Templates
Increased version in the description
Pavel Ryapolov -
r295:1713fb75 1.3 default
parent child Browse files
Show More
@@ -1,206 +1,206 b''
1 {% extends "boards/base.html" %}
1 {% extends "boards/base.html" %}
2
2
3 {% load i18n %}
3 {% load i18n %}
4 {% load markup %}
4 {% load markup %}
5 {% load cache %}
5 {% load cache %}
6
6
7 {% block head %}
7 {% block head %}
8 {% if tag %}
8 {% if tag %}
9 <title>Neboard - {{ tag.name }}</title>
9 <title>Neboard - {{ tag.name }}</title>
10 {% else %}
10 {% else %}
11 <title>Neboard</title>
11 <title>Neboard</title>
12 {% endif %}
12 {% endif %}
13 {% endblock %}
13 {% endblock %}
14
14
15 {% block content %}
15 {% block content %}
16
16
17 {% if tag %}
17 {% if tag %}
18 <div class="tag_info">
18 <div class="tag_info">
19 <h2>{% trans 'Tag: ' %}{{ tag.name }}
19 <h2>{% trans 'Tag: ' %}{{ tag.name }}
20 {% if tag in user.fav_tags.all %}
20 {% if tag in user.fav_tags.all %}
21 <a href="{% url 'tag_unsubscribe' tag.name %}?next={{ request.path }}"
21 <a href="{% url 'tag_unsubscribe' tag.name %}?next={{ request.path }}"
22 class="fav"></a>
22 class="fav"></a>
23 {% else %}
23 {% else %}
24 <a href="{% url 'tag_subscribe' tag.name %}?next={{ request.path }}"
24 <a href="{% url 'tag_subscribe' tag.name %}?next={{ request.path }}"
25 class="not_fav"></a>
25 class="not_fav"></a>
26 {% endif %}
26 {% endif %}
27 </h2>
27 </h2>
28 </div>
28 </div>
29 {% endif %}
29 {% endif %}
30
30
31 {% if threads %}
31 {% if threads %}
32 {% for thread in threads %}
32 {% for thread in threads %}
33 <div class="thread">
33 <div class="thread">
34 {% if thread.bumpable %}
34 {% if thread.bumpable %}
35 <div class="post" id="{{ thread.thread.id }}">
35 <div class="post" id="{{ thread.thread.id }}">
36 {% else %}
36 {% else %}
37 <div class="post dead_post" id="{{ thread.thread.id }}">
37 <div class="post dead_post" id="{{ thread.thread.id }}">
38 {% endif %}
38 {% endif %}
39 {% if thread.thread.image %}
39 {% if thread.thread.image %}
40 <div class="image">
40 <div class="image">
41 <a class="thumb"
41 <a class="thumb"
42 href="{{ thread.thread.image.url }}"><img
42 href="{{ thread.thread.image.url }}"><img
43 src="{{ thread.thread.image.url_200x150 }}"
43 src="{{ thread.thread.image.url_200x150 }}"
44 alt="{{ thread.thread.id }}"
44 alt="{{ thread.thread.id }}"
45 data-width="{{ thread.thread.image_width }}"
45 data-width="{{ thread.thread.image_width }}"
46 data-height="{{ thread.thread.image_height }}" />
46 data-height="{{ thread.thread.image_height }}" />
47 </a>
47 </a>
48 </div>
48 </div>
49 {% endif %}
49 {% endif %}
50 <div class="message">
50 <div class="message">
51 <div class="post-info">
51 <div class="post-info">
52 <span class="title">{{ thread.thread.title }}</span>
52 <span class="title">{{ thread.thread.title }}</span>
53 <a class="post_id" href="{% url 'thread' thread.thread.id %}"
53 <a class="post_id" href="{% url 'thread' thread.thread.id %}"
54 >(#{{ thread.thread.id }})</a>
54 >(#{{ thread.thread.id }})</a>
55 [{{ thread.thread.pub_time }}]
55 [{{ thread.thread.pub_time }}]
56 [<a class="link" href="{% url 'thread' thread.thread.id %}#form"
56 [<a class="link" href="{% url 'thread' thread.thread.id %}#form"
57 >{% trans "Reply" %}</a>]
57 >{% trans "Reply" %}</a>]
58
58
59 {% if moderator %}
59 {% if moderator %}
60 <span class="moderator_info">
60 <span class="moderator_info">
61 [<a href="{% url 'delete' post_id=thread.thread.id %}?next={{ request.path }}"
61 [<a href="{% url 'delete' post_id=thread.thread.id %}?next={{ request.path }}"
62 >{% trans 'Delete' %}</a>]
62 >{% trans 'Delete' %}</a>]
63 ({{ thread.thread.poster_ip }})
63 ({{ thread.thread.poster_ip }})
64 [<a href="{% url 'ban' post_id=thread.thread.id %}?next={{ request.path }}"
64 [<a href="{% url 'ban' post_id=thread.thread.id %}?next={{ request.path }}"
65 >{% trans 'Ban IP' %}</a>]
65 >{% trans 'Ban IP' %}</a>]
66 </span>
66 </span>
67 {% endif %}
67 {% endif %}
68 </div>
68 </div>
69 {% autoescape off %}
69 {% autoescape off %}
70 {{ thread.thread.text.rendered|truncatewords_html:50 }}
70 {{ thread.thread.text.rendered|truncatewords_html:50 }}
71 {% endautoescape %}
71 {% endautoescape %}
72 </div>
72 </div>
73 <div class="metadata">
73 <div class="metadata">
74 {{ thread.thread.get_reply_count }} {% trans 'replies' %},
74 {{ thread.thread.get_reply_count }} {% trans 'replies' %},
75 {{ thread.thread.get_images_count }} {% trans 'images' %}.
75 {{ thread.thread.get_images_count }} {% trans 'images' %}.
76 {% if thread.thread.tags %}
76 {% if thread.thread.tags %}
77 <span class="tags">{% trans 'Tags' %}:
77 <span class="tags">{% trans 'Tags' %}:
78 {% for tag in thread.thread.tags.all %}
78 {% for tag in thread.thread.tags.all %}
79 <a class="tag" href="
79 <a class="tag" href="
80 {% url 'tag' tag_name=tag.name %}">
80 {% url 'tag' tag_name=tag.name %}">
81 {{ tag.name }}</a>
81 {{ tag.name }}</a>
82 {% endfor %}
82 {% endfor %}
83 </span>
83 </span>
84 {% endif %}
84 {% endif %}
85 </div>
85 </div>
86 </div>
86 </div>
87 {% if thread.thread.get_last_replies.exists %}
87 {% if thread.thread.get_last_replies.exists %}
88 <div class="last-replies">
88 <div class="last-replies">
89 {% for post in thread.thread.get_last_replies %}
89 {% for post in thread.thread.get_last_replies %}
90 {% if thread.bumpable %}
90 {% if thread.bumpable %}
91 <div class="post" id="{{ post.id }}">
91 <div class="post" id="{{ post.id }}">
92 {% else %}
92 {% else %}
93 <div class="post dead_post" id="{{ post.id }}">
93 <div class="post dead_post" id="{{ post.id }}">
94 {% endif %}
94 {% endif %}
95 {% if post.image %}
95 {% if post.image %}
96 <div class="image">
96 <div class="image">
97 <a class="thumb"
97 <a class="thumb"
98 href="{{ post.image.url }}"><img
98 href="{{ post.image.url }}"><img
99 src=" {{ post.image.url_200x150 }}"
99 src=" {{ post.image.url_200x150 }}"
100 alt="{{ post.id }}"
100 alt="{{ post.id }}"
101 data-width="{{ post.image_width }}"
101 data-width="{{ post.image_width }}"
102 data-height="{{ post.image_height }}"/>
102 data-height="{{ post.image_height }}"/>
103 </a>
103 </a>
104 </div>
104 </div>
105 {% endif %}
105 {% endif %}
106 <div class="message">
106 <div class="message">
107 <div class="post-info">
107 <div class="post-info">
108 <span class="title">{{ post.title }}</span>
108 <span class="title">{{ post.title }}</span>
109 <a class="post_id" href="
109 <a class="post_id" href="
110 {% url 'thread' thread.thread.id %}#{{ post.id }}">
110 {% url 'thread' thread.thread.id %}#{{ post.id }}">
111 (#{{ post.id }})</a>
111 (#{{ post.id }})</a>
112 [{{ post.pub_time }}]
112 [{{ post.pub_time }}]
113 </div>
113 </div>
114 {% autoescape off %}
114 {% autoescape off %}
115 {{ post.text.rendered|truncatewords_html:50 }}
115 {{ post.text.rendered|truncatewords_html:50 }}
116 {% endautoescape %}
116 {% endautoescape %}
117 </div>
117 </div>
118 </div>
118 </div>
119 {% endfor %}
119 {% endfor %}
120 </div>
120 </div>
121 {% endif %}
121 {% endif %}
122 </div>
122 </div>
123 {% endfor %}
123 {% endfor %}
124 {% else %}
124 {% else %}
125 <div class="post">
125 <div class="post">
126 {% trans 'No threads exist. Create the first one!' %}</div>
126 {% trans 'No threads exist. Create the first one!' %}</div>
127 {% endif %}
127 {% endif %}
128
128
129 <form enctype="multipart/form-data" method="post">{% csrf_token %}
129 <form enctype="multipart/form-data" method="post">{% csrf_token %}
130 <div class="post-form-w">
130 <div class="post-form-w">
131
131
132 <div class="form-title">{% trans "Create new thread" %}</div>
132 <div class="form-title">{% trans "Create new thread" %}</div>
133 <div class="post-form">
133 <div class="post-form">
134 <div class="form-row">
134 <div class="form-row">
135 <div class="form-label">{% trans 'Title' %}</div>
135 <div class="form-label">{% trans 'Title' %}</div>
136 <div class="form-input">{{ form.title }}</div>
136 <div class="form-input">{{ form.title }}</div>
137 <div class="form-errors">{{ form.title.errors }}</div>
137 <div class="form-errors">{{ form.title.errors }}</div>
138 </div>
138 </div>
139 <div class="form-row">
139 <div class="form-row">
140 <div class="form-label">{% trans 'Formatting' %}</div>
140 <div class="form-label">{% trans 'Formatting' %}</div>
141 <div class="form-input" id="mark_panel">
141 <div class="form-input" id="mark_panel">
142 <span class="mark_btn" id="quote"><span class="quote">&gt;{% trans 'quote' %}</span></span>
142 <span class="mark_btn" id="quote"><span class="quote">&gt;{% trans 'quote' %}</span></span>
143 <span class="mark_btn" id="italic"><i>{% trans 'italic' %}</i></span>
143 <span class="mark_btn" id="italic"><i>{% trans 'italic' %}</i></span>
144 <span class="mark_btn" id="bold"><b>{% trans 'bold' %}</b></span>
144 <span class="mark_btn" id="bold"><b>{% trans 'bold' %}</b></span>
145 <span class="mark_btn" id="spoiler"><span class="spoiler">{% trans 'spoiler' %}</span></span>
145 <span class="mark_btn" id="spoiler"><span class="spoiler">{% trans 'spoiler' %}</span></span>
146 <span class="mark_btn" id="comment"><span class="comment">// {% trans 'comment' %}</span></span>
146 <span class="mark_btn" id="comment"><span class="comment">// {% trans 'comment' %}</span></span>
147 </div>
147 </div>
148 </div>
148 </div>
149 <div class="form-row">
149 <div class="form-row">
150 <div class="form-label">{% trans 'Text' %}</div>
150 <div class="form-label">{% trans 'Text' %}</div>
151 <div class="form-input">{{ form.text }}</div>
151 <div class="form-input">{{ form.text }}</div>
152 <div class="form-errors">{{ form.text.errors }}</div>
152 <div class="form-errors">{{ form.text.errors }}</div>
153 </div>
153 </div>
154 <div class="form-row">
154 <div class="form-row">
155 <div class="form-label">{% trans 'Image' %}</div>
155 <div class="form-label">{% trans 'Image' %}</div>
156 <div class="form-input">{{ form.image }}</div>
156 <div class="form-input">{{ form.image }}</div>
157 <div class="form-errors">{{ form.image.errors }}</div>
157 <div class="form-errors">{{ form.image.errors }}</div>
158 </div>
158 </div>
159 <div class="form-row">
159 <div class="form-row">
160 <div class="form-label">{% trans 'Tags' %}</div>
160 <div class="form-label">{% trans 'Tags' %}</div>
161 <div class="form-input">{{ form.tags }}</div>
161 <div class="form-input">{{ form.tags }}</div>
162 <div class="form-errors">{{ form.tags.errors }}</div>
162 <div class="form-errors">{{ form.tags.errors }}</div>
163 </div>
163 </div>
164 <div class="form-row form-email">
164 <div class="form-row form-email">
165 <div class="form-label">{% trans 'e-mail' %}</div>
165 <div class="form-label">{% trans 'e-mail' %}</div>
166 <div class="form-input">{{ form.email }}</div>
166 <div class="form-input">{{ form.email }}</div>
167 <div class="form-errors">{{ form.email.errors }}</div>
167 <div class="form-errors">{{ form.email.errors }}</div>
168 </div>
168 </div>
169 <div class="form-row">
169 <div class="form-row">
170 {{ form.captcha }}
170 {{ form.captcha }}
171 <div class="form-errors">{{ form.captcha.errors }}</div>
171 <div class="form-errors">{{ form.captcha.errors }}</div>
172 </div>
172 </div>
173 <div class="form-row">
173 <div class="form-row">
174 <div class="form-errors">{{ form.other.errors }}</div>
174 <div class="form-errors">{{ form.other.errors }}</div>
175 </div>
175 </div>
176 </div>
176 </div>
177 <div class="form-submit">
177 <div class="form-submit">
178 <input type="submit" value="{% trans "Post" %}"/></div>
178 <input type="submit" value="{% trans "Post" %}"/></div>
179 <div>
179 <div>
180 {% trans 'Tags must be delimited by spaces. Text or image is required.' %}
180 {% trans 'Tags must be delimited by spaces. Text or image is required.' %}
181 </div>
181 </div>
182 <div><a href="{% url "staticpage" name="help" %}">
182 <div><a href="{% url "staticpage" name="help" %}">
183 {% trans 'Text syntax' %}</a></div>
183 {% trans 'Text syntax' %}</a></div>
184 </div>
184 </div>
185 </form>
185 </form>
186
186
187 {% endblock %}
187 {% endblock %}
188
188
189 {% block metapanel %}
189 {% block metapanel %}
190
190
191 <span class="metapanel">
191 <span class="metapanel">
192 <b><a href="{% url "authors" %}">Neboard</a> 1.2</b>
192 <b><a href="{% url "authors" %}">Neboard</a> 1.3</b>
193 {% trans "Pages:" %}
193 {% trans "Pages:" %}
194 {% for page in pages %}
194 {% for page in pages %}
195 [<a href="
195 [<a href="
196 {% if tag %}
196 {% if tag %}
197 {% url "tag" tag_name=tag page=page %}
197 {% url "tag" tag_name=tag page=page %}
198 {% else %}
198 {% else %}
199 {% url "index" page=page %}
199 {% url "index" page=page %}
200 {% endif %}
200 {% endif %}
201 ">{{ page }}</a>]
201 ">{{ page }}</a>]
202 {% endfor %}
202 {% endfor %}
203 [<a href="rss/">RSS</a>]
203 [<a href="rss/">RSS</a>]
204 </span>
204 </span>
205
205
206 {% endblock %}
206 {% endblock %}
@@ -1,21 +1,21 b''
1 = Features =
1 = Features =
2 [DONE] Connecting tags to each other
2 [DONE] Connecting tags to each other
3 [DONE] Connect posts to the replies (in messages), get rid of the JS reply map
3
4
4 [NOT STARTED] Tree view (JS)
5 [NOT STARTED] Tree view (JS)
5 [NOT STARTED] Adding tags to images filename
6 [NOT STARTED] Adding tags to images filename
6 [NOT STARTED] Federative network for s2s communication
7 [NOT STARTED] Federative network for s2s communication
7 [NOT STARTED] XMPP gate
8 [NOT STARTED] XMPP gate
8 [NOT STARTED] Bitmessage gate
9 [NOT STARTED] Bitmessage gate
9 [NOT STARTED] Notification engine
10 [NOT STARTED] Notification engine
10 [NOT STARTED] Javascript disabling engine
11 [NOT STARTED] Javascript disabling engine
11 [NOT STARTED] Thread autoupdate (JS + API)
12 [NOT STARTED] Thread autoupdate (JS + API)
12 [NOT STARTED] Better django admin pages to simplify admin operations
13 [NOT STARTED] Better django admin pages to simplify admin operations
13 [NOT STARTED] Regen script to update all posts
14 [NOT STARTED] Regen script to update all posts
14 [NOT STARTED] Connect posts to the replies (in messages), get rid of the JS reply map
15 [NOT STARTED] Group tags by first letter in all tags list
15 [NOT STARTED] Group tags by first letter in all tags list
16 [NOT STARTED] Show board speed in the lower panel (posts per day)
16 [NOT STARTED] Show board speed in the lower panel (posts per day)
17
17
18 = Bugs =
18 = Bugs =
19 [DONE] Fix bug with creating threads from tag view
19 [DONE] Fix bug with creating threads from tag view
20
20
21 [NOT STARTED] Quote characters within quote causes quote parsing to fail
21 [NOT STARTED] Quote characters within quote causes quote parsing to fail
General Comments 0
You need to be logged in to leave comments. Login now