mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
Extend timeline macro to be able to use different date fields
This commit is contained in:
parent
989e0d436c
commit
a3a50dbf6d
@ -1,12 +1,12 @@
|
||||
title: $:/core/macros/timeline
|
||||
tags: $:/tags/Macro
|
||||
|
||||
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"")
|
||||
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
|
||||
<div class="tc-timeline">
|
||||
<$list filter="[!is[system]$subfilter$has[modified]!sort[modified]limit[$limit$]eachday[modified]]">
|
||||
<$list filter="[!is[system]$subfilter$has[dateField]!sort[dateField]limit[$limit$]eachday[dateField]]">
|
||||
<div class="tc-menu-list-item">
|
||||
<$view field="modified" format="date" template="$format$"/>
|
||||
<$list filter="[sameday{!!modified}!is[system]$subfilter$!sort[modified]]">
|
||||
<$view field="dateField" format="date" template="$format$"/>
|
||||
<$list filter="[sameday{!!dateField}!is[system]$subfilter$!sort[dateField]]">
|
||||
<div class="tc-menu-list-subitem">
|
||||
<$link to={{!!title}}>
|
||||
<$view field="title"/>
|
||||
|
34
editions/prerelease/tiddlers/TimelineMacro.tid
Normal file
34
editions/prerelease/tiddlers/TimelineMacro.tid
Normal file
@ -0,0 +1,34 @@
|
||||
title: TimelineMacro
|
||||
tags: Macros
|
||||
modified: 20141103172520228
|
||||
caption: timeline
|
||||
|
||||
The timeline macro produces a list of tiddlers in reverse chronological order of modification date that is grouped by the date of the day of modification.
|
||||
|
||||
! Parameters
|
||||
|
||||
|!Position |!Name |!Description |!Default |
|
||||
|1st |limit |The maximum number of tiddlers to list (see below) |100 |
|
||||
|2nd |format |A DateFormat string for formatting the date |DDth MMM YYYY |
|
||||
|3rd |subfilter |A subfilter to include in the timeline filter (see below) | |
|
||||
|4th |dateField |Optional name of date field to use |modified |
|
||||
|
||||
The subfilter and limit parameters are spliced into the filter string like this:
|
||||
|
||||
```
|
||||
[!is[system]$subfilter$has[modified]!sort[modified]limit[$limit$]eachday[modified]]
|
||||
```
|
||||
|
||||
To restrict the timeline to a particular tag, the subfilter can be set to something like `tag[mytag]`:
|
||||
|
||||
```
|
||||
<<timeline limit:10 subfilter:"tag[mytag]">>
|
||||
```
|
||||
|
||||
Note that the timeline macro does not truncate the entries for a particular day, instead always displaying all the tiddlers under each displayed day heading. This means that the limit parameter works in an unexpected way because it is possible for more than the specified number of tiddlers to be displayed.
|
||||
|
||||
! Examples
|
||||
|
||||
<$macrocall $name="wikitext-example-without-html"
|
||||
src="<<timeline limit:30 format:'DD/MM/YYYY'>>
|
||||
"/>
|
Loading…
Reference in New Issue
Block a user