Wiki源代码Home
显示最后作者
author | version | line-number | content |
---|---|---|---|
1 | == {{displayIcon name="bell"/}} 通知公告 == | ||
2 | |||
3 | |||
4 | (% style="font-size:16px" %)内部网站,不提供注册功能。 | ||
5 | |||
6 | |||
7 | == == | ||
8 | |||
9 | == == | ||
10 | |||
11 | == == | ||
12 | |||
13 | (% class="col-xs-12 col-sm-6" %) | ||
14 | ((( | ||
15 | === 近期更新 === | ||
16 | |||
17 | {{velocity}} | ||
18 | ## 定义一级链接列表 | ||
19 | #set($topLevelPages = ["Home", "AI For Service", "AIO知识库", "脚本&自动化"]) | ||
20 | |||
21 | ## 定义需要忽略的页面标题列表 | ||
22 | #set($ignoreTitles = ["页面管理", "脚本&自动化"]) | ||
23 | |||
24 | {{html clean="false" wiki="false"}} | ||
25 | <style> | ||
26 | .recent-updates h4 { | ||
27 | margin: 5px 0 !important; /* 强制覆盖其他样式 */ | ||
28 | padding: 0 !important; | ||
29 | } | ||
30 | .recent-updates h2 { | ||
31 | margin-bottom: 5px !important; /* 减少与下一个元素间的间距 */ | ||
32 | } | ||
33 | .recent-updates ul { | ||
34 | margin: 5px 0 !important; /* 控制列表的上下间距 */ | ||
35 | padding-left: 20px !important; /* 确保列表有适当的缩进 */ | ||
36 | } | ||
37 | .recent-updates ul li { | ||
38 | margin: 3px 0 !important; /* 控制列表项的上下间距 */ | ||
39 | } | ||
40 | </style> | ||
41 | <div class="recent-updates"> | ||
42 | {{/html}} | ||
43 | |||
44 | ## 输出结果 | ||
45 | #foreach($topPage in $topLevelPages) | ||
46 | ## 查询每个一级链接下所有子页面的最近更新 | ||
47 | #set($hqlQuery = "select doc.fullName from XWikiDocument doc where doc.fullName like :spacePattern and doc.fullName not like '%:WebPreferences' and doc.fullName not like '%:WebHome' and doc.fullName not like '%:WebSearch' and doc.fullName not like '%:WebRss' and doc.fullName not like '%:WebStatistics' order by doc.date desc") | ||
48 | #set($query = $services.query.hql($hqlQuery)) | ||
49 | #set($query = $query.bindValue("spacePattern", "${topPage}.%")) | ||
50 | #set($query = $query.setLimit(3)) | ||
51 | #set($recentDocs = $query.execute()) | ||
52 | |||
53 | #set($hasUpdates = false) | ||
54 | #foreach($docFullName in $recentDocs) | ||
55 | #set($document = $xwiki.getDocument($docFullName)) | ||
56 | #if($document) | ||
57 | #set($docTitle = $document.getDisplayTitle()) | ||
58 | ## 仅当用户有查看权限时显示 | ||
59 | #if($xwiki.hasAccessLevel('view', $xcontext.user, $document.getFullName())) | ||
60 | ## 检查页面标题是否在忽略列表中 | ||
61 | #if(!$ignoreTitles.contains($docTitle)) | ||
62 | #if($docTitle == '') | ||
63 | #set($docTitle = "Untitled Document") | ||
64 | #end | ||
65 | #if(!$hasUpdates) | ||
66 | {{html clean="false" wiki="false"}} | ||
67 | <h4>$topPage</h4> | ||
68 | <ul> | ||
69 | {{/html}} | ||
70 | #set($hasUpdates = true) | ||
71 | #end | ||
72 | {{html clean="false" wiki="false"}} | ||
73 | <li><a href="${document.getExternalURL('view')}" target="_blank">${docTitle}</a></li> | ||
74 | {{/html}} | ||
75 | #end | ||
76 | #end | ||
77 | #end | ||
78 | #end | ||
79 | #if($hasUpdates) | ||
80 | {{html clean="false" wiki="false"}} | ||
81 | </ul> | ||
82 | {{/html}} | ||
83 | #end | ||
84 | #end | ||
85 | |||
86 | {{html clean="false" wiki="false"}} | ||
87 | </div> | ||
88 | {{/html}} | ||
89 | |||
90 | {{/velocity}} | ||
91 | |||
92 | ))) |