File: //usr/lib/python3/dist-packages/trac/timeline/templates/timeline.html
{# Copyright (C) 2006-2021 Edgewall Software
This software is licensed as described in the file COPYING, which
you should have received as part of this distribution. The terms
are also available at https://trac.edgewall.org/wiki/TracLicense.
This software consists of voluntary contributions made by many
individuals. For the exact contribution history, see the revision
history and logs, available at https://trac.edgewall.org/.
#}
# extends 'layout.html'
<!DOCTYPE html>
<html>
<head>
<title>
# block title
${_("Timeline")}
${ super() }
# endblock title
</title>
## Note: no need to reimplement head block if no changes needed there
</head>
<body>
# block content
<div id="content" class="timeline">
<h1>${_("Timeline")}</h1>
<form id="prefs" method="get" action="#">
<div>
# set fromdate_input
<input type="text" id="fromdate" class="trac-datepicker" size="10"
name="from" value="${format_date(fromdate)}" />
# endset
# set daysback_input
<input type="text" size="3" name="daysback" value="${daysback}" />
# endset
# set authors_input
<input type="text" size="16" name="authors" value="${authors}" />
# endset
# trans fromdate=fromdate_input, daysback=daysback_input, authors=authors_input
<label>View changes from ${fromdate}</label>
<br />
<label>going back ${daysback} days</label>
<br />
<label>by author ${authors}</label>
# endtrans
</div>
<fieldset>
# for filter in filters:
<label>
<input type="checkbox" name="${filter.name}"
${{'checked': filter.enabled}|htmlattr}/> ${filter.label}
</label>
# endfor
</fieldset>
<div class="buttons">
<input type="submit" name="update" value="${_('Update')}" />
</div>
</form>
# for date, events in events|groupby('date')|sort(reverse=true):
<h2>${format_date(date)}: ${_("Today") if date == today else
_("Yesterday") if date == yesterday}</h2>
# for unread, events in events|groupby('unread')|sort(reverse=true):
<dl ${{'class': 'unread' if events[0].unread}|htmlattr}>
# for event in events:
# set event_delta = precisedate and (event.datetime - precisedate)
# set highlight = precision and precisedate and timedelta(0) is lessthanorequal(event_delta) and event_delta is lessthan(precision)
<dt class="${classes(event.kind, highlight=highlight, unread=unread)}">
<a href="${event.render('url', context)}">
# set time
<span class="time">${format_time(event.datetime, 'short')}</span>
# endset
# set title = event.render('title', context)
# if event.author:
# trans time, title, author = authorinfo(event.author)
${time} ${title} by ${author}
# endtrans
# else:
${time} ${title}
# endif
</a>
</dt>
# set rendered = event.render('description', context)
# if rendered:
<dd class="${classes(event.kind, highlight=highlight)}">
${rendered}
</dd>
# endif
# endfor
</dl>
# endfor
# endfor
# call(note, page) jmacros.wikihelp('TracTimeline'):
# trans note, page
${note} See ${page} for information about the timeline view.
# endtrans
# endcall
</div>
${ super() }
# endblock content
</body>
</html>