diff options
13 files changed, 192 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml index 65e7e304..c343d5ae 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -62,6 +62,7 @@ matrix: | |||
62 | env: DB=sqlite ASSETS=build | 62 | env: DB=sqlite ASSETS=build |
63 | allow_failures: | 63 | allow_failures: |
64 | - php: hhvm-3.12 | 64 | - php: hhvm-3.12 |
65 | - php: 7.1 | ||
65 | - php: nightly | 66 | - php: nightly |
66 | 67 | ||
67 | # exclude v1 branches | 68 | # exclude v1 branches |
diff --git a/app/Resources/static/themes/material/css/main.css b/app/Resources/static/themes/material/css/main.css index b81335eb..d3cd1244 100755 --- a/app/Resources/static/themes/material/css/main.css +++ b/app/Resources/static/themes/material/css/main.css | |||
@@ -91,6 +91,7 @@ body { | |||
91 | 91 | ||
92 | body.login main { | 92 | body.login main { |
93 | padding: 0; | 93 | padding: 0; |
94 | min-height: 100vh; | ||
94 | } | 95 | } |
95 | 96 | ||
96 | .border-bottom { | 97 | .border-bottom { |
@@ -256,6 +257,10 @@ nav input { | |||
256 | display: none; | 257 | display: none; |
257 | } | 258 | } |
258 | 259 | ||
260 | input-field.nav-panel-add, .input-field.nav-panel-add form { | ||
261 | height: 100%; | ||
262 | } | ||
263 | |||
259 | /* ========================================================================== | 264 | /* ========================================================================== |
260 | 2 = Side-nav | 265 | 2 = Side-nav |
261 | ========================================================================== */ | 266 | ========================================================================== */ |
@@ -342,6 +347,12 @@ main ul.row { | |||
342 | 347 | ||
343 | .card .card-content .card-title { | 348 | .card .card-content .card-title { |
344 | line-height: 32px; | 349 | line-height: 32px; |
350 | max-height: 64px; | ||
351 | display: block; | ||
352 | } | ||
353 | |||
354 | .card .card-content i.right, .card .card-reveal i.right { | ||
355 | margin-left: 0; | ||
345 | } | 356 | } |
346 | 357 | ||
347 | .card .card-entry-labels { | 358 | .card .card-entry-labels { |
diff --git a/docs/de/conf.py b/docs/de/conf.py new file mode 100644 index 00000000..8f2d130d --- /dev/null +++ b/docs/de/conf.py | |||
@@ -0,0 +1,55 @@ | |||
1 | # -*- coding: utf-8 -*- | ||
2 | # | ||
3 | # wallabag documentation build configuration file, created by | ||
4 | # sphinx-quickstart on Fri Oct 16 06:47:23 2015. | ||
5 | |||
6 | import sys | ||
7 | import os | ||
8 | |||
9 | extensions = [] | ||
10 | templates_path = ['_templates'] | ||
11 | source_suffix = '.rst' | ||
12 | master_doc = 'index' | ||
13 | project = u'wallabag-fr' | ||
14 | copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence' | ||
15 | version = '2.0.0' | ||
16 | release = version | ||
17 | exclude_patterns = ['_build'] | ||
18 | pygments_style = 'sphinx' | ||
19 | html_theme = 'default' | ||
20 | html_static_path = ['_static'] | ||
21 | htmlhelp_basename = 'wallabagdedoc' | ||
22 | |||
23 | latex_elements = { | ||
24 | } | ||
25 | |||
26 | latex_documents = [ | ||
27 | ('index', 'wallabag-de.tex', u'wallabag Documentation', | ||
28 | u'Nicolas Lœuillet', 'manual'), | ||
29 | ] | ||
30 | |||
31 | man_pages = [ | ||
32 | ('index', 'wallabagde', u'wallabag Documentation', | ||
33 | [u'Nicolas Lœuillet'], 1) | ||
34 | ] | ||
35 | |||
36 | texinfo_documents = [ | ||
37 | ('index', 'wallabag', u'wallabag Documentation', | ||
38 | u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.', | ||
39 | 'Miscellaneous'), | ||
40 | ] | ||
41 | |||
42 | ##### Guzzle sphinx theme | ||
43 | |||
44 | import guzzle_sphinx_theme | ||
45 | html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator' | ||
46 | html_theme_path = guzzle_sphinx_theme.html_theme_path() | ||
47 | html_theme = 'guzzle_sphinx_theme' | ||
48 | |||
49 | # Custom sidebar templates, maps document names to template names. | ||
50 | html_sidebars = { | ||
51 | '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html'] | ||
52 | } | ||
53 | |||
54 | # Register the theme as an extension to generate a sitemap.xml | ||
55 | extensions.append("guzzle_sphinx_theme") | ||
diff --git a/docs/de/requirements.txt b/docs/de/requirements.txt new file mode 100644 index 00000000..06fc8973 --- /dev/null +++ b/docs/de/requirements.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | Sphinx>=1.3.0,<1.4.0 | ||
2 | guzzle_sphinx_theme>=0.7.0,<0.8.0 | ||
diff --git a/docs/de/user/errors_during_fetching.rst b/docs/de/user/errors_during_fetching.rst index b8e3e999..29621559 100644 --- a/docs/de/user/errors_during_fetching.rst +++ b/docs/de/user/errors_during_fetching.rst | |||
@@ -12,7 +12,7 @@ Das kann verschiedene Ursachen haben: | |||
12 | Wie kann ich helfen das zu beheben? | 12 | Wie kann ich helfen das zu beheben? |
13 | ----------------------------------- | 13 | ----------------------------------- |
14 | 14 | ||
15 | - `indem du uns eine Mail mit der URL des Artikels sendest <mailto:hello\@wallabag.org>`_ | 15 | - `indem du uns eine Mail mit der URL des Artikels sendest <mailto:hello@wallabag.org>`_ |
16 | - indem du versuchst das Laden des Artikels durch Erstellen einer Datei für den Artikel | 16 | - indem du versuchst das Laden des Artikels durch Erstellen einer Datei für den Artikel |
17 | selbst zu beheben | 17 | selbst zu beheben |
18 | Du kannst `dieses Tool <http://siteconfig.fivefilters.org/>`__ nutzen. | 18 | Du kannst `dieses Tool <http://siteconfig.fivefilters.org/>`__ nutzen. |
diff --git a/docs/en/user/errors_during_fetching.rst b/docs/en/user/errors_during_fetching.rst index da6ee745..68892750 100644 --- a/docs/en/user/errors_during_fetching.rst +++ b/docs/en/user/errors_during_fetching.rst | |||
@@ -12,7 +12,7 @@ There may be several reasons: | |||
12 | How can I help to fix that? | 12 | How can I help to fix that? |
13 | --------------------------- | 13 | --------------------------- |
14 | 14 | ||
15 | - `by sending us an email with the article's URL <mailto:hello\@wallabag.org>`_ | 15 | - `by sending us an email with the article's URL <mailto:hello@wallabag.org>`_ |
16 | - by trying to fix this article by yourself :) by creating a file for the article. | 16 | - by trying to fix this article by yourself :) by creating a file for the article. |
17 | You can use `this tool <http://siteconfig.fivefilters.org/>`__. | 17 | You can use `this tool <http://siteconfig.fivefilters.org/>`__. |
18 | 18 | ||
diff --git a/docs/fr/user/errors_during_fetching.rst b/docs/fr/user/errors_during_fetching.rst index 0f26fbc8..74290bef 100644 --- a/docs/fr/user/errors_during_fetching.rst +++ b/docs/fr/user/errors_during_fetching.rst | |||
@@ -12,7 +12,7 @@ Il peut y avoir plusieurs raisons : | |||
12 | Comment puis-je aider pour réparer ça ? | 12 | Comment puis-je aider pour réparer ça ? |
13 | --------------------------------------- | 13 | --------------------------------------- |
14 | 14 | ||
15 | - `en nous envoyant un email avec l'URL de l'article <mailto:hello\@wallabag.org>`_ | 15 | - `en nous envoyant un email avec l'URL de l'article <mailto:hello@wallabag.org>`_ |
16 | - en essayant de réparer cet article par vous-même :) en créant un fichier pour l'article. | 16 | - en essayant de réparer cet article par vous-même :) en créant un fichier pour l'article. |
17 | Vous pouvez utiliser `cet outil <http://siteconfig.fivefilters.org/>`__. | 17 | Vous pouvez utiliser `cet outil <http://siteconfig.fivefilters.org/>`__. |
18 | 18 | ||
diff --git a/src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.js b/src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.js new file mode 100644 index 00000000..bf9eadef --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.js | |||
@@ -0,0 +1,103 @@ | |||
1 | /* | ||
2 | * jQuery tinydot 0.2.0 | ||
3 | * | ||
4 | * Copyright (c) Alexander Danilov | ||
5 | * modos189.ru | ||
6 | * | ||
7 | * Plugin website: | ||
8 | * tinydot.modos189.ru | ||
9 | * | ||
10 | * Licensed under the MIT license. | ||
11 | * http://en.wikipedia.org/wiki/MIT_License | ||
12 | */ | ||
13 | |||
14 | (function( $, undef ) | ||
15 | { | ||
16 | if ( $.fn.tinydot ) | ||
17 | { | ||
18 | return; | ||
19 | } | ||
20 | |||
21 | $.fn.tinydot = function( o ) { | ||
22 | |||
23 | var $dot = this; | ||
24 | $dot.child = getChildOrDie($dot); | ||
25 | $dot.orgContent = $($dot.child).html(); | ||
26 | ellipsis( $dot ); | ||
27 | |||
28 | $dot.watch = function() | ||
29 | { | ||
30 | $(window).on('resize', function(){ | ||
31 | if ( watchInt ) | ||
32 | { | ||
33 | clearInterval( watchInt ); | ||
34 | } | ||
35 | watchInt = setTimeout( | ||
36 | function() | ||
37 | { | ||
38 | reinitialize($dot); | ||
39 | }, 100 | ||
40 | ); | ||
41 | }); | ||
42 | |||
43 | return $dot; | ||
44 | }; | ||
45 | |||
46 | var opts = $.extend( true, {}, $.fn.tinydot.defaults, o ), | ||
47 | watchInt = null; | ||
48 | |||
49 | if ( opts.watch ) | ||
50 | { | ||
51 | $dot.watch(); | ||
52 | } | ||
53 | } | ||
54 | |||
55 | // public | ||
56 | $.fn.tinydot.defaults = { | ||
57 | 'watch' : false | ||
58 | }; | ||
59 | |||
60 | function getChildOrDie( $elem ) | ||
61 | { | ||
62 | var childrens = $elem.children(); | ||
63 | if (childrens.length == 0) { | ||
64 | // create children | ||
65 | var data = $($elem).html(); | ||
66 | $elem.html(''); | ||
67 | $elem.append('<span />'); | ||
68 | return $elem.children('span').html(data); | ||
69 | } else { | ||
70 | return childrens[0]; | ||
71 | } | ||
72 | } | ||
73 | |||
74 | function reinitialize( $elem ) | ||
75 | { | ||
76 | $($elem.child).html($elem.orgContent); | ||
77 | ellipsis( $elem ); | ||
78 | } | ||
79 | |||
80 | function ellipsis( $elem ) { | ||
81 | var divh=$($elem).height(); | ||
82 | while ($($elem.child).outerHeight()>divh) { | ||
83 | $($elem.child).html(function (index, html) { | ||
84 | return html.replace(/\W*\s(\S)*$/, '...'); | ||
85 | }); | ||
86 | } | ||
87 | } | ||
88 | |||
89 | })( jQuery ); | ||
90 | |||
91 | jQuery(document).ready(function($) { | ||
92 | //We only invoke jQuery.tinydot on elements that have dot-ellipsis class | ||
93 | $(".dot-ellipsis").each(function(){ | ||
94 | //Checking if update on window resize required | ||
95 | var watch_window=$(this).hasClass("dot-resize-update"); | ||
96 | |||
97 | //Invoking jQuery.tinydot | ||
98 | var x = new Object(); | ||
99 | if (watch_window) | ||
100 | x.watch='window'; | ||
101 | $(this).tinydot(x); | ||
102 | }); | ||
103 | }); | ||
diff --git a/src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.min.js b/src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.min.js new file mode 100644 index 00000000..74754629 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/public/themes/material/js/jquery.tinydot.min.js | |||
@@ -0,0 +1 @@ | |||
!function(a,b){function c(b){var c=b.children();if(0==c.length){var d=a(b).html();return b.html(""),b.append("<span />"),b.children("span").html(d)}return c[0]}function d(b){a(b.child).html(b.orgContent),e(b)}function e(b){for(var c=a(b).height();a(b.child).outerHeight()>c;)a(b.child).html(function(a,b){return b.replace(/\W*\s(\S)*$/,"...")})}a.fn.tinydot||(a.fn.tinydot=function(b){var f=this;f.child=c(f),f.orgContent=a(f.child).html(),e(f),f.watch=function(){return a(window).on("resize",function(){h&&clearInterval(h),h=setTimeout(function(){d(f)},100)}),f};var g=a.extend(!0,{},a.fn.tinydot.defaults,b),h=null;g.watch&&f.watch()},a.fn.tinydot.defaults={watch:!1})}(jQuery),jQuery(document).ready(function(a){a(".dot-ellipsis").each(function(){var b=a(this).hasClass("dot-resize-update"),c=new Object;b&&(c.watch="window"),a(this).tinydot(c)})}); | |||
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig index a061bdc3..806a4eef 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig | |||
@@ -29,7 +29,7 @@ | |||
29 | <i class="card-title grey-text text-darken-4 activator material-icons right">more_vert</i> | 29 | <i class="card-title grey-text text-darken-4 activator material-icons right">more_vert</i> |
30 | {% endif %} | 30 | {% endif %} |
31 | 31 | ||
32 | <span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|striptags }}">{{ entry.title|striptags|raw }}</a></span> | 32 | <span class="card-title dot-ellipsis dot-resize-update"><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|raw }}">{{ entry.title|striptags|raw }}</a></span> |
33 | 33 | ||
34 | <div class="estimatedTime grey-text"> | 34 | <div class="estimatedTime grey-text"> |
35 | <span class="tool reading-time"> | 35 | <span class="tool reading-time"> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig index 50134357..6e95345c 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig | |||
@@ -7,7 +7,9 @@ | |||
7 | 7 | ||
8 | {% block scripts %} | 8 | {% block scripts %} |
9 | {{ parent() }} | 9 | {{ parent() }} |
10 | <script src="{{ asset('bundles/wallabagcore/themes/material/js/material.min.js') }}"></script> | 10 | <script src="{{ asset('bundles/wallabagcore/themes/material/js/jquery.tinydot.min.js') }}"></script> |
11 | <script src="{{ asset('bundles/wallabagcore/themes/material/js/materialize.min.js') }}"></script> | ||
12 | <script src="{{ asset('bundles/wallabagcore/themes/material/js/init.js') }}"></script> | ||
11 | {% endblock %} | 13 | {% endblock %} |
12 | 14 | ||
13 | {% block header %} | 15 | {% block header %} |
diff --git a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml new file mode 100644 index 00000000..53a1afd1 --- /dev/null +++ b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.oc.yml | |||
@@ -0,0 +1,11 @@ | |||
1 | # Two factor mail | ||
2 | auth_code: | ||
3 | on: 'sus' | ||
4 | mailer: | ||
5 | subject: "Còdi d'autentificacion wallabag" | ||
6 | body: | ||
7 | hello: "Bonjorn %user%," | ||
8 | first_para: "Estant qu'avètz activat la dobla autentificacion sus vòtre compte wallabag e que venètz de vos conectar dempuèi un novèl aparelh (ordinador, mobil, etc.) vos mandem un còdi per validar la connexion." | ||
9 | second_para: "Vaquí lo còdi a dintrar :" | ||
10 | support: "S'avètz un problèma de connexion, dobtetz pas a contacter l'assisténcia : " | ||
11 | signature: "La còla de wallabag" | ||
diff --git a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig index 13a903ab..938f1a31 100644 --- a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig | |||
@@ -41,7 +41,7 @@ | |||
41 | <i class="material-icons right">send</i> | 41 | <i class="material-icons right">send</i> |
42 | </button> | 42 | </button> |
43 | </div> | 43 | </div> |
44 | <div class="center"> | 44 | <div class="row center"> |
45 | <a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a> | 45 | <a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a> |
46 | </div> | 46 | </div> |
47 | </form> | 47 | </form> |