aboutsummaryrefslogblamecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
blob: 0cfd2760ad6a5d26b645154b01c008b901537386 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                                                    
                                                                                                 
 

                                         
                


                                       



                                               




                                                                                   
                                                                          
                                                                 




                              
                                                                                                                                                                          
                                                                                                                       


                        
                                                                                                                                                                      
                                                                                                                              

                        


                 
                                                                                                   
                                                            
                                                                                     
                                                               
                                                                                



                                                
                                                            
                                                                                                         
                                                        
                                                                                     



                                                
                         
                                                                                                                                                                                     
                                                             
                                                                                



                                                




                                                                          
                                              
                                                                                                                                                                             
                                                                                                               
                                                        



                                                
                                              
                                                                                                                                                                                          
                                                                                                                      
                                                                              


                                                
                                       
                                                                                                                                                                                                                                                  
                                                          
                                                                      



                                                
                                       
                                                                            
                                                                 
                                                                         



                                                

                                                       
                                                         
                                                                             


                                          
                                                          
                            
                                                                                                                                                                          
                                                                                           

                                
                            
                                                                                                                                                                           


                                                                                                  


                                                           
                                                                                                                                                                                                                       





                                                           
                                                                                                                                                                                                                                                                                         
                                                    


                                

                                                           
                                                                                                                                                                                                                                                                                                               


                                                    
                               

                                                            
                                                                                                                                                                                                                                                                                       
                                                      


                                

                                                          
                                                                                                                                                                                                                                     



                                                      

                                                    
                                                                                                                                                                                                                                
                                                   




                                                        

                                                                                                                                                                                                                                     
                                                                                                 


                                



                     


                                                                                                                                           
                                                         





                                                                     

                                                       
                                                                 
                                                                      


                                          




                                                                                                                                                                                           
                                                                                                                                                                                       
                                                                                                                                                                                       




                         
                                                                                                                                                                                                                                   
                                                         
                                                                             





                                                


                   
                                                           
                            
                                                                                                                                                         
                 
               

                                  
                        
                                                                                                                              
                         





























                                                                                                                                                                 
                                               
                                         



                                                                                                                                                                                     
                             
                                

                     




                                                                                                   
                                                     
                                                                                                                                    

                       



                                     







                                                                                                                                                 
                                                                                                                                                                                                                         

                 
          
 










                                                                                                   
 


                  
              
{% extends "WallabagCoreBundle::layout.html.twig" %}

{% block title %}{{ entry.title|striptags|raw }} ({{ entry.domainName|removeWww }}){% endblock %}

{% block body_class %}entry{% endblock %}

