]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
Replace slider with select
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Resources / views / themes / material / Config / index.html.twig
1 {% extends "WallabagCoreBundle::layout.html.twig" %}
2
3 {% block title %}{% trans %}config{% endtrans %}{% endblock %}
4
5 {% block content %}
6
7 <div class="row">
8 <div class="col s12">
9 <div class="card-panel settings">
10
11 <div class="row">
12 <div class="div_tabs col s12">
13 <ul class="tabs">
14 <li class="tab col s3"><a class="active" href="#set1">{% trans %}Settings{% endtrans %}</a></li>
15 <li class="tab col s3"><a href="#set2">{% trans %}RSS{% endtrans %}</a></li>
16 <li class="tab col s3"><a href="#set3">{% trans %}User information{% endtrans %}</a></li>
17 <li class="tab col s3"><a href="#set4">{% trans %}Password{% endtrans %}</a></li>
18 <li class="tab col s3"><a href="#set5">{% trans %}Tagging rules{% endtrans %}</a></li>
19 {% if is_granted('ROLE_SUPER_ADMIN') %}
20 <li class="tab col s3"><a href="#set6">{% trans %}Add a user{% endtrans %}</a></li>
21 {% endif %}
22 </ul>
23 </div>
24
25 <div id="set1" class="col s12">
26 {{ form_start(form.config) }}
27 {{ form_errors(form.config) }}
28
29 <div class="row">
30 <div class="input-field col s12">
31 {{ form_errors(form.config.theme) }}
32 {{ form_widget(form.config.theme) }}
33 <label class="required">{% trans %}Theme{% endtrans %}</label>
34 </div>
35 </div>
36
37 <div class="row">
38 <div class="input-field col s12">
39 {{ form_label(form.config.items_per_page) }}
40 {{ form_errors(form.config.items_per_page) }}
41 {{ form_widget(form.config.items_per_page) }}
42 </div>
43 </div>
44
45 <div class="row">
46 <div class="input-field col s12">
47 {{ form_label(form.config.reading_speed) }}
48 {{ form_errors(form.config.reading_speed) }}
49 {{ form_widget(form.config.reading_speed) }}
50 <p>{% trans %}You can use online tools to estimate your reading speed{% endtrans %} (<a href="http://www.myreadspeed.com/calculate/">{% trans %}like this one{%endtrans%}</a>).</p>
51 </div>
52 </div>
53
54 <div class="row">
55 <div class="input-field col s12">
56 {{ form_label(form.config.language) }}
57 {{ form_errors(form.config.language) }}
58 {{ form_widget(form.config.language) }}
59 </div>
60 </div>
61
62 <div class="hidden">{{ form_rest(form.config) }}</div>
63 <button class="btn waves-effect waves-light" type="submit" name="action">
64 {% trans %}Save{% endtrans %}
65 </button>
66 </form>
67 </div>
68
69 <div id="set2" class="col s12">
70 {{ form_start(form.rss) }}
71 {{ form_errors(form.rss) }}
72
73 <div class="row">
74 <div class="input-field col s12">
75 {% trans %}RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.{% endtrans %}
76 </div>
77 </div>
78
79 <div class="row">
80 <div class="input-field col s12">
81 <label>{% trans %}RSS token{% endtrans %}</label>
82 <div>
83 {% if rss.token %}
84 {{ rss.token }}
85 {% else %}
86 <em>{% trans %}No token{% endtrans %}</em>
87 {% endif %}
88 – <a href="{{ path('generate_token') }}">{% if rss.token %}{% trans %}Reset your token{% endtrans %}{% else %}{% trans %}Create your token{% endtrans %}{% endif %}</a>
89 </div>
90 </div>
91 </div>
92 {% if rss.token %}
93 <div class="row">
94 <div class="input-field col s12">
95 <label>{% trans %}RSS links{% endtrans %}</label>
96 <ul>
97 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}unread{% endtrans %}</a></li>
98 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}starred{% endtrans %}</a></li>
99 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}archive{% endtrans %}</a></li>
100 </ul>
101
102 </div>
103 </div>
104 {% endif %}
105
106 <div class="row">
107 <div class="input-field col s12">
108 {{ form_label(form.rss.rss_limit) }}
109 {{ form_errors(form.rss.rss_limit) }}
110 {{ form_widget(form.rss.rss_limit) }}
111 </div>
112 </div>
113
114 <div class="hidden">{{ form_rest(form.rss) }}</div>
115 <button class="btn waves-effect waves-light" type="submit" name="action">
116 {% trans %}Save{% endtrans %}
117 </button>
118
119 </form>
120 </div>
121
122 <div id="set3" class="col s12">
123 {{ form_start(form.user) }}
124 {{ form_errors(form.user) }}
125
126 <div class="row">
127 <div class="input-field col s12">
128 {{ form_label(form.user.name) }}
129 {{ form_errors(form.user.name) }}
130 {{ form_widget(form.user.name) }}
131 </div>
132 </div>
133
134 <div class="row">
135 <div class="input-field col s12">
136 {{ form_label(form.user.email) }}
137 {{ form_errors(form.user.email) }}
138 {{ form_widget(form.user.email) }}
139 </div>
140 </div>
141
142 {% if twofactor_auth %}
143 <div class="row">
144 <div class="input-field col s12">
145 {% trans %}Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion{% endtrans %}
146 </div>
147 </div>
148
149 <div class="row">
150 <div class="input-field col s12">
151 {{ form_widget(form.user.twoFactorAuthentication) }}
152 {{ form_label(form.user.twoFactorAuthentication) }}
153 {{ form_errors(form.user.twoFactorAuthentication) }}
154 </div>
155 </div>
156 {% endif %}
157
158 <div class="hidden">{{ form_rest(form.user) }}</div>
159 <button class="btn waves-effect waves-light" type="submit" name="action">
160 {% trans %}Save{% endtrans %}
161 </button>
162
163 </form>
164 </div>
165
166 <div id="set4" class="col s12">
167 {{ form_start(form.pwd) }}
168 {{ form_errors(form.pwd) }}
169
170 <div class="row">
171 <div class="input-field col s12">
172 {{ form_label(form.pwd.old_password) }}
173 {{ form_errors(form.pwd.old_password) }}
174 {{ form_widget(form.pwd.old_password) }}
175 </div>
176 </div>
177
178 <div class="row">
179 <div class="input-field col s12">
180 {{ form_label(form.pwd.new_password.first) }}
181 {{ form_errors(form.pwd.new_password.first) }}
182 {{ form_widget(form.pwd.new_password.first) }}
183 </div>
184 </div>
185
186 <div class="row">
187 <div class="input-field col s12">
188 {{ form_label(form.pwd.new_password.second) }}
189 {{ form_errors(form.pwd.new_password.second) }}
190 {{ form_widget(form.pwd.new_password.second) }}
191 </div>
192 </div>
193
194 <div class="hidden">{{ form_rest(form.pwd) }}</div>
195 <button class="btn waves-effect waves-light" type="submit" name="action">
196 {% trans %}Save{% endtrans %}
197 </button>
198
199 </form>
200 </div>
201
202 <div id="set5" class="col s12">
203 <div class="row">
204 <div class="input-field col s12">
205 <ul>
206 {% for tagging_rule in app.user.config.taggingRules %}
207 <li>
208 if « {{ tagging_rule.rule }} » then tag as « {{ tagging_rule.tags|join(', ') }} »
209 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{% trans %}Delete{% endtrans %}">
210 <i class="tool grey-text delete mdi-action-delete"></i>
211 </a>
212 </li>
213 {% endfor %}
214 </ul>
215 </div>
216 </div>
217
218 {{ form_start(form.new_tagging_rule) }}
219 {{ form_errors(form.new_tagging_rule) }}
220
221 <div class="row">
222 <div class="input-field col s12">
223 {{ form_label(form.new_tagging_rule.rule) }}
224 {{ form_errors(form.new_tagging_rule.rule) }}
225 {{ form_widget(form.new_tagging_rule.rule) }}
226 </div>
227 </div>
228
229 <div class="row">
230 <div class="input-field col s12">
231 {{ form_label(form.new_tagging_rule.tags) }}
232 {{ form_errors(form.new_tagging_rule.tags) }}
233 {{ form_widget(form.new_tagging_rule.tags) }}
234 </div>
235 </div>
236
237 <div class="hidden">{{ form_rest(form.new_tagging_rule) }}</div>
238 <button class="btn waves-effect waves-light" type="submit" name="action">
239 {% trans %}Save{% endtrans %}
240 </button>
241 </form>
242
243 <div class="row">
244 <div class="input-field col s12">
245 <h4>{% trans %}FAQ{% endtrans %}</h4>
246
247 <h5>{% trans %}What does « tagging rules » mean?{% endtrans %}</h5>
248 <p class="help">
249 {% trans %}
250 They are rules used by Wallabag to automatically tag new entries.<br />Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.
251 {% endtrans %}
252 </p>
253
254 <h5>{% trans %}How do I use them?{% endtrans %}</h5>
255 <p class="help">
256 {% trans %}
257 Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />In that case, you should put « readingTime &lt;= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i> field.<br />Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />Complex rules can be written by using predefined operators: if « <i>readingTime &gt;= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »
258 {% endtrans %}
259 </p>
260
261 <h5>{% trans %}Which variables and operators can I use to write rules?{% endtrans %}</h5>
262 <p class="help">
263 {% trans %}The following variables and operators can be used to create tagging rules:{% endtrans %}
264
265 <table>
266 <thead>
267 <tr>
268 <th>{% trans %}Variable{% endtrans %}</th>
269 <th>{% trans %}Meaning{% endtrans %}</th>
270 <th>{% trans %}Operator{% endtrans %}</th>
271 <th>{% trans %}Meaning{% endtrans %}</th>
272 </tr>
273 </thead>
274
275 <tbody>
276 <tr>
277 <td>title</td>
278 <td>{% trans %}Title of the entry{% endtrans %}</td>
279 <td>&lt;=</td>
280 <td>{% trans %}Less than…{% endtrans %}</td>
281 </tr>
282 <tr>
283 <td>url</td>
284 <td>{% trans %}URL of the entry{% endtrans %}</td>
285 <td>&lt;</td>
286 <td>{% trans %}Strictly less than…{% endtrans %}</td>
287 </tr>
288 <tr>
289 <td>isArchived</td>
290 <td>{% trans %}Whether the entry is archived or not{% endtrans %}</td>
291 <td>=&gt;</td>
292 <td>{% trans %}Greater than…{% endtrans %}</td>
293 </tr>
294 <tr>
295 <td>isStarred</td>
296 <td>{% trans %}Whether the entry is starred or not{% endtrans %}</td>
297 <td>&gt;</td>
298 <td>{% trans %}Strictly greater than…{% endtrans %}</td>
299 </tr>
300 <tr>
301 <td>content</td>
302 <td>{% trans %}The entry's content{% endtrans %}</td>
303 <td>=</td>
304 <td>{% trans %}Equal to…{% endtrans %}</td>
305 </tr>
306 <tr>
307 <td>language</td>
308 <td>{% trans %}The entry's language{% endtrans %}</td>
309 <td>!=</td>
310 <td>{% trans %}Not equal to…{% endtrans %}</td>
311 </tr>
312 <tr>
313 <td>mimetype</td>
314 <td>{% trans %}The entry's mime-type{% endtrans %}</td>
315 <td>OR</td>
316 <td>{% trans %}One rule or another{% endtrans %}</td>
317 </tr>
318 <tr>
319 <td>readingTime</td>
320 <td>{% trans %}The estimated entry's reading time, in minutes{% endtrans %}</td>
321 <td>AND</td>
322 <td>{% trans %}One rule and another{% endtrans %}</td>
323 </tr>
324 <tr>
325 <td>domainName</td>
326 <td>{% trans %}The domain name of the entry{% endtrans %}</td>
327 <td>matches</td>
328 <td>
329 {% trans %}
330 Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>
331 {% endtrans %}
332 </td>
333 </tr>
334 </tbody>
335 </table>
336 </p>
337 </div>
338 </div>
339 </div>
340
341 {% if is_granted('ROLE_SUPER_ADMIN') %}
342 <div id="set6" class="col s12">
343 {{ form_start(form.new_user) }}
344 {{ form_errors(form.new_user) }}
345
346 <div class="row">
347 <div class="input-field col s12">
348 {{ form_label(form.new_user.username) }}
349 {{ form_errors(form.new_user.username) }}
350 {{ form_widget(form.new_user.username) }}
351 </div>
352 </div>
353
354 <div class="row">
355 <div class="input-field col s12">
356 {{ form_label(form.new_user.plainPassword.first) }}
357 {{ form_errors(form.new_user.plainPassword.first) }}
358 {{ form_widget(form.new_user.plainPassword.first) }}
359 </div>
360 </div>
361
362 <div class="row">
363 <div class="input-field col s12">
364 {{ form_label(form.new_user.plainPassword.second) }}
365 {{ form_errors(form.new_user.plainPassword.second) }}
366 {{ form_widget(form.new_user.plainPassword.second) }}
367 </div>
368 </div>
369
370 <div class="row">
371 <div class="input-field col s12">
372 {{ form_label(form.new_user.email) }}
373 {{ form_errors(form.new_user.email) }}
374 {{ form_widget(form.new_user.email) }}
375 </div>
376 </div>
377
378 <div class="hidden">{{ form_rest(form.new_user) }}</div>
379 <button class="btn waves-effect waves-light" type="submit" name="action">
380 {% trans %}Add a user{% endtrans %}
381 </button>
382
383 </form>
384 </div>
385 {% endif %}
386 </div>
387
388 </div>
389 </div>
390 </div>
391 {% endblock %}