dscdls commited on
Commit
155f19f
·
verified ·
1 Parent(s): 8ecebb2

Upload 21 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,11 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ images/ha/ha3.jpg filter=lfs diff=lfs merge=lfs -text
37
+ images/ha/ha4.jpg filter=lfs diff=lfs merge=lfs -text
38
+ images/ha/ha8.jpg filter=lfs diff=lfs merge=lfs -text
39
+ images/ha/ha9.jpg filter=lfs diff=lfs merge=lfs -text
40
+ images/qi/qi3.jpg filter=lfs diff=lfs merge=lfs -text
41
+ images/qi/qi4.jpg filter=lfs diff=lfs merge=lfs -text
42
+ images/qi/qi8.jpg filter=lfs diff=lfs merge=lfs -text
43
+ images/qi/qi9.jpg filter=lfs diff=lfs merge=lfs -text
images/ha/ha1.jpg ADDED
images/ha/ha10.jpg ADDED
images/ha/ha2.jpg ADDED
images/ha/ha3.jpg ADDED

Git LFS Details

  • SHA256: 406d9b2709264fc09aeab9c5572d865d5c2c912351d969fb83348c1d53c8188f
  • Pointer size: 131 Bytes
  • Size of remote file: 135 kB
images/ha/ha4.jpg ADDED

Git LFS Details

  • SHA256: 461482c7935a406c800820d3df84f6cb742658e8db3d7977f55e458ab43a9823
  • Pointer size: 131 Bytes
  • Size of remote file: 173 kB
images/ha/ha5.jpg ADDED
images/ha/ha6.jpg ADDED
images/ha/ha7.jpg ADDED
images/ha/ha8.jpg ADDED

Git LFS Details

  • SHA256: 406d9b2709264fc09aeab9c5572d865d5c2c912351d969fb83348c1d53c8188f
  • Pointer size: 131 Bytes
  • Size of remote file: 135 kB
images/ha/ha9.jpg ADDED

Git LFS Details

  • SHA256: 461482c7935a406c800820d3df84f6cb742658e8db3d7977f55e458ab43a9823
  • Pointer size: 131 Bytes
  • Size of remote file: 173 kB
images/qi/qi1.jpg ADDED
images/qi/qi10.jpg ADDED
images/qi/qi2.jpg ADDED
images/qi/qi3.jpg ADDED

Git LFS Details

  • SHA256: 406d9b2709264fc09aeab9c5572d865d5c2c912351d969fb83348c1d53c8188f
  • Pointer size: 131 Bytes
  • Size of remote file: 135 kB
images/qi/qi4.jpg ADDED

Git LFS Details

  • SHA256: 461482c7935a406c800820d3df84f6cb742658e8db3d7977f55e458ab43a9823
  • Pointer size: 131 Bytes
  • Size of remote file: 173 kB
images/qi/qi5.jpg ADDED
images/qi/qi6.jpg ADDED
images/qi/qi7.jpg ADDED
images/qi/qi8.jpg ADDED

Git LFS Details

  • SHA256: 406d9b2709264fc09aeab9c5572d865d5c2c912351d969fb83348c1d53c8188f
  • Pointer size: 131 Bytes
  • Size of remote file: 135 kB
images/qi/qi9.jpg ADDED

Git LFS Details

  • SHA256: 461482c7935a406c800820d3df84f6cb742658e8db3d7977f55e458ab43a9823
  • Pointer size: 131 Bytes
  • Size of remote file: 173 kB
