aboutsummaryrefslogtreecommitdiffhomepage
path: root/tpl
diff options
context:
space:
mode:
Diffstat (limited to 'tpl')
-rw-r--r--tpl/default/changetag.html2
-rw-r--r--tpl/default/configure.html39
-rw-r--r--tpl/default/css/shaarli.css120
-rw-r--r--tpl/default/img/apple-touch-icon.pngbin0 -> 18276 bytes
-rw-r--r--tpl/default/import.html8
-rw-r--r--tpl/default/includes.html3
-rw-r--r--tpl/default/install.html21
-rw-r--r--tpl/default/js/shaarli.js13
-rw-r--r--tpl/default/linklist.html93
-rw-r--r--tpl/default/linklist.paging.html4
-rw-r--r--tpl/default/page.footer.html15
-rw-r--r--tpl/default/pluginsadmin.html22
-rw-r--r--tpl/default/tag.cloud.html6
-rw-r--r--tpl/default/tag.list.html4
14 files changed, 244 insertions, 106 deletions
diff --git a/tpl/default/changetag.html b/tpl/default/changetag.html
index 49dd20d9..6606c4fa 100644
--- a/tpl/default/changetag.html
+++ b/tpl/default/changetag.html
@@ -32,7 +32,7 @@
32 </div> 32 </div>
33 </form> 33 </form>
34 34
35 <p>You can also edit tags in the <a href="?do=taglist&sort=usage">tag list</a>.</p> 35 <p>{'You can also edit tags in the'|t} <a href="?do=taglist&sort=usage">{'tag list'|t}</a>.</p>
36 </div> 36 </div>
37</div> 37</div>
38{include="page.footer"} 38{include="page.footer"}
diff --git a/tpl/default/configure.html b/tpl/default/configure.html
index 76a1b9fd..a63c7ad3 100644
--- a/tpl/default/configure.html
+++ b/tpl/default/configure.html
@@ -70,6 +70,30 @@
70 </div> 70 </div>
71 </div> 71 </div>
72 <div class="pure-g"> 72 <div class="pure-g">
73 <div class="pure-u-lg-{$ratioLabel} pure-u-1">
74 <div class="form-label">
75 <label for="language">
76 <span class="label-name">{'Language'|t}</span>
77 </label>
78 </div>
79 </div>
80 <div class="pure-u-lg-{$ratioInput} pure-u-1">
81 <div class="form-input">
82 <select name="language" id="language" class="align">
83 {loop="$languages"}
84 <option value="{$key}"
85 {if="$key===$language"}
86 selected="selected"
87 {/if}
88 >
89 {$value}
90 </option>
91 {/loop}
92 </select>
93 </div>
94 </div>
95 </div>
96 <div class="pure-g">
73 <div class="pure-u-lg-{$ratioLabel} pure-u-1 "> 97 <div class="pure-u-lg-{$ratioLabel} pure-u-1 ">
74 <div class="form-label"> 98 <div class="form-label">
75 <label> 99 <label>
@@ -105,21 +129,6 @@
105 </div> 129 </div>
106 </div> 130 </div>
107 </div> 131 </div>
108 <div class="pure-g">
109 <div class="pure-u-lg-{$ratioLabel} pure-u-1 ">
110 <div class="form-label">
111 <label for="redirector">
112 <span class="label-name">{'Redirector'|t}</span><br>
113 <span class="label-desc">{'e. g.'|t} <i>http://anonym.to/?</i> {'will mask the HTTP_REFERER'|t}</span>
114 </label>
115 </div>
116 </div>
117 <div class="pure-u-lg-{$ratioInput} pure-u-1 ">
118 <div class="form-input">
119 <input type="text" name="redirector" id="redirector" size="50" value="{$redirector}">
120 </div>
121 </div>
122 </div>
123 <div class="clear"></div> 132 <div class="clear"></div>
124 <div class="pure-g"> 133 <div class="pure-g">
125 <div class="pure-u-lg-{$ratioLabel} pure-u-{$ratioLabelMobile} "> 134 <div class="pure-u-lg-{$ratioLabel} pure-u-{$ratioLabelMobile} ">
diff --git a/tpl/default/css/shaarli.css b/tpl/default/css/shaarli.css
index ba589723..14439402 100644
--- a/tpl/default/css/shaarli.css
+++ b/tpl/default/css/shaarli.css
@@ -433,7 +433,7 @@ body, .pure-g [class*="pure-u"] {
433 * 64em -> lg 433 * 64em -> lg
434 */ 434 */
435.linklist-filters { 435.linklist-filters {
436 margin: 10px 0; 436 margin: 5px 0;
437 color: #252525; 437 color: #252525;
438 font-size: 0.9em; 438 font-size: 0.9em;
439} 439}
@@ -454,7 +454,7 @@ body, .pure-g [class*="pure-u"] {
454} 454}
455 455
456.linklist-pages { 456.linklist-pages {
457 margin: 10px 0; 457 margin: 5px 0;
458 color: #252525; 458 color: #252525;
459 text-align: center; 459 text-align: center;
460} 460}
@@ -469,7 +469,7 @@ body, .pure-g [class*="pure-u"] {
469} 469}
470 470
471.linksperpage { 471.linksperpage {
472 margin: 10px 0; 472 margin: 5px 0;
473 text-align: right; 473 text-align: right;
474 color: #252525; 474 color: #252525;
475 font-size: 0.9em; 475 font-size: 0.9em;
@@ -506,9 +506,29 @@ body, .pure-g [class*="pure-u"] {
506 * CONTENT - LINKLIST ITEMS 506 * CONTENT - LINKLIST ITEMS
507 */ 507 */
508.linklist-item { 508.linklist-item {
509 margin: 0 0 15px 0; 509 margin: 0 0 10px 0;
510 background: #f5f5f5; 510 background: #f5f5f5;
511 box-shadow: 2px 2px 0.5em #797979; 511 box-shadow: 1px 1px 3px #797979;
512}
513
514.linklist-item-buttons {
515 background: transparent;
516 position: relative;
517 width: 23px;
518 z-index: 99;
519}
520
521.linklist-item-buttons-right {
522 float: right;
523 margin-right: -25px;
524}
525
526.linklist-item-buttons * {
527 display: block;
528 float: left;
529 width:100%;
530 margin: auto;
531 text-align: center;
512} 532}
513 533
514.linklist-item-title, .linklist-item-title h2 { 534.linklist-item-title, .linklist-item-title h2 {
@@ -526,7 +546,7 @@ body, .pure-g [class*="pure-u"] {
526 line-height: 30px; 546 line-height: 30px;
527} 547}
528 548
529.linklist-item-title a { 549.linklist-item-title h2 a {
530 font-size: 0.7em; 550 font-size: 0.7em;
531 color: #252525; 551 color: #252525;
532 text-decoration: none; 552 text-decoration: none;
@@ -538,11 +558,11 @@ body, .pure-g [class*="pure-u"] {
538 color: #1b926c; 558 color: #1b926c;
539} 559}
540 560
541.linklist-item-title a:visited .linklist-link { 561.linklist-item-title h2 a:visited .linklist-link {
542 color: #2a4c41; 562 color: #2a4c41;
543} 563}
544 564
545.linklist-item-title a:hover, .linklist-item-title .linklist-link:hover{ 565.linklist-item-title h2 a:hover, .linklist-item-title .linklist-link:hover{
546 color: #252525; 566 color: #252525;
547} 567}
548 568
@@ -554,8 +574,9 @@ body, .pure-g [class*="pure-u"] {
554 color: #F89406; 574 color: #F89406;
555} 575}
556 576
557.linklist-item-title .fold-button { 577.fold-button {
558 display: none; 578 display: none;
579 color: #252525;
559} 580}
560 581
561.linklist-item-editbuttons { 582.linklist-item-editbuttons {
@@ -585,24 +606,12 @@ body, .pure-g [class*="pure-u"] {
585 606
586.linklist-item-description { 607.linklist-item-description {
587 position: relative; 608 position: relative;
588 padding: 10px; 609 padding: 0 10px;
589 word-wrap: break-word; 610 word-wrap: break-word;
590 color: #252525; 611 color: #252525;
591 line-height: 1.3em; 612 line-height: 1.3em;
592} 613}
593 614
594 {
595 position: absolute;
596 left: 3px;
597 top: 0;
598 display: block;
599 content:"";
600 background: #F89406;
601 height: 95%;
602 width: 2px;
603 z-index: 1;
604}
605
606.linklist-item-description a { 615.linklist-item-description a {
607 text-decoration: none; 616 text-decoration: none;
608 color: #1b926c; 617 color: #1b926c;
@@ -618,32 +627,36 @@ body, .pure-g [class*="pure-u"] {
618 627
619.linklist-item-thumbnail { 628.linklist-item-thumbnail {
620 position: relative; 629 position: relative;
621 margin-top: 10px; 630 padding: 0 0 0 5px;
622 padding: 10px; 631 margin: 0;
623 float: left; 632 float: right;
624 z-index: 50; 633 z-index: 50;
634 height: 90px;
625} 635}
626 636
627.linklist-item.private .linklist-item-title::before, 637.linklist-item.private .linklist-item-title::before,
628.linklist-item.private .linklist-item-description::before, 638.linklist-item.private .linklist-item-description::before {
629.linklist-item.private .linklist-item-thumbnail::before {
630 position: absolute; 639 position: absolute;
631 left: 3px; 640 left: 3px;
632 top: 0; 641 top: 0;
633 display: block; 642 display: block;
634 content:""; 643 content:"";
635 background: #F89406; 644 background: #F89406;
636 height: 95%; 645 height: 96%;
637 width: 2px; 646 width: 2px;
638 z-index: 1; 647 z-index: 1;
639} 648}
640 649
650.linklist-item.private .linklist-item-description::before {
651 height: 100%;
652}
653
641.linklist-item.private .linklist-item-title::before { 654.linklist-item.private .linklist-item-title::before {
642 margin-top: 3px; 655 margin-top: 3px;
643} 656}
644 657
645.linklist-item-infos { 658.linklist-item-infos {
646 padding: 8px 8px 5px 8px; 659 padding: 4px 8px 4px 8px;
647 background: #ddd; 660 background: #ddd;
648 color: #252525; 661 color: #252525;
649} 662}
@@ -680,6 +693,8 @@ body, .pure-g [class*="pure-u"] {
680 overflow: hidden; 693 overflow: hidden;
681 text-overflow: ellipsis; 694 text-overflow: ellipsis;
682 font-size: 0.8em; 695 font-size: 0.8em;
696 height:23px;
697 line-height:23px;
683} 698}
684 699
685.linklist-item-infos .mobile-buttons { 700.linklist-item-infos .mobile-buttons {
@@ -693,6 +708,16 @@ body, .pure-g [class*="pure-u"] {
693 height: 16px; 708 height: 16px;
694} 709}
695 710
711.linklist-item-infos-controls-group {
712 display: inline-block;
713 border-right: 1px solid #5d5d5d;
714 padding-right: 6px;
715}
716
717.ctrl-edit {
718 margin: 0 7px;
719}
720
696/** 64em -> lg **/ 721/** 64em -> lg **/
697@media screen and (max-width: 64em) { 722@media screen and (max-width: 64em) {
698 .linklist-item-infos-url { 723 .linklist-item-infos-url {
@@ -1284,3 +1309,40 @@ form[name="linkform"].page-form {
1284 text-decoration: none; 1309 text-decoration: none;
1285 font-weight: bold; 1310 font-weight: bold;
1286} 1311}
1312
1313/**
1314 * Markdown
1315 */
1316.markdown p {
1317 margin: 0 !important;
1318}
1319
1320.markdown p + p {
1321 margin: 0.5em 0 0 0 !important;
1322}
1323
1324.markdown *:first-child {
1325 margin-top: 0 !important;
1326}
1327
1328.markdown *:last-child {
1329 margin-bottom: 5px !important;
1330}
1331
1332/**
1333 * Pure Button
1334 */
1335.pure-button-success,
1336.pure-button-error,
1337.pure-button-warning,
1338.pure-button-primary,
1339.pure-button-shaarli,
1340.pure-button-secondary {
1341 color: white !important;
1342 border-radius: 4px;
1343 text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
1344}
1345
1346.pure-button-shaarli {
1347 background-color: #1B926C;
1348}
diff --git a/tpl/default/img/apple-touch-icon.png b/tpl/default/img/apple-touch-icon.png
new file mode 100644
index 00000000..f29210ce
--- /dev/null
+++ b/tpl/default/img/apple-touch-icon.png
Binary files differ
diff --git a/tpl/default/import.html b/tpl/default/import.html
index 1f040685..000a50ac 100644
--- a/tpl/default/import.html
+++ b/tpl/default/import.html
@@ -18,7 +18,7 @@
18 <div class="center" id="import-field"> 18 <div class="center" id="import-field">
19 <input type="hidden" name="MAX_FILE_SIZE" value="{$maxfilesize}"> 19 <input type="hidden" name="MAX_FILE_SIZE" value="{$maxfilesize}">
20 <input type="file" name="filetoupload"> 20 <input type="file" name="filetoupload">
21 <p><br>Maximum size allowed: <strong>{$maxfilesizeHuman}</strong></p> 21 <p><br>{'Maximum size allowed:'|t} <strong>{$maxfilesizeHuman}</strong></p>
22 </div> 22 </div>
23 23
24 <div class="pure-g"> 24 <div class="pure-g">
@@ -31,15 +31,15 @@
31 <div class="radio-buttons"> 31 <div class="radio-buttons">
32 <div> 32 <div>
33 <input type="radio" name="privacy" value="default" checked="checked"> 33 <input type="radio" name="privacy" value="default" checked="checked">
34 Use values from the imported file, default to public 34 {'Use values from the imported file, default to public'|t}
35 </div> 35 </div>
36 <div> 36 <div>
37 <input type="radio" name="privacy" value="private"> 37 <input type="radio" name="privacy" value="private">
38 Import all bookmarks as private 38 {'Import all bookmarks as private'|t}
39 </div> 39 </div>
40 <div> 40 <div>
41 <input type="radio" name="privacy" value="public"> 41 <input type="radio" name="privacy" value="public">
42 Import all bookmarks as public 42 {'Import all bookmarks as public'|t}
43 </div> 43 </div>
44 </div> 44 </div>
45 </div> 45 </div>
diff --git a/tpl/default/includes.html b/tpl/default/includes.html
index 80c08333..b2bfec30 100644
--- a/tpl/default/includes.html
+++ b/tpl/default/includes.html
@@ -5,6 +5,7 @@
5<link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}#" title="ATOM Feed" /> 5<link rel="alternate" type="application/atom+xml" href="{$feedurl}?do=atom{$searchcrits}#" title="ATOM Feed" />
6<link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}#" title="RSS Feed" /> 6<link rel="alternate" type="application/rss+xml" href="{$feedurl}?do=rss{$searchcrits}#" title="RSS Feed" />
7<link href="img/favicon.png" rel="shortcut icon" type="image/png" /> 7<link href="img/favicon.png" rel="shortcut icon" type="image/png" />
8<link href="img/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180" />
8<link type="text/css" rel="stylesheet" href="css/pure.min.css?v={$version_hash}" /> 9<link type="text/css" rel="stylesheet" href="css/pure.min.css?v={$version_hash}" />
9<link type="text/css" rel="stylesheet" href="css/grids-responsive.min.css?v={$version_hash}"> 10<link type="text/css" rel="stylesheet" href="css/grids-responsive.min.css?v={$version_hash}">
10<link type="text/css" rel="stylesheet" href="css/pure-extras.css?v={$version_hash}"> 11<link type="text/css" rel="stylesheet" href="css/pure-extras.css?v={$version_hash}">
@@ -17,4 +18,4 @@
17{loop="$plugins_includes.css_files"} 18{loop="$plugins_includes.css_files"}
18 <link type="text/css" rel="stylesheet" href="{$value}?v={$version_hash}#"/> 19 <link type="text/css" rel="stylesheet" href="{$value}?v={$version_hash}#"/>
19{/loop} 20{/loop}
20<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/> \ No newline at end of file 21<link rel="search" type="application/opensearchdescription+xml" href="?do=opensearch#" title="Shaarli search - {$shaarlititle}"/>
diff --git a/tpl/default/install.html b/tpl/default/install.html
index 164d453b..6199b33d 100644
--- a/tpl/default/install.html
+++ b/tpl/default/install.html
@@ -68,6 +68,27 @@
68 <div class="pure-g"> 68 <div class="pure-g">
69 <div class="pure-u-lg-{$ratioLabel} pure-u-1"> 69 <div class="pure-u-lg-{$ratioLabel} pure-u-1">
70 <div class="form-label"> 70 <div class="form-label">
71 <label for="language">
72 <span class="label-name">{'Language'|t}</span>
73 </label>
74 </div>
75 </div>
76 <div class="pure-u-lg-{$ratioInput} pure-u-1">
77 <div class="form-input">
78 <select name="language" id="language" class="align">
79 {loop="$languages"}
80 <option value="{$key}">
81 {$value}
82 </option>
83 {/loop}
84 </select>
85 </div>
86 </div>
87 </div>
88
89 <div class="pure-g">
90 <div class="pure-u-lg-{$ratioLabel} pure-u-1">
91 <div class="form-label">
71 <label> 92 <label>
72 <span class="label-name">{'Timezone'|t}</span><br> 93 <span class="label-name">{'Timezone'|t}</span><br>
73 <span class="label-desc">{'Continent'|t} &middot; {'City'|t}</span> 94 <span class="label-desc">{'Continent'|t} &middot; {'City'|t}</span>
diff --git a/tpl/default/js/shaarli.js b/tpl/default/js/shaarli.js
index 55656f80..cf628e87 100644
--- a/tpl/default/js/shaarli.js
+++ b/tpl/default/js/shaarli.js
@@ -138,6 +138,9 @@ window.onload = function () {
138 }); 138 });
139 foldAllButton.firstElementChild.classList.toggle('fa-chevron-down'); 139 foldAllButton.firstElementChild.classList.toggle('fa-chevron-down');
140 foldAllButton.firstElementChild.classList.toggle('fa-chevron-up'); 140 foldAllButton.firstElementChild.classList.toggle('fa-chevron-up');
141 foldAllButton.title = state === 'down'
142 ? document.getElementById('translation-fold-all').innerHTML
143 : document.getElementById('translation-expand-all').innerHTML
141 }); 144 });
142 }); 145 });
143 } 146 }
@@ -146,7 +149,7 @@ window.onload = function () {
146 { 149 {
147 // Switch fold/expand - up = fold 150 // Switch fold/expand - up = fold
148 if (button.classList.contains('fa-chevron-up')) { 151 if (button.classList.contains('fa-chevron-up')) {
149 button.title = 'Expand'; 152 button.title = document.getElementById('translation-expand').innerHTML;
150 if (description != null) { 153 if (description != null) {
151 description.style.display = 'none'; 154 description.style.display = 'none';
152 } 155 }
@@ -155,7 +158,7 @@ window.onload = function () {
155 } 158 }
156 } 159 }
157 else { 160 else {
158 button.title = 'Fold'; 161 button.title = document.getElementById('translation-fold').innerHTML;
159 if (description != null) { 162 if (description != null) {
160 description.style.display = 'block'; 163 description.style.display = 'block';
161 } 164 }
@@ -173,7 +176,7 @@ window.onload = function () {
173 var deleteLinks = document.querySelectorAll('.confirm-delete'); 176 var deleteLinks = document.querySelectorAll('.confirm-delete');
174 [].forEach.call(deleteLinks, function(deleteLink) { 177 [].forEach.call(deleteLinks, function(deleteLink) {
175 deleteLink.addEventListener('click', function(event) { 178 deleteLink.addEventListener('click', function(event) {
176 if(! confirm('Are you sure you want to delete this link ?')) { 179 if(! confirm(document.getElementById('translation-delete-link').innerHTML)) {
177 event.preventDefault(); 180 event.preventDefault();
178 } 181 }
179 }); 182 });
@@ -375,7 +378,7 @@ window.onload = function () {
375 var linkCheckboxes = document.querySelectorAll('.delete-checkbox'); 378 var linkCheckboxes = document.querySelectorAll('.delete-checkbox');
376 var bar = document.getElementById('actions'); 379 var bar = document.getElementById('actions');
377 [].forEach.call(linkCheckboxes, function(checkbox) { 380 [].forEach.call(linkCheckboxes, function(checkbox) {
378 checkbox.style.display = 'block'; 381 checkbox.style.display = 'inline-block';
379 checkbox.addEventListener('click', function(event) { 382 checkbox.addEventListener('click', function(event) {
380 var count = 0; 383 var count = 0;
381 var linkCheckedCheckboxes = document.querySelectorAll('.delete-checkbox:checked'); 384 var linkCheckedCheckboxes = document.querySelectorAll('.delete-checkbox:checked');
@@ -618,7 +621,7 @@ function activateFirefoxSocial(node) {
618 // Keeping the data separated (ie. not in the DOM) so that it's maintainable and diffable. 621 // Keeping the data separated (ie. not in the DOM) so that it's maintainable and diffable.
619 var data = { 622 var data = {
620 name: title, 623 name: title,
621 description: "The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community.", 624 description: document.getElementById('translation-delete-link').innerHTML,
622 author: "Shaarli", 625 author: "Shaarli",
623 version: "1.0.0", 626 version: "1.0.0",
624 627
diff --git a/tpl/default/linklist.html b/tpl/default/linklist.html
index 685821e3..c666e30a 100644
--- a/tpl/default/linklist.html
+++ b/tpl/default/linklist.html
@@ -53,9 +53,9 @@
53{/loop} 53{/loop}
54 54
55<div id="linklist"> 55<div id="linklist">
56 <div class="pure-g"> 56 <div id="link-count-block" class="pure-g">
57 <div class="pure-u-lg-2-24 pure-u-1-24"></div> 57 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
58 <div class="pure-u-lg-20-24 pure-u-22-24"> 58 <div id="link-count-content" class="pure-u-lg-20-24 pure-u-22-24">
59 <div class="linkcount pure-u-lg-0 center"> 59 <div class="linkcount pure-u-lg-0 center">
60 {if="!empty($linkcount)"} 60 {if="!empty($linkcount)"}
61 <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"} 61 <span class="strong">{$linkcount}</span> {function="t('shaare', 'shaares', $linkcount)"}
@@ -76,17 +76,17 @@
76 </div> 76 </div>
77 77
78 {if="count($links)==0"} 78 {if="count($links)==0"}
79 <div class="pure-g pure-alert pure-alert-error search-result"> 79 <div id="search-result-block" class="pure-g pure-alert pure-alert-error search-result">
80 <div class="pure-u-2-24"></div> 80 <div class="pure-u-2-24"></div>
81 <div class="pure-u-20-24"> 81 <div id="search-result-content" class="pure-u-20-24">
82 <div id="searchcriteria">{'Nothing found.'|t}</div> 82 <div id="searchcriteria">{'Nothing found.'|t}</div>
83 </div> 83 </div>
84 </div> 84 </div>
85 {elseif="!empty($search_term) or $search_tags !== '' or !empty($visibility) or $untaggedonly"} 85 {elseif="!empty($search_term) or $search_tags !== '' or !empty($visibility) or $untaggedonly"}
86 <div class="pure-g pure-alert pure-alert-success search-result"> 86 <div id="search-result-block" class="pure-g pure-alert pure-alert-success search-result">
87 <div class="pure-u-2-24"></div> 87 <div class="pure-u-2-24"></div>
88 <div class="pure-u-20-24"> 88 <div id="search-result-content" class="pure-u-20-24 search-result-main">
89 {function="t('%s result', '%s results', $result_count)"} 89 {function="sprintf(t('%s result', '%s results', $result_count), $result_count)"}
90 {if="!empty($search_term)"} 90 {if="!empty($search_term)"}
91 {'for'|t} <em><strong>{$search_term}</strong></em> 91 {'for'|t} <em><strong>{$search_term}</strong></em>
92 {/if} 92 {/if}
@@ -114,23 +114,34 @@
114 </div> 114 </div>
115 {/if} 115 {/if}
116 116
117 <div class="pure-g"> 117 <div id="linklist-loop-block" class="pure-g">
118 <div class="pure-u-lg-2-24 pure-u-1-24"></div> 118 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
119 <div class="pure-u-lg-20-24 pure-u-22-24"> 119 <div id="linklist-loop-content" class="pure-u-lg-20-24 pure-u-22-24">
120 {ignore}Set translation here, for performances{/ignore}
121 {$strPrivate=t('Private')}
122 {$strEdit=t('Edit')}
123 {$strDelete=t('Delete')}
124 {$strFold=t('Fold')}
125 {$strEdited=t('Edited: ')}
126 {$strPermalink=t('Permalink')}
127 {$strPermalinkLc=t('permalink')}
128 {$strAddTag=t('Add tag')}
129 {ignore}End of translations{/ignore}
120 {loop="links"} 130 {loop="links"}
121 <div class="anchor" id="{$value.shorturl}"></div> 131 <div class="anchor" id="{$value.shorturl}"></div>
122 <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}">
123 132
133 <div class="linklist-item linklist-item{if="$value.class"} {$value.class}{/if}" data-id="{$value.id}">
124 <div class="linklist-item-title"> 134 <div class="linklist-item-title">
135 {$thumb=thumbnail($value.url)}
136 {if="$thumb!=false"}
137 <div class="linklist-item-thumbnail">{$thumb}</div>
138 {/if}
139
125 {if="isLoggedIn()"} 140 {if="isLoggedIn()"}
126 <div class="linklist-item-editbuttons"> 141 <div class="linklist-item-editbuttons">
127 {if="$value.private"} 142 {if="$value.private"}
128 <span class="label label-private">{'Private'|t}</span> 143 <span class="label label-private">{$strPrivate}</span>
129 {/if} 144 {/if}
130 <input type="checkbox" class="delete-checkbox" value="{$value.id}">
131 <!-- FIXME! JS translation -->
132 <a href="?edit_link={$value.id}" title="{'Edit'|t}"><i class="fa fa-pencil-square-o edit-link"></i></a>
133 <a href="#" title="{'Fold'|t}" class="fold-button"><i class="fa fa-chevron-up"></i></a>
134 </div> 145 </div>
135 {/if} 146 {/if}
136 147
@@ -147,11 +158,6 @@
147 </h2> 158 </h2>
148 </div> 159 </div>
149 160
150 {$thumb=thumbnail($value.url)}
151 {if="$thumb!=false"}
152 <div class="linklist-item-thumbnail">{$thumb}</div>
153 {/if}
154
155 {if="$value.description"} 161 {if="$value.description"}
156 <div class="linklist-item-description"> 162 <div class="linklist-item-description">
157 {$value.description} 163 {$value.description}
@@ -164,7 +170,7 @@
164 <i class="fa fa-tags"></i> 170 <i class="fa fa-tags"></i>
165 {$tag_counter=count($value.taglist)} 171 {$tag_counter=count($value.taglist)}
166 {loop="value.taglist"} 172 {loop="value.taglist"}
167 <span class="label label-tag" title="Add tag"> 173 <span class="label label-tag" title="{$strAddTag}">
168 <a href="?addtag={$value|urlencode}">{$value}</a> 174 <a href="?addtag={$value|urlencode}">{$value}</a>
169 </span> 175 </span>
170 {if="$tag_counter - 1 != $counter"}&middot;{/if} 176 {if="$tag_counter - 1 != $counter"}&middot;{/if}
@@ -172,11 +178,27 @@
172 </div> 178 </div>
173 {/if} 179 {/if}
174 180
175 <div class="pure-g"> 181 <div class="linklist-item-infos-date-url-block pure-g">
176 <div class="linklist-item-infos-dateblock pure-u-lg-3-8 pure-u-1"> 182 <div class="linklist-item-infos-dateblock pure-u-lg-7-12 pure-u-1">
177 <a href="?{$value.shorturl}" title="{'Permalink'|t}"> 183 {if="isLoggedIn()"}
184 <div class="linklist-item-infos-controls-group pure-u-0 pure-u-lg-visible">
185 <span class="linklist-item-infos-controls-item ctrl-checkbox">
186 <input type="checkbox" class="delete-checkbox" value="{$value.id}">
187 </span>
188 <span class="linklist-item-infos-controls-item ctrl-edit">
189 <a href="?edit_link={$value.id}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link"></i></a>
190 </span>
191 <span class="linklist-item-infos-controls-item ctrl-delete">
192 <a href="?delete_link&amp;lf_linkdate={$value.id}&amp;token={$token}"
193 title="{$strDelete}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete">
194 <i class="fa fa-trash"></i>
195 </a>
196 </span>
197 </div>
198 {/if}
199 <a href="?{$value.shorturl}" title="{$strPermalink}">
178 {if="!$hide_timestamps || isLoggedIn()"} 200 {if="!$hide_timestamps || isLoggedIn()"}
179 {$updated=$value.updated_timestamp ? 'Edited: '. format_date($value.updated) : 'Permalink'} 201 {$updated=$value.updated_timestamp ? $strEdited. format_date($value.updated) : $strPermalink}
180 <span class="linkdate" title="{$updated}"> 202 <span class="linkdate" title="{$updated}">
181 <i class="fa fa-clock-o"></i> 203 <i class="fa fa-clock-o"></i>
182 {$value.created|format_date} 204 {$value.created|format_date}
@@ -184,7 +206,7 @@
184 &middot; 206 &middot;
185 </span> 207 </span>
186 {/if} 208 {/if}
187 {'permalink'|t} 209 {$strPermalinkLc}
188 </a> 210 </a>
189 211
190 <div class="pure-u-0 pure-u-lg-visible"> 212 <div class="pure-u-0 pure-u-lg-visible">
@@ -199,16 +221,13 @@
199 </div> 221 </div>
200 </div><div 222 </div><div
201 {ignore}do not add space or line break between these div - Firefox issue{/ignore} 223 {ignore}do not add space or line break between these div - Firefox issue{/ignore}
202 class="linklist-item-infos-url pure-u-lg-5-8 pure-u-1"> 224 class="linklist-item-infos-url pure-u-lg-5-12 pure-u-1">
203 <a href="{$value.real_url}" title="{$value.title}"> 225 <a href="{$value.real_url}" title="{$value.title}">
204 <i class="fa fa-link"></i> {$value.url} 226 <i class="fa fa-link"></i> {$value.url}
205 </a> 227 </a>
206 {if="isLoggedIn()"} 228 <div class="linklist-item-buttons pure-u-0 pure-u-lg-visible">
207 <a href="?delete_link&amp;lf_linkdate={$value.id}&amp;token={$token}" 229 <a href="#" title="{$strFold}" class="fold-button"><i class="fa fa-chevron-up"></i></a>
208 title="{'Delete'|t}" class="delete-link pure-u-0 pure-u-lg-visible confirm-delete"> 230 </div>
209 <i class="fa fa-trash"></i>
210 </a>
211 {/if}
212 </div> 231 </div>
213 <div class="mobile-buttons pure-u-1 pure-u-lg-0"> 232 <div class="mobile-buttons pure-u-1 pure-u-lg-0">
214 {if="isset($value.link_plugin)"} 233 {if="isset($value.link_plugin)"}
@@ -221,9 +240,11 @@
221 {if="isLoggedIn()"} 240 {if="isLoggedIn()"}
222 &middot; 241 &middot;
223 <a href="?delete_link&amp;lf_linkdate={$value.id}&amp;token={$token}" 242 <a href="?delete_link&amp;lf_linkdate={$value.id}&amp;token={$token}"
224 title="{'Delete'|t}" class="delete-link confirm-delete"> 243 title="{$strDelete}" class="delete-link confirm-delete">
225 <i class="fa fa-trash"></i> 244 <i class="fa fa-trash"></i>
226 </a> 245 </a>
246 &middot;
247 <a href="?edit_link={$value.id}" title="{$strEdit}"><i class="fa fa-pencil-square-o edit-link"></i></a>
227 {/if} 248 {/if}
228 </div> 249 </div>
229 </div> 250 </div>
@@ -240,9 +261,9 @@
240 {/loop} 261 {/loop}
241 </div> 262 </div>
242 263
243<div class="pure-g"> 264<div id="linklist-paging-bottom-block" class="pure-g">
244 <div class="pure-u-lg-2-24 pure-u-1-24"></div> 265 <div class="pure-u-lg-2-24 pure-u-1-24"></div>
245 <div class="pure-u-lg-20-24 pure-u-22-24"> 266 <div id="linklist-paging-bottom-content" class="pure-u-lg-20-24 pure-u-22-24">
246 {include="linklist.paging"} 267 {include="linklist.paging"}
247 </div> 268 </div>
248</div> 269</div>
diff --git a/tpl/default/linklist.paging.html b/tpl/default/linklist.paging.html
index 41e9fa34..347b3d13 100644
--- a/tpl/default/linklist.paging.html
+++ b/tpl/default/linklist.paging.html
@@ -13,7 +13,7 @@
13 <a href="?untaggedonly" title="{'Filter untagged links'|t}" 13 <a href="?untaggedonly" title="{'Filter untagged links'|t}"
14 class={if="$untaggedonly"}"filter-on"{else}"filter-off"{/if} 14 class={if="$untaggedonly"}"filter-on"{else}"filter-off"{/if}
15 ><i class="fa fa-tag"></i></a> 15 ><i class="fa fa-tag"></i></a>
16 <a href="#" class="filter-off fold-all pure-u-lg-0" title="Fold all"> 16 <a href="#" class="filter-off fold-all pure-u-lg-0" title="{'Fold all'|t}">
17 <i class="fa fa-chevron-up"></i> 17 <i class="fa fa-chevron-up"></i>
18 </a> 18 </a>
19 {loop="$action_plugin"} 19 {loop="$action_plugin"}
@@ -53,7 +53,7 @@
53 <form method="GET" class="pure-u-0 pure-u-lg-visible"> 53 <form method="GET" class="pure-u-0 pure-u-lg-visible">
54 <input type="text" name="linksperpage" placeholder="133"> 54 <input type="text" name="linksperpage" placeholder="133">
55 </form> 55 </form>
56 <a href="#" class="filter-off fold-all pure-u-0 pure-u-lg-visible" title="Fold all"> 56 <a href="#" class="filter-off fold-all pure-u-0 pure-u-lg-visible" title="{'Fold all'|t}">
57 <i class="fa fa-chevron-up"></i> 57 <i class="fa fa-chevron-up"></i>
58 </a> 58 </a>
59 </div> 59 </div>
diff --git a/tpl/default/page.footer.html b/tpl/default/page.footer.html
index 54b16e8a..659e8c7f 100644
--- a/tpl/default/page.footer.html
+++ b/tpl/default/page.footer.html
@@ -8,8 +8,8 @@
8 {$version} 8 {$version}
9 {/if} 9 {/if}
10 &middot; 10 &middot;
11 The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community &middot; 11 {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t} &middot;
12 <a href="doc/html/index.html" rel="nofollow">Documentation</a> 12 <a href="doc/html/index.html" rel="nofollow">{'Documentation'|t}</a>
13 {loop="$plugins_footer.text"} 13 {loop="$plugins_footer.text"}
14 {$value} 14 {$value}
15 {/loop} 15 {/loop}
@@ -27,6 +27,17 @@
27 <script src="{$value}#"></script> 27 <script src="{$value}#"></script>
28{/loop} 28{/loop}
29 29
30<div id="js-translations" class="hidden">
31 <span id="translation-fold">{'Fold'|t}</span>
32 <span id="translation-fold-all">{'Fold all'|t}</span>
33 <span id="translation-expand">{'Expand'|t}</span>
34 <span id="translation-expand-all">{'Expand all'|t}</span>
35 <span id="translation-delete-link">{'Are you sure you want to delete this link?'|t}</span>
36 <span id="translation-shaarli-desc">
37 {'The personal, minimalist, super-fast, database free, bookmarking service'|t} {'by the Shaarli community'|t}
38 </span>
39</div>
40
30<script src="js/shaarli.js?v={$version_hash}"></script> 41<script src="js/shaarli.js?v={$version_hash}"></script>
31<script src="inc/awesomplete.js?v={$version_hash}#"></script> 42<script src="inc/awesomplete.js?v={$version_hash}#"></script>
32<script src="inc/awesomplete-multiple-tags.js?v={$version_hash}#"></script> 43<script src="inc/awesomplete-multiple-tags.js?v={$version_hash}#"></script>
diff --git a/tpl/default/pluginsadmin.html b/tpl/default/pluginsadmin.html
index 5cc1802f..ca17b435 100644
--- a/tpl/default/pluginsadmin.html
+++ b/tpl/default/pluginsadmin.html
@@ -27,7 +27,7 @@
27 27
28 <div> 28 <div>
29 {if="count($enabledPlugins)==0"} 29 {if="count($enabledPlugins)==0"}
30 <p>{'No plugin enabled.'|t}</p> 30 <p class="center">{'No plugin enabled.'|t}</p>
31 {else} 31 {else}
32 <table id="plugin_table"> 32 <table id="plugin_table">
33 <thead> 33 <thead>
@@ -77,7 +77,7 @@
77 77
78 <div> 78 <div>
79 {if="count($disabledPlugins)==0"} 79 {if="count($disabledPlugins)==0"}
80 <p>{'No plugin disabled.'|t}</p> 80 <p class="center">{'No plugin disabled.'|t}</p>
81 {else} 81 {else}
82 <table> 82 <table>
83 <thead> 83 <thead>
@@ -116,8 +116,8 @@
116 </section> 116 </section>
117 117
118 <div class="center more"> 118 <div class="center more">
119 More plugins available 119 {"More plugins available"|t}
120 <a href="doc/Community-&-Related-software.html#third-party-plugins">in the documentation</a>. 120 <a href="doc/Community-&-Related-software.html#third-party-plugins">{"in the documentation"|t}</a>.
121 </div> 121 </div>
122 <div class="center"> 122 <div class="center">
123 <input type="submit" value="{'Save'|t}" name="save"> 123 <input type="submit" value="{'Save'|t}" name="save">
@@ -135,9 +135,11 @@
135 <section id="plugin_parameters"> 135 <section id="plugin_parameters">
136 <div> 136 <div>
137 {if="count($enabledPlugins)==0"} 137 {if="count($enabledPlugins)==0"}
138 <p>{'No plugin enabled.'|t}</p> 138 <p class="center">{'No plugin enabled.'|t}</p>
139 {else} 139 {else}
140 {$counter=0}
140 {loop="$enabledPlugins"} 141 {loop="$enabledPlugins"}
142 {$counter=$counter+count($value.parameters)}
141 {if="count($value.parameters) > 0"} 143 {if="count($value.parameters) > 0"}
142 <div class="plugin_parameters"> 144 <div class="plugin_parameters">
143 <h3 class="window-subtitle">{function="str_replace('_', ' ', $key)"}</h3> 145 <h3 class="window-subtitle">{function="str_replace('_', ' ', $key)"}</h3>
@@ -159,10 +161,14 @@
159 </div> 161 </div>
160 {/if} 162 {/if}
161 {/loop} 163 {/loop}
164 {if="$counter===0"}
165 <p class="center">{'No parameter available.'|t}</p>
166 {else}
167 <div class="center">
168 <input type="submit" name="parameters_form" value="{'Save'|t}"/>
169 </div>
170 {/if}
162 {/if} 171 {/if}
163 <div class="center">
164 <input type="submit" name="parameters_form" value="{'Save'|t}"/>
165 </div>
166 </div> 172 </div>
167 </section> 173 </section>
168 </div> 174 </div>
diff --git a/tpl/default/tag.cloud.html b/tpl/default/tag.cloud.html
index 68335c70..12701465 100644
--- a/tpl/default/tag.cloud.html
+++ b/tpl/default/tag.cloud.html
@@ -14,8 +14,10 @@
14 {$countTags=count($tags)} 14 {$countTags=count($tags)}
15 <h2 class="window-title">{'Tag cloud'|t} - {$countTags} {'tags'|t}</h2> 15 <h2 class="window-title">{'Tag cloud'|t} - {$countTags} {'tags'|t}</h2>
16 {if="!empty($search_tags)"} 16 {if="!empty($search_tags)"}
17 <p class="enter"> 17 <p class="center">
18 <a href="?searchtags={$search_tags|urlencode}">{'List all links with those tags'|t}</a> 18 <a href="?searchtags={$search_tags|urlencode}" class="pure-button pure-button-shaarli">
19 {'List all links with those tags'|t}
20 </a>
19 </p> 21 </p>
20 {/if} 22 {/if}
21 23
diff --git a/tpl/default/tag.list.html b/tpl/default/tag.list.html
index a3e741d3..7140c67a 100644
--- a/tpl/default/tag.list.html
+++ b/tpl/default/tag.list.html
@@ -15,7 +15,9 @@
15 <h2 class="window-title">{'Tag list'|t} - {$countTags} {'tags'|t}</h2> 15 <h2 class="window-title">{'Tag list'|t} - {$countTags} {'tags'|t}</h2>
16 {if="!empty($search_tags)"} 16 {if="!empty($search_tags)"}
17 <p class="center"> 17 <p class="center">
18 <a href="?searchtags={$search_tags|urlencode}">{'List all links with those tags'|t}</a> 18 <a href="?searchtags={$search_tags|urlencode}" class="pure-button pure-button-shaarli">
19 {'List all links with those tags'|t}
20 </a>
19 </p> 21 </p>
20 {/if} 22 {/if}
21 23