CI / build (push) Failing after 6m2s
Introduce a Node build system for minified CSS/JS with content hashes, add PWA support, i18n helpers, accessibility improvements, and more translatable strings. Move theme configuration from bookmarks to localStorage, add Playwright tests, and set up CI workflows.
151 lines
7.5 KiB
HTML
151 lines
7.5 KiB
HTML
<!DOCTYPE html>
|
|
<html{if="$language !== 'auto'"} lang="{$language}"{/if}>
|
|
<head>
|
|
{$pageName="daily"}
|
|
{include="includes"}
|
|
</head>
|
|
<body class="dark-toolbar">
|
|
{include="page.header"}
|
|
|
|
<div class="daily">
|
|
<div class="daily-nav-unified">
|
|
<div class="daily-nav-left">
|
|
<i class="mdi mdi-clock-outline" aria-hidden="true"></i>
|
|
<span>{'Time navigation'|t}</span>
|
|
</div>
|
|
<div class="daily-nav-center">
|
|
<a {if="$previousday"}href="{$base_path}/daily?{$type}={$previousday}"{else}href="#"{/if} class="daily-nav-btn" {if="!$previousday"}disabled{/if}>
|
|
<i class="mdi mdi-arrow-left"></i>
|
|
{function="t('Previous :type', '', 1, 'shaarli', [':type' => t($type)], true)"}
|
|
</a>
|
|
<button type="button" class="daily-date-pill" id="daily-date-display">{$dayDesc}</button>
|
|
<a {if="$nextday"}href="{$base_path}/daily?{$type}={$nextday}"{else}href="#"{/if} class="daily-nav-btn" {if="!$nextday"}disabled{/if}>
|
|
{function="t('Next :type', '', 1, 'shaarli', [':type' => t($type)], true)"}
|
|
<i class="mdi mdi-arrow-right"></i>
|
|
</a>
|
|
<div class="daily-calendar-wrap">
|
|
<button type="button" class="daily-calendar-btn" id="daily-calendar-toggle" aria-haspopup="dialog" aria-expanded="false">
|
|
<i class="mdi mdi-calendar" aria-hidden="true"></i>
|
|
<span>{'Calendar'|t}</span>
|
|
</button>
|
|
<div class="daily-calendar-panel" id="daily-calendar-panel" aria-hidden="true">
|
|
<div class="daily-calendar-shell">
|
|
<div class="daily-calendar-sidebar">
|
|
<span class="daily-calendar-title">{'Shortcuts'|t}</span>
|
|
<button type="button" class="daily-calendar-shortcut" data-range="0">{'Today'|t}</button>
|
|
<button type="button" class="daily-calendar-shortcut" data-range="1">{'Yesterday'|t}</button>
|
|
<button type="button" class="daily-calendar-shortcut" data-range="7">{'Last 7 days'|t}</button>
|
|
<button type="button" class="daily-calendar-shortcut" data-range="30">{'Last 30 days'|t}</button>
|
|
<div class="daily-calendar-summary">
|
|
<div>
|
|
<span>{'From'|t}</span>
|
|
<strong id="daily-calendar-start">-</strong>
|
|
</div>
|
|
<div>
|
|
<span>{'To'|t}</span>
|
|
<strong id="daily-calendar-end">-</strong>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="daily-calendar-main">
|
|
<div class="daily-calendar-header">
|
|
<button type="button" class="daily-calendar-nav" id="daily-calendar-prev" aria-label="{'Previous month'|t}">
|
|
<i class="mdi mdi-chevron-left"></i>
|
|
</button>
|
|
<div class="daily-calendar-month" id="daily-calendar-month"></div>
|
|
<button type="button" class="daily-calendar-nav" id="daily-calendar-next" aria-label="{'Next month'|t}">
|
|
<i class="mdi mdi-chevron-right"></i>
|
|
</button>
|
|
</div>
|
|
<div class="daily-calendar-weekdays" id="daily-calendar-weekdays"></div>
|
|
<div class="daily-calendar-grid" id="daily-calendar-grid"></div>
|
|
<div class="daily-calendar-footer">
|
|
<button type="button" class="daily-calendar-cancel" id="daily-calendar-cancel">{'Cancel'|t}</button>
|
|
<button type="button" class="daily-calendar-apply" id="daily-calendar-apply">{'Apply'|t}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="daily-nav-tabs" role="group" aria-label="{'Daily / Weekly / Monthly'|t}">
|
|
<a class="daily-tab {if="array_key_exists('day', $_GET) || (!array_key_exists('week', $_GET) && !array_key_exists('month', $_GET))"}is-active{else}is-inactive{/if}" href="{$base_path}/daily?day" title="{'Daily'|t}">{'Daily'|t}</a>
|
|
<a class="daily-tab {if="array_key_exists('week', $_GET)"}is-active{else}is-inactive{/if}" href="{$base_path}/daily?week" title="{'Weekly'|t}">{'Weekly'|t}</a>
|
|
<a class="daily-tab {if="array_key_exists('month', $_GET)"}is-active{else}is-inactive{/if}" href="{$base_path}/daily?month" title="{'Monthly'|t}">{'Monthly'|t}</a>
|
|
</div>
|
|
</div>
|
|
<div id="plugin_zone_start_picwall" class="plugin_zone">
|
|
{loop="$plugin_start_zone"}
|
|
{$value}
|
|
{/loop}
|
|
</div>
|
|
|
|
<div id="plugin_zone_about_daily" class="plugin_zone">
|
|
{loop="$daily_about_plugin"}
|
|
{$value}
|
|
{/loop}
|
|
</div>
|
|
|
|
{if="$linksToDisplay"}
|
|
<div class="daily-grid clearfix" data-columns>
|
|
{loop="$linksToDisplay"}
|
|
{$link=$value}
|
|
<div class="daily-item">
|
|
<div class="daily-card">
|
|
<a href="{$link.real_url}" class="daily-item-header ripple ripple-primary">
|
|
{$link.title}
|
|
</a>
|
|
|
|
{if="$thumbnails_enabled && !empty($link.thumbnail)"}
|
|
<div class="daily-item-image" style="background-image: url({$root_path}/{$link.thumbnail}#)"></div>
|
|
{/if}
|
|
|
|
{if="$link.formatedDescription"}
|
|
<div class="daily-item-body">
|
|
{$link.formatedDescription}
|
|
</div>
|
|
{/if}
|
|
<div class="daily-item-footer clearfix">
|
|
{if="!$hide_timestamps || $is_logged_in"}
|
|
<a href="{$base_path}/shaare/{$value.shorturl}" class="daily-item-footer-subtitle" title="{'Permalink'|t}">
|
|
{if="$type === 'week'"}
|
|
{function="date('D j M, H:i', $link.timestamp)"}
|
|
{else}
|
|
{if="$type === 'month'"}
|
|
{function="date('D j M Y, H:i', $link.timestamp)"}
|
|
{else}
|
|
{function="date('H:i', $link.timestamp)"}
|
|
{/if}
|
|
{/if}
|
|
</a>
|
|
{/if}
|
|
{if="$link.tags"}
|
|
<div class="daily-item-tags">
|
|
{$tags=implode(', ', $link['taglist'])}
|
|
{$tags}
|
|
</div>
|
|
{/if}
|
|
<div>
|
|
{loop="$link.link_plugin"}
|
|
{$value}
|
|
{/loop}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/loop}
|
|
</div>
|
|
{else}
|
|
<div>{'No articles on this day.'|t}</div>
|
|
{/if}
|
|
|
|
<div id="plugin_zone_end_picwall" class="plugin_zone">
|
|
{loop="$plugin_end_zone"}
|
|
{$value}
|
|
{/loop}
|
|
</div>
|
|
</div>
|
|
{include="page.footer"}
|
|
</body>
|
|
</html>
|