1 {% extends "WallabagCoreBundle::layout.html.twig" %}
3 {% block title %}{% trans %}config{% endtrans %}{% endblock %}
9 <div class="card-panel settings">
12 <div class="div_tabs col s12">
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>
25 <div id="set1" class="col s12">
26 {{ form_start(form.config) }}
27 {{ form_errors(form.config) }}
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>
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) }}
46 <div class="input-field col s12">
47 {{ form_label(form.config.language) }}
48 {{ form_errors(form.config.language) }}
49 {{ form_widget(form.config.language) }}
53 <div class="hidden">{{ form_rest(form.config) }}</div>
54 <button class="btn waves-effect waves-light" type="submit" name="action">
55 {% trans %}Save{% endtrans %}
60 <div id="set2" class="col s12">
61 {{ form_start(form.rss) }}
62 {{ form_errors(form.rss) }}
65 <div class="input-field col s12">
66 {% 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 %}
71 <div class="input-field col s12">
72 <label>{% trans %}RSS token{% endtrans %}</label>
77 <em>{% trans %}No token{% endtrans %}</em>
79 – <a href="{{ path('generate_token') }}">{% if rss.token %}{% trans %}Reset your token{% endtrans %}{% else %}{% trans %}Create your token{% endtrans %}{% endif %}</a>
85 <div class="input-field col s12">
86 <label>{% trans %}RSS links{% endtrans %}</label>
88 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}unread{% endtrans %}</a></li>
89 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}starred{% endtrans %}</a></li>
90 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{% trans %}archive{% endtrans %}</a></li>
98 <div class="input-field col s12">
99 {{ form_label(form.rss.rss_limit) }}
100 {{ form_errors(form.rss.rss_limit) }}
101 {{ form_widget(form.rss.rss_limit) }}
105 <div class="hidden">{{ form_rest(form.rss) }}</div>
106 <button class="btn waves-effect waves-light" type="submit" name="action">
107 {% trans %}Save{% endtrans %}
113 <div id="set3" class="col s12">
114 {{ form_start(form.user) }}
115 {{ form_errors(form.user) }}
118 <div class="input-field col s12">
119 {{ form_label(form.user.name) }}
120 {{ form_errors(form.user.name) }}
121 {{ form_widget(form.user.name) }}
126 <div class="input-field col s12">
127 {{ form_label(form.user.email) }}
128 {{ form_errors(form.user.email) }}
129 {{ form_widget(form.user.email) }}
133 {% if twofactor_auth %}
135 <div class="input-field col s12">
136 {{ form_widget(form.user.twoFactorAuthentication) }}
137 {{ form_label(form.user.twoFactorAuthentication) }}
138 {{ form_errors(form.user.twoFactorAuthentication) }}
143 <div class="hidden">{{ form_rest(form.user) }}</div>
144 <button class="btn waves-effect waves-light" type="submit" name="action">
145 {% trans %}Save{% endtrans %}
151 <div id="set4" class="col s12">
152 {{ form_start(form.pwd) }}
153 {{ form_errors(form.pwd) }}
156 <div class="input-field col s12">
157 {{ form_label(form.pwd.old_password) }}
158 {{ form_errors(form.pwd.old_password) }}
159 {{ form_widget(form.pwd.old_password) }}
164 <div class="input-field col s12">
165 {{ form_label(form.pwd.new_password.first) }}
166 {{ form_errors(form.pwd.new_password.first) }}
167 {{ form_widget(form.pwd.new_password.first) }}
172 <div class="input-field col s12">
173 {{ form_label(form.pwd.new_password.second) }}
174 {{ form_errors(form.pwd.new_password.second) }}
175 {{ form_widget(form.pwd.new_password.second) }}
179 <div class="hidden">{{ form_rest(form.pwd) }}</div>
180 <button class="btn waves-effect waves-light" type="submit" name="action">
181 {% trans %}Save{% endtrans %}
187 <div id="set5" class="col s12">
189 <div class="input-field col s12">
191 {% for tagging_rule in app.user.config.taggingRules %}
193 if « {{ tagging_rule.rule }} » then tag as « {{ tagging_rule.tags|join(', ') }} »
194 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{% trans %}Delete{% endtrans %}">
195 <i class="tool grey-text delete mdi-action-delete"></i>
203 <form action="{{ path('config') }}#set5" method="post" {{ form_enctype(form.new_tagging_rule) }}>
204 {{ form_errors(form.new_tagging_rule) }}
207 <div class="input-field col s12">
208 {{ form_label(form.new_tagging_rule.rule) }}
209 {{ form_errors(form.new_tagging_rule.rule) }}
210 {{ form_widget(form.new_tagging_rule.rule) }}
215 <div class="input-field col s12">
216 {{ form_label(form.new_tagging_rule.tags) }}
217 {{ form_errors(form.new_tagging_rule.tags) }}
218 {{ form_widget(form.new_tagging_rule.tags) }}
222 <div class="hidden">{{ form_rest(form.new_tagging_rule) }}</div>
223 <button class="btn waves-effect waves-light" type="submit" name="action">
224 {% trans %}Save{% endtrans %}
229 <div class="input-field col s12">
230 <h4>{% trans %}FAQ{% endtrans %}</h4>
232 <h5>{% trans %}What does « tagging rules » mean?{% endtrans %}</h5>
235 They are rules used by Wallabag to automatically tag new entries.<br />
236 Each time a new entry is added, all the tagging rules will be used to add
237 the tags you configured, thus saving you the trouble to manually classify
242 <h5>{% trans %}How do I use them?{% endtrans %}</h5>
245 Let assume you want to tag new entries as « <i>short reading</i> » when the reading time is inferior to 3 minutes.<br />
246 In that case, you should put « readingTime <= 3 » in the <i>Rule</i> field and « <i>short reading</i> » in the <i>Tags</i>
248 Several tags can added simultaneously by separating them by a comma: « <i>short reading, must read</i> »<br />
249 Complex rules can be written by using predefined operators: if « <i>readingTime >= 5 AND domainName = "github.com"</i> » then tag as « <i>long reading, github </i> »
253 <h5>{% trans %}Which variables and operators can I use to write rules?{% endtrans %}</h5>
255 {% trans %}The following variables and operators can be used to create tagging rules:{% endtrans %}
260 <th>{% trans %}Variable{% endtrans %}</th>
261 <th>{% trans %}Meaning{% endtrans %}</th>
262 <th>{% trans %}Operator{% endtrans %}</th>
263 <th>{% trans %}Meaning{% endtrans %}</th>
270 <td>{% trans %}Title of the entry{% endtrans %}</td>
272 <td>{% trans %}Less than…{% endtrans %}</td>
276 <td>{% trans %}URL of the entry{% endtrans %}</td>
278 <td>{% trans %}Strictly less than…{% endtrans %}</td>
282 <td>{% trans %}Whether the entry is archived or not{% endtrans %}</td>
284 <td>{% trans %}Greater than…{% endtrans %}</td>
288 <td>{% trans %}Whether the entry is starred or not{% endtrans %}</td>
290 <td>{% trans %}Strictly greater than…{% endtrans %}</td>
294 <td>{% trans %}The entry's content{% endtrans %}</td>
296 <td>{% trans %}Equal to…{% endtrans %}</td>
300 <td>{% trans %}The entry's language{% endtrans %}</td>
302 <td>{% trans %}Not equal to…{% endtrans %}</td>
306 <td>{% trans %}The entry's mime-type{% endtrans %}</td>
308 <td>{% trans %}One rule or another{% endtrans %}</td>
312 <td>{% trans %}The estimated entry's reading time, in minutes{% endtrans %}</td>
314 <td>{% trans %}One rule and another{% endtrans %}</td>
318 <td>{% trans %}The domain name of the entry{% endtrans %}</td>
329 {% if is_granted('ROLE_SUPER_ADMIN') %}
330 <div id="set5" class="col s12">
331 {{ form_start(form.new_user) }}
332 {{ form_errors(form.new_user) }}
335 <div class="input-field col s12">
336 {{ form_label(form.new_user.username) }}
337 {{ form_errors(form.new_user.username) }}
338 {{ form_widget(form.new_user.username) }}
343 <div class="input-field col s12">
344 {{ form_label(form.new_user.plainPassword.first) }}
345 {{ form_errors(form.new_user.plainPassword.first) }}
346 {{ form_widget(form.new_user.plainPassword.first) }}
351 <div class="input-field col s12">
352 {{ form_label(form.new_user.plainPassword.second) }}
353 {{ form_errors(form.new_user.plainPassword.second) }}
354 {{ form_widget(form.new_user.plainPassword.second) }}
359 <div class="input-field col s12">
360 {{ form_label(form.new_user.email) }}
361 {{ form_errors(form.new_user.email) }}
362 {{ form_widget(form.new_user.email) }}
366 <div class="hidden">{{ form_rest(form.new_user) }}</div>
367 <button class="btn waves-effect waves-light" type="submit" name="action">
368 {% trans %}Add a user{% endtrans %}