Compare commits
19 Commits
f9618dd88b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e4ba684efa | |||
| 9970dc4f63 | |||
| acb0666840 | |||
| 6be9d12b75 | |||
| f8181a0f50 | |||
| 3c4f66522b | |||
| 449f2cdb17 | |||
| d72198d755 | |||
| c87f34159b | |||
| 9e5d6ef9b0 | |||
| ad79f2c8b9 | |||
| dfbd4ba581 | |||
| 73cd9a73b6 | |||
| 2af7aa1ee1 | |||
| bdcd112960 | |||
| 0107c33e7d | |||
| d523761595 | |||
| eb5f34da67 | |||
| 779cd9e238 |
@@ -37,6 +37,9 @@ languages:
|
|||||||
series: series
|
series: series
|
||||||
menu:
|
menu:
|
||||||
main:
|
main:
|
||||||
|
- name: 我的简历
|
||||||
|
url: aboutme/
|
||||||
|
weight: 3
|
||||||
- name: 记录点滴
|
- name: 记录点滴
|
||||||
url: article/
|
url: article/
|
||||||
weight: 5
|
weight: 5
|
||||||
@@ -98,6 +101,8 @@ params:
|
|||||||
# imageWidth: 120
|
# imageWidth: 120
|
||||||
# imageHeight: 120
|
# imageHeight: 120
|
||||||
buttons:
|
buttons:
|
||||||
|
- name: 👤
|
||||||
|
url: aboutme
|
||||||
- name: ✎
|
- name: ✎
|
||||||
url: article
|
url: article
|
||||||
- name: π
|
- name: π
|
||||||
|
|||||||
218
content/aboutme/_index.html
Normal file
218
content/aboutme/_index.html
Normal file
@@ -0,0 +1,218 @@
|
|||||||
|
<div class="pdf-viewer">
|
||||||
|
<!-- iframe容器 -->
|
||||||
|
<div class="pdf-frame-container">
|
||||||
|
<iframe
|
||||||
|
src="苏默小升初简历-18911763072.pdf#toolbar=0&navpanes=0&view=FitH"
|
||||||
|
width="100%"
|
||||||
|
height="100%"
|
||||||
|
style="border: none;"
|
||||||
|
title="简历预览 - 点击在新窗口全屏查看">
|
||||||
|
</iframe>
|
||||||
|
|
||||||
|
<!-- 透明覆盖层 -->
|
||||||
|
<div class="click-overlay" onclick="window.open('苏默小升初简历-18911763072.pdf', '_blank')">
|
||||||
|
<div class="tooltip-content">
|
||||||
|
<svg class="fullscreen-icon" viewBox="0 0 24 24" fill="white">
|
||||||
|
<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>
|
||||||
|
</svg>
|
||||||
|
<span>点击全屏查看</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 操作按钮 -->
|
||||||
|
<div class="action-buttons">
|
||||||
|
<button onclick="window.open('苏默小升初简历-18911763072.pdf', '_blank')" class="action-btn primary">
|
||||||
|
<svg class="btn-icon" viewBox="0 0 24 24">
|
||||||
|
<path d="M19 19H5V5h7V3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/>
|
||||||
|
</svg>
|
||||||
|
新窗口全屏
|
||||||
|
</button>
|
||||||
|
<a href="苏默小升初简历-18911763072.pdf" download class="action-btn secondary">
|
||||||
|
<svg class="btn-icon" viewBox="0 0 24 24">
|
||||||
|
<path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/>
|
||||||
|
</svg>
|
||||||
|
下载PDF
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.pdf-viewer {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* iframe容器 - 精确70%宽度 */
|
||||||
|
.pdf-frame-container {
|
||||||
|
position: relative;
|
||||||
|
width: 60%; /* 固定70%宽度 */
|
||||||
|
max-width: 800px; /* 最大宽度限制 */
|
||||||
|
height: 600px;
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: 0 6px 20px rgba(0,0,0,0.1);
|
||||||
|
background: #f8f9fa; /* 添加背景色 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* PDF参数说明:
|
||||||
|
FitH - 适合高度,确保显示整页
|
||||||
|
toolbar=0 - 隐藏工具栏
|
||||||
|
navpanes=0 - 隐藏导航面板
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 透明覆盖层 */
|
||||||
|
.click-overlay {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.click-overlay:hover {
|
||||||
|
opacity: 1;
|
||||||
|
background: rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-content {
|
||||||
|
background: rgba(0, 0, 0, 0.85);
|
||||||
|
color: white;
|
||||||
|
padding: 15px 25px;
|
||||||
|
border-radius: 30px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
transform: translateY(10px);
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.click-overlay:hover .tooltip-content {
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fullscreen-icon {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 操作按钮 */
|
||||||
|
.action-buttons {
|
||||||
|
display: flex;
|
||||||
|
gap: 15px;
|
||||||
|
margin-top: 20px;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn {
|
||||||
|
padding: 12px 24px;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-weight: 500;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
border: none;
|
||||||
|
font-size: 14px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn.primary {
|
||||||
|
background: linear-gradient(135deg, #007bff, #0056b3);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn.primary:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 6px 15px rgba(0, 123, 255, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn.secondary {
|
||||||
|
background: linear-gradient(135deg, #28a745, #1e7e34);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn.secondary:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
box-shadow: 0 6px 15px rgba(40, 167, 69, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-icon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
fill: currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 响应式设计 */
|
||||||
|
@media (max-width: 1200px) {
|
||||||
|
.pdf-frame-container {
|
||||||
|
width: 75%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 992px) {
|
||||||
|
.pdf-frame-container {
|
||||||
|
width: 85%;
|
||||||
|
height: 550px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.pdf-frame-container {
|
||||||
|
width: 90%;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-buttons {
|
||||||
|
flex-direction: column;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 576px) {
|
||||||
|
.pdf-frame-container {
|
||||||
|
width: 95%;
|
||||||
|
height: 450px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-content {
|
||||||
|
padding: 12px 20px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-btn {
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 深色模式支持 */
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.pdf-frame-container {
|
||||||
|
background: #2d2d2d;
|
||||||
|
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tooltip-content {
|
||||||
|
background: rgba(0, 0, 0, 0.9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
BIN
content/aboutme/cv1.pdf
Normal file
BIN
content/aboutme/cv1.pdf
Normal file
Binary file not shown.
BIN
content/aboutme/cv2.pdf
Normal file
BIN
content/aboutme/cv2.pdf
Normal file
Binary file not shown.
BIN
content/aboutme/cv_small.pdf
Normal file
BIN
content/aboutme/cv_small.pdf
Normal file
Binary file not shown.
BIN
content/aboutme/苏默小升初简历-18911763072.pdf
Normal file
BIN
content/aboutme/苏默小升初简历-18911763072.pdf
Normal file
Binary file not shown.
@@ -1,7 +1,150 @@
|
|||||||
---
|
---
|
||||||
title: 海淀区合唱团表演
|
title: 海淀区合唱团表演
|
||||||
date: '2025-12-10'
|
date: "2025-12-10"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<div class="lazy-video" data-src="choir_show.mp4">
|
||||||
|
<!-- 预览图 -->
|
||||||
|
<div class="video-preview" onclick="loadAndPlay(this)">
|
||||||
|
<img src="video-thumbnail.jpg" alt="视频预览" class="preview-image">
|
||||||
|
<div class="play-button">▶</div>
|
||||||
|
<div class="video-info-overlay">
|
||||||
|
<span>点击播放视频</span>
|
||||||
|
<small>时长: 3:45</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 视频播放器(初始隐藏) -->
|
||||||
|
<div class="video-player" style="display: none;">
|
||||||
|
<video controls>
|
||||||
|
<source src="" type="video/mp4">
|
||||||
|
</video>
|
||||||
|
<button class="close-video" onclick="closeVideo(this)">✕</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
[choir_show.mp4](choir_show.mp4)
|
<script>
|
||||||
|
function loadAndPlay(element) {
|
||||||
|
const container = element.closest('.lazy-video');
|
||||||
|
const videoSrc = container.getAttribute('data-src');
|
||||||
|
const preview = container.querySelector('.video-preview');
|
||||||
|
const player = container.querySelector('.video-player');
|
||||||
|
const video = player.querySelector('video');
|
||||||
|
const source = video.querySelector('source');
|
||||||
|
|
||||||
|
// 设置视频源
|
||||||
|
source.src = videoSrc;
|
||||||
|
video.load();
|
||||||
|
|
||||||
|
// 切换显示
|
||||||
|
preview.style.display = 'none';
|
||||||
|
player.style.display = 'block';
|
||||||
|
|
||||||
|
// 开始播放
|
||||||
|
video.play();
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeVideo(button) {
|
||||||
|
const player = button.closest('.video-player');
|
||||||
|
const container = player.closest('.lazy-video');
|
||||||
|
const preview = container.querySelector('.video-preview');
|
||||||
|
const video = player.querySelector('video');
|
||||||
|
|
||||||
|
// 停止播放
|
||||||
|
video.pause();
|
||||||
|
video.currentTime = 0;
|
||||||
|
|
||||||
|
// 切换显示
|
||||||
|
player.style.display = 'none';
|
||||||
|
preview.style.display = 'block';
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.lazy-video {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 2rem auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-preview {
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
background: #000;
|
||||||
|
aspect-ratio: 16/9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.preview-image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
opacity: 0.8;
|
||||||
|
transition: opacity 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-preview:hover .preview-image {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.play-button {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 70px;
|
||||||
|
height: 70px;
|
||||||
|
background: rgba(255, 255, 255, 0.9);
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 30px;
|
||||||
|
color: #007bff;
|
||||||
|
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-info-overlay {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
background: linear-gradient(transparent, rgba(0,0,0,0.8));
|
||||||
|
color: white;
|
||||||
|
padding: 20px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-player {
|
||||||
|
position: relative;
|
||||||
|
background: #000;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-player video {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-height: 600px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close-video {
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
background: rgba(0,0,0,0.7);
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 18px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
title: "海淀区合唱团表演"
|
|
||||||
date: "2025-12-10"
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{{< video choir_show.mp4 >}}
|
|
||||||
BIN
content/music/Choir_show/video-thumbnail.jpg
Normal file
BIN
content/music/Choir_show/video-thumbnail.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 713 KiB |
Reference in New Issue
Block a user