Исходный код вики HRlink. Новости об обновлениях
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
30.1 | 1 | {{velocity}} |
2 | ## Собираем дочерние страницы и превращаем в список документов | ||
3 | #set($docs = []) | ||
4 | #foreach($ref in $doc.getChildren()) | ||
5 | #set($discard = $docs.add($xwiki.getDocument($ref))) | ||
6 | #end | ||
7 | |||
8 | ## Сортируем по дате (новые сверху) простым сравнением | ||
9 | #macro(sortByDateDesc $list) | ||
10 | #set($n = $list.size()) | ||
11 | #set($i = 0) | ||
12 | #while($i < $n) | ||
13 | #set($j = $i) | ||
14 | #while($j < $n) | ||
15 | #if($list.get($j).date.time > $list.get($i).date.time) | ||
16 | #set($tmp = $list.get($i)) #set($discard = $list.set($i, $list.get($j))) #set($discard = $list.set($j, $tmp)) | ||
17 | #end | ||
18 | #set($j = $j + 1) | ||
19 | #end | ||
20 | #set($i = $i + 1) | ||
21 | #end | ||
22 | #end | ||
23 | #sortByDateDesc($docs) | ||
24 | |||
25 | ## Рендерим «красивую» ленту | ||
26 | #if($docs.isEmpty()) | ||
27 | <p>Пока нет публикаций в этой ветке.</p> | ||
28 | #else | ||
29 | #foreach($d in $docs) | ||
30 | <article style="margin:14px 0; padding-bottom:10px; border-bottom:1px solid #e5e7eb"> | ||
31 | <div style="color:#6b7280; font-size:.9em">$datetool.format('dd MMM yyyy', $d.date)</div> | ||
32 | <h3 style="margin:.2rem 0"><a href="$d.getURL('view')">$escapetool.html($d.displayTitle)</a></h3> | ||
33 | <div>$!d.getPlainContent().substring(0,300)…</div> | ||
34 | </article> | ||
35 | #end | ||
36 | #end | ||
37 | {{/velocity}} |