黎锦纹藏.html ADDED
@@ -0,0 +1,453 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>黎锦纹藏 - 黎族传统方言文化</title>
7
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
8
+ <style>
9
+ * {
10
+ margin: 0;
11
+ padding: 0;
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ body {
16
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
17
+ background-color: #f8f5f0;
18
+ color: #333;
19
+ line-height: 1.6;
20
+ }
21
+
22
+ .container {
23
+ max-width: 1400px;
24
+ margin: 0 auto;
25
+ padding: 20px;
26
+ }
27
+
28
+ header {
29
+ text-align: center;
30
+ padding: 40px 20px;
31
+ background: linear-gradient(135deg, #d4b996 0%, #a67c52 100%);
32
+ color: #fff;
33
+ border-radius: 0 0 20px 20px;
34
+ box-shadow: 0 4px 12px rgba(0,0,0,0.1);
35
+ margin-bottom: 30px;
36
+ }
37
+
38
+ h1 {
39
+ font-size: 2.8rem;
40
+ letter-spacing: 2px;
41
+ margin-bottom: 15px;
42
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
43
+ }
44
+
45
+ .subtitle {
46
+ font-size: 1.2rem;
47
+ max-width: 700px;
48
+ margin: 0 auto;
49
+ opacity: 0.9;
50
+ }
51
+
52
+ .tabs {
53
+ display: flex;
54
+ justify-content: center;
55
+ margin: 30px 0;
56
+ flex-wrap: wrap;
57
+ }
58
+
59
+ .tab {
60
+ padding: 12px 25px;
61
+ margin: 5px 10px;
62
+ background: #e9e0d5;
63
+ border: none;
64
+ border-radius: 30px;
65
+ cursor: pointer;
66
+ font-size: 1.1rem;
67
+ font-weight: 600;
68
+ color: #5d4037;
69
+ transition: all 0.3s ease;
70
+ box-shadow: 0 2px 5px rgba(0,0,0,0.1);
71
+ }
72
+
73
+ .tab:hover, .tab.active {
74
+ background: #a67c52;
75
+ color: white;
76
+ transform: translateY(-3px);
77
+ box-shadow: 0 4px 8px rgba(0,0,0,0.15);
78
+ }
79
+
80
+ .gallery {
81
+ display: grid;
82
+ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
83
+ gap: 25px;
84
+ margin-top: 20px;
85
+ }
86
+
87
+ .gallery-item {
88
+ background: white;
89
+ border-radius: 10px;
90
+ overflow: hidden;
91
+ box-shadow: 0 5px 15px rgba(0,0,0,0.08);
92
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
93
+ cursor: pointer;
94
+ }
95
+
96
+ .gallery-item:hover {
97
+ transform: translateY(-8px);
98
+ box-shadow: 0 12px 20px rgba(0,0,0,0.15);
99
+ }
100
+
101
+ .image-container {
102
+ position: relative;
103
+ width: 100%;
104
+ padding-top: 100%; /* 1:1 Aspect Ratio */
105
+ overflow: hidden;
106
+ }
107
+
108
+ .image-container img {
109
+ position: absolute;
110
+ top: 0;
111
+ left: 0;
112
+ width: 100%;
113
+ height: 100%;
114
+ object-fit: cover;
115
+ transition: transform 0.5s ease;
116
+ }
117
+
118
+ .gallery-item:hover img {
119
+ transform: scale(1.05);
120
+ }
121
+
122
+ .caption {
123
+ padding: 15px 10px;
124
+ text-align: center;
125
+ font-size: 0.95rem;
126
+ white-space: nowrap;
127
+ overflow: hidden;
128
+ text-overflow: ellipsis;
129
+ color: #5d4037;
130
+ background: white;
131
+ font-weight: 500;
132
+ }
133
+
134
+ .modal {
135
+ display: none;
136
+ position: fixed;
137
+ top: 0;
138
+ left: 0;
139
+ width: 100%;
140
+ height: 100%;
141
+ background: rgba(0,0,0,0.9);
142
+ z-index: 1000;
143
+ align-items: center;
144
+ justify-content: center;
145
+ }
146
+
147
+ .modal-content {
148
+ max-width: 90%;
149
+ max-height: 90%;
150
+ position: relative;
151
+ }
152
+
153
+ .modal img {
154
+ max-width: 100%;
155
+ max-height: 80vh;
156
+ border-radius: 8px;
157
+ box-shadow: 0 5px 25px rgba(0,0,0,0.5);
158
+ }
159
+
160
+ .modal-text {
161
+ color: white;
162
+ text-align: center;
163
+ padding: 15px 0;
164
+ font-size: 1.1rem;
165
+ max-width: 800px;
166
+ margin: 0 auto;
167
+ }
168
+
169
+ .close {
170
+ position: absolute;
171
+ top: 20px;
172
+ right: 30px;
173
+ color: white;
174
+ font-size: 40px;
175
+ font-weight: bold;
176
+ cursor: pointer;
177
+ transition: color 0.3s;
178
+ }
179
+
180
+ .close:hover {
181
+ color: #d4b996;
182
+ }
183
+
184
+ footer {
185
+ text-align: center;
186
+ padding: 30px;
187
+ margin-top: 40px;
188
+ color: #7a6a5a;
189
+ font-size: 0.9rem;
190
+ border-top: 1px solid #e0d6c9;
191
+ }
192
+
193
+ @media (max-width: 768px) {
194
+ .gallery {
195
+ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
196
+ gap: 15px;
197
+ }
198
+
199
+ h1 {
200
+ font-size: 2.2rem;
201
+ }
202
+
203
+ .tab {
204
+ padding: 10px 15px;
205
+ font-size: 1rem;
206
+ }
207
+ }
208
+
209
+ @media (max-width: 480px) {
210
+ .gallery {
211
+ grid-template-columns: repeat(2, 1fr);
212
+ }
213
+
214
+ h1 {
215
+ font-size: 1.8rem;
216
+ }
217
+
218
+ .tabs {
219
+ flex-direction: column;
220
+ align-items: center;
221
+ }
222
+
223
+ .tab {
224
+ width: 80%;
225
+ margin: 5px 0;
226
+ }
227
+ }
228
+ </style>
229
+ </head>
230
+ <body>
231
+ <header>
232
+ <div class="container">
233
+ <h1>黎锦纹藏</h1>
234
+ <p class="subtitle">探索黎族五大方言区的独特纹样与文化传承</p>
235
+ </div>
236
+ </header>
237
+
238
+ <div class="container">
239
+ <div class="tabs">
240
+ <button class="tab active" data-tab="ha">哈方言</button>
241
+ <button class="tab" data-tab="qi">杞方言</button>
242
+ <button class="tab" data-tab="run">润方言</button>
243
+ <button class="tab" data-tab="sai">赛方言</button>
244
+ <button class="tab" data-tab="meifu">美孚方言</button>
245
+ </div>
246
+
247
+ <div class="gallery" id="ha-gallery">
248
+ <!-- 哈方言内容 -->
249
+ <div class="gallery-item">
250
+ <div class="image-container">
251
+ <img src="images/ha/ha1.jpg" alt="哈方言纹样1">
252
+ </div>
253
+ <div class="caption">哈方言传统几何纹样,象征大地与丰收</div>
254
+ </div>
255
+ <div class="gallery-item">
256
+ <div class="image-container">
257
+ <img src="images/ha/ha2.jpg" alt="哈方言纹样2">
258
+ </div>
259
+ <div class="caption">哈方言特色人形纹,表达祖先崇拜</div>
260
+ </div>
261
+ <div class="gallery-item">
262
+ <div class="image-container">
263
+ <img src="images/ha/ha3.jpg" alt="哈方言纹样3">
264
+ </div>
265
+ <div class="caption">哈方言植物纹样,描绘热带雨林植物</div>
266
+ </div>
267
+ <div class="gallery-item">
268
+ <div class="image-container">
269
+ <img src="images/ha/ha4.jpg" alt="哈方言纹样4">
270
+ </div>
271
+ <div class="caption">哈方言动物纹样,代表当地特有动物</div>
272
+ </div>
273
+ <div class="gallery-item">
274
+ <div class="image-container">
275
+ <img src="images/ha/ha5.jpg" alt="哈方言纹样5">
276
+ </div>
277
+ <div class="caption">哈方言祭祀纹样,用于宗教仪式</div>
278
+ </div>
279
+ <div class="gallery-item">
280
+ <div class="image-container">
281
+ <img src="images/ha/ha6.jpg" alt="哈方言纹样6">
282
+ </div>
283
+ <div class="caption">哈方言祭祀纹样,用于宗教仪式</div>
284
+ </div>
285
+ <div class="gallery-item">
286
+ <div class="image-container">
287
+ <img src="images/ha/ha7.jpg" alt="哈方言纹样7">
288
+ </div>
289
+ <div class="caption">哈方言祭祀纹样,用于宗教仪式</div>
290
+ </div>
291
+ <div class="gallery-item">
292
+ <div class="image-container">
293
+ <img src="images/ha/ha8.jpg" alt="哈方言纹样8">
294
+ </div>
295
+ <div class="caption">哈方言祭祀纹样,用于宗教仪式</div>
296
+ </div>
297
+ <div class="gallery-item">
298
+ <div class="image-container">
299
+ <img src="images/ha/ha9.jpg" alt="哈方言纹样9">
300
+ </div>
301
+ <div class="caption">哈方言祭祀纹样,用于宗教仪式</div>
302
+ </div>
303
+ <div class="gallery-item">
304
+ <div class="image-container">
305
+ <img src="images/ha/ha10.jpg" alt="哈方言纹样10">
306
+ </div>
307
+ <div class="caption">哈方言祭祀纹样,用于宗教仪式</div>
308
+ </div>
309
+ </div>
310
+
311
+ <div class="gallery" id="qi-gallery" style="display:none;">
312
+ <!-- 杞方言内容 -->
313
+ <div class="gallery-item">
314
+ <div class="image-container">
315
+ <img src="images/qi/qi1.jpg" alt="杞方言纹样1">
316
+ </div>
317
+ <div class="caption">杞方言水波纹,象征河流与生命</div>
318
+ </div>
319
+ <div class="gallery-item">
320
+ <div class="image-container">
321
+ <img src="images/qi/qi2.jpg" alt="杞方言纹样2">
322
+ </div>
323
+ <div class="caption">杞方言太阳纹,代表光明与希望</div>
324
+ </div>
325
+ <div class="gallery-item">
326
+ <div class="image-container">
327
+ <img src="images/qi/qi3.jpg" alt="杞方言纹样3">
328
+ </div>
329
+ <div class="caption">杞方言菱形纹,表达天地和谐</div>
330
+ </div>
331
+ <div class="gallery-item">
332
+ <div class="image-container">
333
+ <img src="images/qi/qi4.jpg" alt="杞方言纹样4">
334
+ </div>
335
+ <div class="caption">杞方言鱼纹,象征丰收与富足</div>
336
+ </div>
337
+ <div class="gallery-item">
338
+ <div class="image-container">
339
+ <img src="images/qi/qi5.jpg" alt="杞方言纹样5">
340
+ </div>
341
+ <div class="caption">杞方言蝴蝶纹,代表美丽与蜕变</div>
342
+ </div>
343
+ <div class="gallery-item">
344
+ <div class="image-container">
345
+ <img src="images/qi/qi6.jpg" alt="杞方言纹样6">
346
+ </div>
347
+ <div class="caption">杞方言蝴蝶纹,代表美丽与蜕变</div>
348
+ </div>
349
+ <div class="gallery-item">
350
+ <div class="image-container">
351
+ <img src="images/qi/qi7.jpg" alt="杞方言纹样7">
352
+ </div>
353
+ <div class="caption">杞方言蝴蝶纹,代表美丽与蜕变</div>
354
+ </div>
355
+ <div class="gallery-item">
356
+ <div class="image-container">
357
+ <img src="images/qi/qi8.jpg" alt="杞方言纹样8">
358
+ </div>
359
+ <div class="caption">杞方言蝴蝶纹,代表美丽与蜕变</div>
360
+ </div>
361
+ <div class="gallery-item">
362
+ <div class="image-container">
363
+ <img src="images/qi/qi9.jpg" alt="杞方言纹样9">
364
+ </div>
365
+ <div class="caption">杞方言蝴蝶纹,代表美丽与蜕变</div>
366
+ </div>
367
+ <div class="gallery-item">
368
+ <div class="image-container">
369
+ <img src="images/qi/qi10.jpg" alt="杞方言纹样10">
370
+ </div>
371
+ <div class="caption">杞方言蝴蝶纹,代表美丽与蜕变</div>
372
+ </div>
373
+ </div>
374
+
375
+ <!-- 其他方言区类似,为节省篇幅省略 -->
376
+ </div>
377
+
378
+ <div id="imageModal" class="modal">
379
+ <span class="close">&times;</span>
380
+ <div class="modal-content">
381
+ <img id="expandedImg" src="" alt="Expanded Image">
382
+ <div class="modal-text" id="imgCaption"></div>
383
+ </div>
384
+ </div>
385
+
386
+ <footer>
387
+ <div class="container">
388
+ <p>黎锦纹藏 &copy; 2023 - 传承黎族非物质文化遗产</p>
389
+ <p>哈方言 | 杞方言 | 润方言 | 赛方言 | 美孚方言</p>
390
+ </div>
391
+ </footer>
392
+
393
+ <script>
394
+ // 标签切换功能
395
+ const tabs = document.querySelectorAll('.tab');
396
+ const galleries = {
397
+ 'ha': document.getElementById('ha-gallery'),
398
+ 'qi': document.getElementById('qi-gallery'),
399
+ 'run': document.getElementById('run-gallery'),
400
+ 'sai': document.getElementById('sai-gallery'),
401
+ 'meifu': document.getElementById('meifu-gallery')
402
+ };
403
+
404
+ tabs.forEach(tab => {
405
+ tab.addEventListener('click', () => {
406
+ // 移除所有活动标签
407
+ tabs.forEach(t => t.classList.remove('active'));
408
+ // 添加活动类到当前标签
409
+ tab.classList.add('active');
410
+
411
+ // 隐藏所有图库
412
+ Object.values(galleries).forEach(gallery => {
413
+ if(gallery) gallery.style.display = 'none';
414
+ });
415
+
416
+ // 显示当前图库
417
+ const tabId = tab.getAttribute('data-tab');
418
+ if(galleries[tabId]) {
419
+ galleries[tabId].style.display = 'grid';
420
+ }
421
+ });
422
+ });
423
+
424
+ // 图片模态框功能
425
+ const modal = document.getElementById('imageModal');
426
+ const expandedImg = document.getElementById('expandedImg');
427
+ const imgCaption = document.getElementById('imgCaption');
428
+
429
+ document.querySelectorAll('.gallery-item').forEach(item => {
430
+ item.addEventListener('click', function() {
431
+ const imgSrc = this.querySelector('img').src;
432
+ const captionText = this.querySelector('.caption').textContent;
433
+
434
+ expandedImg.src = imgSrc;
435
+ imgCaption.textContent = captionText;
436
+ modal.style.display = 'flex';
437
+ });
438
+ });
439
+
440
+ // 关闭模态框
441
+ document.querySelector('.close').addEventListener('click', () => {
442
+ modal.style.display = 'none';
443
+ });
444
+
445
+ // 点击模态框背景关闭
446
+ modal.addEventListener('click', (e) => {
447
+ if(e.target === modal) {
448
+ modal.style.display = 'none';
449
+ }
450
+ });
451
+ </script>
452
+ </body>
453
+ </html>