友链
友链相关配置
移除友链页面#
友链页面用于展示你的朋友博客链接,默认是启用的。
如果你因任何原因想要移除友链页面,请按照本节中的步骤操作。否则,你可以直接跳至下一章。
在src/site.config.ts
中将links.enable
设为false
:
src/site.config.ts
export const integ: IntegrationUserConfig = {
// ...
links: {
enable: false
}
}
ts另外,记得删除以下文件夹和文件:
src/components/links/
src/pages/links/
public/links.json
基本配置#
友链的基本配置在src/site.config.ts
中。你可以添加朋友的日志或自己的链接信息。
src/site.config.ts
export const integ: IntegrationUserConfig = {
links: {
// 朋友日志
logbook: [
{ date: '2025-03-16', content: '是不是有泄漏?' },
{ date: '2025-03-16', content: '什么东西泄漏了?' },
{ date: '2025-03-16', content: '我这有一满杯水,就像,满满一杯水!' },
{ date: '2025-03-16', content: '肯定是水的问题。' },
{ date: '2025-03-16', content: '咱们把这个加到至理名言里去。' },
],
// 你自己的链接信息
applyTip: {
name: theme.title,
desc: theme.description || '无',
url: 'https://astro-pure.js.org/',
avatar: 'https://astro-pure.js.org/favicon/favicon.ico'
}
},
}
ts友链配置#
友链的具体配置在public/links.json
中。
public/links.json
{
"friends": [
{
"id_name": "cf-links",
"desc": "圈子好友中包含的常见链接",
"link_list": [
{
"name": "Elysia",
"intro": "嗨,想我了吗?无论何时何地,爱莉希雅都会回应你所有的期待哦。",
"link": "https://honkaiimpact3.fandom.com/wiki/Elysia",
"avatar": "https://0.gravatar.com/avatar/"
// 这里你也可以留下一些其他字段作为备注
},
]
},
{
"id_name": "inactive-links",
"desc": "不活跃或违规的朋友",
"link_list": [] // 你可以暂时将一些不良链接放在这里
},
{
"id_name": "special-links",
"desc": "其他特殊链接",
"link_list": [] // 不是你朋友的特殊链接
}
]
}
json与Friend-Circle-Lite
集成#
Friend-Circle-Lite ↗是一个精简的友链应用,无后端,仅通过github action运行。
它需要:
- 一个启用了github action定时任务的github仓库。
- 一个静态网站服务器,如Vercel、Netlify、GitHub Pages等。
本主题尚未集成该应用,且未来也不会提供相关支持。但别担心,本文档会指导你进行集成。
-
Fork Friend-Circle-Lite ↗仓库。
-
修改你fork仓库中的
config.yaml
:config.yaml
yamlspider_settings: enable: true json_url: "<你的网站>/links.json" article_count: 4
-
进入“Actions”页面,手动运行“Friend Circle Lite”工作流以检查是否正常工作。这也会在“page”分支中生成服务器文件。
-
查看文档 ↗,将服务器文件部署到你的静态网站服务器。
-
将获取脚本文件
friendCircle.ts
↗添加到你的项目src/plugins
路径下。 -
将样式文件
fc.css
↗添加到你的项目src/assets/styles
路径下。 -
在
src/components/pages/links/index.astro
中添加初始化代码:src/components/pages/links/index.astro
astro--- const headings = [ // ... { depth: 2, slug: 'small-circle', text: '小圈子' }, ] --- <PageLayout> {/* ... */} <h2 id='small-circle'>小圈子</h2> <div id='friend-circle-lite-root' class='not-prose'>加载中...</div> <script> import '@/assets/styles/fc.css' import { FriendCircle } from '@/plugins/friendCircle' const fc = new FriendCircle() fc.init({ private_api_url: '<你的fc-lite服务器>', page_turning_number: 10, error_img: 'https://cravatar.cn/avatar/57d8260dfb55501c37dde588e7c3852c' }) fc.load() </script> </PageLayout>