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 | |||
14 | |||
15 | (% class="col-xs-12 col-sm-6" %) | ||
16 | ((( | ||
17 | === 近期更新 === | ||
18 | {{velocity}} | ||
19 | ## 定义一级链接列表 | ||
20 | #set($topLevelPages = ["Home", "AI For Service", "AIO知识库", "脚本&自动化"]) | ||
21 | |||
22 | ## 定义需要忽略的页面标题列表 | ||
23 | #set($ignoreTitles = ["页面管理", "脚本&自动化"]) | ||
24 | |||
25 | ## 输出CSS样式 | ||
26 | {{html}} | ||
27 | <style> | ||
28 | .recent-updates { | ||
29 | font-family: Arial, sans-serif; | ||
30 | margin: 20px; | ||
31 | background-color: #f9f9f9; | ||
32 | padding: 15px; | ||
33 | border-radius: 8px; | ||
34 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | ||
35 | } | ||
36 | .recent-updates h2 { | ||
37 | font-size: 26px; | ||
38 | color: #2c3e50; | ||
39 | border-bottom: 2px solid #ccc; | ||
40 | padding-bottom: 10px; | ||
41 | } | ||
42 | .recent-updates h3 { | ||
43 | font-size: 22px; | ||
44 | color: #34495e; | ||
45 | margin-top: 20px; | ||
46 | } | ||
47 | .recent-updates ul { | ||
48 | list-style-type: disc; | ||
49 | padding-left: 20px; | ||
50 | } | ||
51 | .recent-updates li { | ||
52 | margin-bottom: 8px; | ||
53 | } | ||
54 | .recent-updates a { | ||
55 | text-decoration: none; | ||
56 | color: #2980b9; | ||
57 | transition: color 0.3s; | ||
58 | } | ||
59 | .recent-updates a:hover { | ||
60 | text-decoration: underline; | ||
61 | color: #3498db; | ||
62 | } | ||
63 | </style> | ||
64 | {{/html}} | ||
65 | |||
66 | ## 输出内容 | ||
67 | <div class="recent-updates"> | ||
68 | <h2>近期更新</h2> | ||
69 | #foreach($topPage in $topLevelPages) | ||
70 | ## 查询每个一级链接下所有子页面的最近更新 | ||
71 | #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") | ||
72 | #set($query = $services.query.hql($hqlQuery)) | ||
73 | #set($query = $query.bindValue("spacePattern", "${topPage}.%")) | ||
74 | #set($query = $query.setLimit(3)) | ||
75 | #set($recentDocs = $query.execute()) | ||
76 | |||
77 | #set($hasUpdates = false) | ||
78 | #foreach($docFullName in $recentDocs) | ||
79 | #set($document = $xwiki.getDocument($docFullName)) | ||
80 | #if($document) | ||
81 | #set($docTitle = $document.getDisplayTitle()) | ||
82 | ## 仅当用户有查看权限时显示 | ||
83 | #if($xwiki.hasAccessLevel('view', $xcontext.user, $document.getFullName())) | ||
84 | ## 检查页面标题是否在忽略列表中 | ||
85 | #if(!$ignoreTitles.contains($docTitle)) | ||
86 | #if($docTitle == '') | ||
87 | #set($docTitle = "Untitled Document") | ||
88 | #end | ||
89 | #if(!$hasUpdates) | ||
90 | <h3>$topPage</h3> | ||
91 | <ul> | ||
92 | #set($hasUpdates = true) | ||
93 | #end | ||
94 | <li><a href="${document.getExternalURL('view')}" target="_blank">${docTitle}</a></li> | ||
95 | #end | ||
96 | #end | ||
97 | #end | ||
98 | #end | ||
99 | #if($hasUpdates) | ||
100 | </ul> | ||
101 | #end | ||
102 | #end | ||
103 | </div> | ||
104 | {{/velocity}} | ||
105 | |||
106 | |||
107 | |||
108 | |||
109 | ))) | ||
110 | |||
111 | (% class="col-xs-12 col-sm-6" %) | ||
112 | ((( | ||
113 | === 相关链接 === | ||
114 | |||
115 | (% style="font-size:14px" %)[[北区AIO项目看板(IPV6访问)>>http://nas.nicebro.fun:57567||rel="noopener noreferrer" target="_blank"]] | ||
116 | ))) | ||
117 | |||
118 |