]>
Commit | Line | Data |
---|---|---|
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | |
2 | ||
3 | {% block title %}{{ entry.title|raw }} ({{ entry.domainName|removeWww }}){% endblock %} | |
4 | ||
5 | {% block content %} | |
6 | <div id="article"> | |
7 | <header class="mbm"> | |
8 | <h1>{{ entry.title|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> | |
9 | </header> | |
10 | ||
11 | <div id="article_toolbar"> | |
12 | <ul class="links"> | |
13 | <li class="topPosF"><a href="#top" title="{{ 'entry.view.left_menu.back_to_top'|trans }}" class="tool top icon icon-arrow-up-thick"><span>{{ 'entry.view.left_menu.set_as_read'|trans }}</span></a></li> | |
14 | <li><a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.domainName|removeWww }}</span></a></li> | |
15 | <li><a title="{{ 'entry.view.left_menu.re_fetch_content'|trans }}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span></a></li> | |
16 | <li><a title="{% if entry.isArchived == 0 %}{{ 'entry.view.left_menu.set_as_read'|trans }}{% else %}{{ 'entry.view.left_menu.set_as_unread'|trans }}{% endif %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% if entry.isArchived == 0 %}{{ 'entry.view.left_menu.set_as_read'|trans }}{% else %}{{ 'entry.view.left_menu.set_as_unread'|trans }}{% endif %}</span></a></li> | |
17 | <li><a title="{{ 'entry.view.left_menu.set_as_favorite'|trans }}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.set_as_favorite'|trans }}</span></a></li> | |
18 | <li><a id="nav-btn-add-tag" title="{{ 'entry.view.left_menu.add_a_tag'|trans }}"><span>{{ 'entry.view.left_menu.add_a_tag'|trans }}</span></a></li> | |
19 | <li><a title="{{ 'entry.view.left_menu.delete'|trans }}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.delete'|trans }}</span></a></li> | |
20 | {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %} | |
21 | {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %} | |
22 | {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %} | |
23 | {% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora icon-image icon-image--diaspora" title="diaspora"><span>diaspora</span></a></li>{% endif %} | |
24 | {% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" title="carrot"><span>Carrot</span></a></li>{% endif %} | |
25 | {% if craue_setting('show_printlink') %}<li><a title="{{ 'entry.view.left_menu.print'|trans }}" class="tool icon icon-print" href="javascript: window.print();"><span>{{ 'entry.view.left_menu.print'|trans }}</span></a></li>{% endif %} | |
26 | {% if craue_setting('export_epub') %}<li><a href="?epub&method=id&value={{ entry.id }}" title="Generate ePub file">EPUB</a></li>{% endif %} | |
27 | {% if craue_setting('export_mobi') %}<li><a href="?mobi&method=id&value={{ entry.id }}" title="Generate Mobi file">MOBI</a></li>{% endif %} | |
28 | {% if craue_setting('export_pdf') %}<li><a href="?pdf&method=id&value={{ entry.id }}" title="Generate PDF file">PDF</a></li>{% endif %} | |
29 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li> | |
30 | </ul> | |
31 | </div> | |
32 | {% set nbAnnotations = entry.annotations | length %} | |
33 | <span class="tool link mdi-communication-comment"> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span> | |
34 | <aside class="tags"> | |
35 | {% for tag in entry.tags %} | |
36 | <span class="mdi-action-label-outline">{{ tag.label }}</span> <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}"><i>✘</i></a> | |
37 | {% endfor %} | |
38 | <div class="input-field nav-panel-add-tag" style="display: none"> | |
39 | {{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }} | |
40 | </div> | |
41 | </aside> | |
42 | {% if entry.previewPicture is not null %} | |
43 | <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div> | |
44 | {% endif %} | |
45 | <article> | |
46 | {{ entry.content | raw }} | |
47 | </article> | |
48 | </div> | |
49 | <script src="{{ asset('bundles/wallabagcore/themes/_global/js/restoreScroll.js')}}"></script> | |
50 | <script type="text/javascript"> | |
51 | $(document).ready(function() { | |
52 | ||
53 | // toggle read property of current article | |
54 | /* $('#markAsRead').click(function(){ | |
55 | $("body").css("cursor", "wait"); | |
56 | $.ajax( { url: '{{ path('archive_entry', { 'id': entry.id }) }}' }).done( | |
57 | function( data ) { | |
58 | if ( data == '1' ) { | |
59 | if ( $('#markAsRead').hasClass("archive-off") ) { | |
60 | $('#markAsRead').removeClass("archive-off"); | |
61 | $('#markAsRead').addClass("archive"); | |
62 | } | |
63 | else { | |
64 | $('#markAsRead').removeClass("archive"); | |
65 | $('#markAsRead').addClass("archive-off"); | |
66 | } | |
67 | } | |
68 | else { | |
69 | alert('Error! Pls check if you are logged in.'); | |
70 | } | |
71 | }); | |
72 | $("body").css("cursor", "auto"); | |
73 | });*/ | |
74 | ||
75 | // toggle favorite property of current article | |
76 | /* $('#setFav').click(function(){ | |
77 | $("body").css("cursor", "wait"); | |
78 | $.ajax( { url: '{{ path('star_entry', { 'id': entry.id }) }}' }).done( | |
79 | function( data ) { | |
80 | if ( data == '1' ) { | |
81 | if ( $('#setFav').hasClass("fav-off") ) { | |
82 | $('#setFav').removeClass("fav-off"); | |
83 | $('#setFav').addClass("fav"); | |
84 | } | |
85 | else { | |
86 | $('#setFav').removeClass("fav"); | |
87 | $('#setFav').addClass("fav-off"); | |
88 | } | |
89 | } | |
90 | else { | |
91 | alert('Error! Pls check if you are logged in.'); | |
92 | } | |
93 | }); | |
94 | $("body").css("cursor", "auto"); | |
95 | });*/ | |
96 | ||
97 | $(window).scroll(function(e){ | |
98 | var scrollTop = $(window).scrollTop(); | |
99 | var docHeight = $(document).height(); | |
100 | var scrollPercent = (scrollTop) / (docHeight); | |
101 | var scrollPercentRounded = Math.round(scrollPercent*100)/100; | |
102 | savePercent({{ entry.id }}, scrollPercentRounded); | |
103 | }); | |
104 | ||
105 | retrievePercent({{ entry.id }}); | |
106 | ||
107 | $(window).resize(function(){ | |
108 | retrievePercent({{ entry.id }}); | |
109 | }); | |
110 | }); | |
111 | ||
112 | var app = new annotator.App(); | |
113 | app.include(annotator.ui.main, { | |
114 | element: document.querySelector('article') | |
115 | }); | |
116 | app.include(annotator.storage.http, { | |
117 | prefix: '', | |
118 | urls: { | |
119 | create: '{{ path('annotations_post_annotation', { 'entry': entry.id }) }}', | |
120 | update: '{{ path('annotations_put_annotation', { 'annotation': 'idAnnotation' }) }}', | |
121 | destroy: '{{ path('annotations_delete_annotation', { 'annotation': 'idAnnotation' }) }}', | |
122 | search: '{{ path('annotations_get_annotations', { 'entry': entry.id }) }}' | |
123 | } | |
124 | }); | |
125 | app | |
126 | .start() | |
127 | .then(function () { | |
128 | app.annotations.load({entry: {{ entry.id }}}); | |
129 | }); | |
130 | </script> | |
131 | ||
132 | {% endblock %} |