都市探訪少女-凛ver- #7
状态
文章总数
61篇 总字数
8.3万 运营时长
2年8个月分类
标签
AI Arch BF CLI CSS Fuwari Giscus GTK HEO Hyprland JS KDE K签 Linux Lisp LLM Path Pypi Python RSS Textual TUI Vim VTB VUP Whl WP 上海 专业 主题 云朵 享乐 优化 伦理 便利店 俄国 光标 内省 内耗 函数式 分析 创伤 创意 判断 前端 北京 参观 哲学 商业 回忆 国庆 壁纸 天津 女仆 姐妹 字典 安装 实用 对话 工具 库 度假 开发环境 开源 归档 微风 心理 意义 技校 抚远 拥抱 推荐 插件 摄影 政策 故障排查 效果 散文 文件 文化 旅游 日本 显卡 样式 模糊 治愈 浏览器 浦东 浦西 演讲 热力图 特效 猫猫 玩具 环境 甘城 生态 病毒 盘点 直播 社会 社团 视奸 秋游 科幻 移民 窗口 系统 红枫 终端 经济 美化 美缝 耳机 脑操 自动驾驶 苏州 茅山 萌系 补档 解释器 设计 评论 话术 谷子 走路 轮子 辍学 迁移 运维 重构 随机 静安 音频 颜文字 颜色 首都 魔法 麦金塔 鼠标
413 字
2 分钟
在Fuwari中添加评论功能(带黑暗模式)
NOTE此文章转载自:伊卡的记事本
前言首先感谢下面两位博主的文章,本博文是在此基础上编写的
《利用giscus给你的网站添加评论功能》 by AULyPc
《How to integrate Giscus to your Astro Blog》 by Maxence Poutord
https://blog.aulypc0x0.online/posts/add_comment_for_your_website_in_fuwari/
https://www.maxpou.fr/blog/giscus-with-astro/
前提条件导入Giscus的部分请参考《利用giscus给你的网站添加评论功能》
本文中写的改动点只涉及到增加黑暗模式
改动点
- 在
src\components\widget目录下新建Comments.svelte文件
标注的部分需要替换为读者自己的giscus代码,注意第12行不能替换
<section>
<script src="https://giscus.app/client.js"
data-repo="[在此输入仓库]"
data-repo-id="[在此输入仓库 ID]"
data-category="[在此输入分类名]"
data-category-id="[在此输入分类 ID]"
data-mapping="pathname"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="bottom"
data-theme={$mode === DARK_MODE ? 'dark' : 'light'}
data-lang="zh-CN"
crossorigin="anonymous"
async>
</script>
</section>
<script>
import { AUTO_MODE, DARK_MODE } from '@constants/constants.ts'
import { onMount } from 'svelte'
import { writable } from 'svelte/store';
import { getStoredTheme } from '@utils/setting-utils.ts'
const mode = writable(AUTO_MODE)
onMount(() => {
mode.set(getStoredTheme())
})
function updateGiscusTheme() {
const theme = document.documentElement.classList.contains('dark') ? 'dark' : 'light'
const iframe = document.querySelector('iframe.giscus-frame')
if (!iframe) return
iframe.contentWindow.postMessage({ giscus: { setConfig: { theme } } }, 'https://giscus.app')
}
const observer = new MutationObserver(updateGiscusTheme)
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] })
window.onload = () => {
updateGiscusTheme()
}
</script>
- 修改文件
src\pages\friends.astro中的代码
引入Comments组件
---
import MainGridLayout from '../layouts/MainGridLayout.astro'
import { getEntry } from 'astro:content'
import { i18n } from '../i18n/translation'
import I18nKey from '../i18n/i18nKey'
import Markdown from '@components/misc/Markdown.astro'
import Comments from '@components/widget/Comments.svelte'
const friendsPost = await getEntry('spec', 'friends')
用组件代码代替原先的代码
</div>
<script src="https://giscus.app/client.js"
data-repo="[在此输入仓库]"
data-repo-id="[在此输入仓库 ID]"
data-category="[在此输入分类名]"
data-category-id="[在此输入分类 ID]"
data-mapping="pathname"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="bottom"
data-theme="preferred_color_scheme"
data-lang="zh-CN"
crossorigin="anonymous"
async>
</script>
<Comments client:only="svelte"></Comments>
</MainGridLayout>
文件src\pages\posts\[...slug].astro中也是相同的操作,就不重复了
在Fuwari中添加评论功能(带黑暗模式)
https://pinpe.top/posts/comments-with-darkmode/如果此时间过长,文中的信息可能会失去时效性,甚至不再准确。

