first initial commit

This commit is contained in:
2026-02-07 22:27:31 +08:00
commit 07786f8eb0
18 changed files with 6035 additions and 0 deletions

31
partials/footer.hbs Normal file
View File

@@ -0,0 +1,31 @@
<footer class="site-footer">
<div class="footer-content">
<div class="footer-column footer-about">
<h3>{{@site.title}}</h3>
<p>{{@site.description}}</p>
<p class="copyright">© {{date format="YYYY"}} · <a href="/">All Rights Resevered</a></p>
</div>
<div class="footer-column footer-contact">
<h4>联系我们</h4>
<div class="contact-item">
<span class="label">Email:</span>
<a href="mailto:feedback@biss.click">feedback</a>
</div>
<div class="contact-item">
<span class="label">WeChat:</span>
<span class="wechat-trigger">微信公众号
<div class="wechat-qr">
<img src="https://pic.biss.click/image/0f38ae9c-5cd8-4cd8-acb1-4aa39daccbef.webp" alt="微信公众号">
<p>扫码关注公众号</p>
</div>
</span>
</div>
</div>
<div class="footer-column footer-nav">
<h4>探索</h4>
{{navigation type="secondary"}}
</div>
</div>
</footer>

20
partials/navigation.hbs Normal file
View File

@@ -0,0 +1,20 @@
<ul class="flex flex-col md:flex-row md:items-center gap-1 md:gap-8">
{{#foreach navigation}}
<li class="group">
<a href="{{url}}"
class="flex items-center justify-between py-4 px-4 rounded-lg transition-all active:scale-[0.98]
{{#if current}}
text-blue-600 bg-blue-50/50
{{else}}
text-gray-700 hover:text-blue-600 active:bg-gray-100
{{/if}}">
<span class="text-base md:text-sm font-bold tracking-wide">{{label}}</span>
<svg class="w-5 h-5 md:hidden opacity-50" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</a>
</li>
{{/foreach}}
</ul>

78
partials/teacher-card.hbs Normal file
View File

@@ -0,0 +1,78 @@
{{!--
primary_tag.slug="teacher-profile" Faculty() Student(绿)
--}}
<a href="{{url}}" class="group relative block bg-white rounded-2xl overflow-hidden border border-gray-100 shadow-sm hover:shadow-xl hover:-translate-y-1 transition-all duration-300 h-full flex flex-col">
{{!-- 1. 图片区域 --}}
<div class="aspect-[3/4] relative overflow-hidden bg-gray-50 flex-shrink-0">
{{#if feature_image}}
<img
src="{{img_url feature_image size="m"}}"
alt="{{title}}"
class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-110"
loading="lazy"
/>
{{else}}
{{!-- 无图时的占位图标 --}}
<div class="w-full h-full flex items-center justify-center text-5xl opacity-20 bg-gray-200">
{{#match primary_tag.slug "=" "teacher-profile"}}👨‍🏫{{else}}🎓{{/match}}
</div>
{{/if}}
{{!-- 左上角悬浮身份标签 --}}
<div class="absolute top-3 left-3 z-10">
{{#match primary_tag.slug "=" "teacher-profile"}}
<span class="px-2.5 py-1 bg-blue-600 text-white text-[10px] font-black rounded-lg shadow-md uppercase tracking-wider">Teacher</span>
{{else}}
<span class="px-2.5 py-1 bg-emerald-500 text-white text-[10px] font-black rounded-lg shadow-md uppercase tracking-wider">Student</span>
{{/match}}
</div>
</div>
{{!-- 2. 信息内容区域 --}}
<div class="p-5 flex-1 flex flex-col {{#match primary_tag.slug "=" "teacher-profile"}}bg-slate-50/50{{else}}bg-white{{/match}}">
{{!-- 姓名标题 --}}
<div class="mb-2">
<h4 class="text-xl font-bold text-gray-900 group-hover:text-blue-600 transition-colors truncate">
{{title}}
</h4>
</div>
{{!-- 摘要/头衔展示 --}}
<div class="flex-1">
{{#if custom_excerpt}}
<p class="text-sm text-gray-500 line-clamp-2 italic leading-relaxed">
{{#match primary_tag.slug "=" "teacher-profile"}}
<span class="not-italic font-medium text-blue-600/70">Position:</span>
{{else}}
{{/match}}
{{custom_excerpt}}
{{#match primary_tag.slug "!==" "teacher-profile"}}{{/match}}
</p>
{{/if}}
</div>
{{!-- 底部元数据栏 --}}
<div class="flex items-center justify-between mt-5 pt-4 border-t border-gray-100/80">
{{!-- 分类/学科标签 --}}
<span class="text-[11px] font-bold text-gray-400 flex items-center gap-2 uppercase tracking-tight">
{{#if primary_tag}}
<span class="w-2 h-2 rounded-full {{#match primary_tag.slug "=" "teacher-profile"}}bg-blue-500 animate-pulse{{else}}bg-emerald-500{{/match}}"></span>
{{primary_tag.name}}
{{else}}
<span class="w-2 h-2 rounded-full bg-gray-300"></span>
档案库
{{/if}}
</span>
{{!-- 悬浮出现的动作提示 --}}
<span class="text-[11px] text-blue-600 font-black opacity-0 group-hover:opacity-100 transition-all transform translate-x-2 group-hover:translate-x-0">
PROFILE →
</span>
</div>
</div>
</a>