0 Votes

Changes for page Members

Last modified by Kay Joo on 2026/04/28 06:03

From version 61.1
edited by Kay Joo
on 2026/04/28 06:01
Change comment: There is no comment for this version
To version 50.1
edited by 지안 이
on 2026/04/22 06:53
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,0 @@
1 -Members
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.stone
1 +XWiki.easyone
Content
... ... @@ -1,329 +1,847 @@
1 +~{~{velocity}}
2 +
3 +~= 멤버 소개 =
4 +
5 +
6 +~{~{html clean="false"}}
7 +
8 +<style>
9 +
10 +.member-card {
11 +
12 + border: 1px solid #ddd;
13 +
14 + border-radius: 8px;
15 +
16 + padding: 15px;
17 +
18 + margin-bottom: 20px;
19 +
20 + background-color: #f9f9f9;
21 +
22 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
23 +
24 +}
25 +
26 +.member-name {
27 +
28 + color: #2c3e50;
29 +
30 + border-bottom: 2px solid #3498db;
31 +
32 + padding-bottom: 5px;
33 +
34 + margin-top: 0;
35 +
36 +}
37 +
38 +.member-info {
39 +
40 + list-style: none;
41 +
42 + padding-left: 0;
43 +
44 +}
45 +
46 +.member-info li {
47 +
48 + margin-bottom: 5px;
49 +
50 +}
51 +
52 +.member-label {
53 +
54 + font-weight: bold;
55 +
56 + color: #34495e;
57 +
58 + display: inline-block;
59 +
60 + width: 80px;
61 +
62 +}
63 +
64 +</style>
65 +
66 +~{~{/html}}
67 +
68 +
69 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
70 +
71 +#foreach($docName in $results)
72 +
73 + #set($memberDoc = $xwiki.getDocument($docName))
74 +
75 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
76 +
77 + #if($memberObj && $memberObj.getProperty('name').value != 'Name' && $memberObj.getProperty('name').value != '')
78 +
79 +
80 +~{~{html clean="false"}}
81 +
82 +<div class="member-card">
83 +
84 + <h3 class="member-name">$memberDoc.title 오빠</h3>
85 +
86 + <ul class="member-info">
87 +
88 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
89 +
90 + #set($birthday = $memberObj.getProperty('birthday').value)
91 +
92 + #if($birthday)
93 +
94 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
95 +
96 + #end
97 +
98 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
99 +
100 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
101 +
102 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
103 +
104 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
105 +
106 + </ul>
107 +
108 +</div>
109 +
110 +~{~{/html}}
111 +
112 +
113 + #end
114 +
115 +#end
116 +
117 +~{~{/velocity}}
118 +{{velocity}}= 멤버 소개 =
119 +
120 +{{html clean="false"}}
121 +<style>
122 +.member-card {
123 + border: 1px solid #ddd;
124 + border-radius: 8px;
125 + padding: 15px;
126 + margin-bottom: 20px;
127 + background-color: #f9f9f9;
128 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
129 +}
130 +.member-name {
131 + color: #2c3e50;
132 + border-bottom: 2px solid #3498db;
133 + padding-bottom: 5px;
134 + margin-top: 0;
135 +}
136 +.member-info {
137 + list-style: none;
138 + padding-left: 0;
139 +}
140 +.member-info li {
141 + margin-bottom: 5px;
142 +}
143 +.member-label {
144 + font-weight: bold;
145 + color: #34495e;
146 + display: inline-block;
147 + width: 80px;
148 +}
149 +</style>
150 +{{/html}}
151 +
152 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
153 +#foreach($docName in $results)
154 + #set($memberDoc = $xwiki.getDocument($docName))
155 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
156 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
157 +
158 +{{html clean="false"}}
159 +<div class="member-card">
160 + <h3 class="member-name">$memberDoc.title 오빠</h3>
161 + <ul class="member-info">
162 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
163 + #set($birthday = $memberObj.getProperty('birthday').value)
164 + #if($birthday)
165 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
166 + #end
167 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
168 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
169 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
170 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
171 + </ul>
172 +</div>
173 +{{/html}}
174 +
175 + #end
176 +#end{{/velocity}}
177 +
1 1  = 멤버 소개 =
2 2  
3 -{{html clean="false" wiki="true"}}
180 +{{html clean="false"}}
4 4  <style>
5 -.members-wrap{
6 - margin:1.5rem 0 2.5rem;
7 - color:#2a241f;
8 - font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
182 +.member-card {
183 +border: 1px solid #ddd;
184 +border-radius: 8px;
185 +padding: 15px;
186 +margin-bottom: 20px;
187 +background-color: #f9f9f9;
188 +box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
9 9  }
10 -.members-hero{
11 - padding:2.2rem 2rem;
12 - border:1px solid #e3ddd5;
13 - border-radius:24px;
14 - background:
15 - radial-gradient(circle at top right, rgba(1,105,111,.10), transparent 28%),
16 - linear-gradient(135deg,#f8f5ef 0%,#fcfbf8 100%);
17 - box-shadow:0 14px 40px rgba(39,31,23,.08);
190 +.member-name {
191 +color: #2c3e50;
192 +border-bottom: 2px solid #3498db;
193 +padding-bottom: 5px;
194 +margin-top: 0;
18 18  }
19 -.members-eyebrow{
20 - display:inline-block;
21 - margin-bottom:.7rem;
22 - padding:.35rem .7rem;
23 - border-radius:999px;
24 - background:#e4f1ef;
25 - color:#0d5c61;
26 - font-size:.86rem;
27 - font-weight:700;
28 - letter-spacing:.02em;
196 +.member-info {
197 +list-style: none;
198 +padding-left: 0;
29 29  }
30 -.members-hero h2{
31 - margin:0 0 .7rem;
32 - font-size:2rem;
33 - line-height:1.15;
34 - color:#1f2f36;
200 +.member-info li {
201 +margin-bottom: 5px;
35 35  }
36 -.members-hero p{
37 - margin:0;
38 - max-width:760px;
39 - color:#5f6b72;
40 - line-height:1.75;
41 - font-size:1rem;
203 +.member-label {
204 +font-weight: bold;
205 +color: #34495e;
206 +display: inline-block;
207 +width: 80px;
42 42  }
43 -.members-grid{
44 - display:grid;
45 - grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
46 - gap:1.2rem;
47 - margin-top:1.6rem;
209 +</style>
210 +{{/html}}
211 +
212 +
213 +{{html clean="false"}}
214 +<div class="member-card">
215 +<h3 class="member-name">이지안 오빠</h3>
216 +<ul class="member-info">
217 +<li><span class="member-label">이름:</span> 이지안</li>
218 +<li><span class="member-label">출생:</span> 1998년 04월 11일</li>
219 +<li><span class="member-label">거주지:</span> 장수클럽 클럽하우스</li>
220 +<li><span class="member-label">직업:</span> 장수클럽 전속 매니저</li>
221 +<li><span class="member-label">직장:</span> 장수클럽 (Jangsu Club)</li>
222 +<li><span class="member-label">주요 분야:</span> 데이터 아카이빙 및 오빠들 관리 ⚽️🐾</li>
223 +</ul>
224 +</div>
225 +{{/html}}
226 +
227 +
228 +{{html clean="false"}}
229 +<div class="member-card">
230 +<h3 class="member-name">주광석 오빠</h3>
231 +<ul class="member-info">
232 +<li><span class="member-label">이름:</span> 주광석</li>
233 +<li><span class="member-label">출생:</span> 1979년 04월 24일</li>
234 +<li><span class="member-label">거주지:</span> 시드니</li>
235 +<li><span class="member-label">직업:</span> 회사원 & 학생(학술연수 파견)</li>
236 +<li><span class="member-label">직장:</span> 한국주택금융공사 & The University of Sydney</li>
237 +<li><span class="member-label">주요 분야:</span> Data Science & Cybersecurity</li>
238 +</ul>
239 +</div>
240 +{{/html}}
241 +
242 +
243 +{{html clean="false"}}
244 +<div class="member-card">
245 +<h3 class="member-name">한종석 오빠</h3>
246 +<ul class="member-info">
247 +<li><span class="member-label">이름:</span> 한종석</li>
248 +<li><span class="member-label">출생:</span> 1979년 10월 29일</li>
249 +<li><span class="member-label">거주지:</span> 천국</li>
250 +<li><span class="member-label">직업:</span> 공무원</li>
251 +<li><span class="member-label">직장:</span> 대한민국 국회</li>
252 +<li><span class="member-label">주요 분야:</span> 사무처</li>
253 +</ul>
254 +</div>
255 +{{/html}}
256 +
257 +
258 += 멤버 소개 =
259 +
260 +{{html clean="false"}}
261 +<style>
262 +.member-card {
263 +border: 1px solid #ddd;
264 +border-radius: 8px;
265 +padding: 15px;
266 +margin-bottom: 20px;
267 +background-color: #f9f9f9;
268 +box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
48 48  }
49 -.member-card{
50 - background:#fffdfa;
51 - border:1px solid #ebe4da;
52 - border-radius:22px;
53 - padding:1.2rem;
54 - box-shadow:0 8px 24px rgba(43,33,22,.05);
55 - transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
270 +.member-name {
271 +color: #2c3e50;
272 +border-bottom: 2px solid #3498db;
273 +padding-bottom: 5px;
274 +margin-top: 0;
56 56  }
57 -.member-card:hover{
58 - transform:translateY(-4px);
59 - box-shadow:0 16px 34px rgba(43,33,22,.09);
60 - border-color:#ddd2c3;
276 +.member-info {
277 +list-style: none;
278 +padding-left: 0;
61 61  }
62 -.member-top{
63 - display:flex;
64 - align-items:center;
65 - gap:.85rem;
66 - margin-bottom:.9rem;
280 +.member-info li {
281 +margin-bottom: 5px;
67 67  }
68 -.member-avatar{
69 - width:52px;
70 - height:52px;
71 - border-radius:50%;
72 - display:flex;
73 - align-items:center;
74 - justify-content:center;
75 - background:linear-gradient(135deg,#0f766e 0%,#0b5d56 100%);
76 - color:#fff;
77 - font-size:1.1rem;
78 - font-weight:700;
79 - box-shadow:0 8px 18px rgba(15,118,110,.22);
80 - flex:0 0 52px;
283 +.member-label {
284 +font-weight: bold;
285 +color: #34495e;
286 +display: inline-block;
287 +width: 80px;
81 81  }
82 -.member-name{
83 - margin:0;
84 - font-size:1.2rem;
85 - line-height:1.2;
86 - color:#222b33;
289 +</style>
290 +{{/html}}
291 +
292 +
293 +{{html clean="false"}}
294 +<div class="member-card">
295 +<h3 class="member-name">이지안 오빠</h3>
296 +<ul class="member-info">
297 +<li><span class="member-label">이름:</span> 이지안</li>
298 +<li><span class="member-label">출생:</span> 1998년 04월 11일</li>
299 +<li><span class="member-label">거주지:</span> 장수클럽 클럽하우스</li>
300 +<li><span class="member-label">직업:</span> 장수클럽 전속 매니저</li>
301 +<li><span class="member-label">직장:</span> 장수클럽 (Jangsu Club)</li>
302 +<li><span class="member-label">주요 분야:</span> 데이터 아카이빙 및 오빠들 관리 ⚽️🐾</li>
303 +</ul>
304 +</div>
305 +{{/html}}
306 +
307 +
308 +{{html clean="false"}}
309 +<div class="member-card">
310 +<h3 class="member-name">주광석 오빠</h3>
311 +<ul class="member-info">
312 +<li><span class="member-label">이름:</span> 주광석</li>
313 +<li><span class="member-label">출생:</span> 1979년 04월 24일</li>
314 +<li><span class="member-label">거주지:</span> 시드니</li>
315 +<li><span class="member-label">직업:</span> 회사원 & 학생(학술연수 파견)</li>
316 +<li><span class="member-label">직장:</span> 한국주택금융공사 & The University of Sydney</li>
317 +<li><span class="member-label">주요 분야:</span> Data Science & Cybersecurity</li>
318 +</ul>
319 +</div>
320 +{{/html}}
321 +
322 +
323 +{{html clean="false"}}
324 +<div class="member-card">
325 +<h3 class="member-name">한종석 오빠</h3>
326 +<ul class="member-info">
327 +<li><span class="member-label">이름:</span> 한종석</li>
328 +<li><span class="member-label">출생:</span> 1979년 10월 29일</li>
329 +<li><span class="member-label">거주지:</span> 천국</li>
330 +<li><span class="member-label">직업:</span> 공무원</li>
331 +<li><span class="member-label">직장:</span> 대한민국 국회</li>
332 +<li><span class="member-label">주요 분야:</span> 사무처</li>
333 +</ul>
334 +</div>
335 +{{/html}}
336 +
337 +{{velocity}}
338 += 멤버 소개 =
339 +
340 +{{html clean="false"}}
341 +<style>
342 +.member-card {
343 + border: 1px solid #ddd;
344 + border-radius: 8px;
345 + padding: 15px;
346 + margin-bottom: 20px;
347 + background-color: #f9f9f9;
348 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
87 87  }
88 -.member-sub{
89 - margin:.22rem 0 0;
90 - color:#8a7b69;
91 - font-size:.9rem;
350 +.member-name {
351 + color: #2c3e50;
352 + border-bottom: 2px solid #3498db;
353 + padding-bottom: 5px;
354 + margin-top: 0;
92 92  }
93 -.member-list{
94 - list-style:none;
95 - margin:0;
96 - padding:0;
356 +.member-info {
357 + list-style: none;
358 + padding-left: 0;
97 97  }
98 -.member-list li{
99 - display:flex;
100 - gap:.5rem;
101 - padding:.46rem 0;
102 - border-top:1px dashed #eee4d8;
103 - line-height:1.55;
104 - color:#4d5963;
360 +.member-info li {
361 + margin-bottom: 5px;
105 105  }
106 -.member-list li:first-child{
107 - border-top:none;
108 - padding-top:0;
363 +.member-label {
364 + font-weight: bold;
365 + color: #34495e;
366 + display: inline-block;
367 + width: 80px;
109 109  }
110 -.member-label{
111 - min-width:4.8rem;
112 - font-weight:700;
113 - color:#7a5a2d;
114 - flex:0 0 4.8rem;
369 +</style>
370 +{{/html}}
371 +
372 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
373 +#foreach($docName in $results)
374 + #set($memberDoc = $xwiki.getDocument($docName))
375 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
376 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
377 +
378 +{{html clean="false"}}
379 +<div class="member-card">
380 + <h3 class="member-name">$memberDoc.title 오빠</h3>
381 + <ul class="member-info">
382 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
383 + #set($birthday = $memberObj.getProperty('birthday').value)
384 + #if($birthday)
385 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
386 + #end
387 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
388 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
389 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
390 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
391 + </ul>
392 +</div>
393 +{{/html}}
394 +
395 + #end
396 +#end
397 +{{/velocity}}
398 +
399 +{{velocity}}
400 += 멤버 소개 =
401 +
402 +{{html clean="false"}}
403 +<style>
404 +.member-card {
405 + border: 1px solid #ddd;
406 + border-radius: 8px;
407 + padding: 15px;
408 + margin-bottom: 20px;
409 + background-color: #f9f9f9;
410 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
115 115  }
116 -.members-footer{
117 - margin-top:1.4rem;
118 - padding:1rem 1.1rem;
119 - border-left:4px solid #0f766e;
120 - border-radius:14px;
121 - background:#f6f6f2;
122 - color:#5f6972;
123 - line-height:1.7;
124 - font-size:.95rem;
412 +.member-name {
413 + color: #2c3e50;
414 + border-bottom: 2px solid #3498db;
415 + padding-bottom: 5px;
416 + margin-top: 0;
125 125  }
126 -@media (max-width:640px){
127 - .members-hero{padding:1.5rem 1.2rem;}
128 - .members-hero h2{font-size:1.55rem;}
129 - .member-list li{display:block;}
130 - .member-label{
131 - display:block;
132 - min-width:auto;
133 - margin-bottom:.12rem;
134 - }
418 +.member-info {
419 + list-style: none;
420 + padding-left: 0;
135 135  }
422 +.member-info li {
423 + margin-bottom: 5px;
424 +}
425 +.member-label {
426 + font-weight: bold;
427 + color: #34495e;
428 + display: inline-block;
429 + width: 80px;
430 +}
136 136  </style>
432 +{{/html}}
137 137  
138 -<div class="members-wrap">
139 - <section class="members-hero">
140 - <span class="members-eyebrow">Jangsu Club</span>
141 - <h2>함께한 시간이 만든, 우리의 멤버 소개</h2>
142 - <p>장수클럽 멤버들을 소개합니다. 이 페이지는 외부 공개용 안내 페이지로, 개인정보 보호를 위해 일부 정보는 축약하거나 마스킹해 표시했습니다.</p>
143 - </section>
434 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
435 +#foreach($docName in $results)
436 + #set($memberDoc = $xwiki.getDocument($docName))
437 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
438 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
144 144  
145 - <div class="members-grid">
440 +{{html clean="false"}}
441 +<div class="member-card">
442 + <h3 class="member-name">$memberDoc.title 오빠</h3>
443 + <ul class="member-info">
444 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
445 + #set($birthday = $memberObj.getProperty('birthday').value)
446 + #if($birthday)
447 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
448 + #end
449 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
450 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
451 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
452 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
453 + </ul>
454 +</div>
455 +{{/html}}
146 146  
147 - <article class="member-card">
148 - <div class="member-top">
149 - <div class="member-avatar">김</div>
150 - <div>
151 - <h3 class="member-name">김대홍</h3>
152 - <p class="member-sub">장수클럽 멤버</p>
153 - </div>
154 - </div>
155 - <ul class="member-list">
156 - <li><span class="member-label">출생</span><span>1980년</span></li>
157 - <li><span class="member-label">직업</span><span>회사원</span></li>
158 - <li><span class="member-label">직장</span><span>삼&#42;&#42;자</span></li>
159 - <li><span class="member-label">주요 분야</span><span>반도체</span></li>
160 - </ul>
161 - </article>
457 + #end
458 +#end
459 +{{/velocity}}
162 162  
163 - <article class="member-card">
164 - <div class="member-top">
165 - <div class="member-avatar">김</div>
166 - <div>
167 - <h3 class="member-name">김인용</h3>
168 - <p class="member-sub">장수클럽 멤버</p>
169 - </div>
170 - </div>
171 - <ul class="member-list">
172 - <li><span class="member-label">출생</span><span>1979년</span></li>
173 - <li><span class="member-label">직업</span><span>회사원</span></li>
174 - <li><span class="member-label">직장</span><span>한국&#42;&#42;연구원</span></li>
175 - <li><span class="member-label">주요 분야</span><span>조달</span></li>
176 - </ul>
177 - </article>
461 +{{velocity}}
462 += 멤버 소개 =
178 178  
179 - <article class="member-card">
180 - <div class="member-top">
181 - <div class="member-avatar">김</div>
182 - <div>
183 - <h3 class="member-name">김재명</h3>
184 - <p class="member-sub">장수클럽 멤버</p>
185 - </div>
186 - </div>
187 - <ul class="member-list">
188 - <li><span class="member-label">출생</span><span>1980년</span></li>
189 - <li><span class="member-label">직업</span><span>교수</span></li>
190 - <li><span class="member-label">직장</span><span>국립&#42;&#42;대학교</span></li>
191 - <li><span class="member-label">주요 분야</span><span>수학교육과</span></li>
192 - </ul>
193 - </article>
464 +{{html clean="false"}}
465 +<style>
466 +.member-card {
467 + border: 1px solid #ddd;
468 + border-radius: 8px;
469 + padding: 15px;
470 + margin-bottom: 20px;
471 + background-color: #f9f9f9;
472 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
473 +}
474 +.member-name {
475 + color: #2c3e50;
476 + border-bottom: 2px solid #3498db;
477 + padding-bottom: 5px;
478 + margin-top: 0;
479 +}
480 +.member-info {
481 + list-style: none;
482 + padding-left: 0;
483 +}
484 +.member-info li {
485 + margin-bottom: 5px;
486 +}
487 +.member-label {
488 + font-weight: bold;
489 + color: #34495e;
490 + display: inline-block;
491 + width: 80px;
492 +}
493 +</style>
494 +{{/html}}
194 194  
195 - <article class="member-card">
196 - <div class="member-top">
197 - <div class="member-avatar">박</div>
198 - <div>
199 - <h3 class="member-name">박종석</h3>
200 - <p class="member-sub">장수클럽 멤버</p>
201 - </div>
202 - </div>
203 - <ul class="member-list">
204 - <li><span class="member-label">출생</span><span>1980년</span></li>
205 - <li><span class="member-label">직업</span><span>회사원</span></li>
206 - <li><span class="member-label">직장</span><span>(전직) 이&#42;&#42;&#42;&#42;&#42;&#42;션</span></li>
207 - <li><span class="member-label">주요 분야</span><span>전산개발</span></li>
208 - </ul>
209 - </article>
496 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
497 +#foreach($docName in $results)
498 + #set($memberDoc = $xwiki.getDocument($docName))
499 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
500 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
210 210  
211 - <article class="member-card">
212 - <div class="member-top">
213 - <div class="member-avatar">송</div>
214 - <div>
215 - <h3 class="member-name">송창용</h3>
216 - <p class="member-sub">장수클럽 멤버</p>
217 - </div>
218 - </div>
219 - <ul class="member-list">
220 - <li><span class="member-label">출생</span><span>1980년</span></li>
221 - <li><span class="member-label">직업</span><span>회사원</span></li>
222 - <li><span class="member-label">직장</span><span>엘&#42;&#42;&#42;&#42;&#42;&#42;션</span></li>
223 - <li><span class="member-label">주요 분야</span><span>배터리 관리 시스템 개발</span></li>
224 - </ul>
225 - </article>
502 +{{html clean="false"}}
503 +<div class="member-card">
504 + <h3 class="member-name">$memberDoc.title 오빠</h3>
505 + <ul class="member-info">
506 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
507 + #set($birthday = $memberObj.getProperty('birthday').value)
508 + #if($birthday)
509 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
510 + #end
511 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
512 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
513 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
514 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
515 + </ul>
516 +</div>
517 +{{/html}}
226 226  
227 - <article class="member-card">
228 - <div class="member-top">
229 - <div class="member-avatar">신</div>
230 - <div>
231 - <h3 class="member-name">신동현</h3>
232 - <p class="member-sub">장수클럽 멤버</p>
233 - </div>
234 - </div>
235 - <ul class="member-list">
236 - <li><span class="member-label">출생</span><span>1979년</span></li>
237 - <li><span class="member-label">직업</span><span>교수</span></li>
238 - <li><span class="member-label">직장</span><span>Central &#42;&#42;&#42;&#42;&#42;&#42;&#42;&#42; University</span></li>
239 - <li><span class="member-label">주요 분야</span><span>기계공학과</span></li>
240 - </ul>
241 - </article>
519 + #end
520 +#end
521 +{{/velocity}}
242 242  
243 - <article class="member-card">
244 - <div class="member-top">
245 - <div class="member-avatar">이</div>
246 - <div>
247 - <h3 class="member-name">이지안</h3>
248 - <p class="member-sub">장수클럽 전속 매니저</p>
249 - </div>
250 - </div>
251 - <ul class="member-list">
252 - <li><span class="member-label">출생</span><span>1998년 04월</span></li>
253 - <li><span class="member-label">직업</span><span>장수클럽 전속 매니저</span></li>
254 - <li><span class="member-label">직장</span><span>장수클럽</span></li>
255 - <li><span class="member-label">주요 분야</span><span>데이터 아카이빙 및 오빠들 관리 ⚽️🐾</span></li>
256 - </ul>
257 - </article>
523 +{{velocity}}
524 += 멤버 소개 =
258 258  
259 - <article class="member-card">
260 - <div class="member-top">
261 - <div class="member-avatar">정</div>
262 - <div>
263 - <h3 class="member-name">정현주</h3>
264 - <p class="member-sub">장수클럽 멤버</p>
265 - </div>
266 - </div>
267 - <ul class="member-list">
268 - <li><span class="member-label">출생</span><span>1979년</span></li>
269 - <li><span class="member-label">직업</span><span>의사</span></li>
270 - <li><span class="member-label">직장</span><span>&#42;&#42;&#42;&#42;병원</span></li>
271 - <li><span class="member-label">주요 분야</span><span>감염내과/응급실</span></li>
272 - </ul>
273 - </article>
526 +{{html clean="false"}}
527 +<style>
528 +.member-card {
529 + border: 1px solid #ddd;
530 + border-radius: 8px;
531 + padding: 15px;
532 + margin-bottom: 20px;
533 + background-color: #f9f9f9;
534 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
535 +}
536 +.member-name {
537 + color: #2c3e50;
538 + border-bottom: 2px solid #3498db;
539 + padding-bottom: 5px;
540 + margin-top: 0;
541 +}
542 +.member-info {
543 + list-style: none;
544 + padding-left: 0;
545 +}
546 +.member-info li {
547 + margin-bottom: 5px;
548 +}
549 +.member-label {
550 + font-weight: bold;
551 + color: #34495e;
552 + display: inline-block;
553 + width: 80px;
554 +}
555 +</style>
556 +{{/html}}
274 274  
275 - <article class="member-card">
276 - <div class="member-top">
277 - <div class="member-avatar">주</div>
278 - <div>
279 - <h3 class="member-name">주광석</h3>
280 - <p class="member-sub">장수클럽 멤버</p>
281 - </div>
282 - </div>
283 - <ul class="member-list">
284 - <li><span class="member-label">출생</span><span>1979년 04월</span></li>
285 - <li><span class="member-label">직업</span><span>회사원 & 학생(연수파견)</span></li>
286 - <li><span class="member-label">직장</span><span>한국&#42;&#42;&#42;&#42;공사 &amp; The University of ******</span></li>
287 - <li><span class="member-label">주요 분야</span><span>Cybersecurity &amp; Data Sciene, AI</span></li>
288 - </ul>
289 - </article>
558 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
559 +#foreach($docName in $results)
560 + #set($memberDoc = $xwiki.getDocument($docName))
561 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
562 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
290 290  
291 - <article class="member-card">
292 - <div class="member-top">
293 - <div class="member-avatar">한</div>
294 - <div>
295 - <h3 class="member-name">한인석</h3>
296 - <p class="member-sub">장수클럽 멤버</p>
564 + {{html clean="false"}}
565 + <div class="member-card">
566 + <h3 class="member-name">$memberDoc.title 오빠</h3>
567 + <ul class="member-info">
568 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
569 + #set($birthday = $memberObj.getProperty('birthday').value)
570 + #if($birthday)
571 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
572 + #end
573 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
574 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
575 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
576 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
577 + </ul>
297 297   </div>
298 - </div>
299 - <ul class="member-list">
300 - <li><span class="member-label">출생</span><span>1982년</span></li>
301 - <li><span class="member-label">직업</span><span>회사원, 한종석 동생</span></li>
302 - <li><span class="member-label">직장</span><span>미래&#42;&#42;생명</span></li>
303 - <li><span class="member-label">주요 분야</span><span>보험계리/전산개발</span></li>
304 - </ul>
305 - </article>
579 + {{/html}}
306 306  
307 - <article class="member-card">
308 - <div class="member-top">
309 - <div class="member-avatar">한</div>
310 - <div>
311 - <h3 class="member-name">한종석</h3>
312 - <p class="member-sub">장수클럽 멤버</p>
581 + #end
582 +#end
583 +{{/velocity}}
584 +
585 +{{velocity}}
586 += 멤버 소개 =
587 +
588 +{{html clean="false"}}
589 +<style>
590 +.member-card {
591 + border: 1px solid #ddd;
592 + border-radius: 8px;
593 + padding: 15px;
594 + margin-bottom: 20px;
595 + background-color: #f9f9f9;
596 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
597 +}
598 +.member-name {
599 + color: #2c3e50;
600 + border-bottom: 2px solid #3498db;
601 + padding-bottom: 5px;
602 + margin-top: 0;
603 +}
604 +.member-info {
605 + list-style: none;
606 + padding-left: 0;
607 +}
608 +.member-info li {
609 + margin-bottom: 5px;
610 +}
611 +.member-label {
612 + font-weight: bold;
613 + color: #34495e;
614 + display: inline-block;
615 + width: 80px;
616 +}
617 +</style>
618 +{{/html}}
619 +
620 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
621 +#foreach($docName in $results)
622 + #set($memberDoc = $xwiki.getDocument($docName))
623 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
624 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
625 + {{html clean="false"}}
626 + <div class="member-card">
627 + <h3 class="member-name">$memberDoc.title 오빠</h3>
628 + <ul class="member-info">
629 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
630 + #set($birthday = $memberObj.getProperty('birthday').value)
631 + #if($birthday)
632 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
633 + #end
634 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
635 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
636 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
637 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
638 + </ul>
313 313   </div>
314 - </div>
315 - <ul class="member-list">
316 - <li><span class="member-label">출생</span><span>1979년 10월</span></li>
317 - <li><span class="member-label">직업</span><span>(전직) 공무원 (현직) 천국주민</span></li>
318 - <li><span class="member-label">직장</span><span>(전직) 대한민국국회</span></li>
319 - <li><span class="member-label">주요 분야</span><span>국회사무처 행정</span></li>
320 - </ul>
321 - </article>
640 + {{/html}}
641 + #end
642 +#end
643 +{{/velocity}}
322 322  
323 - </div>
324 324  
325 - <div class="members-footer">
326 - 이 페이지는 공개용 멤버 소개 페이지입니다. 상세 프로필과 세부 개인정보는 공개 범위를 제한한 내부 영역에서 별도로 관리합니다.
327 - </div>
646 +{{html clean="false"}}<div class="member-card">
647 +<h3 class="member-name">주광석 오빠</h3>
648 +<ul class="member-info">
649 +<li><span class="member-label">이름:</span> 주광석</li>
650 +<li><span class="member-label">출생:</span> 1979년 04월 24일</li>
651 +<li><span class="member-label">거주지:</span> 시드니</li>
652 +<li><span class="member-label">직업:</span> 회사원 & 학생(학술연수 파견)</li>
653 +<li><span class="member-label">직장:</span> 한국주택금융공사 & The University of Sydney</li>
654 +<li><span class="member-label">주요 분야:</span> Data Science & Cybersecurity</li>
655 +</ul>
656 +</div>{{/html}}
657 +
658 +(% class="member-card" %)
659 +(((
660 +(% class="member-name" %)
661 +=== 주광석 오빠 ===
662 +
663 +(% class="member-info" %)
664 +* (% class="member-label" %)이름:(%%) 주광석
665 +* (% class="member-label" %)출생:(%%) 1979년 04월 24일
666 +* (% class="member-label" %)거주지:(%%) 시드니
667 +* (% class="member-label" %)직업:(%%) 회사원 & 학생(학술연수 파견)
668 +* (% class="member-label" %)직장:(%%) 한국주택금융공사 & The University of Sydney
669 +* (% class="member-label" %)주요 분야:(%%) Data Science & Cybersecurity
670 +)))
671 +
672 +
673 +{{html clean="false"}}<div class="member-card">
674 +<h3 class="member-name">한종석 오빠</h3>
675 +<ul class="member-info">
676 +<li><span class="member-label">이름:</span> 한종석</li>
677 +<li><span class="member-label">출생:</span> 1979년 10월 29일</li>
678 +<li><span class="member-label">거주지:</span> 천국</li>
679 +<li><span class="member-label">직업:</span> 공무원</li>
680 +<li><span class="member-label">직장:</span> 대한민국 국회</li>
681 +<li><span class="member-label">주요 분야:</span> 사무처</li>
682 +</ul>
683 +</div>{{/html}}
684 +
685 +(% class="member-card" %)
686 +(((
687 +(% class="member-name" %)
688 +=== 한종석 오빠 ===
689 +
690 +(% class="member-info" %)
691 +* (% class="member-label" %)이름:(%%) 한종석
692 +* (% class="member-label" %)출생:(%%) 1979년 10월 29일
693 +* (% class="member-label" %)거주지:(%%) 천국
694 +* (% class="member-label" %)직업:(%%) 공무원
695 +* (% class="member-label" %)직장:(%%) 대한민국 국회
696 +* (% class="member-label" %)주요 분야:(%%) 사무처
697 +)))
698 +
699 +
700 +
701 +{{html clean="false"}}
702 +<div class="member-card">
703 +<h3 class="member-name">주광석 오빠</h3>
704 +<ul class="member-info">
705 +<li><span class="member-label">이름:</span> 주광석</li>
706 +<li><span class="member-label">출생:</span> 1979년 04월 24일</li>
707 +<li><span class="member-label">거주지:</span> 시드니</li>
708 +<li><span class="member-label">직업:</span> 회사원 & 학생(학술연수 파견)</li>
709 +<li><span class="member-label">직장:</span> 한국주택금융공사 & The University of Sydney</li>
710 +<li><span class="member-label">주요 분야:</span> Data Science & Cybersecurity</li>
711 +</ul>
328 328  </div>
329 329  {{/html}}
714 +
715 +(% class="member-card" %)
716 +(((
717 +(% id="HC8FCAD11C11DC624BE60" class="member-name" %)
718 +=== 주광석 오빠 ===
719 +
720 +(% class="member-info" %)
721 +* (% class="member-label" %)이름:(%%) 주광석
722 +* (% class="member-label" %)출생:(%%) 1979년 04월 24일
723 +* (% class="member-label" %)거주지:(%%) 시드니
724 +* (% class="member-label" %)직업:(%%) 회사원 & 학생(학술연수 파견)
725 +* (% class="member-label" %)직장:(%%) 한국주택금융공사 & The University of Sydney
726 +* (% class="member-label" %)주요 분야:(%%) Data Science & Cybersecurity
727 +)))
728 +
729 +
730 +{{html clean="false"}}
731 +<div class="member-card">
732 +<h3 class="member-name">한종석 오빠</h3>
733 +<ul class="member-info">
734 +<li><span class="member-label">이름:</span> 한종석</li>
735 +<li><span class="member-label">출생:</span> 1979년 10월 29일</li>
736 +<li><span class="member-label">거주지:</span> 천국</li>
737 +<li><span class="member-label">직업:</span> 공무원</li>
738 +<li><span class="member-label">직장:</span> 대한민국 국회</li>
739 +<li><span class="member-label">주요 분야:</span> 사무처</li>
740 +</ul>
741 +</div>
742 +{{/html}}
743 +
744 +(% class="member-card" %)
745 +(((
746 +(% id="HD55CC885C11DC624BE60" class="member-name" %)
747 +=== 한종석 오빠 ===
748 +
749 +(% class="member-info" %)
750 +* (% class="member-label" %)이름:(%%) 한종석
751 +* (% class="member-label" %)출생:(%%) 1979년 10월 29일
752 +* (% class="member-label" %)거주지:(%%) 천국
753 +* (% class="member-label" %)직업:(%%) 공무원
754 +* (% class="member-label" %)직장:(%%) 대한민국 국회
755 +* (% class="member-label" %)주요 분야:(%%) 사무처
756 +)))
757 +
758 +
759 +{{velocity}}
760 += 멤버 소개 =
761 +
762 +{{html}}
763 +<style>
764 +.member-card {
765 + border: 1px solid #ddd;
766 + border-radius: 8px;
767 + padding: 15px;
768 + margin-bottom: 20px;
769 + background-color: #f9f9f9;
770 + box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
771 +}
772 +.member-name {
773 + color: #2c3e50;
774 + border-bottom: 2px solid #3498db;
775 + padding-bottom: 5px;
776 + margin-top: 0;
777 +}
778 +.member-info {
779 + list-style: none;
780 + padding-left: 0;
781 +}
782 +.member-info li {
783 + margin-bottom: 5px;
784 +}
785 +.member-label {
786 + font-weight: bold;
787 + color: #34495e;
788 + display: inline-block;
789 + width: 80px;
790 +}
791 +</style>
792 +{{/html}}
793 +
794 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
795 +#foreach($docName in $results)
796 + #set($memberDoc = $xwiki.getDocument($docName))
797 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
798 + #if($memberObj && $memberObj.getProperty('name').value != 'Name')
799 + {{html}}
800 + <div class="member-card">
801 + <h3 class="member-name">$memberDoc.title 오빠</h3>
802 + <ul class="member-info">
803 + <li><span class="member-label">이름:</span> $memberObj.getProperty('name').value</li>
804 + #set($birthday = $memberObj.getProperty('birthday').value)
805 + #if($birthday)
806 + <li><span class="member-label">출생:</span> $datetool.format('yyyy년 MM월 dd일', $birthday)</li>
807 + #end
808 + <li><span class="member-label">거주지:</span> $memberObj.getProperty('address').value</li>
809 + <li><span class="member-label">직업:</span> $memberObj.getProperty('job').value</li>
810 + <li><span class="member-label">직장:</span> $memberObj.getProperty('company').value</li>
811 + <li><span class="member-label">주요 분야:</span> $memberObj.getProperty('field').value</li>
812 + </ul>
813 + </div>
814 + {{/html}}
815 + #end
816 +#end
817 +{{/velocity}}
818 +
819 +{{velocity}}
820 += 멤버 소개 =
821 +
822 +#set($results = $xwiki.searchDocuments("where doc.fullName like 'Home.Members.MemberProfileData.%' and doc.fullName <> 'Home.Members.MemberProfileData.Webhome' order by doc.title asc", 0, 0))
823 +#foreach($docName in $results)
824 + #set($memberDoc = $xwiki.getDocument($docName))
825 + #set($memberObj = $memberDoc.getObject('Home.Members.MemberProfileData.Code.MemberProfileDataClass'))
826 + #if($memberObj and $memberObj.getProperty('name').value != 'Name')
827 + === $memberDoc.title ===
828 +
829 + * **이름:** $memberObj.getProperty('name').value
830 + * **출생:** $memberObj.getProperty('birthday').value
831 + * **거주지:** $memberObj.getProperty('address').value
832 + * **직업:** $memberObj.getProperty('job').value
833 + * **직장:** $memberObj.getProperty('company').value
834 + * **주요 분야:** $memberObj.getProperty('field').value
835 +
836 + **프로필 사진**
837 + #set($photo = $memberObj.getProperty('photo').value)
838 + #if($photo && $photo != '')
839 + [[image:attach:$photo||width="200"]]
840 + #else
841 + 사진 없음
842 + #end
843 + #end
844 +#end
845 +{{/velocity}}
846 +
847 +
XWiki.AverageRatingsClass[0]
Average Vote
... ... @@ -1,0 +1,1 @@
1 +3.0
Manager Identifier
... ... @@ -1,0 +1,1 @@
1 +ratings
Number of Votes
... ... @@ -1,0 +1,1 @@
1 +1
Voted Entity Reference
... ... @@ -1,0 +1,1 @@
1 +document:xwiki:Home.Members.WebHome
Scale of votes
... ... @@ -1,0 +1,1 @@
1 +5
Date of last update
... ... @@ -1,0 +1,1 @@
1 +2026-04-21 21:44:13.402
✨ 실시간 통합 피드 (1인 1글 제한)