939 字
3 分钟
友链|公告|音乐的编辑
你逆光而来,配得上这世间所有的好。
友链
基本逻辑
-
展示逻辑:
src/pages/friends.astro这个文件负责友情链接页面的HTML结构、CSS样式和JavaScript交互逻辑。 它定义了友情链接如何在页面上排列、头像如何展示、标签如何分类等。 通常情况下,你不需要修改这个文件。
-
内容数据:
src/data/friends.ts这个文件是友情链接内容的”数据库”。所有的友情链接都以数组的形式存储在这里。 每一个友情链接都是一个对象,包含 id, title, imgurl, desc, siteurl 和 tags 等属性。 添加、修改或删除友情链接,都在这个文件中操作。
-
数据结构:
语法:
interface FriendItem: 这是一个TypeScript接口,它定义了每一个友情链接必须包含的字段和它们的类型。id: number: (必填) 友情链接的唯一标识符。必须是数字,且不能重复。通常按添加顺序递增。title: string: (必填) 网站或博客的名称。imgurl: string: (必填) 网站头像或Logo的URL地址。建议使用正方形图片,尺寸为640x640像素。desc: string: (必填) 网站的简短描述。siteurl: string: (必填) 网站的URL地址,需要包含协议(http://或https://)。tags: string[]: (必填) 标签数组,用于分类。至少包含一个标签。export const friendsData: FriendItem[] = [...]: 这是实际的友情链接数据数组。数组中的每一个对象都遵循上面 FriendItem 接口的定义。友情链接在页面上的显示顺序通常是按照数组中的顺序,但可以使用随机排序函数使其随机展示。
添加友链
-
准备头像图片: 获取或制作一个网站头像图片,建议使用正方形图片,尺寸为640x640像素。 推荐使用GitHub头像、网站Logo或其他代表性图片。 确保图片URL可以正常访问。
-
编辑
src/data/friends.ts文件: 打开src/data/friends.ts。
在 friendsData 数组中,复制一个现有的友情链接对象作为模板。 修改模板中的属性:id: 给一个新的、唯一的数字(例如,在最后一个友情链接的id基础上加1)。title: 输入网站或博客的名称。imgurl: 设置头像图片的URL。desc: 输入网站的简短描述,建议控制在50个字符以内。siteurl: 设置网站的URL地址,确保包含协议。tags: 添加适当的标签,至少一个。标签用于分类和筛选。
-
添加一个新的友情链接。
公告
公告位置配置:
- 公告组件的内容不是在
sidebarLayoutConfig中配置的,而是在announcementConfig对象中配置。一般情况不需要改变,下面是公告内容的详细配置示例: - 名词解释:
- type: “announcement”: 指定组件类型为公告组件,这是固定值。
- enable: true: 控制该组件是否显示,true 为显示,false 为隐藏。
- order: 2: 设置组件显示顺序,数值越小越靠前。通常公告组件设置为 2,显示在个人资料组件之后。
- position: “top”: 设置组件在侧边栏内的定位方式,“top” 表示固定在顶部。
- sidebar: “left”: 设置组件所属侧边栏,“left” 为左侧栏,“right” 为右侧栏(需配合 position: “both”)。
- class: “onload-animation”: 组件的 CSS 类名,用于应用样式和动画效果。
- animationDelay: 50: 组件加载动画的延迟时间(单位:毫秒),设置为 50 表示在个人资料组件后加载。
公告内容配置:
- 概述:公告组件的内容不是在
sidebarLayoutConfig中配置的,而是在announcementConfig对象中配置。 语法 :公告内容的详细配置示例:src/config.ts export const announcementConfig: AnnouncementConfig = {title: "Announcement", // 公告标题content: "Welcome to my blog! This is a sample announcement.", // 公告内容closable: true, // 允许用户关闭公告link: {enable: true, // 启用链接text: "Learn More", // 链接文本url: "/about/", // 链接 URLexternal: false, // 内部链接}, - 内容更改:
export const announcementConfig: AnnouncementConfig = { title: "网站公告", content: "欢迎访问我的博客!这里会分享技术文章和生活感悟。", closable: true, link: { enable: true, text: "关于我", url: "/about/", external: false, },};音乐播放器
音乐播放器的配置位置
- MusicPlayer配置位于
src/config.ts文件中的musicPlayerConfig对象,控制博客的音乐播放器显示设置(仅展示local模式).
路径:src/config.ts----musicPlayerConfig: 内容:export const musicPlayerConfig: MusicPlayerConfig = { enable: true, // 启用音乐播放器功能 mode: "local", // 音乐播放器模式,可选 "local" <!-- 以下部分可以不用更改 --> meting_api: "https://www.bilibili.uno/api?server=:server&type=:type&id=:id&auth=:auth&r=:r", // Meting API 地址 id: "14164869977", // 歌单ID server: "netease", // 音乐源服务器。有的meting的api源支持更多平台,<br>一般来说,netease=网易云音乐, tencent=QQ音乐, kugou=酷狗音乐, xiami=虾米音乐, baidu=百度音乐 type: "playlist", // 播单类型};2、音乐播放器local模式的配置
- 本地配置文件位于
/src/components/widget/MusicPlayer.svelte,你可以在其中添加或修改本地音乐文件的列表,请注意相对路径还是绝对路径的问题。
const localPlaylist = [ { id: 1, title: "ひとり上手", artist: "Kaya", cover: "assets/music/cover/hitori.jpg", url: "assets/music/url/hitori.mp3", duration: 240, }, { id: 2, title: "眩耀夜行", artist: "スリーズブーケ", cover: "assets/music/cover/xryx.jpg", url: "assets/music/url/xryx.mp3", duration: 180, }, { id: 3, title: "春雷の頃", artist: "22/7", cover: "assets/music/cover/cl.jpg", url: "assets/music/url/cl.mp3", duration: 200, },];🌈友情文章
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
相关文章 智能推荐









