mirror of
https://github.com/wallabag/wallabag.git
synced 2025-07-17 17:08:37 +00:00
Merge pull request #3022 from wallabag/webpack
Adds Webpack support and remove Grunt
This commit is contained in:
commit
b28c5430ef
202 changed files with 8810 additions and 132082 deletions
|
@ -17,9 +17,9 @@
|
|||
<div class="results">
|
||||
<div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div>
|
||||
<div class="pagination">
|
||||
<a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-36">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a>
|
||||
<i class="btn-clickable download-btn material-icons md-36 js-export-action">file_download</i>
|
||||
<i class="btn-clickable filter-btn material-icons md-36 js-filters-action">filter_list</i>
|
||||
<a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a>
|
||||
<i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i>
|
||||
<i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i>
|
||||
{% if entries.getNbPages > 1 %}
|
||||
{{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }}
|
||||
{% endif %}
|
||||
|
@ -47,10 +47,10 @@
|
|||
</div>
|
||||
|
||||
<ul class="tools links">
|
||||
<li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li>
|
||||
<li><a title="{{ 'entry.list.toogle_as_star'|trans }}" class="tool icon-star icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_star'|trans }}</span></a></li>
|
||||
<li><a title="{{ 'entry.list.delete'|trans }}" class="tool delete icon-trash icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.delete'|trans }}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.list.original_article'|trans }} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.list.original_article'|trans }} : {{ entry.title|e }}"><span>{{ entry.domainName|removeWww }}</span></a></li>
|
||||
<li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons md-24 vertical-align-middle">check</i><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li>
|
||||
<li><a title="{{ 'entry.list.toogle_as_star'|trans }}" class="tool icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><i class="material-icons md-24 vertical-align-middle">star_rate</i><span>{{ 'entry.list.toogle_as_star'|trans }}</span></a></li>
|
||||
<li><a title="{{ 'entry.list.delete'|trans }}" class="tool icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><i class="material-icons md-24 vertical-align-middle">delete</i><span>{{ 'entry.list.delete'|trans }}</span></a></li>
|
||||
</ul>
|
||||
{% if (entry.previewPicture is null or listMode == 1) %}
|
||||
<ul class="card-entry-tags">
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
<span class="label-outline"><i class="material-icons">label_outline</i> <a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a> <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}" class="nostyle"><i>✘</i></a></span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="input-field nav-panel-add-tag" style="display: none">
|
||||
<div class="input-field baggy-add-tag" style="display: none">
|
||||
{{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
|
||||
</div>
|
||||
</aside>
|
||||
|
|
|
@ -2,12 +2,14 @@
|
|||
|
||||
{% block css %}
|
||||
{{ parent() }}
|
||||
<link rel="stylesheet" href="{{ asset('bundles/wallabagcore/themes/baggy/css/style.min.css') }}" media="screen,projection,print"/>
|
||||
{% if not app.debug %}
|
||||
<link rel="stylesheet" href="{{ asset('bundles/wallabagcore/baggy.css') }}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
{{ parent() }}
|
||||
<script src="{{ asset('bundles/wallabagcore/themes/baggy/js/baggy.min.js') }}"></script>
|
||||
<script src="{{ asset('bundles/wallabagcore/baggy' ~ (app.debug ? '.dev' : '') ~ '.js') }}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="input-field col s11">
|
||||
{{ form_label(form.config.theme) }}
|
||||
{{ form_errors(form.config.theme) }}
|
||||
{{ form_widget(form.config.theme) }}
|
||||
{{ form_label(form.config.theme) }}
|
||||
</div>
|
||||
<div class="input-field col s1">
|
||||
<a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_theme'|trans }}">
|
||||
|
@ -38,9 +38,9 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="input-field col s11">
|
||||
{{ form_label(form.config.items_per_page) }}
|
||||
{{ form_errors(form.config.items_per_page) }}
|
||||
{{ form_widget(form.config.items_per_page) }}
|
||||
{{ form_label(form.config.items_per_page) }}
|
||||
</div>
|
||||
<div class="input-field col s1">
|
||||
<a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_items_per_page'|trans }}">
|
||||
|
@ -51,9 +51,9 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="input-field col s11">
|
||||
{{ form_label(form.config.reading_speed) }}
|
||||
{{ form_errors(form.config.reading_speed) }}
|
||||
{{ form_widget(form.config.reading_speed) }}
|
||||
{{ form_label(form.config.reading_speed) }}
|
||||
<p>
|
||||
{{ 'config.form_settings.reading_speed.help_message'|trans }}
|
||||
<a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
|
||||
|
@ -68,17 +68,17 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
{{ form_label(form.config.action_mark_as_read) }}
|
||||
{{ form_errors(form.config.action_mark_as_read) }}
|
||||
{{ form_widget(form.config.action_mark_as_read) }}
|
||||
{{ form_label(form.config.action_mark_as_read) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="input-field col s11">
|
||||
{{ form_label(form.config.language) }}
|
||||
{{ form_errors(form.config.language) }}
|
||||
{{ form_widget(form.config.language) }}
|
||||
{{ form_label(form.config.language) }}
|
||||
</div>
|
||||
<div class="input-field col s1">
|
||||
<a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_settings.help_language'|trans }}">
|
||||
|
@ -89,9 +89,9 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="input-field col s11">
|
||||
{{ form_label(form.config.pocket_consumer_key) }}
|
||||
{{ form_errors(form.config.pocket_consumer_key) }}
|
||||
{{ form_widget(form.config.pocket_consumer_key) }}
|
||||
{{ form_label(form.config.pocket_consumer_key) }}
|
||||
<p>
|
||||
»
|
||||
<a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
|
||||
|
@ -132,8 +132,8 @@
|
|||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<label>{{ 'config.form_rss.token_label'|trans }}</label>
|
||||
<div class="col s12">
|
||||
<h6 class="grey-text">{{ 'config.form_rss.token_label'|trans }}</h6>
|
||||
<div>
|
||||
{% if rss.token %}
|
||||
{{ rss.token }}
|
||||
|
@ -151,8 +151,8 @@
|
|||
</div>
|
||||
{% if rss.token %}
|
||||
<div class="row">
|
||||
<div class="input-field col s12">
|
||||
<label>{{ 'config.form_rss.rss_links'|trans }}</label>
|
||||
<div class="col s12">
|
||||
<h6 class="grey-text">{{ 'config.form_rss.rss_links'|trans }}</h6>
|
||||
<ul>
|
||||
<li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li>
|
||||
<li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
<i class="material-icons">timer</i>
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}
|
||||
<span>{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}</span>
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}
|
||||
<span>{{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}</span>
|
||||
{% endif %}
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
{% endif %}
|
||||
|
||||
<!-- Export -->
|
||||
<div id="export" class="side-nav fixed right-aligned">
|
||||
<div id="export" class="side-nav right-aligned">
|
||||
{% set currentRoute = app.request.attributes.get('_route') %}
|
||||
{% set currentTag = '' %}
|
||||
{% if tag is defined %}
|
||||
|
@ -68,7 +68,7 @@
|
|||
|
||||
<!-- Filters -->
|
||||
{% if form is not null %}
|
||||
<div id="filters" class="side-nav fixed right-aligned">
|
||||
<div id="filters" class="side-nav right-aligned">
|
||||
<form action="{{ path('all') }}">
|
||||
|
||||
<h4 class="center">{{ 'entry.filters.title'|trans }}</h4>
|
||||
|
|
|
@ -125,47 +125,43 @@
|
|||
{% endif %}
|
||||
{% if craue_setting('share_shaarli') %}
|
||||
<li>
|
||||
<a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|striptags|url_encode }}&tags={{ entry.tags|join(',')|striptags|url_encode }}" target="_blank">
|
||||
<i class="tool icon-image icon-image--shaarli" title="shaarli"></i>
|
||||
<a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|striptags|url_encode }}&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&address={{ entry.url|url_encode }}&title={{ entry.title|striptags|url_encode }}&tags={{ entry.tags|join(',')|striptags|url_encode }}" target="_blank">
|
||||
<i class="tool icon-image icon-image--scuttle" title="scuttle"></i>
|
||||
<a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&address={{ entry.url|url_encode }}&title={{ entry.title|striptags|url_encode }}&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 }}&title={{ entry.title|striptags|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank">
|
||||
<i class="tool icon-image icon-image--diaspora" title="diaspora"></i>
|
||||
<a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|striptags|url_encode }}&notes=&v=1&noui=1&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 }}&title={{entry.title|striptags|url_encode}}&v=6" target="_blank">
|
||||
<i class="tool icon-image icon-image--unmark" title="unmark"></i>
|
||||
<a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&title={{entry.title|striptags|url_encode}}&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 }}&title={{ entry.title|striptags|url_encode }}" target="_blank" title="carrot">
|
||||
<i class="tool icon-image icon-image--carrot"></i>
|
||||
<a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&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 }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" title="{{ 'entry.view.left_menu.share_email_label'|trans }}" class="tool email icon icon-mail">
|
||||
<a href="mailto:?subject={{ entry.title|striptags|url_encode }}&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>
|
||||
|
@ -220,46 +216,48 @@
|
|||
<h1>{{ entry.title|striptags|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
|
||||
</header>
|
||||
<aside>
|
||||
<ul class="tools">
|
||||
<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 %}
|
||||
<div class="tools">
|
||||
<ul class="stats">
|
||||
<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 %}
|
||||
{% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %}
|
||||
</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>
|
||||
<li id="list">
|
||||
<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 %}
|
||||
<div class="chip">
|
||||
<a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a> <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}"><i class="material-icons">delete</i></a>
|
||||
</div>
|
||||
<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 }) }}"><i class="material-icons vertical-align-middle">delete</i></a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="input-field nav-panel-add-tag" style="display: none">
|
||||
{{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
|
||||
|
|
|
@ -2,12 +2,14 @@
|
|||
|
||||
{% block css %}
|
||||
{{ parent() }}
|
||||
<link rel="stylesheet" href="{{ asset('bundles/wallabagcore/themes/material/css/style.min.css') }}" media="screen,projection,print"/>
|
||||
{% if not app.debug %}
|
||||
<link rel="stylesheet" href="{{ asset('bundles/wallabagcore/material.css') }}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
{{ parent() }}
|
||||
<script src="{{ asset('bundles/wallabagcore/themes/material/js/material.min.js') }}"></script>
|
||||
<script src="{{ asset('bundles/wallabagcore/material' ~ (app.debug ? '.dev' : '') ~ '.js') }}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
|
@ -116,12 +118,12 @@
|
|||
</ul>
|
||||
<div class="input-field nav-panel-search" style="display: none">
|
||||
{{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }}
|
||||
<label for="search" class="active"><i class="material-icons search">search</i></label>
|
||||
<label for="search"><i class="material-icons search">search</i></label>
|
||||
<i class="material-icons close">clear</i>
|
||||
</div>
|
||||
<div class="input-field nav-panel-add" style="display: none">
|
||||
{{ render(controller("WallabagCoreBundle:Entry:addEntryForm")) }}
|
||||
<label for="add" class="active"><i class="material-icons add">add</i></label>
|
||||
<label for="add"><i class="material-icons add">add</i></label>
|
||||
<i class="material-icons close">clear</i>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue