更换到Astro #9

Merged
biss merged 30 commits from switch-to-astro into master 2026-06-19 13:23:31 +08:00
20 changed files with 405 additions and 406 deletions
Showing only changes of commit d98d2989cb - Show all commits
-7
View File
@@ -1,7 +0,0 @@
- class_name: 糖果屋のVIP
class_desc: 售后服务享五折优惠2333
link_list:
- name: Akilar
link: https://akilar.top
avatar: /img/siteicon/favicon.png
descr: 欢迎光临糖果屋
-55
View File
@@ -1,55 +0,0 @@
bottom:
- class_name: calendar
id_name: card-widget-calendar
icon: fa-regular fa-calendar
name: 日历
order: -1
html: |
<div id="calendar-area-left">
<div id="calendar-week"></div>
<div id="calendar-date" style="font-size: 48px;"></div>
<div id="calendar-solar"></div>
<div id="calendar-lunar"></div>
</div>
<div id="calendar-area-right">
<div id="calendar-main">
</div>
</div>
- class_name: schedule
id_name: card-widget-schedule
icon: fa-regular fa-hourglass
name: 剩余时间
order: -1
html: |
<div id="schedule-area-left">
<div id="schedule-title">距离除夕</div>
<div id="schedule-days"></div>
<div id="schedule-date">2025-01-28</div>
</div>
<div id="schedule-area-right">
<div class="schedule-r0">
<div class="schedule-d0">本年</div>
<div class="schedule-d1">
<span id="p_span_year" class="aside-span1"></span>
<span class="aside-span2">还剩<a></a>天</span>
<progress max="365" id="pBar_year"></progress>
</div>
</div>
<div class="schedule-r1">
<div class="schedule-d0">本月</div>
<div class="schedule-d1">
<span id="p_span_month" class="aside-span1"></span>
<span class="aside-span2">还剩<a></a>天</span>
<progress max="30" id="pBar_month"></progress>
</div>
</div>
<div class="schedule-r2">
<div class="schedule-d0">本周</div>
<div class="schedule-d1">
<span id="p_span_week" class="aside-span1"></span>
<span class="aside-span2">还剩<a></a>天</span>
<progress max="7" id="pBar_week"></progress>
</div>
</div>
</div>
-7
View File
@@ -1,7 +0,0 @@
---
title: 关于
date: 2025-08-09 21:38:20
type: 'about'
comments: false
aside: false
---
-7
View File
@@ -1,7 +0,0 @@
---
title: 分类
date: 2025-08-09 21:38:20
type: 'categories'
comments: false
aside: false
---
-63
View File
@@ -1,63 +0,0 @@
---
title: 版权协议
date: 2025-08-10 13:27:27
top_img: false
aside: false
comments: false
---
<!-- 页面内容 -->
为了保持文章质量,并保持互联网的开放共享精神,保持页面流量的稳定,综合考虑下本站的所有原创文章均采用cc协议中比较严格的[署名-非商业性使用-禁止演绎 4.0 国际](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh)标准。这篇文章主要想能够更加清楚明白的介绍本站的协议标准和要求。方便你合理的使用本站的文章
本站无广告嵌入和商业行为。违反协议的行为不仅会损害原作者的创作热情,而且会影响整个版权环境。强烈呼吁你能够在转载时遵守协议。遵守协议的行为几乎不会对你的目标产生负面影响,鼓励创作环境是每个创作者的期望
# 哪些文章适于本协议?
所有原创内容均在文章标题顶部,以及文章结尾的版权说明部分展示
原创内容的非商用转载必须为完整转载且标注出处的 `带有完整url链接``访问原文` 之类字样的超链接
作为参考资料的情况可以无需完整转载,摘录所需要的部分内容即可,但需标注出处
# 你可以做什么?
只要你遵守本页的许可,你可以自由地共享文章的内容 — 在任何媒介以任何形式复制、发行本作品。并且无需通知作者
# 你需要遵守什么样的许可?
### 署名
你必须标注内容的来源,你需要在文章开头部分(或者明显位置)标注原文章链接(建议使用超链接提升阅读体验)
### 禁止商用
本站内容免费向互联网所有用户提供,分享本站文章时禁止商业性使用、禁止在转载页面中插入广告(例如谷歌广告、百度广告)、禁止阅读的拦截行为(例如关注公众号、下载App后观看文章)
### 禁止演绎
* 分享全部内容(无修改)
你需要在文章开头部分(或者明显位置)标注原文章链接(建议使用超链接)
* 分享部分截取内容或者衍生创作
目前本站全部原创文章的衍生品禁止公开分享和分发。如有更好的修改建议,可以在对应文章下留言。如有衍生创作需求,可以在评论中联系。
* 作为参考资料截取部分内容
作为参考资料的情况可以无需完整转载,摘录所需要的部分内容即可,但需标注出处。
# 什么内容会被版权保护
**包括但不限于:**
* 文章封面图片
* 文章标题和正文
* 站点图片素材(不含主题自带素材)
# 例外情况
本着友好互相进步的原则,被本站友链收录的博客允许博客文章内容的衍生品的分享和分发,但仍需标注出处
本着互联网开放精神,你可以在博客文章下方留言要求授权博文的衍生品的分享和分发,标注你的网站地址
关于主题样式的版权信息,可以详见[Butterfly](https://github.com/jerryc127/hexo-theme-butterfly/)主题说明,本站已经历多次版本迭代
# 网站源代码协议
网站源代码(仅包含css、js)的代码部分采用GPL协议
-81
View File
@@ -1,81 +0,0 @@
---
title: Cookies
date: 2023-03-14 13:07:26
top_img: false
aside: false
comments: false
---
<!-- 页面内容 -->
我使用Cookies来保持我的网站和我开发的软件的可靠性,安全性和个性化。当你接受Cookies时,这有助于通过我识别你的身份、记住你的偏好、或提供个性化用户体验来帮助我改善网站
本政策应与我的 [**隐私政策**](/privacy/) 一起阅读,该隐私政策解释了我如何使用个人信息
如果你对我使用你的个人信息或Cookies的方式有任何疑问,请通过 `bishsh2006@outlook.com` 与我联系
如果你想管理你的Cookies,请按照下面“如何管理Cookies”部分中的说明进行操作。
# 什么是Cookies
Cookies是一种小型文本文件,当你访问网站时,网站可能会将这些文件放在你的计算机或设备上。Cookies会帮助网站或其他网站在你下次访问时识别你的设备。网站信标、像素或其他类似文件也可以做同样的事情。我在此政策中使用术语“Cookies”来指代以这种方式收集信息的所有文件
Cookies提供许多功能。例如,他们可以帮助我记住你喜欢深色模式还是浅色模式,分析我网站的效果
大多数网站使用Cookies来收集和保留有关其访问者的个人信息。大多数Cookies收集一般信息,例如访问者如何到达和使用我的网站,他们使用的设备,他们的互联网协议地址(IP地址),他们正在查看的页面及其大致位置(例如,我将能够认识到你正在从深圳访问我的网站)
# Cookies的目的
我将Cookies分为以下类别:
| 用途 | 说明 |
| :----: | :----: |
| 授权 | 你访问我的网站时,我可通过 Cookie 提供正确信息,为你打造个性化的体验。例如:Cookie会告知你通过搜索引擎搜索的具体内容来改善文章的标题优化关键词、或者创建更符合你搜索需求的文章内容 |
| 安全措施 | 我通过 Cookie 启用及支持安全功能,监控和防止可疑活动、欺诈性流量和违反版权协议的行为 |
| 偏好、功能和服务 | 我使用功能性Cookies来让我记住你的偏好,或保存你向我提供的有关你的喜好或其他信息 |
| 个性化广告 | 本站及所属旗下产品、IP没有个性化广告 |
| 网站性能、分析和研究 | 我使用这些cookie来监控网站性能。这使我能够通过快速识别和解决出现的任何问题来提供高质量的体验 |
# 我的网站上的第三方Cookies
我还在我的网站上使用属于上述类别的第三方Cookies,用于以下目的:
* 帮助我监控网站上的流量;
* 识别欺诈或非人为性流量;
* 协助市场调研;
* 改善网站功能;
* 监督我的版权协议和隐私政策的遵守情况
| 第三方服务商 | 用途 |
| :----: | :----: |
| 51.la | 用于统计站内访问情况,进行针对性优化异常 |
| 灵雀应用监控 | 监控系统将网站所发生的程序异常、资源加载异常、网络请求异常上报汇总,同时对页面和资源进行性能监控和卡顿监测,分析不同维度下的耗时情况,快速解决遇到的问题 |
| Twikoo | Twikoo评论服务,自建存储私有,用于本站的评论服务 |
# 如何管理Cookies
在将Cookie放置在你的计算机或设备上之前,系统会显示一个弹出窗口,要求你同意设置这些Cookie。通过同意放置Cookies,你可以让我为你提供最佳的体验和服务。如果你愿意,你可以通过浏览器设置关闭本站的Cookie来拒绝同意放置Cookies;但是,我网站的部分功能可能无法完全或按预期运行。你有机会允许和/或拒绝使用Cookie。你可以通过访问浏览器设置随时返回到你的Cookie偏好设置以查看和/或删除它们
除了我提供的控件之外,你还可以选择在Internet浏览器中启用或禁用Cookie。大多数互联网浏览器还允许你选择是要禁用所有Cookie还是仅禁用第三方Cookie。默认情况下,大多数互联网浏览器都接受Cookie,但这可以更改。有关详细信息,请参阅Internet浏览器中的帮助菜单或设备随附的文档
以下链接提供了有关如何在所有主流浏览器中控制Cookie的说明:
* [**Google Chrome**](https://support.google.com/chrome/answer/95647?hl=en)
* [**IE**](https://support.microsoft.com/en-us/help/260971/description-of-cookies)
* [**Safari(桌面版)**](https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac)
* [**Safari(移动版)**](https://support.apple.com/en-us/HT201265)
* [**火狐浏览器**](https://support.mozilla.org/en-US/kb/Cookies-information-websites-store-on-your-computer)
* [**Android浏览器**](http://support.google.com/ics/nexus/bin/answer.py?hl=en&answer=2425067)
如你使用其他浏览器,请参阅浏览器制造商提供的文档。
有关Cookies以及如何管理Cookies的更多信息,请访问:
[**wikipedia.org**](https://zh.wikipedia.org/wiki/Cookie) 、 [**allaboutCookies.org**](https://www.allaboutcookies.org/) 或 [**aboutCookies.org**](https://www.aboutcookies.org/)
# 更多信息
有关我数据处理的更多信息,请参阅我的隐私政策。如果你对此Cookie政策有任何疑问,请通过 `bishsh2006@outlook.com` 与我联系
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 KiB

-5
View File
@@ -1,5 +0,0 @@
---
title: 友情链接
date: 2025-08-09 20:15:33
type: 'link'
---
-101
View File
@@ -1,101 +0,0 @@
---
title: 隐私政策
date: 2025-08-10 12:04:24
top_img: false
aside: false
comments: false
---
本站非常重视用户的隐私和个人信息保护。你在使用网站时,可能会收集和使用你的相关信息;通过《隐私政策》向你说明在你访问 `meuicat.com`网站时,如何收集、使用、保存、共享和转让这些信息
## 最新更新时间
协议最新更新时间为:**2025-08-10**
### 一、在访问时如何收集和使用你的个人信息
**在访问时,收集访问信息的服务会收集不限于以下信息:**
<font color="Peru">**网络身份标识信息**</font>(浏览器UA、IP地址)
<font color="Peru">**设备信息**</font>
<font color="Peru">**浏览过程**</font>(操作方式、浏览方式与时长、性能与网络加载情况)
**在访问时,本站内置的第三方服务会通过以下或更多途径,来获取你的以下或更多信息:**
* <font color="ForestGreen">**fastly cdn**</font> 内容分发服务
**在访问时,本人仅会处于以下目的,使用你的个人信息:**
* 用于网站的优化与文章分类,用户优化文章
* 恶意访问识别,用于维护网站
* 恶意攻击排查,用于维护网站
* 网站点击情况监测,用于优化网站页面
* 网站加载情况监测,用于优化网站性能
* 用于网站搜索结果优化
* 浏览数据的展示
**第三方信息获取方将您的数据用于以下用途:**
第三方可能会用于其他目的,详情请访问对应第三方服务提供的隐私协议
### 二、在评论时如何收集和使用你的个人信息
评论使用的是无登陆系统的匿名评论系统,你可以自愿填写真实的、或者虚假的信息作为你评论的展示信息。<font color="Peru">**鼓励你使用不易被人恶意识别的昵称进行评论**</font>,但是建议你填写<font color="Peru">**真实的邮箱**</font>以便收到回复(邮箱信息不会被公开)
在你评论时,会额外收集你的个人信息
#### 在评论时,本站内置的第三方服务会通过以下或更多途径,来获取你的相关信息:
* <font color="ForestGreen">**cravatar**</font> 会收集你的访问信息、评论填写的个人信息用于展示头像
#### 在访问时,本人仅会处于以下目的,收集并使用以下信息:
* 评论时会记录你的QQ帐号(如果在邮箱位置填写QQ邮箱或QQ号),方便获取你的QQ头像。如果使用QQ邮箱但不想展示QQ头像,可以填写不含QQ号的QQ邮箱。(主动,存储)
* 评论时会记录你的邮箱,当我回复后会通过邮件通知你(主动,存储,不会公开邮箱)
* 评论时会记录你的网址,用于点击头像时快速进入你的网站(主动,存储)
* 评论时会记录你的IP地址,作为反垃圾的用户判别依据(被动,存储,不会公开IP,会公开IP所在城市)
* 评论会记录你的浏览器代理,用作展示系统版本、浏览器版本方便展示你使用的设备,快速定位问题(被动,存储)
### 三、如何使用 Cookies 和本地 LocalStorage 存储
本站为实现深色模式切换,不蒜子的uv统计等功能,会在你的浏览器中进行本地存储,你可以随时清除浏览器中保存的所有 Cookies 以及 LocalStorage,不影响你的正常使用
本博客中的以下业务会在你的计算机上主动存储数据:
#### <font color="Peru">**内置服务**</font>
* 评论系统
#### <font color="Peru">**第三方服务**</font>
* fastlycdn
关于如何使用你的Cookies,请访问 [**Cookies政策**](/cookies/)
关于如何[**在 Chrome 中清除、启用和管理 Cookie**](https://support.google.com/chrome/answer/95647?co=GENIE.Platform=Desktop&hl=zh-Hans)
### 四、如何共享、转让你的个人信息
本人不会与任何公司、组织和个人共享你的隐私信息
本人不会将你的个人信息转让给任何公司、组织和个人
第三方服务的共享、转让情况详见对应服务的隐私协议
### 五、附属协议
当监测到存在恶意访问、恶意请求、恶意攻击、恶意评论的行为时,为了防止增大受害范围,可能会临时将你的ip地址及访问信息短期内添加到黑名单,短期内禁止访问
此黑名单可能被公开,并共享给其他站点(主体并非本人)使用,包括但不限于:IP地址、设备信息、地理位置
-8
View File
@@ -1,8 +0,0 @@
---
title: 说说
aside: false
---
<div id="talk"></div>
<div class="limit">- 只展示最近30条说说 -</div>
<script src="/js/shuoshuo.js" no-pjax></script>
-7
View File
@@ -1,7 +0,0 @@
---
title: 标签
date: 2025-08-09 21:33:16
type: tags
comments: false
aside: false
---
+14 -43
View File
@@ -29,6 +29,7 @@ const currentYear = new Date().getFullYear();
</script>
<link rel="stylesheet" href="https://cdn.jsdmirror.com/npm/instantsearch.css/themes/reset-min.css" />
<link rel="stylesheet" href="https://cdn.jsdmirror.com/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css" />
<link rel="stylesheet" href="https://cdn.jsdmirror.com/npm/@fortawesome/fontawesome-free@6.7.2/css/all.min.css" />
<title>{pageTitle}</title>
</head>
<body>
@@ -36,46 +37,25 @@ const currentYear = new Date().getFullYear();
<nav class="nav">
<a class="brand" href="/">Bi's Blog</a>
<div class="nav-links nav-center">
<a href="/archives/">归档</a>
<a href="/categories/">分类</a>
<a href="/tags/">标签</a>
<a href="/shuoshuo/">说说</a>
<a href="/about/">关于</a>
<a href="/link/">友链</a>
<a href="/archives/"><i class="fa-solid fa-box-archive nav-icon" aria-hidden="true"></i><span>归档</span></a>
<a href="/categories/"><i class="fa-solid fa-folder-open nav-icon" aria-hidden="true"></i><span>分类</span></a>
<a href="/tags/"><i class="fa-solid fa-tags nav-icon" aria-hidden="true"></i><span>标签</span></a>
<a href="/shuoshuo/"><i class="fa-regular fa-comments nav-icon" aria-hidden="true"></i><span>说说</span></a>
<a href="/about/"><i class="fa-solid fa-heart nav-icon" aria-hidden="true"></i><span>关于</span></a>
<a href="/link/"><i class="fa-solid fa-link nav-icon" aria-hidden="true"></i><span>友链</span></a>
</div>
<div class="nav-links nav-actions">
<button class="nav-random" type="button" onclick="randomPost()" aria-label="前往随机文章" title="前往随机文章">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="M16 3h5v5" />
<path d="M4 20 21 3" />
<path d="M21 16v5h-5" />
<path d="M15 15l6 6" />
<path d="M4 4l5 5" />
</svg>
<i class="fa-solid fa-shuffle nav-icon" aria-hidden="true"></i>
<span>随机文章</span>
</button>
<button class="nav-search search-typesense-trigger" type="button" aria-label="搜索" title="搜索">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="m21 21-4.3-4.3" />
<circle cx="11" cy="11" r="7" />
</svg>
<i class="fa-solid fa-magnifying-glass nav-icon" aria-hidden="true"></i>
<span>搜索</span>
</button>
<button class="theme-toggle" type="button" aria-label="切换夜间模式" title="切换夜间模式" data-theme-toggle>
<svg class="theme-toggle-sun" aria-hidden="true" viewBox="0 0 24 24">
<circle cx="12" cy="12" r="4" />
<path d="M12 2v2" />
<path d="M12 20v2" />
<path d="m4.93 4.93 1.41 1.41" />
<path d="m17.66 17.66 1.41 1.41" />
<path d="M2 12h2" />
<path d="M20 12h2" />
<path d="m6.34 17.66-1.41 1.41" />
<path d="m19.07 4.93-1.41 1.41" />
</svg>
<svg class="theme-toggle-moon" aria-hidden="true" viewBox="0 0 24 24">
<path d="M20.99 13.49A8.5 8.5 0 1 1 10.51 3.01 6.5 6.5 0 1 0 20.99 13.49Z" />
</svg>
<i class="fa-solid fa-sun theme-toggle-sun nav-icon" aria-hidden="true"></i>
<i class="fa-solid fa-moon theme-toggle-moon nav-icon" aria-hidden="true"></i>
</button>
</div>
</nav>
@@ -97,22 +77,13 @@ const currentYear = new Date().getFullYear();
<p>联系方式</p>
<div class="footer-socials">
<a href="mailto:bishsh2006@gmail.com" aria-label="发送邮件" title="发送邮件">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="M4 6h16v12H4z" />
<path d="m4 7 8 6 8-6" />
</svg>
<i class="fa-solid fa-envelope" aria-hidden="true"></i>
</a>
<a href="/rss.xml" aria-label="订阅 RSS" title="订阅 RSS">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="M6 17h.01" />
<path d="M6 7a11 11 0 0 1 11 11" />
<path d="M6 12a6 6 0 0 1 6 6" />
</svg>
<i class="fa-solid fa-rss" aria-hidden="true"></i>
</a>
<a href="https://github.com/bishshi" target="_blank" rel="noreferrer" aria-label="GitHub" title="GitHub">
<svg aria-hidden="true" viewBox="0 0 24 24">
<path d="M12 3a9 9 0 0 0-3 17c.5.1.7-.2.7-.5v-1.8c-2.8.6-3.4-1.2-3.4-1.2-.4-1.1-1-1.4-1-1.4-.9-.6.1-.6.1-.6 1 0 1.5 1 1.5 1 .9 1.5 2.3 1.1 2.9.8.1-.6.3-1.1.6-1.3-2.2-.2-4.5-1.1-4.5-4.8 0-1.1.4-1.9 1-2.6-.1-.3-.4-1.3.1-2.6 0 0 .8-.3 2.7 1a9 9 0 0 1 4.9 0c1.8-1.3 2.6-1 2.6-1 .5 1.3.2 2.3.1 2.6.6.7 1 1.6 1 2.6 0 3.7-2.3 4.5-4.5 4.8.4.3.7 1 .7 2v2.5c0 .3.2.6.7.5A9 9 0 0 0 12 3Z" />
</svg>
<i class="fa-brands fa-github" aria-hidden="true"></i>
</a>
</div>
<nav class="footer-contact-links" aria-label="页脚链接">
+5
View File
@@ -16,6 +16,11 @@ export function getSitePages(): SitePage[] {
.filter(([path]) => {
if (path.includes('/_posts/') || path.includes('/_drafts/')) return false;
return ![
'/source/about/index.md',
'/source/cc/index.md',
'/source/cookie/index.md',
'/source/link/index.md',
'/source/privacy/index.md',
'/source/categories/index.md',
'/source/tags/index.md',
'/source/shuoshuo/index.md',
+45
View File
@@ -0,0 +1,45 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro';
import PageHeaderCard from '@/components/PageHeaderCard.astro';
---
<BaseLayout title="关于" description="关于 Bi's Blog 和站长 Bi 的简短介绍。">
<section class="content-wrap narrow page-with-card native-page">
<PageHeaderCard title="关于" subtitle="这里记录折腾、学习和一些普通日子的回声。" />
</section>
<article class="article page-article native-page-article">
<div class="prose">
<p>
你好,我是 Bi。这个博客主要用来保存技术实践、生活片段和那些一时半会儿不想让它们散掉的想法。
</p>
<div class="native-feature-grid">
<section>
<i class="fa-solid fa-code" aria-hidden="true"></i>
<h2>技术笔记</h2>
<p>记录服务器、网络、开发环境、图像处理和一些实际踩坑过程。</p>
</section>
<section>
<i class="fa-regular fa-comments" aria-hidden="true"></i>
<h2>日常碎片</h2>
<p>把普通的一天、突然冒出来的灵感和一点点情绪留在这里。</p>
</section>
<section>
<i class="fa-solid fa-seedling" aria-hidden="true"></i>
<h2>持续生长</h2>
<p>网站本身也在慢慢迁移和重写,新的页面会逐步变成原生实现。</p>
</section>
</div>
<h2>联系</h2>
<p>
如果你想交流文章内容、友链或网站相关问题,可以通过
<a href="mailto:bishsh2006@gmail.com">bishsh2006@gmail.com</a>
联系我,也可以去
<a href="https://github.com/bishshi" target="_blank" rel="noreferrer">GitHub</a>
找到我。
</p>
</div>
</article>
</BaseLayout>
+41
View File
@@ -0,0 +1,41 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro';
import PageHeaderCard from '@/components/PageHeaderCard.astro';
---
<BaseLayout title="版权协议" description="Bi's Blog 的内容版权与转载说明。">
<section class="content-wrap narrow page-with-card native-page">
<PageHeaderCard title="版权协议" subtitle="关于本站原创内容的转载、引用和使用方式。" />
</section>
<article class="article page-article native-page-article">
<div class="prose">
<p>
除特别说明外,本站原创文章采用
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans" target="_blank" rel="noreferrer">
CC BY-NC-SA 4.0
</a>
协议发布。转载或引用时,请保留原文链接并注明来源。
</p>
<h2>你可以做什么</h2>
<ul>
<li>在非商业场景下分享、转载本站原创文章。</li>
<li>在文章、笔记或资料中引用少量内容作为参考。</li>
<li>基于内容进行讨论、评论或提出修改建议。</li>
</ul>
<h2>需要遵守什么</h2>
<ul>
<li>注明作者和原文链接,建议使用可点击的完整 URL。</li>
<li>不得将本站原创内容用于广告、付费阅读、商业课程等商业用途。</li>
<li>改编、整理或二次发布时,应继续使用相同或兼容的共享协议。</li>
</ul>
<h2>例外情况</h2>
<p>
第三方主题、插件、外部图片或引用资料遵循其原作者的授权。网站源码中由本人编写的样式与脚本,如无额外说明,按仓库内声明为准。
</p>
</div>
</article>
</BaseLayout>
+62
View File
@@ -0,0 +1,62 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro';
import PageHeaderCard from '@/components/PageHeaderCard.astro';
---
<BaseLayout title="Cookies" description="Bi's Blog 的 Cookie 与本地存储说明。">
<section class="content-wrap narrow page-with-card native-page">
<PageHeaderCard title="Cookies" subtitle="说明本站如何使用 Cookie 与浏览器本地存储。" />
</section>
<article class="article page-article native-page-article">
<div class="prose">
<p>
本站会使用少量 Cookie 或 LocalStorage 来保存主题偏好、改善访问体验,并辅助完成评论、防滥用和统计分析等功能。
本页面应与 <a href="/privacy/">隐私政策</a> 一起阅读。
</p>
<h2>什么是 Cookies</h2>
<p>
Cookies 是网站保存在浏览器中的小型文本数据。它可以帮助网站识别同一浏览器、记住你的偏好,或让某些功能保持可用。
</p>
<h2>本站使用目的</h2>
<div class="native-table-wrap">
<table>
<thead>
<tr>
<th>类型</th>
<th>用途</th>
</tr>
</thead>
<tbody>
<tr>
<td>偏好设置</td>
<td>保存深色/浅色主题等本地偏好。</td>
</tr>
<tr>
<td>安全与防滥用</td>
<td>辅助识别异常访问、恶意请求和垃圾评论。</td>
</tr>
<tr>
<td>评论服务</td>
<td>评论系统可能会保存昵称、邮箱、头像等你主动填写的信息。</td>
</tr>
<tr>
<td>访问分析</td>
<td>了解页面访问情况,用于优化文章和站点性能。</td>
</tr>
</tbody>
</table>
</div>
<h2>如何管理</h2>
<p>
你可以随时在浏览器设置中清除或禁用 Cookie 与站点数据。禁用后,评论、主题偏好、统计等功能可能无法按预期工作,但不影响阅读文章。
</p>
<h2>联系</h2>
<p>如果你对 Cookie 使用方式有疑问,可以发送邮件至 <a href="mailto:bishsh2006@gmail.com">bishsh2006@gmail.com</a>。</p>
</div>
</article>
</BaseLayout>
+47
View File
@@ -0,0 +1,47 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro';
import PageHeaderCard from '@/components/PageHeaderCard.astro';
const friends = [
{
name: 'GitHub',
url: 'https://github.com/bishshi',
avatar: '/images/Bi.ico',
description: '站长的 GitHub 主页',
},
];
---
<BaseLayout title="友情链接" description="Bi's Blog 的友情链接页面。">
<section class="content-wrap narrow native-page">
<PageHeaderCard title="友情链接" subtitle="把仍在发光的角落放在一起。" />
<div class="friend-link-grid" aria-label="友情链接列表">
{friends.map((friend) => (
<a class="friend-link-card" href={friend.url} target="_blank" rel="noreferrer">
<img src={friend.avatar} alt="" loading="lazy" />
<span>
<strong>{friend.name}</strong>
<em>{friend.description}</em>
</span>
<i class="fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i>
</a>
))}
</div>
<article class="article native-page-article link-apply-card">
<div class="prose">
<h2>友链申请</h2>
<p>
欢迎长期维护、内容原创、访问稳定的个人站点交换友链。你可以通过邮件发送站点名称、地址、头像和一句简介。
</p>
<ul>
<li>站点名称:Bi's Blog</li>
<li>站点地址:https://blog.biss.click/</li>
<li>头像地址:https://blog.biss.click/images/Bi.ico</li>
<li>站点简介:好奇心转化为代码的空间。</li>
</ul>
</div>
</article>
</section>
</BaseLayout>
+47
View File
@@ -0,0 +1,47 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro';
import PageHeaderCard from '@/components/PageHeaderCard.astro';
---
<BaseLayout title="隐私政策" description="Bi's Blog 的隐私与数据处理说明。">
<section class="content-wrap narrow page-with-card native-page">
<PageHeaderCard title="隐私政策" subtitle="说明访问本站时可能涉及的数据收集与使用方式。" />
</section>
<article class="article page-article native-page-article">
<div class="prose">
<p>
本站重视访问者的隐私。为了提供基础访问、评论、防滥用和体验优化能力,本站及其第三方服务可能会处理少量访问数据。
</p>
<h2>可能收集的信息</h2>
<ul>
<li>访问日志:IP 地址、浏览器 User-Agent、访问时间、请求路径等。</li>
<li>设备与浏览信息:页面加载情况、访问来源、基础性能数据等。</li>
<li>评论信息:你主动填写的昵称、邮箱、站点地址和评论内容。</li>
<li>本地存储:主题偏好、评论状态等保存在浏览器中的数据。</li>
</ul>
<h2>使用目的</h2>
<ul>
<li>保障网站安全,识别异常请求和垃圾评论。</li>
<li>优化页面性能、文章分类和搜索体验。</li>
<li>在有回复时通过评论系统通知你。</li>
<li>展示必要的评论头像、昵称和站点链接。</li>
</ul>
<h2>第三方服务</h2>
<p>
本站可能使用 CDN、评论、头像、搜索或统计分析服务。第三方服务会根据其自身政策处理数据,建议你阅读对应服务的隐私说明。
</p>
<h2>Cookie 与本地存储</h2>
<p>
关于 Cookie 和 LocalStorage 的更多说明,请查看 <a href="/cookie/">Cookies 页面</a>。你可以在浏览器中清除这些数据。
</p>
<h2>联系</h2>
<p>如果你希望删除评论或询问隐私相关问题,可以发送邮件至 <a href="mailto:bishsh2006@gmail.com">bishsh2006@gmail.com</a>。</p>
</div>
</article>
</BaseLayout>
+144 -22
View File
@@ -142,6 +142,9 @@ a {
.nav-random,
.nav-search,
.theme-toggle {
display: inline-flex;
align-items: center;
gap: 6px;
border: 1px solid transparent;
border-radius: 999px;
padding: 7px 12px;
@@ -156,9 +159,6 @@ a {
.nav-search,
.nav-random,
.theme-toggle {
display: inline-flex;
align-items: center;
gap: 6px;
color: inherit;
font: inherit;
line-height: inherit;
@@ -166,16 +166,14 @@ a {
cursor: pointer;
}
.nav-search svg,
.nav-random svg,
.theme-toggle svg {
.nav-icon {
display: inline-grid;
width: 16px;
min-width: 16px;
height: 16px;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
place-items: center;
font-size: 0.95em;
line-height: 1;
}
.theme-toggle {
@@ -2378,6 +2376,121 @@ meting-js {
transform: translateY(-1px);
}
.native-page {
margin-top: 40px;
}
.native-page-article {
overflow: hidden;
}
.native-feature-grid,
.friend-link-grid {
display: grid;
gap: 16px;
}
.native-feature-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
margin: 28px 0;
}
.native-feature-grid section,
.friend-link-card {
border: 1px solid rgba(15, 118, 110, 0.14);
border-radius: 8px;
background: rgba(236, 253, 245, 0.58);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}
.native-feature-grid section {
padding: 18px;
}
.native-feature-grid i {
display: grid;
width: 42px;
height: 42px;
margin-bottom: 12px;
place-items: center;
border-radius: 8px;
color: #fff;
background: #3eb8be;
}
.native-feature-grid h2 {
margin: 0 0 8px;
font-size: 1.12rem;
}
.native-feature-grid p {
margin: 0;
color: var(--muted);
}
.native-table-wrap {
overflow-x: auto;
}
.friend-link-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
margin: 0 0 24px;
}
.friend-link-card {
display: grid;
grid-template-columns: 58px minmax(0, 1fr) auto;
align-items: center;
gap: 14px;
padding: 16px;
transition:
border-color 0.2s ease,
background-color 0.2s ease,
transform 0.2s ease;
}
.friend-link-card:hover {
border-color: rgba(15, 118, 110, 0.28);
background: rgba(236, 253, 245, 0.78);
transform: translateY(-2px);
}
.friend-link-card img {
width: 58px;
height: 58px;
border-radius: 8px;
object-fit: cover;
}
.friend-link-card span {
display: grid;
min-width: 0;
gap: 2px;
}
.friend-link-card strong {
color: #33433f;
font-size: 1.05rem;
}
.friend-link-card em {
overflow: hidden;
color: var(--muted);
font-size: 0.9rem;
font-style: normal;
text-overflow: ellipsis;
white-space: nowrap;
}
.friend-link-card i {
color: var(--accent);
}
.link-apply-card {
width: 100%;
margin-top: 0;
}
:root[data-theme='dark'] .external-redirect-panel {
border-color: rgba(174, 205, 197, 0.18);
background:
@@ -2402,6 +2515,16 @@ meting-js {
color: #dce9e6;
}
:root[data-theme='dark'] .native-feature-grid section,
:root[data-theme='dark'] .friend-link-card {
border-color: rgba(114, 222, 210, 0.2);
background: rgba(114, 222, 210, 0.1);
}
:root[data-theme='dark'] .friend-link-card strong {
color: #edf7f5;
}
.site-footer {
position: relative;
margin-top: 64px;
@@ -2506,19 +2629,13 @@ meting-js {
transform: translateY(-2px);
}
.footer-socials svg {
.footer-socials i {
width: 18px;
height: 18px;
fill: none;
stroke: currentColor;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 2;
}
.footer-socials a:last-child svg {
fill: currentColor;
stroke: none;
display: inline-grid;
place-items: center;
font-size: 1.08rem;
line-height: 1;
}
.footer-contact-links,
@@ -2794,6 +2911,11 @@ meting-js {
grid-template-columns: 1fr;
}
.native-feature-grid,
.friend-link-grid {
grid-template-columns: 1fr;
}
#talk .talk_item {
width: 100%;
margin-right: 0;