mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-09 00:15:27 +00:00
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
f99ddbc6f8
commit
34aa06a9b9
5 changed files with 134 additions and 59 deletions
|
@ -17,12 +17,11 @@
|
|||
0 = Common
|
||||
========================================================================== */
|
||||
|
||||
@font-face {
|
||||
font-family: icomoon;
|
||||
src: url("../fonts/IcoMoon-Free.ttf");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* Material icons
|
||||
*
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Material Icons';
|
||||
|
@ -62,6 +61,33 @@
|
|||
font-feature-settings: 'liga';
|
||||
}
|
||||
|
||||
/* Rules for sizing the icon. */
|
||||
.material-icons.md-18 { font-size: 18px; }
|
||||
.material-icons.md-24 { font-size: 24px; }
|
||||
.material-icons.md-36 { font-size: 36px; }
|
||||
.material-icons.md-48 { font-size: 48px; }
|
||||
|
||||
/* Rules for using icons as black on a light background. */
|
||||
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
|
||||
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }
|
||||
|
||||
/* Rules for using icons as white on a dark background. */
|
||||
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
|
||||
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }
|
||||
|
||||
/**
|
||||
*
|
||||
* Icomoon icons
|
||||
*
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: icomoon;
|
||||
src: url("../fonts/IcoMoon-Free.ttf");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
[class^="icon-"]::before,
|
||||
[class*=" icon-"]::before {
|
||||
font-family: icomoon;
|
||||
|
@ -397,13 +423,23 @@ main ul.row {
|
|||
}
|
||||
|
||||
.data .card .card-body {
|
||||
height: 22em;
|
||||
height: 19em;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card .card-content .card-title {
|
||||
line-height: 32px;
|
||||
.card .card-content .card-title,
|
||||
.card .card-reveal .card-title {
|
||||
line-height: 22.8px;
|
||||
max-height: 64px;
|
||||
font-size: 19px;
|
||||
font-family: roberto, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
color: #313131;
|
||||
}
|
||||
|
||||
.card .card-content .activator,
|
||||
.card .card-reveal .activator {
|
||||
cursor: pointer;
|
||||
font-family: "Material Icons";
|
||||
}
|
||||
|
||||
.card .card-content i.right,
|
||||
|
@ -411,6 +447,11 @@ main ul.row {
|
|||
margin-left: 0;
|
||||
}
|
||||
|
||||
.card .card-content .original {
|
||||
line-height: 24px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.card .card-entry-labels {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
|
@ -433,7 +474,7 @@ main ul.row {
|
|||
}
|
||||
|
||||
.card .card-entry-labels-hidden {
|
||||
margin-top: 5px;
|
||||
margin: 2.5px auto;
|
||||
}
|
||||
|
||||
.card .card-entry-labels-hidden li {
|
||||
|
@ -464,8 +505,8 @@ main ul.row {
|
|||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.card .card-action .original {
|
||||
line-height: 24px;
|
||||
.card .card-action {
|
||||
padding: 10px 5px 10px 15px;
|
||||
}
|
||||
|
||||
.card .card-action ul.links {
|
||||
|
@ -483,6 +524,11 @@ main ul.row {
|
|||
color: #fff;
|
||||
}
|
||||
|
||||
.card .card-action .reading-time {
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.quickstart .card .card-action a,
|
||||
.quickstart .card .card-action a:hover {
|
||||
color: #fff !important;
|
||||
|
@ -499,7 +545,7 @@ main ul.row {
|
|||
}
|
||||
|
||||
.card .card-image {
|
||||
height: 14em;
|
||||
height: 10em;
|
||||
}
|
||||
|
||||
.card .card-image .preview {
|
||||
|
@ -526,7 +572,8 @@ main ul.row {
|
|||
}
|
||||
|
||||
#article > header > h1 {
|
||||
font-size: 1.6em;
|
||||
font-size: 2em;
|
||||
margin: 2.1rem 0 0.68rem;
|
||||
}
|
||||
|
||||
.reader-mode {
|
||||
|
@ -565,9 +612,21 @@ main ul.row {
|
|||
z-index: 9999;
|
||||
}
|
||||
|
||||
#article aside .link {
|
||||
color: #000;
|
||||
#article aside .tools {
|
||||
font-size: 0.8em;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#article aside .tools li {
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
margin: auto 10px;
|
||||
}
|
||||
|
||||
#article aside .tools a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
@ -578,10 +637,11 @@ main ul.row {
|
|||
|
||||
#article aside .chip {
|
||||
background-color: rgba(0, 151, 167, 0.85);
|
||||
color: #fff;
|
||||
padding: 0 15px 0 10px;
|
||||
margin: auto 2px;
|
||||
}
|
||||
|
||||
#article aside .chip a,
|
||||
#article aside .chip i {
|
||||
color: #fff;
|
||||
}
|
||||
|
@ -708,6 +768,14 @@ main ul.row {
|
|||
.nb-results {
|
||||
display: none;
|
||||
}
|
||||
|
||||
main ul.row {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.row .col {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<br />
|
||||
<ul class="row data">
|
||||
{% for entry in entries %}
|
||||
<li id="entry-{{ entry.id|e }}" class="col l4 m6 s12">
|
||||
<li id="entry-{{ entry.id|e }}" class="col l3 m6 s12">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-body">
|
||||
|
@ -26,20 +26,15 @@
|
|||
|
||||
<div class="card-content">
|
||||
{% if not entry.previewPicture is null %}
|
||||
<i class="card-title grey-text text-darken-4 activator material-icons right">more_vert</i>
|
||||
<i class="grey-text text-darken-4 activator material-icons right">more_vert</i>
|
||||
{% endif %}
|
||||
|
||||
<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>
|
||||
|
||||
<div class="estimatedTime grey-text">
|
||||
<span class="tool reading-time">
|
||||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
<div class="original grey-text">
|
||||
<a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.list.original_article'|trans }}: {{ entry.title|e }} - {{ entry.domainName|removeWww }}" class="tool original grey-text">
|
||||
<span>{{ entry.domainName|removeWww|truncate(18) }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% if entry.previewPicture is null %}
|
||||
|
@ -55,15 +50,9 @@
|
|||
|
||||
{% if not entry.previewPicture is null %}
|
||||
<div class="card-reveal">
|
||||
<i class="card-title grey-text text-darken-4 material-icons right">clear</i>
|
||||
<i class="card-title activator grey-text text-darken-4 material-icons right">clear</i>
|
||||
<span class="card-title"><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></span>
|
||||
|
||||
<div class="estimatedTime grey-text">
|
||||
<span class="tool reading-time">
|
||||
{% if readingTime > 0 %}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}{% else %}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<p>{{ entry.content|striptags|slice(0, 300)|raw }}…</p>
|
||||
|
||||
<ul class="card-entry-labels-hidden">
|
||||
|
@ -75,8 +64,9 @@
|
|||
{% endif %}
|
||||
|
||||
<div class="card-action">
|
||||
<span class="bold">
|
||||
<a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.list.original_article'|trans }}: {{ entry.title|e }} - {{ entry.domainName|removeWww }}" class="tool original grey-text"><span>{{ entry.domainName|removeWww|truncate(18) }}</span></a>
|
||||
<span class="reading-time grey-text">
|
||||
<i class="material-icons" title="{{ 'entry.list.reading_time'|trans }}">timer</i>
|
||||
{{ entry.readingTime / app.user.config.readingSpeed }} min
|
||||
</span>
|
||||
|
||||
<ul class="tools right">
|
||||
|
|
|
@ -212,27 +212,38 @@
|
|||
<h1>{{ entry.title|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
|
||||
</header>
|
||||
<aside>
|
||||
{% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
|
||||
<i class="material-icons">timer</i>
|
||||
<span class="link">
|
||||
{% if readingTime > 0 %}
|
||||
{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}
|
||||
{% endif %}
|
||||
</span>
|
||||
<i class="material-icons" title="{{ 'entry.view.created_at'|trans }}">today</i><span class="link">{{ entry.createdAt|date('Y-m-d') }}</span>
|
||||
<a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool">
|
||||
<i class="material-icons link">link</i> <span class="link">{{ entry.domainName|removeWww }}</span>
|
||||
</a>
|
||||
<span class="tool"><i class="material-icons link">comment</i></span> <span class="link">{{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span>
|
||||
<div id="list">
|
||||
{% 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>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<ul class="tools">
|
||||
<li>
|
||||
{% 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}) }}
|
||||
{% else %}
|
||||
{{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}
|
||||
{% endif %}
|
||||
</li>
|
||||
<li>
|
||||
<i class="material-icons" title="{{ 'entry.view.created_at'|trans }}">today</i>
|
||||
{{ entry.createdAt|date('Y-m-d') }}
|
||||
</li>
|
||||
<li>
|
||||
<i class="material-icons link">link</i>
|
||||
<a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" 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">
|
||||
{% 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>
|
||||
{% endfor %}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="input-field nav-panel-add-tag" style="display: none">
|
||||
{{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue