1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-09-05 18:41:02 +00:00

tag cloud is present, #1122 is implemented

This commit is contained in:
Thomas Citharel 2015-03-08 14:47:22 +01:00
parent 512ff18015
commit ab87a7fe69
6 changed files with 86 additions and 3 deletions

View file

@ -466,6 +466,26 @@ class Poche
}
$tags = $this->store->retrieveTagsByEntry($id);
$all_tags = $this->store->retrieveAllTags($this->user->getId());
$maximus = 0;
foreach ($all_tags as $eachtag) { // search for the most times a tag is present
if ($eachtag["entriescount"] > $maximus) $maximus = $eachtag["entriescount"];
}
foreach ($all_tags as $key => $eachtag) { // get the percentage of presence of each tag
$percent = floor(($eachtag["entriescount"] / $maximus) * 100);
if ($percent < 20): // assign a css class, depending on the number of entries count
$cssclass = 'smallesttag';
elseif ($percent >= 20 and $percent < 40):
$cssclass = 'smalltag';
elseif ($percent >= 40 and $percent < 60):
$cssclass = 'mediumtag';
elseif ($percent >= 60 and $percent < 80):
$cssclass = 'largetag';
else:
$cssclass = 'largesttag';
endif;
$all_tags[$key]['cssclass'] = $cssclass;
}
$tpl_vars = array(
'entry_id' => $id,
'tags' => $tags,

View file

@ -48,6 +48,9 @@ jQuery(function($) {
var value = input.val();
var tag = $(this).text();
var terms = value.split(','); // tags into the <input>
$(".alreadytagged").each(function(index) {
terms.push($(this).text() );
});
if (jQuery.inArray(tag, terms) == -1 ) { // if the tag hasn't already been added
value += tag + ",";
input.val(value);

View file

@ -960,6 +960,35 @@ pre code {
font-size: 0.96em;
}
/* ==========================================================================
5.1 = Tags-related styles
========================================================================== */
.suggestedtag {
padding: 4px;
cursor: pointer;
display: inline-block;
}
#tagcloud .smallesttag {
font-size: x-small;
}
#tagcloud .smalltag {
font-size: small;
}
#tagcloud .mediumtag {
font-size:medium;
}
#tagcloud .largetag {
font-size:large;
}
#tagcloud .largesttag {
font-size:larger;
}
/* ==========================================================================
6 = Media Queries

View file

@ -26,6 +26,6 @@
{% trans "You can enter multiple tags, separated by commas." %}</p>
</form>
All existing tags :
<ul>{% for eachtag in alltags %}<li class="suggestedtag" style="display: inline-block; margin:10px;">{{ eachtag.value }}</li>{% endfor %}</ul>
<ul id="tagcloud">{% for eachtag in alltags %}<li class="suggestedtag {{ eachtag.cssclass }}">{{ eachtag.value }}</li>{% endfor %}</ul>
<a class="icon icon-reply return" href="./?view=view&id={{ entry_id }}">{% trans "return to article" %}</a>
{% endblock %}

View file

@ -455,3 +455,33 @@ pre code {
border: 1px solid #ddd;
font-size: 0.96em;
}
/* ==========================================================================
Tags-related styles
========================================================================== */
.suggestedtag {
padding: 4px;
cursor: pointer;
display: inline-block;
}
#tagcloud .smallesttag {
font-size: x-small;
}
#tagcloud .smalltag {
font-size: small;
}
#tagcloud .mediumtag {
font-size:medium;
}
#tagcloud .largetag {
font-size:large;
}
#tagcloud .largesttag {
font-size:larger;
}

View file

@ -19,7 +19,7 @@
{% trans "no tags" %}
{% endif %}
<ul>
{% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&amp;tag_id={{ tag.id }}&amp;id={{ entry_id }}">✘</a></li>{% endfor %}
{% for tag in tags %}<li><span class="alreadytagged">{{ tag.value }}</span> <a href="./?action=remove_tag&amp;tag_id={{ tag.id }}&amp;id={{ entry_id }}">✘</a></li>{% endfor %}
</ul>
<form method="post" action="./?action=add_tag" id="editTags">
<input type="hidden" name="entry_id" value="{{ entry_id }}" />
@ -30,6 +30,7 @@
{% trans "You can enter multiple tags, separated by commas." %}</p>
</form>
<br>
All existing tags :
<ul id="tagcloud">{% for eachtag in alltags %}<li class="suggestedtag {{ eachtag.cssclass }}">{{ eachtag.value }}</li>{% endfor %}</ul>
<a href="./?view=view&id={{ entry_id }}">&laquo; {% trans "return to article" %}</a>
{% endblock %}