{% block menu %}
    <div class="progress">
        <div class="determinate"></div>
    </div>
    <nav class="hide-on-large-only">
        <div class="nav-wrapper cyan darken-1">
            <ul>
                <li>
                    <a href="#" data-activates="slide-out" class="button-collapse">
                        <i class="material-icons">menu</i>
                    </a>
                </li>
                <li>
                    <a class="waves-effect" href="{{ path('homepage') }}">
                        <i class="material-icons">exit_to_app</i>
                    </a>
                </li>
            </ul>
            <ul class="right">
                <li>
                    <a class="waves-effect" title="{{ 'entry.view.left_menu.set_as_read'|trans }}" href="{{ path('archive_entry', { 'id': entry.id }) }}" id="markAsRead">
                        <i class="material-icons small">{% if entry.isArchived == 0 %}done{% else %}redo{% endif %}</i>
                    </a>
                </li>
                <li>
                    <a class="waves-effect" title="{{ 'entry.view.left_menu.set_as_starred'|trans }}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
                        <i class="material-icons small">{% if entry.isStarred == 0 %}star_outline{% else %}star{% endif %}</i>
                    </a>
                </li>
            </ul>
        </div>
    </nav>
    <ul id="slide-out" class="collapsible side-nav fixed reader-mode" data-collapsible="accordion">
        <li class="bold border-bottom hide-on-med-and-down">
            <a class="waves-effect collapsible-header" href="{{ path('homepage') }}">
                <i class="material-icons small">exit_to_app</i>
                <span>{{ 'entry.view.left_menu.back_to_homepage'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

        <li class="bold border-bottom hide-on-med-and-down">
            <a class="waves-effect collapsible-header original" href="{{ entry.url|e }}" target="_blank">
                <i class="material-icons small">link</i>
                <span>{{ 'entry.view.left_menu.view_original_article'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

        <li class="bold">
            <a class="waves-effect collapsible-header" title="{{ 'entry.view.left_menu.re_fetch_content'|trans }}" href="{{ path('reload_entry', { 'id': entry.id }) }}" id="reload">
                <i class="material-icons small">autorenew</i>
                <span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

        {% set markAsReadLabel = 'entry.view.left_menu.set_as_unread' %}
        {% if entry.isArchived == 0 %}
            {% set markAsReadLabel = 'entry.view.left_menu.set_as_read' %}
        {% endif %}

        <li class="bold hide-on-med-and-down">
            <a class="waves-effect collapsible-header markasread" title="{{ markAsReadLabel|trans }}" href="{{ path('archive_entry', { 'id': entry.id }) }}" id="markAsRead">
                <i class="material-icons small">{% if entry.isArchived == 0 %}done{% else %}redo{% endif %}</i>
                <span>{{ markAsReadLabel|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

        <li class="bold hide-on-med-and-down">
            <a class="waves-effect collapsible-header favorite" title="{{ 'entry.view.left_menu.set_as_starred'|trans }}" href="{{ path('star_entry', { 'id': entry.id }) }}" id="setFav">
                <i class="material-icons spall">{% if entry.isStarred == 0 %}star_outline{% else %}star{% endif %}</i>
                <span>{{ 'entry.view.left_menu.set_as_starred'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>
        <li class="bold border-bottom">
            <a class="waves-effect collapsible-header delete" onclick="return confirm('{{ 'entry.confirm.delete'|trans|escape('js') }}')" title="{{ 'entry.view.left_menu.delete'|trans }}" href="{{ path('delete_entry', { 'id': entry.id }) }}">
                <i class="material-icons small">delete</i>
                <span>{{ 'entry.view.left_menu.delete'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

        <li class="bold border-bottom">
            <a class="waves-effect collapsible-header" id="nav-btn-add-tag">
                <i class="material-icons small">label_outline</i>
                <span>{{ 'entry.view.left_menu.add_a_tag'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

        <li class="bold">
            <a class="waves-effect collapsible-header">
                <i class="material-icons small">share</i>
                <span>{{ 'entry.view.left_menu.share_content'|trans }}</span>
            </a>
            <div class="collapsible-body">
                <ul>
                    {% if craue_setting('share_public') %}
                        <li>
                            <a href="{{ path('share', {'id': entry.id }) }}" target="_blank" title="{{ 'entry.view.left_menu.public_link'|trans }}" class="tool icon-eye">
                                <span>{{ 'entry.view.left_menu.public_link'|trans }}</span>
                            </a>
                        </li>
                        <li>
                            <a href="{{ path('delete_share', {'id': entry.id }) }}" title="{{ 'entry.view.left_menu.delete_public_link'|trans }}" class="tool icon-no-eye">
                                <span>{{ 'entry.view.left_menu.delete_public_link'|trans }}</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('share_twitter') %}
                        <li>
                            <a href="https://twitter.com/home?status={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool icon-twitter" title="twitter">
                                <span>twitter</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('share_shaarli') %}
                        <li>
                        <a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;tags={{ entry.tags|join(',')|striptags|url_encode }}" target="_blank" title="shaarli" class="tool icon-image shaarli">
                                <span>shaarli</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('share_scuttle') %}
                        <li>
                        <a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&amp;address={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;tags={{ entry.tags|join(',')|striptags|url_encode }}" target="_blank" title="scuttle" class="tool icon-image scuttle">
                                <span>scuttle</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('share_diaspora') %}
                        <li>
                            <a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;notes=&amp;v=1&amp;noui=1&amp;jump=doclose" target="_blank" class="tool icon-image diaspora" title="diaspora">
                                <span>diaspora*</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('share_unmark') %}
                        <li>
                            <a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&amp;title={{entry.title|striptags|url_encode}}&amp;v=6" target="_blank" class="tool icon-image unmark" title="unmark">
                                <span>unmark.it</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('carrot') %}
                        <li>
                            <a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}" target="_blank" title="carrot" class="tool icon-image carrot">
                                <span>Carrot</span>
                            </a>
                        </li>
                    {% endif %}
                    {% if craue_setting('share_mail') %}
                        <li>
                            <a href="mailto:?subject={{ entry.title|striptags|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" title="{{ 'entry.view.left_menu.share_email_label'|trans }}" class="tool icon">
                                <i class="material-icons vertical-align-middle">mail</i>
                                <span>{{ 'entry.view.left_menu.share_email_label'|trans }}</span>
                            </a>
                        </li>
                    {% endif %}
                </ul>
            </div>
        </li>

        {% if craue_setting('show_printlink') %}
        <li class="bold border-bottom hide-on-med-and-down">
            <a class="waves-effect collapsible-header" title="{{ 'entry.view.left_menu.print'|trans }}" href="javascript: window.print();">
                <i class="material-icons small">print</i>
                <span>{{ 'entry.view.left_menu.print'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>
        {% endif %}

        <li class="bold">
            <a class="waves-effect collapsible-header">
                <i class="material-icons small">file_download</i>
                <span>{{ 'entry.view.left_menu.export'|trans }}</span>
            </a>
            <div class="collapsible-body">
                <ul>
                    {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %}
                    {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
                    {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %}
                    {% if craue_setting('export_csv') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'csv' }) }}" title="Generate CSV file">CSV</a></li>{% endif %}
                    {% if craue_setting('export_json') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'json' }) }}" title="Generate JSON file">JSON</a></li>{% endif %}
                    {% if craue_setting('export_txt') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'txt' }) }}" title="Generate TXT file">TXT</a></li>{% endif %}
                    {% if craue_setting('export_xml') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'xml' }) }}" title="Generate XML file">XML</a></li>{% endif %}
                </ul>
            </div>
        </li>

        <li class="bold">
            <a class="waves-effect collapsible-header" href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.description'|trans }}">
                <i class="material-icons small">error</i>
                <span>{{ 'entry.view.left_menu.problem.label'|trans }}</span>
            </a>
            <div class="collapsible-body"></div>
        </li>

    </ul>

{% endblock %}

{% block content %}
    <div id="article" data-progress="{{ entry.progress }}">
        <header class="mbm">
            <h1>{{ entry.title|striptags|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}"></a></h1>
        </header>
        <aside>
            <div class="tools">
                <ul class="stats">
                    <li>
                        {% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %}
                    </li>
                    <li>
                        <i class="material-icons" title="{{ 'entry.view.created_at'|trans }}">today</i>
                        {{ entry.createdAt|date('Y-m-d H:i') }}
                    </li>
                    {% if entry.publishedAt is not null %}
                    <li>
                        <i class="material-icons" title="{{ 'entry.view.published_at'|trans }}">create</i>
                        {{ entry.publishedAt|date('Y-m-d H:i') }}
                    </li>
                    {% endif %}
                    {% if entry.publishedBy is not empty %}
                        <li>
                            <i class="material-icons" title="{{ 'entry.view.published_by'|trans }}">person</i>
                            {% for author in entry.publishedBy %}
                                {{ author }}{% if not loop.last %}, {% endif %}
                            {% endfor %}
                        </li>
                    {% endif %}
                    <li>
                        <i class="material-icons link">link</i>
                        <a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool">
                            {{ entry.domainName|removeWww }}
                        </a>
                    </li>
                    <li>
                        <i class="material-icons link">comment</i>
                        {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}
                    </li>
                </ul>
                <ul class="tags">
                    {% for tag in entry.tags %}
                        <li class="chip">
                            <a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a>
                            <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}" onclick="return confirm('{{ 'entry.confirm.delete_tag'|trans|escape('js') }}')">
                                <i class="material-icons vertical-align-middle">delete</i>
                            </a>
                        </li>
                    {% endfor %}
                </ul>
            </div>

            <div class="input-field nav-panel-add-tag" style="display: none">
                {{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
            </div>

            {% if entry.previewPicture is not null %}
                <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|e('html_attr') }}" /></div>
            {% endif %}

        </aside>
        <article>
            {{ entry.content | raw }}
        </article>

        <div class="fixed-action-btn horizontal click-to-toggle hide-on-large-only">
            <a class="btn-floating btn-large">
              <i class="material-icons">menu</i>
            </a>
            <ul>
              <li><a class="btn-floating" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons">done</i></a></li>
              <li><a class="btn-floating" href="{{ path('star_entry', { 'id': entry.id }) }}"><i class="material-icons">star_outline</i></a></li>
              <li><a class="btn-floating" href="{{ path('delete_entry', { 'id': entry.id }) }}" onclick="return confirm('{{ 'entry.confirm.delete'|trans|escape('js') }}')"><i class="material-icons">delete</i></a></li>
            </ul>
        </div>
    </div>

<script id="annotationroutes" type="application/json">
{
    "prefix": "",
    "urls": {
        "create": "{{ path('annotations_post_annotation', { 'entry': entry.id }) }}",
        "update": "{{ path('annotations_put_annotation', { 'annotation': 'idAnnotation' }) }}",
        "destroy": "{{ path('annotations_delete_annotation', { 'annotation': 'idAnnotation' }) }}",
        "search": "{{ path('annotations_get_annotations', { 'entry': entry.id }) }}"
    },
    "entryId": "{{ entry.id }}"
}</script>

{% endblock %}

{% block footer %}
{% endblock %}