mirror of
https://github.com/KazooTTT/kazoottt-blog.git
synced 2025-06-23 02:31:33 +08:00
feat: update homepage
This commit is contained in:
BIN
src/assets/finetool.png
Normal file
BIN
src/assets/finetool.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.0 KiB |
@ -7,6 +7,7 @@ const {
|
|||||||
as: Tag = 'div',
|
as: Tag = 'div',
|
||||||
class: className,
|
class: className,
|
||||||
href,
|
href,
|
||||||
|
target,
|
||||||
heading,
|
heading,
|
||||||
subheading,
|
subheading,
|
||||||
date,
|
date,
|
||||||
@ -14,6 +15,10 @@ const {
|
|||||||
altText,
|
altText,
|
||||||
imageClass
|
imageClass
|
||||||
} = Astro.props
|
} = Astro.props
|
||||||
|
|
||||||
|
// If href is provided, use 'a' tag instead of the default or provided tag
|
||||||
|
const Component = href ? 'a' : Tag
|
||||||
|
|
||||||
const images = import.meta.glob<{ default: ImageMetadata }>('/src/assets/*.{jpeg,jpg,png,gif}')
|
const images = import.meta.glob<{ default: ImageMetadata }>('/src/assets/*.{jpeg,jpg,png,gif}')
|
||||||
|
|
||||||
if (imagePath) {
|
if (imagePath) {
|
||||||
@ -22,13 +27,14 @@ if (imagePath) {
|
|||||||
}
|
}
|
||||||
---
|
---
|
||||||
|
|
||||||
<Tag
|
<Component
|
||||||
class={cn(
|
class={cn(
|
||||||
className,
|
className,
|
||||||
'relative rounded-2xl border border-border bg-primary-foreground px-5 py-3',
|
'relative rounded-2xl border border-border bg-primary-foreground px-5 py-3',
|
||||||
href && 'transition-all hover:border-foreground/25 hover:shadow-sm'
|
href && 'transition-all hover:border-foreground/25 hover:shadow-sm'
|
||||||
)}
|
)}
|
||||||
href={href}
|
href={href}
|
||||||
|
target={target}
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
imagePath && (
|
imagePath && (
|
||||||
@ -48,4 +54,4 @@ if (imagePath) {
|
|||||||
</div>
|
</div>
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
</Tag>
|
</Component>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { defineCollection, z } from 'astro:content'
|
import { defineCollection, z } from 'astro:content'
|
||||||
|
|
||||||
function removeDupsAndLowerCase(array: string[]) {
|
function removeDupsAndLowerCase(array: string[] | null) {
|
||||||
if (!array.length) return array
|
if (!array?.length) return []
|
||||||
const lowercaseItems = array.map((str) => str.toLowerCase())
|
const lowercaseItems = array.map((str) => str.toLowerCase())
|
||||||
const distinctItems = new Set(lowercaseItems)
|
const distinctItems = new Set(lowercaseItems)
|
||||||
return Array.from(distinctItems)
|
return Array.from(distinctItems)
|
||||||
|
@ -82,6 +82,16 @@ const allPostsByDate = sortMDByDate(allPosts).slice(0, MAX_POSTS)
|
|||||||
}
|
}
|
||||||
|
|
||||||
<Section title='Experience'>
|
<Section title='Experience'>
|
||||||
|
<Card
|
||||||
|
heading='方田医创科技有限公司'
|
||||||
|
subheading='高级前端开发工程师'
|
||||||
|
date='2024年09月-至今'
|
||||||
|
imagePath='/src/assets/finetool.png'
|
||||||
|
altText='方田医创科技有限公司'
|
||||||
|
imageClass='h-12 w-auto md:-left-16'
|
||||||
|
href='https://www.finetool.cn/'
|
||||||
|
target='_blank'
|
||||||
|
/>
|
||||||
<Card
|
<Card
|
||||||
heading='wind信息技术有限公司'
|
heading='wind信息技术有限公司'
|
||||||
subheading='web前端开发'
|
subheading='web前端开发'
|
||||||
@ -89,11 +99,13 @@ const allPostsByDate = sortMDByDate(allPosts).slice(0, MAX_POSTS)
|
|||||||
imagePath='/src/assets/wind.png'
|
imagePath='/src/assets/wind.png'
|
||||||
altText='wind信息技术有限公司'
|
altText='wind信息技术有限公司'
|
||||||
imageClass='h-12 w-auto md:-left-16'
|
imageClass='h-12 w-auto md:-left-16'
|
||||||
|
href='https://www.wind.com.cn'
|
||||||
|
target='_blank'
|
||||||
>
|
>
|
||||||
<ul class='ml-4 list-disc text-muted-foreground'>
|
<ul class='ml-4 list-disc text-muted-foreground'>
|
||||||
<li>完成商城前台与后台开发</li>
|
<li>主导电商平台前后台开发,采用React+TypeScript技术栈,提升用户体验及运营效率</li>
|
||||||
<li>完成数据管理中台前端开发</li>
|
<li>负责数据管理中台的架构设计与开发,实现数据可视化及智能分析功能</li>
|
||||||
<li>完成大模型应用前、后端开发,提示词调优</li>
|
<li>设计并开发基于大语言模型的智能应用,优化提示词系统,提升模型输出质量</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Card>
|
</Card>
|
||||||
<Card
|
<Card
|
||||||
@ -103,9 +115,11 @@ const allPostsByDate = sortMDByDate(allPosts).slice(0, MAX_POSTS)
|
|||||||
imagePath='/src/assets/baicizhan.png'
|
imagePath='/src/assets/baicizhan.png'
|
||||||
altText='百词斩'
|
altText='百词斩'
|
||||||
imageClass='h-12 w-auto md:-left-16'
|
imageClass='h-12 w-auto md:-left-16'
|
||||||
|
href='https://www.baicizhan.com/'
|
||||||
|
target='_blank'
|
||||||
>
|
>
|
||||||
<ul class='ml-4 list-disc text-muted-foreground'>
|
<ul class='ml-4 list-disc text-muted-foreground'>
|
||||||
<li>百词斩电商前端开发</li>
|
<li>参与百词斩电商平台的前后端开发,提升用户购物体验</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Card>
|
</Card>
|
||||||
</Section>
|
</Section>
|
||||||
@ -118,6 +132,8 @@ const allPostsByDate = sortMDByDate(allPosts).slice(0, MAX_POSTS)
|
|||||||
imagePath='/src/assets/scu.png'
|
imagePath='/src/assets/scu.png'
|
||||||
altText='四川大学'
|
altText='四川大学'
|
||||||
imageClass='h-12 w-auto md:-left-16'
|
imageClass='h-12 w-auto md:-left-16'
|
||||||
|
href='https://www.scu.edu.cn'
|
||||||
|
target='_blank'
|
||||||
/>
|
/>
|
||||||
</Section>
|
</Section>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user