Wiki source code of ИТ Отдел

Version 5.1 by root_xwiki on 2025/10/08 08:13

Show last authors
1 == Инструкции отдела
2
3 {{velocity}}
4 #if($hasInstructions)
5 {{html clean="false"}}
6 <div class="row justify-content-start">
7 #foreach($childPageFullName in $childPages)
8 #set($childDoc = $xwiki.getDocument($childPageFullName))
9 #set($childTitle = $childDoc.getPlainTitle())
10 #set($childURL = $childDoc.getURL())
11
12 <div class="col-md-6 col-lg-4 mb-3">
13 <div class="instruction-card card shadow-sm border-0 rounded-3">
14 <div class="card-accent"></div>
15 <div class="card-body p-3 text-center d-flex flex-column">
16 <div class="icon-wrapper mb-2 mx-auto rounded-circle bg-info bg-opacity-10">
17 <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSIjMTdhMmI4IiBkPSJNMCAxMjhDMCA5Mi43IDE0LjMgNjQgNDggNjRIMzM2YzMzLjcgMCA0OCAyOC43IDQ4IDY0VjQ0OGMwIDM1LjMtMTQuMyA2NC00OCA2NEg0OGMtMzMuNyAwLTQ4LTI4LjctNDgtNjRWMTI4em0yNTYgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMySDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyaDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnptLTMyIDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyaDEyOHoiLz48L3N2Zz4=" alt="Документ" style="width: 32px; height: 32px;">
18 </div>
19 <h5 class="card-title mb-2" style="font-size: 1.05rem; font-weight: 600; color: #333; line-height: 1.3;">$childTitle</h5>
20 <p class="card-text text-muted mb-3 flex-grow-1" style="font-size: 0.85rem; line-height: 1.4;">Инструкция для сотрудников</p>
21 <a href="$childURL" class="btn btn-info btn-sm rounded-pill" style="padding: 0.4rem 1.2rem; font-size: 0.9rem;">
22 Открыть
23 </a>
24 </div>
25 </div>
26 </div>
27 #end
28 </div>
29
30 <style>
31 .instruction-card {
32 transition: transform 0.3s ease, box-shadow 0.3s ease;
33 background: white;
34 border: 1px solid #e9ecef;
35 min-height: 200px;
36 display: flex;
37 flex-direction: column;
38 position: relative;
39 overflow: hidden;
40 }
41 .instruction-card:hover {
42 transform: translateY(-5px);
43 box-shadow: 0 8px 20px rgba(23,162,184,0.2) !important;
44 }
45 .card-accent {
46 position: absolute;
47 top: 0;
48 left: 0;
49 width: 100%;
50 height: 4px;
51 background: linear-gradient(90deg, #17a2b8, #5bc0de);
52 }
53 .icon-wrapper {
54 width: 50px;
55 height: 50px;
56 display: flex;
57 align-items: center;
58 justify-content: center;
59 border: 2px solid rgba(23,162,184,0.15);
60 }
61 .card-body {
62 flex: 1;
63 display: flex;
64 flex-direction: column;
65 justify-content: space-between;
66 }
67 .btn-info {
68 background-color: #17a2b8;
69 border-color: #17a2b8;
70 color: white;
71 transition: all 0.3s;
72 }
73 .btn-info:hover {
74 background-color: #138496;
75 transform: scale(1.05);
76 }
77 .row {
78 display: flex;
79 flex-wrap: wrap;
80 margin: 0 -12px;
81 }
82 .col-lg-4 {
83 flex: 0 0 33.3333%;
84 max-width: 33.3333%;
85 padding: 0 12px;
86 }
87 .col-md-6 {
88 flex: 0 0 50%;
89 max-width: 50%;
90 padding: 0 12px;
91 }
92 .mb-3 {
93 margin-bottom: 1rem;
94 }
95 @media (max-width: 1200px) {
96 .col-lg-4 { flex: 0 0 50%; max-width: 50%; }
97 }
98 @media (max-width: 768px) {
99 .col-lg-4, .col-md-6 { flex: 0 0 100%; max-width: 100%; }
100 .instruction-card { min-height: 180px; }
101 }
102 </style>
103 {{/html}}
104 #else
105 {{info}}В этом разделе пока нет инструкций. Создайте новую страницу через кнопку **Create**.{{/info}}
106 #end
107 {{/velocity}}