边缘星云

返回

友链

友链相关配置

移除友链页面#

友链页面用于展示你的朋友博客链接,默认是启用的。

如果你因任何原因想要移除友链页面,请按照本节中的步骤操作。否则,你可以直接跳至下一章。

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运行。

它需要:

  1. 一个启用了github action定时任务的github仓库。
  2. 一个静态网站服务器,如Vercel、Netlify、GitHub Pages等。

本主题尚未集成该应用,且未来也不会提供相关支持。但别担心,本文档会指导你进行集成。

  1. Fork Friend-Circle-Lite仓库。

  2. 修改你fork仓库中的config.yaml

    config.yaml
    spider_settings:
       enable: true
       json_url: "<你的网站>/links.json"
       article_count: 4
    yaml
  3. 进入“Actions”页面,手动运行“Friend Circle Lite”工作流以检查是否正常工作。这也会在“page”分支中生成服务器文件。

  4. 查看文档,将服务器文件部署到你的静态网站服务器。

  5. 获取脚本文件friendCircle.ts添加到你的项目src/plugins路径下。

  6. 样式文件fc.css添加到你的项目src/assets/styles路径下。

  7. src/components/pages/links/index.astro中添加初始化代码:

    src/components/pages/links/index.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>
    astro