# 背景
众所周知,洛谷分为国内站和国际站,而国内站只能查看自己的剪贴板和自己的文章,以及全站推荐的文章,而个人主页更是在最近的更新里改成了仅国际站可见。这时候我们便可以使用[洛谷保存站](https://www.luogu.me/),下文简称保存站。
::::info[什么是洛谷保存站?]
洛谷保存站是一个由 [Federico2903](https://www.luogu.com.cn/user/381949) 运营的第三方网站,可以实现保存洛谷的剪贴板、用户主页、文章等,并且不会因地区限制而访问失败。
::::
之前也有过检测到无法访问就跳转到保存站的脚本,但是无一例外都必须要去访问保存站才能查看,而保存站终究还是第三方网站,界面和洛谷大相径庭,在查找资料时需要多次跳转,容易打断思路,而且也无法快速跳转到洛谷相关页面。于是我和 DeepSeek 制作了这个脚本,能够通过 [保存站 API](https://api.luogu.me)([文档](https://luogu-saver-next.apifox.cn/))以及洛谷官方 API 获取用户、文章、剪贴板信息,嵌入到洛谷当中。
# 功能
– 非自己、管理员的主页从保存站获取个人简介并追加卡片。
– 访问无法访问的剪贴板时自动嵌入内容。
– 访问无法访问的文章时自动嵌入内容。
– 在文章、个人简介、剪贴板处可以发送保存站更新请求。
– 文章、剪切板注入样式实现语法高亮以及 Markdown 框折叠。
# 截图
个人专栏

个人主页

剪贴板

# 原理
## 个人简介
通过 API 获取个人简介 Markdown 渲染后的 HTML,然后追加一个卡片,将获取到的 HTML 嵌入。
## 剪贴板
访问一篇无法访问的剪贴板时,会提示安全访问中心,是否要跳转到 `www.luogu.com/xxx` ,检测到这个页面后,脚本会在页面上覆盖一个全屏 iframe 访问模版剪贴板,之所以用 iframe 是为了尽可能实现原生体验,实现 1:1 还原洛谷界面,并且能够实现地址栏不动,然后通过动态检测替换掉模版内容,并创建一个更新按钮。
## 专栏
大部分原理同剪贴板,但是需要做的事更多了,因为右侧的目录并不会自动生成,所以脚本会先遍历文章,然后在右侧创建目录,但是会从模版的目录里提取出相关 CSS 然后使用。并且还会将操作栏的点赞、收藏、不推荐修改为不可点击,并替换文本为保存站的点赞数。然后通过洛谷官方 API 获得评论信息并追加。
# 使用
受限于原理限制,需要手动创建一个可以正常访问的剪贴板和文章,剪贴板没有特殊要求,但文章需要有三级标题,比如
“`markdown
# 1
## 2
### 3
“`
然后在专栏中发一个评论,并确保点赞数和收藏数为 0(可以设置为私有)。
然后在浏览器中安装 Tampermonkey。访问安装链接,然后点击安装,如果提示你需要安装 ScriptCat 点击下方的已经安装,继续安装,然后会弹出 Tampermonkey 的安装页面,点击安装即可。刷新原有页面即可生效。部分浏览器需要在插件设置里给 Tampermonkey 开启“允许用户脚本”权限。
[从 ScriptCat 安装](https://scriptcat.org/zh-CN/script-show-page/6736)
最后点击 Tampermonkey 图标,打开管理面板,点击本脚本的编辑按钮,在脚本的 USER_CONFIG 内设置 templatePasteId 为你刚刚创建的剪贴板的 ID,templateArticleId 为你刚刚创建的文章 ID,ID 就是地址栏最后那一串字符,如果模版 ID 无法访问,通常会提示页面结构加载超时。
# 注意事项
因为实现比较复杂,用户徽章会和悬浮菜单去除了,并且目录联动会失效。
由于是第三方渲染的 Markdown,一些洛谷 Markdown 特性无法渲染出来。并且脚本依赖于洛谷的前端命名,如果未来更新了,脚本可能会失效。
模版剪切板和文章不能删除,否则会导致功能异常。
因为仅对页面表面文字进行了替换,一些依赖于页面信息的脚本如 copy-markdown 将无法正确获取文章的 Markdown。
# 结语
欢迎大家使用,如果有 BUG 请在 ScriptCat 中反馈,本页面可能无法及时更新,建议在 ScriptCat 中查看。
目前存在另一个功能相似脚本在模仿我,但请注意本人是最先提出这个想法并制作的,由于对方使用了洛谷官方的加载工具,所以能做到比 iframe 方案更还原,但是可能~~干扰了洛谷运行~~,侵入性大,未来洛谷更新更容易失效。












暂无评论内容