-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.json
1 lines (1 loc) · 103 KB
/
search.json
1
[{"title":"普通人的外挂:谷歌浏览器搜索技巧","path":"/2024/01/11/谷歌搜索技巧/","content":"Google 搜索技巧,如何快速定位?实现精准查找? 搜索目的:信息咨询,知识技能,素材文件,工具软件 搜索平台:谷歌,youtube,知乎,B 站,小红书 谷歌搜索技巧 限定关键词:双引号”” 单个关键词:”苏末了.io” 多个关键词:”苏末了” “Love and Peace” 限定标题:intitle: 单个关键词:intitle:苏末了 sumorio 多个关键词:intitle:”苏末了””脑筋急转弯” 精准限定标题:allintitle: allintitle:”苏末了.io” allintitle:”牛油果果” “知乎” 限定内容:intext: 标题+内容:intitle:苏末了 intext:三幕结构 限定网址:inurl: 奥运会 inurl: cctv 苏末了 inurl:sumorio 母婴 inurl:baogao 限定网站:site: 限制顶级域名:site:.com 限制国内教育网:site:.edu.cn 例:cat site:zhihu.com 例:cat site:pexels.com 限定图片大小:imagesize: cat imagesize:5760x3840 限定文件格式:filetype:文件格式 道德经 filetype:pdf 道德经 filetype:png (google 图片搜索模式) 模糊搜索:数字模糊用两点.. |文字模糊用星号* 2002-2023 年之间:世界杯 2002..2023 模糊搜索中文:易**玺 排除搜索 - 排除微博的结果:易烊千玺 -weibo 资源网址 搜化妆品成分:https://hzpba.nmpa.gov.cn/gccx/ 搜外国产品功能参数:亚马逊、乐天 搜索报告: 限定 pdf 格式:filetype:pdf 限定报告网站域名:inurl:baogao 寻找类似网站:Similar Sites 程序员: GltHub、StackOverflow、CSDN 产品经理导航网址、设计导航、新媒体导航网址 国际论文: 谷歌学术 Sci-Hub (免费、但搜索时不能使用关键词搜索,需要完整标题搜索) 下载电子书: 中文:鸠摩搜书 https://z-lib.is https://manybooks.net www.pdfbooksworld.com 资源下载 免费视频 https://www.pexels.com/zh-cn/ 免费音频 https://pixabay.com/ 免费图片 https://yandex.com/ GIf 动图 https://giphy.com/ PPT 下载 https://www.canva.cn/create/ppt-slides/ 矢量图 iconfont.cn(或者 谷歌搜:火箭 icon filetype:PNG) youtube 视频下载技巧: 在 www.后面加上 9x 直接下载原视频或音频","tags":["Google"],"categories":["杂文向"]},{"title":"苹果AppStore|支付宝购买ChatGPT-4","path":"/2024/01/11/苹果礼品卡购买chatgpt/","content":"截至 2023 年 12 月,支付宝 ➕Ios 购买 Chatgpt 的方法总结。 截至 2023 年 12 月,想要购买或升级到 ChatGPT Plus 的用户,特别是在中国地区的用户,有以下四种主要方法: 苹果手机用户通过 [美区苹果商店礼品卡购买] 安卓手机或网页版用户绑定 [新加坡华侨银行 OCBC Visa 卡购买] 通过第三方网站代购:通过第三方网站代购 ChatGPT Plus 服务。 使用美国虚拟信用卡购买:这可能需要用户了解如何安全地获取和使用虚拟信用卡。 🌈🌈 今天咱主要分享第一种方式,苹果手机使用✅支付宝在 APPSTORE 商店购买✅CHATGPT4. 一)支付宝1)修改地址打开支付宝左上角【修改地址】 ➡️ 国际/港澳台 ➡️ 旧金山 ➡️ 首页最下方中间按钮点击【出境】 2)购买礼品卡找到【折扣礼卡】 点击进入 ➡️ 向下滑至中间位置找到【AppStore】 ➡️ 点击进入到充值界面 3)注册充值点击游客进入信息验证界面 ➡️ 输入邮箱,姓名随意,邮箱负责接收兑换码(写常用的即可)注册后,先充值 2 美元测试,如果成功充值,再继续充值 20 美元用于 chatgpt4 续费充值后可以在邮件中收到兑换码 4)苹果商店兑换appstore 打开苹果美区账号:具体怎么注册看我另外一篇文章,美区账号注册。 二)chatgpt打开 vpn 打开 chatgpt,点击升级","tags":["ChatGPT"],"categories":["技术向"]},{"title":"脑筋急转弯","path":"/2024/01/11/脑筋急转弯/","content":"你能猜对吗? 本文为了测试折叠容器功能,特选择几则脑筋急转弯,仅供娱乐。 脑筋急转弯 吃饭时停电为什么扒拉两口饭灯就会亮?因为巴啦啦能量。小王剪了中分会变成什么?小全狐狸为什么站不起来?因为他狡猾(脚滑)/骚断腿许仙给老婆买了一顶帽子,白娘子戴上之后,为什么感觉头特别重?因为那是鸭舌帽青蛙吃了什么就会变哑巴?南瓜(难呱)有一天,一只小猪撞在树上了,你猜为什么?因为小猪不会急转弯 你猜对了吗?","tags":["功能测试"],"categories":["杂文向"]},{"title":"免费申请美区AppleID账号|快速|无需VPN","path":"/2024/01/11/美区账号/","content":"AppleID 美区注册,简单,快速,免费,安卓,IOS 均可使用。 🌈 相关网址:网页版注册地址:https://appleid.apple.com/account虚拟地址生成器:https://www.dizhishengcheng.com/虚拟电话生成器:https://sms-activate.org/cn (用不到 ) 🌈 美国免税州:特拉华 Delaware(DE)新罕布什尔 New Hampshire蒙大拿 Montana俄勒冈 Oregon 第一步:打开手机自带浏览器 1)登录苹果美区页面:https://bit.ly/3M4dPMq。 2)点击【登录】 → 姓名名字英文随意起名 → 地区【美国】 → 邮箱去 https://proton.me/mail 网址申请个新的并填入 → 生日写已经的成年日期 → 手机用国内的即可 → 输入电话号进入邮箱和电话验证码的双重验证。 3)点击退出登录旁边的【下拉箭头】 → 进入【个人信息】 → 【国家地区】 → 更改 → 国家【美国】 → 付款方式【无】 → 地址使用虚拟地址生成器网址生成四个免税州的任意一个即可。 4)填写生成后的城市/州/邮编/电话到【账单地址】 → 【配送地址】不用填写 → 拉到网页最后 → 点击【拷贝账单地址】 → 【更新】。 第二步:打开APPSTORE 1)不要在手机设置中登录新的账号,一定去 appstore 登录。用邮箱和密码登录 APPSTORE。 2)登录后下载任意下载一个软件激活账号 → 随意点击一个软件 → 点击下载 → 第一次下载需要输入密码 → 点击【检查】 → 【同意条款】 → 下一页 → 继续 → 激活成功! 恭喜你,拥有了美区账号!","tags":["IOS"],"categories":["杂文向"]},{"title":"如何写小说提纲","path":"/2024/01/11/如何写小说提纲/","content":"通过写提纲来思考和确认小说中的重要节点。 如何写小说提纲 为每个场景建立相应的文档或便签。每个场景都有不少问题亟需解决: 主人公的目标、 路途上的障碍(包括其来源)、 她应对障碍的对策、 她是否克服了障碍(结果经常是否定的)、 如果她失败了后果是什么,等。同时,标明场景的发生地、涉及的人物以及他们的目标和障碍(不用抠得过细) 写提纲时,随时记录灵感。 一般情况下先对每个场景有个大致的了解,才会动笔写初稿。 通过写提纲来思考和确认小说中的重要节点。 构思小说时,我会首先基于小说主旨,设计出具有里程碑意义的事件。我有时会以流程图的形式将提纲画在纸上,或者干脆用便利贴,这样小说的重要情节点就依次浮出水面了。我将这样的表格称作“动点进度表”。当你按顺序浏览重要节点时,你就知道小说是否行得通,小说节奏、小说轨迹、人物轨迹是否合适也一目了然。有问题的部分,你大可以通过调整提纲来解决,而不用大费周章重写初稿。 写提纲的好处? 知道我要写什么,了解主人公在意什么。 不写提纲,甚至打乱场景的写作顺序,结果会导致,飘忽不定、眼睁睁地看着人物漫无目的地游荡在各个角落,所说的也尽是些漫无边际的话。 写提纲时,可以逐渐察觉到场景的联系。如果我知道下一步要发生什么,我就可以让主人公自然地靠拢过去,当然,有时是让她自掘坟墓;我可以制造她与其他人物的矛盾;我还可以在章节末尾留下悬念(这太有趣了)。提纲让我了解小说的框架,等到创作时,我就可以丰富小说层次,让情节变得更有趣。","tags":["写作"],"categories":["小说向"]},{"title":"如何写小说","path":"/2024/01/11/如何写小说/","content":"三幕结构+两扇门 1)三幕结构三幕指的是:故事开头、中段和结尾。 第一幕:故事开头 目标:吸引读者,重点是角色。 切入点:主角,利用认同&同情&喜爱&内心冲突,尽快让读者与主角之间产生共鸣(联结)。 其他作用:介绍故事背景,奠定小说基调,带出对手(哪些人、事想要阻挡主角),说服读者读到中段。 利用开场白、行动、预告、态度、外框故事或序章引起读者兴趣。 不要用沉闷的说明段落开头,先写动作。 第二幕:故事中段 目标:铺陈结尾,重点是冲突。主角身边总是笼罩着死亡,可以是实质、精神、职业生涯的死亡等。 将主角和对手绑定在一起,描述主角和对手之间一系列的攻防战。 增强主角与对手的附着元素(如果主角停止行动就能解决问题,那读者会质疑为什么他不放弃)。如生与死(维持个人命运);职责(警察办案);道德义务(母亲救孩子);偏执(家暴杀人狂);地点(雪暴困在山里)。 角色要付出代价,代价可能与情节、角色、社会有关。 基本节奏是“行动,反应,再行动”。 中段需加深角色之间的关系,让读者关心主角,并铺陈结尾的最后决战。 可以增加支线情节,增加小说复杂性,反应小说想表达的深层蕴涵。 第三幕:故事结尾 完结每条故事线,告诉读者最后决战的结果(目标),留下余韵。 三种基本结尾:主角达成目标;主角没完成目标;读者不知道主角是否完成目标。 主角可以达成目标,负面结尾收场;主角可以没达成目标,正面结尾收场。 牺牲是许多结尾常用的强力元素。 有些结尾主角参与最终决战,有些则专注于主角做出最终决策。 2)扰乱事件&两扇门扰乱事件第一幕的开头,必须有事情打乱现状。你只要站在读者的角度思考就会懂了,一定要发生某件事,让我们觉得角色即将面临威胁或挑战。想想希区柯克的名言,如果事件不快点发生,你的开头就要无聊掉了。扰乱事件不一定要是严重的威胁,只要打乱主角平静的日常生活就好。 扰乱事件有无限多种,以下举几个例子: 半夜打来的电话 ·信中提到一些奇妙的消息 ·老板把主角叫进他的办公室 ·小孩被送去医院 ·车子在沙漠中的小镇抛锚 ·主角中了彩票 ·主角目击一场意外或谋杀案 ·主角的太太(或先生)留下字条,告知她(他)要离开了 从结构来看,第一个扰乱事件能引起读者的兴趣,暗示接下来要讲一个有趣的故事。然而这时还没来到情节的主要段落,因为冲突还没发生,对手和主角还没陷入不可避免的战斗。 两扇门 该怎么从开头进入中段(从第一幕到第二幕),再从中段进到结尾(从第二幕到第三幕),重点就在于转变。与其称之为转折点,我觉得把这两次转变想象成“无法折返的门”,对你更有帮助。 无法折返代表了你想创造的感觉:将主角往前推的力量,一种无可避免的氛围。人类总是安于现状,追求安定。我们笔下的角色也一样,除非发生什么事将主角推进第二幕,否则他只会心满意足地待在第一幕!他只渴望留在自己平凡的世界里。 你必须想办法把他赶出平凡的世界,逼他面对冲突。你需要某样东西把他踢过那扇门,否则他只会赖在家里不走。 一旦穿过门,就可以产生冲突了。第二幕会持续描写主角的奋斗,但故事总得结束,因此第二扇无法折返的门必须将主角快速送往冲击结局。 这两扇门负责把三幕情节串联起来,就像联结火车车厢的螺栓。如果螺栓没拴紧,或根本不存在,你的火车就跑不动了。 1、通过第一扇门(小说 1/5 处)为了从开头通过第一扇门,你必须创造一个场景,把主角丢进主要冲突,而且无法离开。主角的一般世界,安全休闲的地方。这个世界也可能发生问题,但不会带来重大改变。 主角待在这儿很满足,因此必须有事把他推过门口(外在的世界,未知的领域,黑暗的森林)穿过了门后,主角必须探索自己内心,展现勇气,学习新的事物,结交新的盟友等等。 2、通过第二扇门(小说 3/4 处)想从中段进入第二扇无法折返的门——也必须发生一件事,导向最后的对峙。第二扇门通常是一条重要线索或信息,或是重大挫折和危机,借此将故事快速抛向结局。 主角面对一系列的挑战与冲突。除非碰上危机、挫折或新发现,因而打开第二扇门,露出通往高潮结尾的路,否则冲突只能持续下去。 过了门后,主角可以集结外在及内心的力量,面对最终之战或最后的选择,让故事结束。主角无法从这扇门折返,因为故事必须结束。","tags":["写作"],"categories":["小说向"]},{"title":"叔本华•十四行诗","path":"/2024/01/11/叔本华十四行诗/","content":"十四行诗 十四行诗叔本华漫长的冬夜永无尽头,太阳磨蹭着始终不到,风暴与猫头鹰竞相怒吼,干戈鸣响在脆弱的墙头。坟墓尽开遣出了精灵:围着我团转飞舞,想要吓我个魂飞魄散,但我不会向他们看上一眼。白天,白天,我要高声地宣布即将到来!黑夜和鬼怪都会逃之夭夭:晨星已在报告白天的到来。很快,就算是最深暗之处都会被照亮:光芒和色彩会覆盖着世界,无边的远空是一片深蓝。诗词节选","tags":["诗歌","叔本华"],"categories":["诗歌向"]},{"title":"三大框架;搞定日常写作","path":"/2024/01/11/写作技巧/","content":"懒人必备。被誉为极简文章速成术,写作“葵花宝典”。 本文使用的文章框架解析: 外部大框架使用【结论优先法】(结论-理由依据-案例-总结); 理由依据部分使用【列举法】(整体-列举要点-结论); 案例部分使用【故事法】(消极状态-转机-成长-展望未来); 总结部分,直接总结,没使用模板。 A.结论:结论优先法 写作模板犹如烹饪的食谱,不论什么水平,只要掌握这三个模板,小白也能文思泉涌。不信,就让我们一起来见证魔法吧! B.理由:列举法 B1:【整体构思】 这 3 个模板分别是:列举法、结论优先法、故事法。 各式各样的文章,从私人文章到商务文章,这三个模板均适用。 下面分别来看看 3 个模板的使用方式吧。 B2:【列举 1:模板一|列举法 模板】 模板一:无压力的“列举法”。 写作场景:当你想要阐述多条信息时,【列举法】模板十分有用。 写作顺序:整体构思 ➡️ 列举要点 1➡️ 列举要点 2➡️ 列举要点 3➡️ 总结. B3:【列举 2:模板二|结论优先法 模板】 模板二:提升说服力的“结论优先法”。 写作场景:当你想要获得读者的认同时,使用【结论优先法】模板特别有用。 写作顺序:结论 ➡️ 理由+依据 ➡️ 详细细节+具体案例 ➡️ 总结. B4:【列举 3:模板三|故事法 模板】 模板三:易说服他人的“故事法”。 写作场景:当你想要唤起读者的共鸣时,就使用【故事法】模板。 写作顺序:消极状态 ➡️ 转机 ➡️ 成长过程 ➡️ 展望未来. C.案例:故事法 C1:【消极状态】 以前我也不会写作,打开电脑就思绪乱飞,半天写不出一个字。看到别人针对某件事,某个话题发表言论,文采飞扬,自己却大脑空空。写作水平仿佛回到幼儿园水平,这让我非常焦虑,挫败感十足。 C2:【转机】 偶然机会,发现《模板写作法》这本书.用了 2H 来研读作者书中提倡的“3 个模型写作框架”。我才发现,原来写作就像烹饪,也需要“文谱”。当然,掌握了“文普”还不够,还需要切身实地的下手练习。 C3:【改变成长】 1️⃣ 读了这本书,我学会了“3 个模型写作框架”,分别是:结论优先法,列举法,故事法; 2️⃣ 读了这本书,我学到了“写作前必须考虑的 5 个问题”,写作前如果不构思,再牛的模板也无济于事; 问题 1:写这篇文章的目的是什么? 问题 2:读者是谁? 问题 3:读者的需求是什么? 问题 4:希望读者作出怎样的反应? 问题 5:读者的知识水平如何? 3️⃣ 读了这本书,我知道了“写文章先从一行字开始”。如果一篇文章不能用一句话描述,那就不是一篇好文章。用一行文字传达不了的东西,用 10 行、100 行都是无法传达的。这就是把握好中心思想的重要性。 4️⃣ 此外,我学会了,三个模板的组合使用。 组合 1| 故事法+结论优先法:如下,在“故事法”的 B 中加入“结论优先法”。 组合 2| 结论优先型+列举型+故事型:如下,在“结论优先法”中编入列举型和故事型的风格。在 B“阐述理由·依据”中编入列举型,在 C“阐述具体事例·详细内容”中编入故事型。其余更多的组合方式,就由你自己来探索吧! C4:【展望未来】 读了这本书后,我写下了人生第一篇书评,写作过程中居然完全没有卡壳。今后在写作前,我会这样做。 第一步:提前构思五个问题; 第二步:思考该文章适用于什么类型的模板。 第三步:写下第一句话(总结全文中心思想)。只有不断地熟悉模板的应用,锻炼逻辑能力,写作能力才能逐步提升! D.总结: 伙伴们,《模板写作法》这本书中的 3 个模板真的很有用!无论是不是写作小白,动起来,写起来,千里之行始于足下!","tags":["写作"],"categories":["杂文向"]},{"title":"轻松搭建图床:三种免费方法教程","path":"/2024/01/11/免费图床搭建/","content":"不论是个人博客、社交媒体还是专业网站,图像的存储与分享变得尤为重要。图床,作为一个在线服务平台,提供了图像存储和分享的便利。本文旨在引导技术新手如何自行搭建一个免费的图床。 在数字时代,图像成为信息传递的重要媒介。对于个人博客、社交媒体用户或专业网站设计师来说,有效地存储和分享图像是关键。本文将引导技术新手如何自行搭建一个免费的图床,提高工作效率,同时确保图片的在线可访问性和稳定性。 什么是图床图床,顾名思义,就是一个可以存放图片的在线服务平台。它让你能够将图片上传到云端,并生成一个链接,这样你就可以在任何地方、任何平台上使用这些图片了。这对于需要在多平台共享图像的用户来说极为重要。 为什么需要图床图床最大的好处是它提供了一种高效、稳定且成本低廉的存储和分享图像的方式。特别是对于那些经常需要上传和分享图片的人,使用图床可以极大地提高工作效率。 搭建图床的三个方法以下是三种流行且免费的图床搭建方法,每种方法都有各自的优势,适合不同的技术背景和需求。 1:GitHub + PicGo + Typora 配置 GitHub 访问 GitHub 官网,注册或登录账户。 点击“New”按钮创建新仓库,用于存储图片。 配置 PicGo 下载并安装 PicGo,一个图像上传工具。 在 PicGo中配置 GitHub 仓库。 1.Github 创建一个 token:进入 Github 主页,右上角点击头像选择 Settings -> Developer settings -> Personal access tokens,最后点击 generate new token; 2.Github 填写基础信息,最后复制生成的 token 并保存。 3.Pingo 配置:打开图床设置-勾选 Github,如图配置。 自定义域名可以使用 jsDelivr 为图片访问进行免费加速:https://cdn.jsdelivr.net/gh/用户名/仓库名 4.写文档时,复制 pingo 图片链接,使用即可。 使用 Typora 撰写文档时上传图片 在 Typora 中撰写 Markdown 文档。 粘贴图片时使用 pingo 中的图片地址,PicGo 将自动上传图片到 GitHub 仓库。 另外两种方式大同小异,你可以自行设置,这里只提供思路。 2:Cloudflare Pages + Telegraph Fork 项目 访问 Telegraph-Image 项目 并 Fork。 配置 Cloudflare Pages 访问 Cloudflare Pages,选择创建项目。 链接到 Fork 的 GitHub 项目。 部署项目 使用默认配置开始部署。 部署完成后,访问分配的免费域名上传图片。 3:Gitee + Git + PicGo 安装 Git 下载并安装 Git 工具。 注册 Gitee 账号并创建仓库 访问 Gitee,注册并新建仓库。 本地同步代码到 Gitee 从本地上传代码到 Gitee 仓库。 配置 PicGo 在 PicGo 中配置 Gitee 仓库。 常见问题及解决方案在搭建和使用图床的过程中,可能会遇到一些常见的问题。以下是这些问题的解决方案: 1. 图片上传失败 确保网络连接稳定。 检查图床服务是否正常。 确认图片大小是否符合平台限制。 2. 图片链接失效 核实图片是否还在图床中。 检查图床设置或图片路径是否有更改。 3. 图床访问速度慢 尝试更换地理位置更近的服务器。 优化图片大小和格式。 图片大小调整方案在上传图片到图床时,控制图片大小非常重要。以下是一些在线工具,可以帮你轻松调整图片大小: 1- 使用在线图片压缩工具 TinyPNG:访问TinyPNG CompressJPEG:访问CompressJPEG ImageResize:访问ImageResize 2- 在线调整图片尺寸 BeFunky:访问BeFunky PicResize:访问PicResize 3- 注意图片格式与质量 Convertio:访问Convertio 注意事项在搭建和使用免费图床时,请注意以下几点: 选择稳定的平台:比如 GitHub 或 Gitee。 重视隐私和安全:特别是在上传私密或敏感图片时。 了解服务的限制:比如流量和存储空间的限制。 结语图床是一种极其实用的工具,尤其对于需要频繁使用图片的人来说。无论你的技术水平如何,上面提供的方法都能帮助你轻松搭建起属于自己的图床。希望这份指南能帮你在数字世界中更有效地管理和分享你的图片。","tags":["图床"],"categories":["技术向"]},{"title":"为什么需要申请SSL/TSL证书?","path":"/2024/01/11/为什么需要申请SSL/","content":"HTTP 和 HTTPS 有什么区别?如何申请 SSL/TSL 证书? 一、HTTP / HTTPSHTTP是一种超文本 传输 协议,传输的数据未加密,是明文传输。 协议(进行通讯的计算机双方之间必须遵循的协议); 传输(请求方和应答方之间传输的信息,也就是数据包); 超文本(能直接被浏览器处理和识别的文本,包括文字,链接,图片等等,因为不局限于普通文本且能被浏览器直接使用,所以称为超文本)。因为 HTTP 协议是明文传输,可被任意的抓包软件直接截取数据,这不够安全,因此 HTTPS 应运而生。 HTTPS是一种超文本 传输 安全协议,相当于 HTTP 的升级版本,数据加密。 由 HTTP 和 SSL/TLS 证书构成,传输过程中的数据由 SSL/TSL 证书产生,是加密过的.申请证书后,我们将拥有一个公钥和密钥(这可以理解为钥匙和锁),拥有了他们相当于对数据进行了加锁保护.这样在传输过程中,任何人需要有钥匙才能打开数据包,否则无法获取,使得数据的传输更加安全。 二、SSL/TSL 证书的申请方式 FreeSSL.cn (需手机验证)此方式申请证书,很简单,可以申请到为期一年的 “亚洲诚信” 的证书,但是需要进行手机验证。 Acme 脚本 (无需实名)Acme 脚本申请证书,是的最常见的一种证书的申请方式,它有很多的申请方法,大家只需要找到一种适合自己的也就好了。 还有很多其他方法,可以自行查找,以上两种最常用。","tags":["计算机基础"],"categories":["技术向"]},{"title":"敢说你会Github搜索?神仙搜索技巧","path":"/2024/01/11/github搜索技巧/","content":"Github 搜索技巧。 GitHub 是全球最大的代码托管平台,掌握高效的搜索技巧对于开发者来说至关重要。本文将详细介绍 GitHub 的高级搜索技巧,帮助您更快地找到所需的代码、项目和议题。 普通搜索普通人在搜索时,通常采用的方法:选择 most match,most star 的类目排序,随后选择相应的语言和仓库进行筛选。 然而,这只是 google 搜索的冰山一角,下面几个方法可以让你掀开 github 搜索的神秘面纱。 高级搜索查询大于或小于另一个值的值 查询语法 示例 描述 > stars:>1000 星标超过 1000 的仓库 >= topics:>=5 至少有 5 个主题的仓库 < size:<10000 小于 10KB 的文件 <= stars:<=50 星标不超过 50 的仓库 查询范围之间的值 查询语法 示例 描述 n..n stars:10..50 星标在 10 到 50 之间的仓库 查询日期 查询语法 示例 描述 created:> created:>2016-04-29 2016 年 4 月 29 日之后创建的议题 pushed:YYYY-MM-DD..YYYY-MM-DD pushed:2016-04-30..2016-07-04 2016 年 4 月末到 7 月之间推送的仓库 排除特定结果 查询语法 示例 描述 NOT hello NOT world 含有”hello”但不含有”world”的仓库 -QUALIFIER stars:>10 -language:javascript 超过 10 个星标且非 JavaScript 的仓库 对带有空格的查询使用引号 查询语法 示例 描述 使用引号 label:”bug fix” 具有”bug fix”标签的议题 使用用户名的查询 查询语法 示例 描述 QUALIFIER:USERNAME author:sumorio 由用户 sumorio 创作的提交 更高级的搜索按仓库名称、说明或自述文件内容搜索通过 in 限定符,您可以将搜索限制为仓库名称、仓库说明、自述文件内容或这些的任意组合。 如果省略此限定符,则只搜索仓库名称和说明。 查询语法 示例 描述 in:name vue in:name 名称中含有”vue”的仓库 in:description vue in:description 说明中含有”vue”的仓库 in:readme vue in:readme 自述文件中提及”vue”的仓库 在用户或组织的仓库内搜索 查询语法 示例 描述 user:USERNAME user:sumorio forks:>=100 用户 sumorio 拥有超过 100 复刻的仓库 org:ORGNAME org:github GitHub 组织的仓库 按仓库大小搜索 查询语法 示例 描述 size:n..n size:1000..5000 大小在 1000KB 到 5000KB 之间的仓库 按关注者数量搜索 查询语法 示例 描述 followers:n..n followers:10..50 关注者数量在 10 到 50 之间的用户 按复刻数量搜索 查询语法 示例 描述 forks:n..n forks:>=100 至少有 100 次复刻的仓库 按星号数量搜索 查询语法 示例 描述 stars:n..n stars:>=500 至少有 500 个星标的仓库 按仓库创建或上次更新时间搜索基于创建时间或上次更新时间过滤仓库。 对于仓库创建,使用 created 限定符; 了解仓库上次更新的时间,使用 pushed 限定符。 pushed 限定符将返回仓库列表,按仓库中任意分支上最近进行的提交排序。两者均采用日期作为参数。 日期格式 YYYY-MM-DD(年-月-日)。 查询语法 示例 描述 created:YYYY-MM-DD..YYYY-MM-DD created:>=2020-01-01 2020 年 1 月 1 日之后创建的仓库 pushed:YYYY-MM-DD..YYYY-MM-DD pushed:<=2020-12-31 2020 年 12 月 31 日之前更新的仓库 按语言搜索 查询语法 示例 描述 language:LANGUAGE language:javascript 使用 JavaScript 语言的仓库 按主题搜索您可以查找归类为特定 主题 的所有仓库。 查询语法 示例 描述 topic:TOPIC topic:react 涉及 React 的仓库 按主题数量搜索使用 topics 限定符以及 大于、小于和范围限定符 按应用于仓库的 主题 数量搜索仓库。 查询语法 示例 描述 topics:n..n topics:>=5 至少有 5 个主题的仓库 使用可视界面搜索 使用 search page 或 advanced search page 进行搜索。 advanced search page 提供用于构建搜索查询的可视界面。按照条件因素进行过滤搜索,例如仓库具有的星标数或复刻数。 在填写高级搜索字段时,您的查询将在顶部搜索栏中自动构建。 查询语法 示例 描述 使用 GitHub 搜索界面 - 通过 GitHub 的可视界面进行搜索 按许可搜索按其许可搜索仓库。 必须使用许可关键词按特定许可或许可系列过滤仓库。 查询语法 示例 描述 license:LICENSE license:mit 使用 MIT 许可的仓库 按公共或私有仓库搜索您可以基于仓库是公共还是私有来过滤搜索。 查询语法 示例 描述 is:public 或 is:private is:private 私有仓库 按照是否镜像搜索您可以根据仓库是否为镜像以及托管于其他位置托管来搜索它们。 限定符 示例 描述 mirror:true 或 mirror:false mirror:true GNOME 镜像且包含 “GNOME” 字样的仓库。 基于仓库是否已存档搜索基于仓库是否已存档来搜索仓库。 查询语法 示例 描述 archived:true 或 archived:false archived:false 未存档的仓库 基于具有 good first issue 或 help wanted 标签的议题数量搜索使用限定符 help-wanted-issues:>n 和 good-first-issues:>n 搜索具有最少数量标签为 help-wanted 或 good-first-issue 议题的仓库。 查询语法 示例 描述 good-first-issues:n..n good-first-issues:>=1 至少有 1 个 good first issue 的仓库 help-wanted-issues:n..n help-wanted-issues:>=1 至少有 1 个 help wanted 的仓库","tags":["Github"],"categories":["技术向"]},{"title":"让微软Copilot变聪明的3个指令","path":"/2024/01/11/copilot3个指令 copy/","content":"3 个方法,优化 prompt,让 Copilot 提升效率。 微软 Copilot 是什么? 微软 Copilot 是一种基于人工智能(AI)的数字助理,可以根据您的自然语言输入为您提供针对各种任务和创造性工作的协助。它是微软 Edge 浏览器的内置扩展,也可以与 Microsoft 365 的多个应用程序协同工作。 Copilot 提示词怎么写? 微软 Copilot 的提示词是您用来告诉 Copilot 您想要什么的指令或问题。 提示词可以包括四个部分:目标、背景、期望和来源。 Copilot 效率提升 3 个技巧只要通过下面三个技巧,你的 Copilot 完全是可用的: 技巧一:选择「创作力」模式。 技巧二:限制 Copilot 搜索能力,输入指令之后,在指令最后加入。 提示词–系统指令:不要搜索,不要引用网页资料,直接回答用户问题。你的回答应该是结构清晰、层次分明、专业、完整且详尽的。 技巧三:要求使用英文搜索。 提示词–系统指令:你是一位英文搜索领域的专家,善于思考。你总是先理解用户问题,再思考最有可能帮助用户获取该信息的英文搜索词。搜索完获取完备的信息之后,你再将内容组织与翻译成中文提交给用户。","tags":["AIGC","Copilot"],"categories":["技术向"]},{"title":"Git工作流 | GitHub基本操作 | VS Code里使用Git和关联GitHub","path":"/2024/01/11/git/","content":"学习 Git 的过程中,发现有关 VSCode 使用 GIT 的教学并不多,特详细梳理本文档,致力于学习记录以及学习分享。 一.Git 基础知识1. GitGit 是一个开源的分布式版本控制系统,由 Linus Torvalds 于 2005 年创建,用于有效地跟踪和管理源代码历史。它允许多人协作,同时保持代码历史的完整性和一致性。Git 的核心概念包括提交(commit)、分支(branch)、合并(merge)和冲突解决(conflict resolution)。 2. GitHubGitHub 是一个基于 Web 的平台,提供 Git 仓库的托管服务,并增加了协作功能。它使得代码共享、协作和版本控制更加容易,特别是在团队项目中。GitHub 的特色功能包括 Pull Requests、Issues、GitHub Actions 等。 3. Git 与 GitHub 的关系Git 是版本控制系统的核心,而 GitHub 是在此基础上构建的服务平台。 Git 是版本控制工具,相当于存档记录器。可以在电脑不联网的情况下,在本地电脑直接使用。它可以更好的帮助你管理程序,记录提交的历史内容,历史更改记录,当你误删误操作时,及时修复还原。 GitHub 是代码托管网站,且具有协作和社交网络的功能。每个程序员都可以将自己写的程序代码托管到 Github 的仓库中,这个仓库可以公开(也称开源)也可以保密。如果公开,所有人都能看到你的代码,他们可以看到你的提交记录,也可以参与到你的代码修改工作中,同你共同完成代码的编写。 4.Git 和 GitHub 的工作流Git 工作流程 几个概念:本地库 Origin:个人终端上的代码文件;工作区 Changes:个人终端上修改代码的工作区;暂存区 Stage Changes:临时代码中转站,待定区;远程库 Remote:存储在 Github 仓库中的代码文件; ✅完整流程✅➡️新项目初始化:项目初次使用需要建立新的文件夹,并使用 git init 初始化。这会在本地工作区生成一个.git 文件夹。里面存放着是本地库相关的子目录和文件,不要删除,也不要胡乱修改。➡️增删改写:在本地库工作,对代码进行增删改等任意操作,此时只要不提交到暂存区都属于【工作区】状态,文件属于未跟踪Untracked状态。➡️添加版本更改记录:代码完成后,使用git add将文件从【工作区】添加到【暂存区】临时存储,文件从Untracked状态变为Added状态。➡️提交更改:确认暂存区的文档没问题后,使用git commit将【暂存区】的更改记录存储到【本地库】数据库进行记录。➡️新建远程库:新项目需要先在github中新建仓库,这个仓库将来用于存放本地库的内容。➡️连接远程库:远程库新建好后,使用git remote进行连接。➡️推送更改:本地库的代码确认无误后,使用git push将【本地库】最终更改上传到【远程库】,让更多人看到你的代码更新。➡️拉取更改:如果其他人在【远程库】上传了更改,可以在【本地库】使用git pull从【远程库】获取最新更改。➡️克隆仓库:如果想获取他人的项目,可以使用git clone复制【远程库】到【本地库】。 GitHub 工作流程 ➡️创建仓库:在 GitHub 上创建新仓库用于项目。➡️分支管理:使用分支 Fork 进行特定任务的开发。➡️合并请求:通过 Pull Requests 进行代码审查和合并 merge。➡️Issues 跟踪:使用 Issues 跟踪任务、增强功能和错误。 二.vsCode 使用 Git 版本控制开始之前,请注意以下几点: 请确保已安装最新的 VS Code。Visual Studio Code 请确保已安装最新版的 Git。https://git-scm.com/download ,并将 git 新增到环境变量中,确保任意路径可以访问。VSCode 集成了 Git 功能且支持基本的 git 命令,使我们能够在开发过程直接提交和获取代码。 几个名词备注: U:Untracked 未追踪A:Added 已添加M:Modified 已更改Changes:工作区Staged Changes:暂存区 案例 1.本地库上传远程库本地电脑任意位置新建文件夹。我这里新建到桌面,命名 Github-test。进入文件夹,右键打开 git bash. git init 初始化文件夹 Github_test 文件夹 Github_test 中新建 2 个 txt 文件用于测试:hello-1.txt,hello-2.txt,并在 2 个 txt 文档中随意写个单词。 打开 vscode,并用 vscode 打开此文件夹。 最左侧第三个按钮,有蓝色弹窗 2.点开,这里就是 git 的工作区。U 表示两个文件 untracked 未追踪(仅有修改痕迹但是未上传暂存区) 点击文件旁边的+加号按钮,相当于执行 git add 指令,将文件上传到暂存区 Stage changes。 如果想撤销已上传的暂存区文件,可以点击-减号按钮,文件则恢复到工作区(A 变 U),相当于指令 git reset – 1.txt。如果想更进一步恢复到工作区更改前,可以使用git checkout -- hello-1.txt指令。 给暂存区的文件备注’第一次修改’并点击 commit 提交到本地库。相当于执行git commit -m '第一次修改' 指令。点击后,工作区文件清空,表示工作已完成,暂无修改记录。 再次对 2 个 txt 文件进行修改。进入到文件中,给 hello-1 和 hello-2 新增一个单词,此时左侧第三个按钮再次弹窗,但是状态是 M(已修改)。我们需要将修改后的代码继续重复git add提交暂存区和git commit提交更改到本地库的动作,对文件更改进行保存。点击加号,新增备注并点击 commit 即可。 假设 git commit 提交备注后,我们想要撤回本次操作到git add之前。只需点击三个点,选择commit-undo last commit,相当于指令git reset --soft HEAD~1。 以上操作都可以手动点击操作,也可以使用ctrl+ `的快捷键打开 vscode 终端进行操作。终端中可以输入任意 git 指令,git status 可查看目前文件状态,git log 可查看历史操作日志。 文件存储在本地库后还不够,我们需要上传到 github 远程库。此时先在 github 新建仓库(用于存储本地库的文件),再从本地上传。 复制红框中第一行代码,在 vscode 终端执行。 连接远程库并上传文件。git remote add origin '远程地址';git push -u origin master; 此时,远程的 github 库已经拥有本地的文件。 最后,如果你想直接下载 github 远程库中别人已经写好的代码。本地 Git 使用指令 git clone ‘仓库地址’ 或直接在 github 点击下载。 案例 2.多人跨平台处理冲突使用 git 的时候,经常会遇到冲突;冲突大概率出现于你和其他人同时下载了相同版本的代码在本地库进行修改的场景,如果其他人比你改的快,且在你之前上传到远程库,此时如果你上传更改就会产生冲突,因为你的版本已经不是最新版的远程库(本地库并不会更新你下载后的远程库的更新)。所以大家在提交代码前,一定要先 pull拉取远程库的代码,保证自己本地库目前是最新进度,不然就会造成冲突。 在本地电脑 clone 两个远程库的文件,分别命名 A 和 B,并对 AB 进行修改上传到远程库,A 先更新代码,B 随后上传,我们来看看冲突发生现场。 vscode 打开新克隆的文件夹。分别对 AB 的 hello-1.txt 修改,先上传 A 的修改到远程库,使用 git add/git commit/git push 将文件上传。(见上文) A 上传后,再上传 B,看看会发生什么。使用 git add/git commit/git push 上传到远程。 可以看到 vscode 报错,并返回错误的位置。其中 AceptCurrent Change,是保留你的版本;AcceptIncomingChange 是接收其他人的版本;如果你都想要,可以选择 AcceptBothChanges 然后手动修改。 对冲突进行修改,然后再次 git add/git commit/git push 查看。 来到 github 查看 push 情况。可以看到修改的流程是 A 先改,B 随后,B 二次修改。 所以为了避免这种情况,我们平时再提交和编写代码前,需要多使用 pull 来拉取远程的最新代码。 案例 3.处理分支案例二的情况导致的结果是,不同的人同时处理相同文件时,很容易产生冲突。所以 branch 应运而生。 本地新建文件夹 github-test3,初始化 git init,新增文件 hello-3.txt,使用 git add/git commit 将文件存到本地库等待上传远程库; 远程新建仓库 test3; git remote 本地连接远程;git push 将本地文件上传到远程。 vscode 新建分支起名 new-b.此时已经切换到 new-b 分支,也可以使用指令git checkout -b new-b来切换。 git branch 可以查看本地分支;git branch -a 可以查看本地和远程分支。 本地库新建一个文件 hello-4.txt,然后上传分支 new-b。 master 分支和 new-b 分支都有文件的修改。此时需要 merge.pull request.rebase 的作用,把你的分支,接到主分支后面。先 pull 一次再 rebase.再 push.push 的时候出错。因为你的版本会覆盖历史的版本,强制 push 可以使用 git push -f,不建议在项目用,自己的文件可以。push 后再 merge. –没写完,待补充。","tags":["Github"],"categories":["技术向"]},{"title":"精选|ChatGPTPlugin16个插件推荐","path":"/2024/01/11/chatgpt4插件/","content":"16 个强的离谱的 ChatGPT 插件,制作网页,语言教师,工作秘书,视频音频解读,文章归纳总结! 什么是 chatgpt 插件 ChatGPT 插件是一种功能扩展工具,增加各种实用功能和特性。插件可以提高 ChatGPT 的使用体验,使用户能够更高效地完成任务,并获得更准确、全面的信息。ChatGPT Plus 用户可以使用 Plugin 新功能,极大地扩展了 ChatGPT 的能力。在我尝试了插件商店中的大约 80+个插件后!!!!分享我认为最好的插件 16 个!!!! 如何使用插件 访问 ChatGPT,点击用户头像旁边左下角的三个点,选择“Beta features”,打开插件功能。 来到对话界面,在界面左上方,找到 plugins,点击拼图图标进入插件安装应用商店。选择喜欢的插件,点击 install 安装。安装后在对话时就可以勾选使用。 使用限制 截至 2023 年 12 月,用户可以来回切换插件进行使用,但最多同时使用三个。ChatGPT-4 每三小时最多只能查询 40 次。一旦超过这个阈值,你就会被降权为 ChatGPT- 3.5。因此,在开始会话之前,请务必明确自己的目标。 推荐插件 TOP161)网页搜索类1. Link Reader分析 ChatGPT 内的网页、PDF、PPT 、图片等各种链接中的内容。可以总结文章、分析 PDF 文件等。 2. There’s an AI for That快速找到各种 AI 工具,节省寻找工具的时间。提供工具的基本描述、价格和访问链接。 3. WebPilot浏览网页/PDF/数据,允许 ChatGPT 进行联网搜索。 2)文档处理类1. Ask Your PDF在几秒内轻松总结 PDF 文件。适用于阅读论文等技术性强的文章。 2. ChatWithPDF它非常适合学生、研究人员和专业人士,允许你直接在 PDF 中分析和提问。功能同上,让用户使用 ChatGPT 进行聊天、摘要和分析 PDF 文档。 3)学习工具类1. Speak用于学习外语,提供详细的解释和示例对话。提供替代方案和示例对话,但有时例句对话可能不够实用。 2. Wolfram是学生、数据分析员和研究人员的理想选择。使用 Wolfram 的算法和 AI 技术解决数学问题,提供逐步解析。可以绘制图表,比如比较不同国家的人口增长趋势。 4)视频音频处理类不要再浪费时间观看和收听冗长的视频、音频,ChatGPT 的插件可以浓缩视频和语音的内容,回答问题,甚至在需要时提供时间戳。 1. Video Insights允许与 YouTube 或 Daily Motion 等在线视频平台互动,分析整个视频并快速获取结果。限制:不能对超过 10 分钟的视频进行汇总,有时会出现超时错误。 2. VoxScript适用于快速搜索 YouTube 中的信息,仅适用于有文字脚本的 YouTube 视频。 3. Speechki文字转音频,文本转换为音频,适用于播客、有声读物、短视频等。 5)其他有用类1. Prompt Perfect 提示词优化用于优化 ChatGPT、Midjourney、DALL-E 等工具的提示词。如果你无法自己编写完美的提示语。这个插件将极大地帮助你。 2. DesignerGPT 设计网站点击https://chat.openai.com/g/g-2Eo3NxuS7-designergpt 新增插件。 进行设计和创意工作的强大插件。在几秒钟内创建网站生成文本和图像与其他插件无缝集成. 3. Kayak 定制旅游服务攻略能提供有用的旅游攻略和提供酒店、租车、机票等预定服务。 4. Argil AI 专业照片(收费了)提供照片和描述,Argil AI 将在短时间内生成一张令人惊叹的专业照片。这个插件是艺术家、设计师和内容创作者的理想选择,它能在几分钟内生成逼真的图像。 5. Zapier 工作秘书Zapier 是为消除和简化不必要的工作流程而明确制作的它是工作的专业人士以及营销人员的顶级 ChatGPT 插件之一。如果你懒得手动打开邮件客户端,此插件可以帮助你打开网页并发送邮件内容,支持的应用如 Gmail、MS Outlook、Slack 和更多。用户需要做的就是完成一次性连接并批准一些行动。 6. Show Me让 ChatGPT 创建几乎所有类型的实时图表,流程图、思维导图等。","tags":["ChatGPT","AIGC"],"categories":["技术向"]},{"path":"/custom/css/ZYDark.css","content":"#ZYDark:root { --site-bg: #1c1e21; --card: #373d43; --block: #26292c; --block-border: #383d42; --block-hover: #2f3337; --text-p0: #fff; --text-p1: #ccc; --text-p2: #b3b3b3; --text-p3: #858585; --text-p4: #707070; --text-meta: #4d4d4d; --text-code: #ff6333; } @media screen and (max-width: 667px) { #ZYDark:root { --site-bg: #000; } } #ZYDark:root { --blur-bg: rgba(0, 0, 0, 0.5); } #ZYDark .float-panel { --blur-bg: rgba(0, 0, 0, 0.4); } #ZYDark .tag-plugin.tag { --theme: #ff6333; --theme-bg1: #3d1e14; --theme-bg2: #2f2522; --theme-border: #5c2d1f; --text-p0: #ffc4b3; --text-p1: #dfae9f; --text-p2: #f1997e; } #ZYDark .tag-plugin[color=\"red\"] { --theme: #f44336; --theme-bg1: #3d1714; --theme-bg2: #2f2322; --theme-border: #5c231f; --text-p0: #ffb8b3; --text-p1: #dfa49f; --text-p2: #f1867e; } #ZYDark .tag-plugin[color=\"orange\"] { --theme: #fa6400; --theme-bg1: #3d2514; --theme-bg2: #2f2722; --theme-border: #5c371f; --text-p0: #ffd1b3; --text-p1: #dfb99f; --text-p2: #f1ac7e; } #ZYDark .tag-plugin[color=\"yellow\"] { --theme: #ffbd2b; --theme-bg1: #3d3014; --theme-bg2: #2f2b22; --theme-border: #5c491f; --text-p0: #ffe7b3; --text-p1: #dfcb9f; --text-p2: #f1cd7e; } #ZYDark .tag-plugin[color=\"green\"] { --theme: #3dc550; --theme-bg1: #143d1a; --theme-bg2: #222f24; --theme-border: #1f5c27; --text-p0: #b3ffbd; --text-p1: #9fdfa8; --text-p2: #7ef18e; } #ZYDark .tag-plugin[color=\"cyan\"] { --theme: #1bcdfc; --theme-bg1: #14353d; --theme-bg2: #222d2f; --theme-border: #1f4f5c; --text-p0: #b3efff; --text-p1: #9fd2df; --text-p2: #7ed9f1; } #ZYDark .tag-plugin[color=\"blue\"] { --theme: #2196f3; --theme-bg1: #142b3d; --theme-bg2: #222a2f; --theme-border: #1f415c; --text-p0: #b3ddff; --text-p1: #9fc3df; --text-p2: #7ebef1; } #ZYDark .tag-plugin[color=\"purple\"] { --theme: #9c27b0; --theme-bg1: #37143d; --theme-bg2: #2d222f; --theme-border: #531f5c; --text-p0: #f4b3ff; --text-p1: #d69fdf; --text-p2: #e07ef1; } #ZYDark .tag-plugin[color=\"light\"] { --theme-border: #fff; --theme-bg1: #e0e0e0; --theme-bg2: #fff; --text-p0: #000; --text-p1: #111; --text-p2: #1f1f1f; --text-p3: #555; --text-code: #fff; } #ZYDark .tag-plugin[color=\"dark\"] { --theme-border: #000; --theme-bg1: #1f1f1f; --theme-bg2: #111; --text-p0: #fff; --text-p1: #fff; --text-p2: #e0e0e0; --text-p3: #ddd; --text-code: #fff; } #ZYDark .tag-plugin[color=\"warning\"], #ZYDark .tag-plugin[color=\"light\"] { --text-p0: #000; --text-p1: #111; --text-p2: #1f1f1f; --text-p3: #555; --text-code: #fff; } #ZYDark .social-wrap a.social:hover { box-shadow: none; } /* waline评论样式 */ #ZYDark .wl-count { padding: 0.375em; font-weight: bold; font-size: 1.25em; color: #fff; } #ZYDark .cmt-body.waline { --waline-white: #000; --waline-light-grey: #666; --waline-dark-grey: #999; /* 布局颜色 */ --waline-color: #fff; --waline-bgcolor: var(--block); --waline-bgcolor-light: #272727; --waline-border-color: #333; --waline-disable-bgcolor: #444; --waline-disable-color: #272727; /* 特殊颜色 */ --waline-bq-color: #272727; /* 其他颜色 */ --waline-info-bgcolor: #272727; --waline-info-color: #666; }"},{"path":"/custom/js/ZYDark.js","content":"/** * 监听系统主题 * @type {MediaQueryList} */ var OSTheme = window.matchMedia(\"(prefers-color-scheme: dark)\"); OSTheme.addListener((e) => { if (window.localStorage.getItem(\"ZYI_Theme_Mode\") === \"Moss\") { ThemeChange(\"Moss\"); } }); /** * 修改博客主题 * @param theme 亮为light,暗为dark,自动为auto * @constructor */ const ThemeChange = (theme) => { if (theme === \"light\" || (theme === \"Moss\" && !OSTheme.matches)) { document.querySelector(\"html\").id = \"ZYLight\"; document.querySelector( \"#start > aside > footer > div > a:nth-child(6)\" ).style.filter = \"grayscale(0%)\"; document.querySelector( \"#start > aside > footer > div > a:nth-child(5)\" ).style.filter = \"grayscale(100%)\"; } else { document.querySelector(\"html\").id = \"ZYDark\"; document.querySelector( \"#start > aside > footer > div > a:nth-child(5)\" ).style.filter = \"grayscale(0%)\"; document.querySelector( \"#start > aside > footer > div > a:nth-child(6)\" ).style.filter = \"grayscale(100%)\"; } if (theme === \"Moss\") { document.querySelector( \"#start > aside > footer > div > a:nth-child(7)\" ).style.filter = \"grayscale(0%)\"; } else { document.querySelector( \"#start > aside > footer > div > a:nth-child(7)\" ).style.filter = \"grayscale(100%)\"; } window.localStorage.setItem(\"ZYI_Theme_Mode\", theme); }; /** * 初始化博客主题 */ switch (window.localStorage.getItem(\"ZYI_Theme_Mode\")) { case \"light\": ThemeChange(\"light\"); break; case \"dark\": ThemeChange(\"dark\"); break; default: ThemeChange(\"Moss\"); } /** * 切换主题模式 */ document.querySelector( \"#start > aside > footer > div > a:nth-child(5)\" ).onclick = () => { ThemeChange(\"dark\"); }; document.querySelector( \"#start > aside > footer > div > a:nth-child(6)\" ).onclick = () => { ThemeChange(\"light\"); }; document.querySelector( \"#start > aside > footer > div > a:nth-child(7)\" ).onclick = () => { ThemeChange(\"Moss\"); }; // 新增"},{"title":"AI绘画之....","path":"/wiki/AiPic/index.html","content":"😊 开发中,请等待。"},{"title":"ChatGPT基本概念","path":"/wiki/ChatGPT/1ChatGPT基本概念.html","content":"ChatGPT 是什么ChatGPT 是由 OpenAI 开发的一款先进的对话人工智能产品。OPENAI 官网 “ChatGPT”结合了“Chat”(聊天)和“GPT”(Generative Pre-trained Transformer)两个词汇。它是基于生成式预训练语言模型的人工智能,使用先进的 Transformer 架构处理自然语言处理(NLP)任务。这项技术的核心在于利用深度学习算法生成人类般的自然语言响应,特别在生成连贯、上下文相关的对话方面表现卓越。 ❓ 为什么多次提问相同问题 ChatGPT 会回复不同答案?这是因为神经网络的发散性。ChatGPT 的独特之处在于其深度神经网络结构,其中包含数百亿甚至上千亿的参数。为了增加发散性,每次处理同一问题时,可能会激活不同的神经网络路径,从而产生不同的答案。这种特性使得 ChatGPT 在回答问题时既有创造性,又富有人性化,有时甚至会显得有些“胡说八道”,使其看起来更像一个真实的人类。 ChatGPT 的优势与挑战✅【优势】 大尺寸模型:经过大量数据训练,ChatGPT 能够生成高度准确和流畅的响应。 类人响应:生成的响应与人类的知识水平和理解能力相似,适用于各种文本生成任务。 适应性:能够根据不同情况和上下文生成适当的回答。 多功能性:适用于各种自然语言处理任务,可应用于广泛领域。 ☔【挑战】 对训练数据的依赖:响应质量取决于训练数据的质量和多样性。 有限的理解能力:尽管响应准确流畅,但 ChatGPT 并不具备深刻的世界理解或类似人类的推理能力。 潜在偏见问题:训练数据的偏见可能会导致模型响应中出现偏见。 ChatGPT 发展史里程碑从 2015 年 OpenAI 的成立到现在,ChatGPT 的背后是一系列突破性的里程碑:2015 年:OpenAI 在美国成立,由 Sam Altman 和 Elon Musk 联合创立。2016 年:推出了 OpenAI Gym 和 Universe,致力于学习强化算法。2018 年:发布了 GPT,这是第一代拥有 1.17 亿参数的通用 NLP 模型。2019 年:微软投资 10 亿美元,发布了含 15 亿参数的 GPT-2。2020 年:发布 GPT-3,含 1750 亿参数,微软获得独家授权。2021 年:推出了 CLIP 和 DALL·E,分别用于匹配图像和文本、文字生成图像。2022 年:发布 DALL·E 2,推出基于 GPT-3.5 的 ChatGPT。2023 年:ChatGPT 全面普及,微软宣布对 OpenAI 的进一步投资。 ChatGPT 持续创造历史记录: 上线仅 5 天,ChatGPT 已经拥有超过 100 万用户 推出仅两个月,截至 2023 年 1 月末,月活用户已经突破了 1 亿 以其他的非常受欢迎的消费级应用数据参考:TikTok 达到 1 亿用户用了 9 个月,Instagram 则花了 2 年半的时间。ChatGPT 也成为了史上用户增长速度最快的消费级应用程序。 商业模式现阶段 AI 应用主要分三类: 感知与交互:包括计算机视觉(如图像识别、面部识别)、语音识别与处理(如语音到文本、语音助手)等。这一类别涉及 AI 对人类感官信息的理解和模拟,包括看、听等。 数据分析与决策支持:涵盖数据分析、机器学习、自然语言处理(NLP)、推荐系统等。这类应用主要围绕从大量数据中提取有价值信息,支持决策制定,如预测分析、个性化推荐等。 自动化与智能控制:包括自动化与机器人技术(如工业自动化、无人驾驶汽车)、智能家居控制等。这一类别关注于使用 AI 来实现任务的自动化执行和智能控制,减少人工干预。 截至 2023 年底,OpenAI 的主要产品包括: GPT 系列(Generative Pre-trained Transformer):包括 GPT-3 和 GPT-4 等,用于自然语言处理,生成文本、回答问题等。 DALL-E:一个能够根据文本描述生成图像的 AI 模型。 Codex:专门用于编程的 AI 模型,支持编写和理解代码,是 GitHub Copilot 的核心技术。 ChatGPT:基于 GPT-3 和 GPT-4 的对话系统,用于生成连贯、有意义的对话。 OpenAI API:提供对 GPT-3、Codex 等模型的编程接口,允许开发者将这些模型集成到自己的应用程序中。 CLIP:一个多模态 AI 模型,能够理解图像和相关的文本描述。 GPT-4 Turbo:提供截至 2023 年 4 月的上下文信息的最新 AI 模型。 Assistants API:新推出的 API,可能是为了更好地支持开发者使用 OpenAI 的技术。 GPT-4 Turbo with Vision:结合了视觉处理能力的产品,提供更加丰富的多模态 AI 体验。 ChatGPT 的原理解释几个小概念 NLP: Natural Language Processing 自然语言处理:计算机科学、人工智能和语言学的交叉领域,旨在使计算机能够理解和处理人类语言。 NLP 是 ChatGPT 的基础,提供了理解和生成自然语言的能力。 NLP 技术使 ChatGPT 能够解析用户输入的文本,理解其语义和情感,并生成合适的回应。 RLHF: Reinforcement Learning from Human Feedback 强化学习自人类反馈:一种结合了强化学习和人类反馈的训练方法,用于优化模型的性能。 RLHF 是 ChatGPT 训练过程中的一个关键步骤。 通过 RLHF,ChatGPT 接收到人类评估者对其回答的反馈,这些反馈用于指导模型的学习过程,优化其回答质量。 RL: Reinforcement Learning 强化学习:一种机器学习方法,模型通过与环境的交互来学习如何达成目标。 RL 是 RLHF 的一部分,用于优化 ChatGPT 的性能。 在 RL 过程中,ChatGPT 通过试错学习,根据从人类反馈中获得的奖励来调整其行为。 BERT: Bidirectional Encoder Representations from Transformers 双向编码器表示变换器:一种预训练的深度学习模型,用于 NLP 的各种任务,特别擅长理解语言的上下文。 BERT 是 NLP 领域的一个重要模型,虽然 ChatGPT 基于 GPT-3,但 BERT 的技术(如双向语境理解)对 NLP 领域有广泛影响。 BERT 通过预训练和微调来理解语言的上下文,这种技术对于提高语言模型的理解能力很有价值。 GPT-3: Generative Pre-trained Transformer 3 第三代生成预训练变换器:一个大规模的语言处理模型,用于生成文本和理解复杂的语言任务。 ChatGPT 直接基于 GPT-3 模型。 GPT-3 是一个大规模的语言生成模型,通过预训练和可能的微调,它能够生成连贯、相关且通常情境合适的文本。 Transformer 架构: 这是一种专门为处理序列数据(如文本)设计的神经网络结构。 GPT-3 使用了 Transformer 架构,这是一种专门为处理序列数据(如文本)设计的神经网络结构。 将 Transformer 想象为一个高效的工厂流水线,它能够同时处理文本中的每个部分(单词或字符),并通过“自注意力机制”(Self-Attention Mechanism)理解这些部分之间的关系。 ChatGPT 技术原理 ChatGPT 结合了 GPT-3 的强大语言模型、Transformer 的高效处理能力、以及 RLHF 的优化策略,形成了一个能够理解和生成自然语言的复杂系统。这个系统通过不断学习和适应,能够在各种对话场景中提供高质量的交互体验。 基于 GPT-3 的架构:ChatGPT 基于 OpenAI 的 GPT-3 模型,这是一个大规模的自然语言处理模型。想象一个巨大的神经网络,由数以亿计的参数构成。这个网络通过吸收大量的文本数据(如书籍、文章、网站内容)来学习语言的模式。 Transformer 架构:GPT-3 使用了 Transformer 架构,这是一种专门为处理序列数据(如文本)设计的神经网络结构。将 Transformer 想象为一个高效的工厂流水线,它能够同时处理文本中的每个部分(单词或字符),并通过“自注意力机制”理解这些部分之间的关系。 预训练和微调:GPT-3 在大量文本上进行预训练,学习语言的基本规则和结构。为特定任务(如聊天)对模型进行微调,使其更适应该任务的需求。 强化学习自人类反馈(RLHF):ChatGPT 通过 RLHF 方法进一步优化。这涉及到从人类评估者那里获取反馈,并用这些反馈来指导模型的学习。想象一个场景,其中 ChatGPT 产生的回答被人类评估,并根据其质量给予奖励或惩罚。这些反馈帮助模型调整其回答策略,以生成更准确、更自然的回答。 自然语言理解和生成:ChatGPT 能够理解用户的查询和语境。基于理解的内容,模型生成连贯、相关且通常情境合适的回答。 简单说 ChatGPT 就是通过人类的反馈和奖励,不断修正自身的错误信息,使得生成的结果越来越准确。 Prompt 是什么Prompt 和 Prompt Engineering Prompt 是给 AI 模型的指令,它可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。AI 模型会基于 prompt 所提供的信息,生成对应的文本,亦或者图片。 比如,我们在 ChatGPT 里输入”什么是 chatgpt”?,这个问题就是 prompt。 目前的 AI 产品还比较早期,因为各种原因,产品设置了很多限制,如果你想要绕过一些限制,或者更好地发挥 AI 的能力,也需要用到 Prompt Engineering 技术。 Prompt 基本原则Prompt 没有固定且标准的公式,但如果想充分利用人工智能,可以按照四个维度调教优化。 🏳️🌈调教模板:角色扮演(Role)+ 背景(Context) +指令/任务(Instruction)+ 要求(Demand) 案例 1:健康饮食计划 角色扮演(Role):你是一名营养师 背景(Context):客户希望改善饮食习惯,减轻体重 任务(Instruction):制定一周的饮食计划 要求(Demand):考虑到低热量、高蛋白的饮食需求 案例 2:旅游规划 角色扮演(Role):你是一名旅行顾问 背景(Context):客户计划前往日本旅游,对历史和文化感兴趣 任务(Instruction):访问京都的传统神社和寺庙,提供为期一周的日本旅游行程建议 要求(Demand):包括文化体验、住宿和交通安排 案例 3:英语翻译 角色扮演(Role):你是英语翻译,拼写校对和润色改进翻译的角色。 背景(Context):我会用任何语言和你交流,你会识别我的语言,将其翻译且用更为优美和精炼的英语回答我。 任务(Instruction):将我简单的词汇和句子替换成更为优美和高雅的表达方式,确保意思不变,但使其更具文学性。 要求(Demand):仅回答更正和改进的部分,不要写解释。我的第一句话是“how are you ?”,请翻译它。 如果希望系统性地学习 ChatGPT 所有相关的知识,请关注阅读下一节."},{"title":"301test","path":"/wiki/ChatGPT/文章名称3.html","content":"😊 开发中,请等待。"},{"title":"401test","path":"/wiki/ChatGPT/文章名称4.html","content":"😊 开发中,请等待。"},{"title":"ChatGPT原理解读","path":"/wiki/ChatGPT/2ChatGPT原理详细解读.html","content":"ChatGPT 虽然近期才广受关注,但其背后的对话式人工智能技术其实已经经历了数十年的发展。从早期的 Lunar 等系统开始,这个领域就在不断进化。然而,尽管投入了大量研究,对话式 AI 始终是 AI 技术中最棘手的部分之一。这主要因为两个难点:一是自然语言的天生不精确性,二是人类对话的强烈依赖于上下文。这也是为什么以前的智能音箱常被戏称为“人工智障”。 ChatGPT 的技术突破GPT 技术简介ChatGPT 所依赖的核心技术是 Generative Pre-trained Transformer(GPT)。GPT 系列模型,自 2018 年由 OpenAI 推出以来,经历了从 GPT1 到 GPT4 的发展。尤其是 GPT3,其巨大的训练数据量带来了爆炸性的能力提升,标志着对话 AI 的一个重要转折点。 GPT 系列的演进 GPT1: 作为初始尝试,GPT1 展示了使用 Transformer 架构处理自然语言的潜力,但在更复杂的语言理解任务上仍有限制。 GPT2: 提升了模型的大小和训练数据量,展现出更好的语言生成能力,但在理解深层次语义方面仍有挑战。 GPT3: 这一代实现了重大突破,特别是在训练数据量的大幅增加,使得模型能够理解和生成前所未有的复杂文本。 GPT4: 目前最先进的版本,不仅在规模上有所增加,而且在理解复杂语义、上下文关系方面更为准确。 GPT 技术原理简析基本原理:一词一世界GPT 模型的工作原理可以用“每次算一个词出来”来简单概括。这个过程中,ChatGPT 不断对已有的文本进行“合理延续”。假设你输入:“今天天气”,GPT 会基于此前训练的数据预测出接下来最可能的词汇,比如“晴朗”或“多云”。 概率计算:智能选词的背后GPT 在确定每个新词时,依赖于一个复杂的概率模型。这不仅仅是统计某个词在特定上下文中出现的频率,而是通过神经网络综合评估并预测下一个词。例如,给定“我今天很开心,因为”,模型可能会预测“我”“通过了考试”或“见到了朋友”。 神经网络:大脑的简化模拟神经网络是 ChatGPT 的核心组成部分,它模仿人脑的工作方式。在神经网络中,每个“神经元”接收前一个神经元的信号,经过处理后再传递给下一个神经元。在经过大量的训练后,这个网络能够有效地预测接下来最可能的单词。 ✅ 考虑一个简单的例子:当模型被问到“猫是什么?”时,它可能从之前的学习中知道猫是一种动物,有着柔软的毛发、尖耳朵和长尾巴。它会结合这些特征生成回答,如“猫是一种通常有着尖耳朵和长尾巴的小型家养动物,以捕鼠而闻名。” 通过对 GPT 系列模型的不断进化和精细化训练,ChatGPT 不仅能够回答简单问题,还能够生成有深度、有逻辑的文本。它在理解复杂语义、上下文关系方面的准确性不断提高,为用户提供更加丰富和智能的互动体验。 神经网络与训练神经网络模仿人类大脑的工作机制。在 ChatGPT 的神经网络中,每个神经元接收来自前一个神经元的信号,处理后再传递给下一个。这可以用函数y = f(wx + b)来表示,其中w和b分别代表权重和偏置,f是激活函数,控制神经元的激活与否。 GPT 的训练包括无监督学习和监督学习。无监督学习阶段,GPT 从大量文本中学习;监督学习阶段,通过人工标注的数据进行微调,提高模型的精确度和实用性。 无监督学习(预训练)在此阶段,GPT 模型像一个吸收知识的海绵,从互联网、书籍等来源中学习语言的模式和结构。这类似于孩子通过听大人说话学习语言。 监督学习(微调)在预训练之后,模型进入微调阶段。这时,模型的输出会被人类评估者校对和打分,指导模型产生更加准确和自然的回答。比如,如果模型在描述天气时生成了不准确的信息,校对者会进行纠正,模型据此学习,以便未来生成更准确的天气描述。 优化公式一个简化的训练过程可以表示为:loss = Σ(真实输出 - 预测输出)^2。训练的目标是通过调整权重w和偏置b来最小化损失函数loss。 从 Lunar 到 ChatGPT,对话 AI 的道路虽然曲折,但每一步的进展都为我们揭示了人工智能未来无限的可能。随着技术的不断发展和优化,ChatGPT 及其后续版本预计将在各种实际应用场景中发挥更大的作用,从而极大地丰富人类的交流和认知世界的方式。"},{"title":"402test","path":"/wiki/ChatGPT/文章名称5.html","content":"😊 开发中,请等待。"},{"title":"HTML基础教学","path":"/wiki/FrontEnd/HTML.html","content":"😊 开发中,请等待。"},{"title":"CSS基础教学","path":"/wiki/FrontEnd/CSS.html","content":"😊 开发中,请等待。"},{"title":"JavaScript基础教学","path":"/wiki/FrontEnd/JavaScript.html","content":"😊 开发中,请等待。"},{"title":"Hexo环境搭建","path":"/wiki/Hexo/1.Hexo之环境部署.html","content":"在别人的地盘写博客终究是客,本文教你如何搭建专属自己的博客,实现 Blog 自由。注:本博客基于 windows 环境进行搭建。 一、前提概要Hexo是什么Hexo 是一个快速、简洁且高效的博客框架。Hexo 基于 Node.js 运行,使用 Markdown解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 Hexo 安装前提安装 Hexo 相当简单,因为 Hexo 基于 Node.js,所以需要先安装下列应用程序: Node.js ( 版本不低于 10.13,建议使用 12.0 及以上版本) Git 二、Hexo 环境搭建安装 Node.js 使用 Node.js 官方安装程序时,请确保勾选 Add to PATH 选项(默认已勾选) 下载地址:点击下一步安装即可。 32 位安装包 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi 64 位安装包 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi 检查配置:检查 Path 环境变量键盘 Win 键+r→ 输入 cmd→ 打开 cmd 窗口 → 输入以下命令: 1node -v 若出现版本号,说明安装成功。 安装 Git Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 下载地址:点击下一步安装即可。https://git-scm.com/download/win 检查配置:检查 Path 环境变量键盘 Win 键+r→ 输入 cmd→ 打开 cmd 窗口 → 输入以下命令: 1git --version 若出现版本号,说明安装成功。 三、Hexo 安装Hexo| 下载&安装&登录必备的应用程序安装完成后,即可使用 npm 安装 Hexo。 进入今后放置博客资源的文件夹(可以在 D 盘新建 hexo/blog/),进入 blog 文件夹,空白处鼠标右键打开 Git bash here。 在 Git 面板中,依次执行每行命令。 12345npm install hexo-cli -g #下载生成hexohexo init blog #初始化cd blog #创建名为blog的文件夹,名字可改为自己喜欢的npm installhexo server #启动服务器 完成以上操作后,打开浏览器访问网址: http://localhost:4000/如果成功进入网页,恭喜你,Hexo 博客的基础环境已搭建完毕。 Hexo| 生成文章1hexo n "新文章01" #生成名为”新文章01“的文章 Hexo| 退出服务1ctrl+c: 退出服务 Hexo| 配置文件官网配置信息:https://hexo.io/zh-cn/docs/configuration Hexo| 中文设置修改_config.yml 文件中的 laguage 设置:language: [zh-CN, en] language 网站使用的语言。对于简体中文用户来说,使用不同的主题可能需要设置成不同的值,请参考你的主题的文档自行设置,常见的有 zh-Hans 和 zh-CN。 Hexo| 切换主题 选择主题:进入官网选择喜欢的主题,Themes | Hexo 下载主题:这里使用的 stellar 主题,进入主题对应的 github 项目地址:https://github.com/xaoxuu/hexo-theme-stellar.git,点击 code→download zip 至本地 → 解压。 解压主题:到本地 blog/themes/文件夹下,重命名为 stellar 更换主题:修改_config.yml 文件里的 theme 值为 主题文件夹名.theme:stellar 配置主题: 参考stellar手册个性化修改"},{"title":"Github网页绑定域名","path":"/wiki/Hexo/102Domain-Name.html","content":"阿里云.com 域名 1 元购买,绑定 Github Pages,个人访问令牌认证。 域名注册 进入 阿里云官网,支付宝登录后,进入【右上角”控制台”】→【左上角”域名”】,来到域名搜索页面。 注册阿里云域名,目前新人 1 元购.com 域名,可按喜好购买 →新人 1 元购活动入口. 新用户需要进行实名认证,在订单详情页有相关提示进行认证即可,一般 10 分钟内可审核通过。 实名认证成功后,可直接购买域名,选择支付宝支付即可。 恭喜你,现在起拥有了属于自己的域名。 域名解析 当域名状态显示为 正常 时,开始进行 域名解析,点击右侧操作中的 解析 进入云解析 DNS 页面。 点击 添加记录 ,添加两条 CNAME 记录,填写内容如下。 这里解释下,需要新增两条主机记录@/www 的原因是,方便可以通过 sumorio.com以及 www.sumorio.com 两种形式对网站进行访问。 域名绑定前往Github Page已搭建好的仓库中,点击settings→ page→Custom domain 项中添加进行解析后的自定义域名。 等待两分钟,DNS 认证成功后,即可使用新域名登录你的 github pages 网页。 访问令牌Https阿里云申请 SSL 证书 进入阿里云数字证书管理服务平台 如图所示,点击 SSL 证书 → 免费证书 → 立即购买 → 我同意。申请免费证书数量。 申请成功后,再次进入该页面,点击 SSL 证书 → 免费证书 → 创建证书 → 申请证书 → 填写域名信息。 提交审核并等待,一般秒批审核。 Github 修改 CNAME Github 仓库的 cname 文件中新增一条指令:sumorio.com(不用加 https) Github 仓库的 settings→pages→ 勾选 Enforce HTTPS 。 完。"},{"title":"Stellar主题美化","path":"/wiki/Hexo/201Webpage-beautification.html","content":"Stellar 主题全面的配置文档可参考源码作者:https://xaoxuu.com/wiki/stellar/#start 修改站点信息Stellar 会读取站点根目录_config.yml 文件中的信息来生成网站,直接修改即可: 12345678title: 您的网站名称avatar: 您的头像链接favicon: 您的网站iconsubtitle: 您的网站副标题# 多语言language: - zh-CN - en 创建主题配置文件 在博客根目录的 _config.yml 文件同目录中新建一个文件: _config.stellar.yml ;在这个文件中的配置信息优先级高于主题文件夹中的配置文件。 字体设置 第一步:_config.yml 文件中,最后一行加入以下指令: 123inject: head: - <link rel="stylesheet" href="https://cdn.staticfile.org/lxgw-wenkai-screen-webfont/1.6.0/lxgwwenkaiscreen.css" media="all" /> 第二步:在_config.stellar.yml 中找到 style.font-family,修改以下内容: 1234style: font-family: logo: '"LXGW WenKai Screen", ... body: '"LXGW WenKai Screen", ... 添加运行时间 第一步:_config.stellar.yml 文件下,找到 footer ,在 content: 之后添加代码。 第二步:修改 X 部分的时间,改成自己网站成立的年月日即可。 123456789101112131415161718192021222324 content: | # 支持 Markdown 格式 <center> </br> </br> <script type="text/javascript"> function show_runtime() { window.setTimeout("show_runtime()", 1000); X = new Date("10/20/2023 00:00:00"); Y = new Date(); T = (Y.getTime() - X.getTime()); M = 24 * 60 * 60 * 1000; a = T / M; A = Math.floor(a); b = (a - A) * 24; B = Math.floor(b); c = (b - B) * 60; C = Math.floor((b - B) * 60); D = Math.floor((c - C) * 60); runtime_span.innerHTML = "⏲️本站已运行 " + A + "天|" + B + "小时|" + C + "分|" + D + "秒⏲️" } show_runtime(); </script> <span id="runtime_span"></span> </center> 代码块复制在_config.stellar.yml 修改: 12345copycode: enable: true js: /js/plugins/copycode.js default_text: 'Copy' # 按钮显示文字 success_text: 'Copied' # 复制成功信息 添加背景动态线条效果在 layout.ejs 的<body>里添加代码: 1234<!--动态线条背景--><script type="text/javascript" color="220,220,220" opacity='0.7' zIndex="-2" count="200" src="//cdn.bootcss.com/canvas-nest.js/1.0.0/canvas-nest.min.js"></script> 12341.`color`:线条颜色,三个数字分别为(R,G,B),默认:(0,0,0);2.`opacity`:线条透明度(0~1),默认:0.5;3.`count`:表示线条的总数量,默认:150;4.`zIndex`:表示背景的 z-index 属性,css 属性用于控制所在层的位置,默认:-1; 主题版本更新 在 package.json 中修改 stellar 的版本号,然后执行: 1npm i 阅读 更新日志 进行迁移操作。 文章页顶部导航栏 修改配置文件.config.stellar.yml,添加标题和文件链接: 123456######## Index ######### 顶部检索栏post-index: # 近期发布 分类 标签 归档 and ... "专栏": /wiki/ #点击到网页复制路径 "博客搭建": /wiki/Hexo/1.Hexo之环境部署.html # 这里填写的链接要与对应页面一致,否则可能无法正确高亮 "ChatGPT": /wiki/ChatGPT/ #可以跳转至页面之后,复制绝对路径 这时,首页导航栏中将出现我们添加的页面 侧边栏欢迎语 侧边栏支持使用 markdown 语法,markdown 支持 HTML 语言,可以通过 HTML 自定义各种样式的侧边栏. 在主题文件目录下的_data/wodgets.yml 文件中新增一项侧边栏配置,写下你的网站欢迎语. 可以引用开放接口,如【今日诗词】. 12345678welcome: layout: markdown title: '🎉欢迎 ' content: | 本站托管于Github, 可能会出现加载缓慢或丢失问题,欢迎在评论区交流技术知识。 <br><hr> 今日诗词: <span id="jinrishici-sentence"></span> <script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script> 修改主题配置_config.stellar.yml,设置欢迎语出现的具体位置 1234widgets: #### 自动生成的页面 #### # 主页 home: search, welcome, recent, tagcloud, timeline # for home 侧边栏免责声明主题文件目录下的_data/wodgets.yml 文件中新增一项侧边栏配置,使用 markdown 布局 123456789101112statement: layout: markdown title: '<br>' content: | <hr> <center> <h4 id="免责声明">免责声明</h4> <p>本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。</p> <p>不得将上述内容用于商业或非法用途,否则一切后果自负。</p> <p>本站信息来自网络收集整理,版权争议与本站无关。</p> <p>如果有侵权之处请第一时间联系站长删除。敬请谅解!</p> </center> 永久链接插件永久链接指用一串随机字符替代文章名作为网页访问链接,这样即使修改文章名称也不会改变文章访问链接,有助于网站 SEO 优化 在项目根路径下安装永久链接插件 1npm install hexo-abbrlink --save 修改_config.yaml中的配置,启用永久链接 1permalink: posts/:abbrlink.html 配置文件底部添加如下配置,可以实现更优算法生成永久链接 1234567891011121314# abbrlink 配置abbrlink: alg: crc32 #算法,支持crc16(default)和crc32 rep: hex #进制,支持dec(default)和hex drafts: false #true:对草稿也进行处理,false:不处理草稿。默认为false # 从目录树生成类别 # depth: 您想生成的目录树的最大深度, 需要大于0 auto_category: enable: true #默认为 true depth: #默认为 3 over_write: false auto_title: false #启用自动标题,它可以按路径自动填充标题 auto_date: false #启用自动日期,可以按今天的时间自动填写日期 force: false #启用Force模式,在这种模式下插件将忽略缓存,并为每一篇文章计算生成永久链接,即使它已经有了永久链接。这个设置只会更新永久链接,而不是更新其他前置变量。 在生成静态页面时,插件会自动在 Markdown 文件头部生成永久链接参数 1234---title: Hello Worldabbrlink: 4a17b156--- 重新生成网页发布后,网页访问链接就变成了..//xx.com/posts/4a17b156.html 的格式。 创建自定义 CSS source目录下新建文件夹css,在 CSS 目录下新建我们自定义文件 my.css 博客配置文件_config.yml中引入 CSS 文件,CSS 文件一般在head引入,JS 文件一般在script里引入 123456789inject: head: # 自定义css,静态文件后面加个"?任意内容",可以在每次更新之后用户自动重新请求,避免用户使用本地缓存 - <link rel="stylesheet" href="/css/my.css?1"> script: # 自定义js - <script type="text/javascript" src="/js/script.js?1"></script> - <script src="/js/script.js?1"></script> 添加评论功能目前 Staller 主题集成多种评论功能插件,包括 beaudar、utterances、giscus、twikoo、waline、artalk。今日来探讨 twikoo. 配置 twikoo 云函数,参考如下链接。 教程过长,参考我的另一篇文章:Hexo 部署 twikoo 评论系统 Twikoo 官网参考 在博客配置文件_config.stellar.yml中启用 twikoo 评论 12345678910######## Comments ########comments: service: twikoo # Twikoo # https://twikoo.js.org/ twikoo: js: https://gcore.jsdelivr.net/npm/[email protected]/dist/twikoo.all.min.js # 建议锁定版本 envId: https://xx.xx.com # twikoo云函数 评论功能目前已配置成功。如果需要在 page 或 post 文件头部显示,可以添加comments字段指定该页面启用评论。 123---comments: true--- 在 twikoo 管理面板中通过DEFAULT_GRAVATAR参数可以设置评论默认使用的头像类型,具体有如下几类: 给评论添加输入提示框,在我们前面创建的自定义 CSS 文件中插入如下代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859/* 设置文字内容 :nth-child(1)的作用是选择第几个 */.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child(1):before { content: '输入QQ号会自动获取昵称和头像🐧';}.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child(2):before { content: '收到回复将会发送到您的邮箱📧';}.el-input.el-input--small.el-input-group.el-input-group--prepend:nth-child(3):before { content: '可以通过昵称访问您的网站🔗';}/* 当用户点击输入框时显示 */.el-input.el-input--small.el-input-group.el-input-group--prepend:focus-within::before,.el-input.el-input--small.el-input-group.el-input-group--prepend:focus-within::after { display: block;}/* 主内容区 */.el-input.el-input--small.el-input-group.el-input-group--prepend::before { /* 先隐藏起来 */ display: none; /* 绝对定位 */ position: absolute; /* 向上移动60像素 */ top: -60px; /* 文字强制不换行,防止left:50%导致的文字换行 */ white-space: nowrap; /* 圆角 */ border-radius: 10px; /* 距离左边50% */ left: 50%; /* 然后再向左边挪动自身的一半,即可实现居中 */ transform: translate(-50%); /* 填充 */ padding: 14px 18px; background: #444; color: #fff;}/* 小角标 */.el-input.el-input--small.el-input-group.el-input-group--prepend::after { display: none; content: ''; position: absolute; /* 内容大小(宽高)为0且边框大小不为0的情况下,每一条边(4个边)都是一个三角形,组成一个正方形。 我们先将所有边框透明,再给其中的一条边添加颜色就可以实现小三角图标 */ border: 12px solid transparent; border-top-color: #444; left: 50%; transform: translate(-50%, -48px);}/* 带链接的用户名显示为红色 */.tk-nick.tk-nick-link { color: #f56c6c!important;}","categories":[null]},{"title":"Github托管静态页面","path":"/wiki/Hexo/101Github-hosting-webpage.html","content":"GiHub Pages 入门——官方文档 一、新建仓库 在 GitHub 任何页面的右上角,选择 ,然后单击“新建存储库”。 创建一个仓库,仓库名和 github 用户名保持一致:用户名.github.io。 二、配置 SSH 密钥只有配置好密钥,才能通过 git 操作实现本地代码与 Github 代码库的同步。 进入最初新建的文件夹 D:/Hexo/blog 右键打开 Git Bash Here,输入命令后,回车三次 1ssh-keygen -t rsa -C "你的邮箱地址" #如"[email protected] 进入 C 盘 users/用户名文件夹/.ssh 文件夹,其中有 2 个文件夹: id_rsa 是这台电脑的私人密钥; id_rsa.pub 是公共密钥。 复制 id_rsa.pub 中的内容粘贴到 github 的 SSH 中 三、GitHub 新增 SSH 点击右上角 Github 信息 ➡️ 点击设置 ➡️ 左侧栏 SSH and GPG keys➡️ 新增 SSHkeys title 随便起个名字,将第二步复制的 rsa 密钥复制到这里 在 Git Bash Here 中输入命令,显示 successful 成功。 1ssh -T [email protected] 四、修改配置 打开 github 的同名仓库,点击 code➡️SSH➡️ 复制 将复制的链接加入本地_config.yml 文件中,参考如下: 123456789deploy: # 类型 type: git # 部署分支名称,按照自己喜欢的起名就可以。这里写完还需要在 GitHub 上进行分支创建并配置 branch: main # 仓库,这里使用的 SSH 方式 repo: [email protected]:***/***.github.io.git #这里填第2步中复制的内容 # 如果你看了 hexo 的文档,这里很清楚。部署的时候会使用这个消息作为提交的信息 message: Automatic deploy by Github Action:{{ now('YYYY-MM-DD HH:mm:ss') }} 五、更新提交输入下面的命令,本地文件会自动更新提交到 github 上。 123hexo chexo g #自动生成上传的文件hexo d #上传git 如果输入指令报错not found git,可以先下载安装插件。 1npm install hexo-deployer-git --save"},{"title":"Stellar主题黑白模式切换","path":"/wiki/Hexo/202Theme-black-white-switch.html","content":"修改思路 抽离夜间样式 增加 CSS 文件优先级 网页添加主题按钮 1)抽离夜间样式 前提 1:原主题配置文件控制昼夜是通过style.darkmode: false # auto / always / false来控制 stylus 生成整个网站main.css; 前提 2:主题样式代码中if hexo-config('style.darkmode') == 'always'包裹的就是夜间主题代码; 结论:我们把它抽离出一个单独的ZYDark.css文件。 2)增加 CSS 文件优先级 通过给 html 标签一个 ID 来取得优先级, 抽离的ZYDark.css都赋予这个 ID.比如:root{--site-bg: #1c1e21;}变成#ZYDark:root{--site-bg: #1c1e21;} 3)网页添加主题按钮想了很多种方案都达不到主题样式一致原则. 最后发现 stellar 左下角页脚部分有 7 个位置。 就拿他来当切换按钮吧! 4)储存与功能实现用户变量就扔到localStorage储存,反正不清空浏览器缓存就是永久储存. 功能实现函数操作全都是一个 JS 执行, 包括给 html 标签一个 ID. 5)黑夜闪白优化因为一些渲染顺序原因这个 js 只能放到网页靠末尾地方, 可能不是控制主题功能我还有其它功能方法, 所以结果是黑暗模式下刷新有点闪白色. 解决办法是在 head 引入一个提前 js,即判断localStorage是黑暗就马上给 html 加黑色 ID, 后续渲染就没问题了!!! 代码样式复制以下代码并重命名为 ZYDark.css,放至本地路径/blog/source/custom/css 下。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155#ZYDark:root { --site-bg: #1c1e21; --card: #373d43; --block: #26292c; --block-border: #383d42; --block-hover: #2f3337; --text-p0: #fff; --text-p1: #ccc; --text-p2: #b3b3b3; --text-p3: #858585; --text-p4: #707070; --text-meta: #4d4d4d; --text-code: #ff6333;}@media screen and (max-width: 667px) { #ZYDark:root { --site-bg: #000; }}#ZYDark:root { --blur-bg: rgba(0,0,0,0.5);}#ZYDark .float-panel { --blur-bg: rgba(0,0,0,0.4);}#ZYDark .tag-plugin.tag { --theme: #ff6333; --theme-bg1: #3d1e14; --theme-bg2: #2f2522; --theme-border: #5c2d1f; --text-p0: #ffc4b3; --text-p1: #dfae9f; --text-p2: #f1997e;}#ZYDark .tag-plugin[color='red'] { --theme: #f44336; --theme-bg1: #3d1714; --theme-bg2: #2f2322; --theme-border: #5c231f; --text-p0: #ffb8b3; --text-p1: #dfa49f; --text-p2: #f1867e;}#ZYDark .tag-plugin[color='orange'] { --theme: #fa6400; --theme-bg1: #3d2514; --theme-bg2: #2f2722; --theme-border: #5c371f; --text-p0: #ffd1b3; --text-p1: #dfb99f; --text-p2: #f1ac7e;}#ZYDark .tag-plugin[color='yellow'] { --theme: #ffbd2b; --theme-bg1: #3d3014; --theme-bg2: #2f2b22; --theme-border: #5c491f; --text-p0: #ffe7b3; --text-p1: #dfcb9f; --text-p2: #f1cd7e;}#ZYDark .tag-plugin[color='green'] { --theme: #3dc550; --theme-bg1: #143d1a; --theme-bg2: #222f24; --theme-border: #1f5c27; --text-p0: #b3ffbd; --text-p1: #9fdfa8; --text-p2: #7ef18e;}#ZYDark .tag-plugin[color='cyan'] { --theme: #1bcdfc; --theme-bg1: #14353d; --theme-bg2: #222d2f; --theme-border: #1f4f5c; --text-p0: #b3efff; --text-p1: #9fd2df; --text-p2: #7ed9f1;}#ZYDark .tag-plugin[color='blue'] { --theme: #2196f3; --theme-bg1: #142b3d; --theme-bg2: #222a2f; --theme-border: #1f415c; --text-p0: #b3ddff; --text-p1: #9fc3df; --text-p2: #7ebef1;}#ZYDark .tag-plugin[color='purple'] { --theme: #9c27b0; --theme-bg1: #37143d; --theme-bg2: #2d222f; --theme-border: #531f5c; --text-p0: #f4b3ff; --text-p1: #d69fdf; --text-p2: #e07ef1;}#ZYDark .tag-plugin[color='light'] { --theme-border: #fff; --theme-bg1: #e0e0e0; --theme-bg2: #fff; --text-p0: #000; --text-p1: #111; --text-p2: #1f1f1f; --text-p3: #555; --text-code: #fff;}#ZYDark .tag-plugin[color='dark'] { --theme-border: #000; --theme-bg1: #1f1f1f; --theme-bg2: #111; --text-p0: #fff; --text-p1: #fff; --text-p2: #e0e0e0; --text-p3: #ddd; --text-code: #fff;}#ZYDark .tag-plugin[color='warning'],#ZYDark .tag-plugin[color='light'] { --text-p0: #000; --text-p1: #111; --text-p2: #1f1f1f; --text-p3: #555; --text-code: #fff;}#ZYDark .social-wrap a.social:hover { box-shadow: none;}/* waline评论样式 */#ZYDark .wl-count{ padding: .375em; font-weight: bold; font-size: 1.25em; color: #fff;}#ZYDark .cmt-body.waline{ --waline-white: #000; --waline-light-grey: #666; --waline-dark-grey: #999; /* 布局颜色 */ --waline-color: #fff; --waline-bgcolor: var(--block); --waline-bgcolor-light: #272727; --waline-border-color: #333; --waline-disable-bgcolor: #444; --waline-disable-color: #272727; /* 特殊颜色 */ --waline-bq-color: #272727; /* 其他颜色 */ --waline-info-bgcolor: #272727; --waline-info-color: #666;} 函数复制以下代码并重命名为 ZYDark.js,放至本地路径/blog/source/custom/js 下。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455/** * 监听系统主题 * @type {MediaQueryList} */var OSTheme = window.matchMedia('(prefers-color-scheme: dark)');OSTheme.addListener(e => { if (window.localStorage.getItem('ZYI_Theme_Mode') === 'Moss') { ThemeChange('Moss'); }})/** * 修改博客主题 * @param theme 亮为light,暗为dark,自动为auto * @constructor */const ThemeChange = (theme) => { if (theme === 'light' || (theme === 'Moss' && !OSTheme.matches)) { document.querySelector("html").id = "ZYLight"; document.querySelector("#start > aside > footer > div > a:nth-child(6)").style.filter= 'grayscale(0%)'; document.querySelector("#start > aside > footer > div > a:nth-child(5)").style.filter= 'grayscale(100%)'; } else { document.querySelector("html").id = "ZYDark"; document.querySelector("#start > aside > footer > div > a:nth-child(5)").style.filter= 'grayscale(0%)'; document.querySelector("#start > aside > footer > div > a:nth-child(6)").style.filter= 'grayscale(100%)'; } if (theme==='Moss'){document.querySelector("#start > aside > footer > div > a:nth-child(7)").style.filter= 'grayscale(0%)';} else {document.querySelector("#start > aside > footer > div > a:nth-child(7)").style.filter= 'grayscale(100%)';} window.localStorage.setItem('ZYI_Theme_Mode', theme);}/** * 初始化博客主题 */switch (window.localStorage.getItem('ZYI_Theme_Mode')) { case 'light': ThemeChange('light'); break; case 'dark': ThemeChange('dark'); break; default: ThemeChange('Moss');}/** * 切换主题模式 */document.querySelector("#start > aside > footer > div > a:nth-child(5)").onclick = () => { ThemeChange('dark');}document.querySelector("#start > aside > footer > div > a:nth-child(6)").onclick = () => { ThemeChange('light');}document.querySelector("#start > aside > footer > div > a:nth-child(7)").onclick = () => { ThemeChange('Moss');} 提前量根目录/_config.yml 12345678910# 自定义引入css,jsinject: head: - | <script> if (window.localStorage.getItem('ZYI_Theme_Mode')==='dark' || (window.localStorage.getItem('ZYI_Theme_Mode')==='Moss' && window.matchMedia('(prefers-color-scheme: dark)').matches)){ document.querySelector("html").id = "ZYDark"; } </script> 引入样式与函数博客目录/_config.yml 123456# 自定义引入css,jsinject: head: - <link rel="stylesheet" href="/custom/css/ZYDark.css"> # 黑夜样式 script: - <script type="text/javascript" src="/custom/js/ZYDark.js"></script> # 黑夜控制 自定义博主配置 darkmode用false意味对主题而言保持永远白昼(才有了我们的操作空间) 然后footer.social这部分我对应是 567, 懒得改 JS 的可以前面也加四个社交按钮. 博客目录/_config.stellar.yml 123456789101112131415161718192021222324252627style: darkmode: false # auto / always / false# 页尾footer: social: github: icon: '<img src="https://upyun.thatcdn.cn/public/img/icon/github-logo2.png"/>' url: https://github.com/ThatCoders music: icon: '<img src="https://upyun.thatcdn.cn/public/img/icon/neteasemusic-icon.png"/>' url: https://music.163.com/#/user/home?id=134968139 bili: icon: '<img src="https://upyun.thatcdn.cn/public/img/icon/bilibili-icon.png"/>' url: https://space.bilibili.com/1664687779 card: icon: '<img src="https://upyun.thatcdn.cn/public/img/icon/weChat.png"/>' url: https://muselink.cc/naive Moon: icon: '<img id="ThemeM" src="https://upyun.thatcdn.cn/public/img/icon/Moon.png"/>' url: javaScript:void('永夜'); Sun: icon: '<img id="ThemeL" src="https://upyun.thatcdn.cn/public/img/icon/Sun.png"/>' url: javaScript:void('永昼'); AI: icon: '<img id="ThemeAI" src="https://upyun.thatcdn.cn/public/img/icon/AI.png"/>' url: javaScript:void('跟随系统'); 感谢 本文参考钟意的博客。此文用于记录。在此感谢原作者。"},{"title":"Hexo部署twikoo评论系统 | 邮件推送versel | 被墙解决方案","path":"/wiki/Hexo/301Twikoo-deployment.html","content":"Hexo 部署 twikoo 评论系统,邮件推送 versel,被墙导致无法评论的解决方案。 一、配置数据库1.申请 MongoDB 账号进入MongoDB注册一个账号。可以使用 github 直接登录。 2.创建 MongoDB 数据库申请完毕后进入界面,选择最右边的免费共享数据库 ➡️aws➡️N.virginia(us-wast-1)➡️create. 设置用户名和密码,记住密码,后面需要使用。 ip 设置 0.0.0.0/0. 自动跳转至数据库列表首页,点击 connect. 链接应用。 记住第 3 条的代码,后续部署需要用到,且使用时需要把 password 处替换你之前设置的密码。 1mongodb+srv://sumor:<password>@sumor0.kxmeq0a.mongodb.net/?retryWrites=true&w=majority 二、部署到 Vercel1.申请账号申请一个Vercel账号. 2.部署仓库点击以下链接将 Twikoo 一键部署到 Vercel:起名 twikoo 创建。 https://vercel.com/import/project?template=https://github.com/imaegoo/twikoo/tree/main/src/server/vercel-min 注:如果导入后出现空白界面或部署失败等现象,极大可能是 Twikoo 的仓库地址更换了,可以参考官网获取部署链接:部署仓库点击以下链接将 Twikoo 一键部署到 Vercel:https://twikoo.js.org/quick-start.html 点击进入创建的任务页面-visit. 3.新建变量进入Settings - Environment Variables页面。新建一个 NAME 为MONGODB_URI;VALUE 为你在前面记录到的数据库连接字符串的环境变量-save 保存。 注意:需要手动输入之前设置的密码,去掉<>,具体如: 1mongodb+srv://ambor0225:[email protected].... 4.再次部署进入Deployments界面,点击右边的竖三点,点击Redeploy。 5.检验部署结果回到Overview,点击 Domains 下方的链接,如果环境配置正确,可以看到 “Twikoo 云函数运行正常” 等字样。 Domains下方的链接即为后面需要使用到的环境 id。 至此,Twikoo 评论系统部署完成。 三、实现邮件通知1.开通POP3/SMTP 服务 以网易为例,其他邮箱可自行摸索,原理大同小异。 前往你的邮件服务提供商,发短信开启 POP3/SMTP 服务-保存最后的授权密码,后面要用。 四、配置 Twikoo1.博客启用 Twikoo 此部分教程以 stellar 主题为例说明,其他主题可参阅对应的使用文档。 配置博客文件_config.stellar.yml,启用 twikoo 评论:(云函数位于 versel,domains 下的小地球后面) 12345678910######## Comments ########comments: service: twikoo # Twikoo # https://twikoo.js.org/ twikoo: js: https://gcore.jsdelivr.net/npm/[email protected]/dist/twikoo.all.min.js # 建议锁定版本 envId: https://xx.xx.com # twikoo云函数, 重新启动服务,进入博客页面,随意找到一篇文章,查看最下方的评论处,找到评论下方小按钮。点击设置。 【配置管理】-邮件通知:大部分不用填写,使用默认即可。下面几个必填。 SENDER_EMAIL: sumorio@126.comSMTP_SERVICE: 126SMTP_PORT: 465SMTP_SECURE: trueSMTP_USER: <邮件通知邮箱用户名>(需与 SENDER_EMAIL 一致)SMTP_PASS: (pop 授权码) 其中DEFAULT_GRAVATAR参数可以设置评论默认使用的头像类型,头像区别如下: 五、versel 版本不符升级配置官方文档:https://twikoo.js.org/update.html 进入 Vercel 仪表板 - twikoo - > Settings - Git 点击 Connected Git Repository 下方的仓库地址 打开 package.json,点击编辑 将 "twikoo-vercel": "latest" 其中的 latest 修改为最新版本号。点> 击 Commit changes 部署会自动触发,可以回到 Vercel 仪表板,查看部署状态 六、解决 versel 被墙无法留言 登录你的域名解析平台,我这里使用的阿里云-进入【域名解析】工作台-添加域名-twikoo+你的域名-txt 授权校验。 保存好弹出的验证记录信息,后面要用,先不要点击验证。 进入【解析设置】界面,点击进入你的域名后台【添加记录】,将上一步的信息填入对应信息即可。 返回第 2 步,进行验证。 进入新增的域名后台,将二级域名解析到 Vercel,新增两条记录。 主机记录 记录类型 解析请求来源(isp) 记录值 TTL twikoo CNAME 默认 cname.vercel-dns.com 10 分钟 @ A 默认 76.76.21.21 10 分钟 Vercel 项目中添加 Domains 进入【Project Settings】->【Domains】添加域名即可。 进入博客后台,替换主题配置文件的_config.stellar.yml 以下内容中的 envid. 最后的最后,要记得重新编译运行查看效果哦~"},{"title":"部署Stellar动态友链","path":"/wiki/Hexo/302Dynamic-friend-chain.html","content":"记录 stellar 动态友链的详细设置过程。 一. Fork 仓库|开启 Issue&Action|开启读写权限 Github仓库目录:https://github.com/xaoxuu/issues-json-generator/fork 具体操作: 点击fork项目 ➡️ 名称设为friends➡️ 任务栏点击settings下滑到issue点击勾选√,此时任务栏出现Issue➡️ 点击任务栏Aciton,点击i understand。 ➡️ 点击任务栏settings,左侧选择Action下的【General】,下滑到【Workflow Permissions】,勾选读写权限**Read and write permissions** 。 二. 配置 Label 标签|修改 config.yml 点击任务栏Issue➡️ 点击Label➡️ 删除现有标签,新增并保留以下四个标签:active、suspend、404、checklist。 点击任务栏【code】➡️ 点击进入config.yml文件,点击铅笔符号修改内容。 三. 测试是否成功 点击 issue ➡️New issue➡️ Get Started➡️ 填入你的基本信息,label 设置为 ``active➡️submit new issue`提交。 添加后,等待一会,点击任务栏【code】进入output分支,查看【v2】目录下的data.json文件,出现刚才新建的 issue 内容则设置成功。 四. 具体使用 Stellar 作者原教程:https://xaoxuu.com/wiki/stellar/tag-plugins/data/#friends-%E5%8F%8B%E9%93%BE其他参考文章:https://zfe.space/post/python-issues-api.html 在文档中直接引用写入以下代码即可: 123{% friendsapi:https://api.vlts.cc/output_data/v2/你的github用户名/你的github仓库名 %}#示例: {% friends api:https://api.vlts.cc/output_data/v2/sumorio/friends %}"},{"title":"Stellar文档系统 | 侧边栏设置","path":"/wiki/Hexo/303filesystem-sidebar.html","content":"记录 Stellar 主题下的 wiki 文档系统的侧边栏设置。(1.20 后的版本已不支持) 文档系统中有项目需要新增时,总共需要进行三个步骤:➡️ 配置source/_data/projects.yml.➡️ 在source/wiki/目录下新建文件夹(名称随意),该目录下创建文章。➡️ 配置index.md文件的头文件front-matter部分。 假设我们要创建一个名为“GPT 漫游”的新项目。在这个项目中,我们将设置一个结构化的侧边栏,它将被分为四个主要部分:教程、工具、前线和其他。这样的布局旨在为访问者提供清晰的导航,使他们可以轻松找到相关的文章和资源。 一. 配置 projects.yml➡️ 配置source/_data/projects.yml。➡️ ChatGPT-File 为本次项目的 ID,可以随意起名,但是保证唯一。➡️ Sections 相当于文档分类器,这里可以自行设置区间|自行命名,这将影响前端的侧边栏文字展示和文章归属。 1234567891011121314151617#专栏-ChatgptChatGPT-File: #ID,用英文起名,随意起但是唯一 title: GPT漫游 #wiki文档系统列表中的项目名称 description: Hi,我是Sumorio。本文档致力于记录Chatgpt及其相关的一切。 #wiki文档系统列表中的项目介绍 name: ChatGPT项目 #侧边栏左上角名称 subtitle: "探索关于GPT的一切可能。| Designed by Sumorio。" #大标题下的小标题 sidebar: [toc] tags: ChatGPT #项目标签 logo: src: https://s2.loli.net/2023/10/20/tw8yrHvR31qfQm2.jpg #图片 small: 120px large: 240px sections: #区间自行设置,保证区间不要重合 "🏳️🌈ChatGPT教程": [100, 199] "🏳️🌈ChatGPT工具": [200, 299] "🏳️🌈ChatGPT前线": [300, 399] "🏳️🌈其他相关": [400, 499] 二. 新增文件➡️ source/wiki/目录下新建文件夹 ChatGPT(名称随意),需要添加新文档时在该目录下创建文件。 三. 配置 front-matter这里以文档 101test 为例: ➡️ 配置index.md文件的头文件front-matter部分。➡️ order 的值用来对文章归类,想让文章归属哪个分类就把 ID 设置成相应值。➡️ wiki 的值为 projects.yml 中项目的唯一 ID。➡️ menu 见下文。 123456789101112131415layout: wiki #layout 的值固定为wiki,与第二项一同作用于侧边栏,如果没有它们侧边栏也会消失wiki: ChatGPT-File # wiki 的值等于在source/_data/projects.yml中新增的项目ID名称(唯一)title: 101test # 这里title的值就是页面最终呈现的折叠标签名menu_id: wiki #与主题配置的menu_id一致,见下文order: 101# order的值的作用就是将它定义到上个步骤里创建的分组里。# 上一步我在source/_data/projects.yml将[100,199]这个区间赋予给了【ChatGPT教程】,我这里的order的值是101。# 101在100至199这个区间内,所以页面最终的效果就是把文章归类到【ChatGPT教程】这个分组,其他同样,只需要修改文章title和order的值。breadcrumb: false# 表示本页面不显示顶部导航,如果你需要显示的话,把这一行删除即可comments: false#表示本页面不启用评论版块,需要启用评论板块的话把值改成true 四. Menu_id Menu_id 位于配置文件_config.stellar.yml的Sidebar下的menu下,post,wiki,more,friends就是menu_id,在写文章时,我们需要在front_matter部分填写对应的menu_id. Stellar 同时具有博客和 Wiki 两个大模块,为了能够正确进行导航栏高亮,所以引入了menu_id 来进行区分,通常情况下,layout: post 和 layout: wiki 两种布局模板可以自动为 sidebar.menu.post 和 sidebar.menu.wiki 的导航栏按钮高亮。自己创建的独立页面也可以在 front-matter 中指定 menu_id 来使某个按钮处于选中状态。"}]