博客主页 😞
标签

建站

下的文章

Blog:

火喵博客・日记本
小站的历史碎片——来自2014年的博客
今天整理硬盘时,无意之中发现了一个sae的文件夹,时间是2014年。因为我曾经在sae部署过博客,好奇的我就双击点开了。虽说我对于之前用过的主题都或多或少有点印象,但是这个主题我的印象真的不深,是wp大学当年的主题。于是尝试将这套备份复原了。博客基本是很空的,那时候貌似也是刚接触资源采集。但是有一点令我有一点小小的意外,登录的用户名和如今的一样哈哈哈。这点小惊喜还是很另我兴奋的,毕竟是在记忆深处不曾想起的画面,可是很激动呢。后台也能看到,显示的版本信息是WordPress 3.9.36,使用wpdaxue主题。,最新的wp版本提示升级到5.9.3。php也是5.5的旧版本,各位有兴趣可以点击下面的链接逛一逛,反正也是已经复原了。为了安全起见,我开了回复可见,并把旧站点的留言功能关闭了,作为回忆了。 - 隐藏内容 -
舰娘漂流——「翻滚吧舰娘!」,火喵修改完善版
前言说起来这个「翻滚吧舰娘!」,最早是来自萌购的页面底部,但是一直也没去用它。后来看到大鹅的博客主页有这个漂流舰娘,也在许多其他人的博客上看到过,但是那会不会呀,觉得老有难度了。后来大鹅用了好久,也鸽了好久。近期我打算把博客改成航海主题(误 ,但是寻找大鹅博客时发现几个月前就换掉了! (╯‵□′)╯︵┴─┴ 好在大鹅找到了源码,发给了我w当我打开源码,发现了有好几处的bug,比如小窗口拖拽有问题啦,经常会自动消失啊等等。于是在大鹅的建议下,在github上找到了原搬运作者(貌似),一看已经是八年前的东西了,那会还是用的jquery1.7.1的老古董。为了能用上这个特效,喵喵折腾了整整一晚上,游戏都没打 (。•ˇ‸ˇ•。) ,现在改成可以用最新的jquery3.6.0,而且修复了bug,还加上了消失循环,总之是非常完美了,可以直接移植拿去用hhh代码最近打算整整微信公众号,也无意间发现了有个关注公众号回复解密可见的小插件,本打算这次用上,但是想想,博客互动还是很重要的,就暂时不用了,以后再说吧~ 但是但是,点击左上方侧边栏的33娘,就可以关注火喵小站的公众号啦(虽然公众号暂时什么都没有,但是不介意的话还是期待能关注一下w)主体html<link rel="stylesheet" type="text/css" href="kancolle.css" /> <div class="kankore-bath"> <div style="animation: 10s linear 0s normal none infinite waves-r2l;" class="water"> </div> <div class="kan" href="javascript:;"> <img src="https://static01.imgkr.com/temp/545d56b5fe9d49ea82e0b6fcb6cc99e0.webp"> </div> <div class="kan" href="javascript:;"> <img src="https://static01.imgkr.com/temp/2a7dc137b56a410594ef3322cbfedba7.webp"> </div> <div class="kan" href="javascript:;"> <img src="https://static01.imgkr.com/temp/624d47381074406f9b95bec6318b1ad1.webp"> </div> <div class="kan" href="javascript:;"> <img src="https://static01.imgkr.com/temp/f1699778e2b644169827d166c6acd581.webp"> </div> <div class="kan" href="javascript:;"> <img src="https://static01.imgkr.com/temp/ce90cf778eb148cb9599e1b5dfbbf280.webp"> </div> <div class="kan" href="javascript:;"> <img src="https://static01.imgkr.com/temp/ccee2dcf304e4ded8f6e4805d01fba57.webp"> </div> </div> <script type="text/javascript" src="kancolle.js"></script>找一个合适的位置,把html代码选取需要,拆开放置,也可以复制到新文件查看效果。图片建议换成本地图片保存,以防图片失效。如果网站没有引入过jquery,需要在开头插入一行引入代码<script type="text/javascript" src="https://lib.baomitu.com/jquery/3.6.0/jquery.min.js"></script>相关csscss没怎么动,但是精简了一点,注意里面的图片的地址,和舰娘的一样,建议换成本地图片保存,以防图片失效(也可以下载文章最后的打包,里面有图片){alert type="info"}新建文件,起名kancolle.css(可自己换个),放入与html同级目录{/alert} - 隐藏内容 - 相关js{alert type="info"}新建文件,起名kancolle.js(可自己换个),放入与html同级目录{/alert} - 隐藏内容 - 打包 - 隐藏内容 -
谷歌广告联盟达到了10美元了
博客搭建之初,就开始投放谷歌广告。并不是为了盈利,只是想让博客看起来更加丰富。曾经看到过某某“主机”+“爱好者”+“教程资源”之类的私人小网站。满屏的广告,忽悠人式的推销方式,挂了国内腾讯云阿里云的推广,然后查了一下名下还有三四个同类型的网站,放着到处采集的文章,超级恶心。今天偶然登录google adsense,看到了顶部有一条提示信息:“由于您需要验证自己的地址,因此向您支付款项的流程处于暂停状态”。好奇就点了进去,一看,说是金额达到了十美元,要开始验证用户真实信息,填入pin码。我也没多想,pin码不就是Google身份验证器的pin码嘛,输入,错误,显示:“您还可以再试 2 次。如果您尝试超过 3 次,广告将停止展示。”!!!看到说是输错暂停,这还得了,一看详细:寄送件可问题是我之前的地址都是乱填的,也没留姓名电话,大概率是找不到我了。去找补救措施,但是还好,邮件是9.26发出的,10.17还可以重新发一封。就是不明白给我发实体邮件为何不通知本人(电邮也行啊),还好发现的不算晚。于是赶紧的留下了详细的地址,只能等待10.17重新发一封了。他还写的一月份就要验证身份,不然也是停止投放广告,不知道能不能顺利的寄过来。但其实吧,需要到100刀才能提现,挂了几年的广告现在才10刀,有生之年能不能提出来都是个问题了。你的网站挂了广告了么
十一国庆,记录一次宝塔面板无法访问
打开网站,一切正常,都能进去。网站的redis,mysql都是正常的。后台bt命令也正常,只是唯独宝塔面板地址显示——127.0.0.1拒绝了我们的连接请求。。于是群里求助,群友说大概率是端口没开放,于是使用命令netstat -ntlp查看端口,没有8888端口!紧接着就去百度搜解决方法了。运行bt打开宝塔菜单,查看一下错误日志——22,显示以下错误: monkey.patch_all() File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/monkey.py", line 966, in patch_all _notify_patch(events.GeventWillPatchAllEvent(modules_to_patch, kwargs), _warnings) File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/monkey.py", line 168, in _notify_patch notify_and_call_entry_points(event) File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/events.py", line 111, in notify_and_call_entry_points for plugin in iter_entry_points(event.ENTRY_POINT_NAME): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 641, in <genexpr> for entry in dist.get_entry_map(group).values() File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2854, in get_entry_map self._get_metadata('entry_points.txt'), self File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2534, in parse_map for group, lines in data: File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3190, in split_sections for line in yield_lines(s): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2394, in yield_lines for ss in strs: File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2765, in _get_metadata for line in self.get_metadata_lines(name): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1417, in get_metadata_lines return yield_lines(self.get_metadata(name)) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata value = self._get(path) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1612, in _get return stream.read() OSError: [Errno 5] Input/output error Traceback (most recent call last): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2851, in get_entry_map ep_map = self._ep_map File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2813, in __getattr__ raise AttributeError(attr) AttributeError: _ep_map During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/www/server/panel/BT-Panel", line 11, in <module> monkey.patch_all() File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/monkey.py", line 966, in patch_all _notify_patch(events.GeventWillPatchAllEvent(modules_to_patch, kwargs), _warnings) File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/monkey.py", line 168, in _notify_patch notify_and_call_entry_points(event) File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/events.py", line 111, in notify_and_call_entry_points for plugin in iter_entry_points(event.ENTRY_POINT_NAME): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 641, in <genexpr> for entry in dist.get_entry_map(group).values() File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2854, in get_entry_map self._get_metadata('entry_points.txt'), self File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2534, in parse_map for group, lines in data: File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3190, in split_sections for line in yield_lines(s): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2394, in yield_lines for ss in strs: File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2765, in _get_metadata for line in self.get_metadata_lines(name): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1417, in get_metadata_lines return yield_lines(self.get_metadata(name)) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata value = self._get(path) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1612, in _get return stream.read() OSError: [Errno 5] Input/output error Traceback (most recent call last): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2851, in get_entry_map ep_map = self._ep_map File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2813, in __getattr__ raise AttributeError(attr) AttributeError: _ep_map During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/www/server/panel/BT-Panel", line 11, in <module> monkey.patch_all() File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/monkey.py", line 966, in patch_all _notify_patch(events.GeventWillPatchAllEvent(modules_to_patch, kwargs), _warnings) File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/monkey.py", line 168, in _notify_patch notify_and_call_entry_points(event) File "/www/server/panel/pyenv/lib/python3.7/site-packages/gevent/events.py", line 111, in notify_and_call_entry_points for plugin in iter_entry_points(event.ENTRY_POINT_NAME): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 641, in <genexpr> for entry in dist.get_entry_map(group).values() File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2854, in get_entry_map self._get_metadata('entry_points.txt'), self File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2534, in parse_map for group, lines in data: File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3190, in split_sections for line in yield_lines(s): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2394, in yield_lines for ss in strs: File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2765, in _get_metadata for line in self.get_metadata_lines(name): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1417, in get_metadata_lines return yield_lines(self.get_metadata(name)) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata value = self._get(path) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1612, in _get return stream.read() OSError: [Errno 5] Input/output error不行啊,这么长的一片,完全看不懂,紧接着使用修复命令——16,显示以下错误:ERROR: Exception: Traceback (most recent call last): File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 173, in _main status = self.run(options, args) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/commands/list.py", line 179, in run self.output_package_listing(packages, options) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/commands/list.py", line 255, in output_package_listing data, header = format_for_columns(packages, options) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/commands/list.py", line 307, in format_for_columns row = [proj.raw_name, str(proj.version)] File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/metadata/base.py", line 163, in raw_name retu rn self.metadata.get("Name", self.canonical_name) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/metadata/pkg_resources.py", line 96, in metadata return get_metadata(self._dist) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_internal/utils/packaging.py", line 48, in get_metadata metadata = dist.get_metadata(metadata_name) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1420, in get_metadata value = self._get(path) File "/www/server/panel/pyenv/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1617, in _get return stream.read() OSError: [Errno 5] Input/output error这个短,看出来是在/www/server/panel/pyenv/lib/python3.7/路径下出了问题。在宝塔论坛 发帖求助 也没人搭理。只好强硬的来尝试修复了——直接重命名/www/server/panel/pyenv/文件夹使用官方安装命令覆盖安装宝塔面板,修复python环境在安装了108分钟之后,顺利的进入到了后台,这时查看netstat -ntlp,也能看到8888端口了,一切正常了!!爽啊啊啊啊~~
傻瓜式教程——玩客云搭博客——从宝塔到穿透(问题&后记)
傻瓜式教程——玩客云搭博客——从宝塔到穿透(上)傻瓜式教程——玩客云搭博客——从宝塔到穿透(中)傻瓜式教程——玩客云搭博客——从宝塔到穿透(下)樱花frp设置参考之前说樱花frp开机自启没找到方法,但是可以使用任务计划在周期性是他自启。据群友说周期性反复启动会被检测封号,请酌情考虑是否周期性自启以及自启周期在宝塔任务计划面板,新建任务计划——任务类型 shell脚本任务名称 自填执行周期 自选脚本内容 ——#!/bin/bash cd /root str=$"/n" sstr=$(echo -e $str) nohup ./frpc -f xxxxxxxxxxxxxxxxxxxxxxx & echo "$sstr"因为樱花frp的隧道是http以及https是分开的隧道,因此我们申请两个隧道,分别关联http以及https,同时上述任务计划脚本也需要建立两个,然后在宝塔网站管理,开启强制SSL,即可使用http访问站点并强制跳转到https。日后的相关问题都会更新在这里
傻瓜式教程——玩客云搭博客——从宝塔到穿透(下)
前言上一期写着写着,字就变多了,所以分成三个部分,这部分主要的在U盘上安装宝塔。刷机(续)刷机有风险,操作需谨慎!!!因刷机导致的问题本人概不负责。宝塔设置首次进入宝塔时,需要安装环境这里我们选择——Nginx(这里不推荐Apache) - 隐藏内容 - 之后慢慢等待安装即可。安装结束后,进入宝塔左侧软件商店——已安装,检测是否全部顺利安装,若缺失,即安装失败,重新在软件仓库安装即可。安装博客程序这里大家可以自选自己的博客,或者是其他的web程序。使用文件管理后台安装好后,,,,,,我想大家都会,就不啰嗦了。检查博客在绑定本地80接口后,进入本地ip,查看是否顺利。能顺利访问即可。樱花frp注册樱花frp在本地检查无误后,进入樱花frp官网,注册账号。若使用ssl方式连接国内节点,需开放宝塔443接口,以及一元的樱花frp实名认证。创建隧道创建一条隧道创建成功后,可得到图中红字启动参数,记下来。frpc客户端下载 - 隐藏内容 - 可见隧道已经成功连同。frp自启动这个本喵没成功,部分参考代码放在这里,有成功的感谢指教。 - 隐藏内容 - 教程结束
狗洞——改自JOE主题的简单的小论坛
论坛现已关闭,于2021-8-31什么是狗洞这只是我在找导航图标的时候,找到了当初做舔狗日记的小icon。本打算叫树洞啊,论坛啊,广场啊,但是顶着狗头,那就叫个狗洞吧所以,什么是狗洞这是我(火喵)最近修改的一个joe主题,起因是看到了腾讯的discuz!Q上线了3.0版本,而且非常精简实用,因此也打算自己创建一个附带论坛性质的简易网站。网站开起来登录发帖功能,需要注册账号才可以进行评论和回复。具体的版块功能还没有确定,而且页面内容相对简单,日后会加以完善。干嘛用的呢具体用途还没想好,但是作为一个简易论坛,注册可以发帖发文,有问题可以互动交流,但是还没想好,毕竟是博客程序,互动内容太少qaq。后台装了美化,方便的进行编辑发表。emmm..
博客迁入至新家——玩客云搭设博客,及这周的艰辛记录
之前一直白嫖大佬的服务器,但是备份一直都是一件麻烦事。万一数据丢失那可就是超级心痛了。于是,手上的一台玩客云就成了我的目标。 首先决定刷机时,他已经是被刷成电视盒的形态。但是有谁会去经常看电视呢,性能4H1G的S805芯片,做博客岂不正合适。一开始,我并没有直接去刷宝塔搭设博客环境,而是想用它来搭设mc的服务器。人不用多3-5人就可以,但是出乎我的预料,折腾了整整三天,始终无法达成目标。于是草草的记录了一下刷mc的过程。感谢大毛的教学,无论是视频还是公众号的教程,也感谢他创建的Q群的好心的小伙伴们的耐心帮助,MC服务器也总算是搭建起来了。但是!有个超级难过的地方,那就是爆内存了,我开着小船,吹着风,划着水,然后被踢出服务器了。我进后台一看,说我小船划得太快?这样就没办法了,这还是纯净,没装mod呢。于是毅然决然放弃,装宝塔!宝塔也是超级一波三折。首先下载半天进度不住报错。一开始我以为是包的问题,后来才想起是长城宽带的问题。但是玩客云插网线,没办法走梯子(非智能路由)或者是流量。也更换过hosts,依旧没效果。然后折腾了半天想到了走手机流量做无线桥接,完美 。但是新问题来了,运行ssh时,经常发发生间歇性断网,后来设置成了屏幕常亮(被限制后台了)就好了。还有我装了半天宝塔5.9.2,装了Apache环境,结果穿透的时候报错,网上说是Apache的问题,于是换nginx。宝塔5.9.2的nginx版本只到1.15,arm装不上,凉凉。然后如法炮制装宝塔7.6,也是装了好久,报错。群里大佬提醒我换个底包,因为7.6较新,我就换了一个5.88的armbian,顺利装好——到mysql装到99%的时候,emmc的6.4G容量爆了!woc,这怎么办,只能迁移到U盘。大毛的代码经常有问题,人还常年不在线问不到,于是百度搜到做个软链,投到/www,可是新的问题又来了,这样的话宝塔不能自启。在慕竹大佬的建议下,迁移到了U盘根目录,删掉了软链,但是宝塔的启动顺序还是不能确定。最后参考百度,在/etc/rc.local下,添加/etc/init.d/bt start使问题得到了解决。然后就是安装网站环境,对于不能自启的bug,同样在/etc/rc.local下添加相应的指令。对于我打算在自启时,运行樱花frp的计划失败了,命令总是不对,在Q群白糖的建议下,选择了一段时间启动一次的方式。就记录这么多了。
Valine-实现QQ邮箱识别生成头像地址(完美解决头像问题)
无意中发现的小方法,超级棒,解决了火喵多年苦于有的人没头像的困境,开心~ 分享给大家!前言WordPress-sakura版本中,Mashiro大佬是添加了QQ邮箱识别生成头像地址的功能的,但是hojun大佬移植时没有注意这个功能哦!参考了其他版本评论系统对头像的处理方法:Typecho实现QQ邮箱识别生成头像地址获得两个接口?,美滋滋:一个是QQ头像的,一个是Gravatar国内源,它们的调用方式如下。QQ头像 http://q1.qlogo.cn/g?b=qq&nk=QQ号&s=100Gravatar头像 http://cdn.v2ex.com/gravatar/md5加密后的邮箱?s=100以上就是两个头像接口的信息,值得注意的是Gravatar后面的s分辨率参数可以随意定义,而QQ不行,QQ只有几个有限的分辨率,比如100,200,640,其它的数字会报400错误,所以QQ的s参数更像是一种清晰度,宽高还是通过css定义比较好。我的启示是:获取邮箱判断是否为qq邮箱提取qq号将valine中的头像地址改为上述接口地址此时,我觉得想法的实现流程非常缜密,感到可行,开心到飞起~ let me do it!F12查看源码–发现valine中显示头像的相关代码是:(关键标签:vimg)再以我ctrl+F快速查找的本领(关键词:vimg),不负众望,在Valine.min.js中找到首先我们要知道:valine的头像处理接口是gravator拼接头像地址并显示的关键步骤:ok,找到源头,替换src的内容即可。<img class="vimg" src="'+(m.cdn+a(e.get("mail"))+m.params)+'">正式开干!示例修改valine.min.js下载Valine.min.js到本地themes\sakura\source\js\Valine.min.js修改引入本地的Valine我的引入位置在:themes\sakura\layout\_partial\comment.ejs如果你是在footer.ejs,注意相对路径只有一个点打开Valine.min.js,ctrl+F快速查找关键词:m.cdn+a(e.get("mail"))+m.params定位到:稍加换行如图所示:修改前:C=function(e,n,r){ var i=u.create("div",{class:"vcard",id:e.id}),o=m.hide?"":'<img class="vimg" src="'+(m.cdn+a(e.get("mail"))+m.params)+'">',修改后:其实关键代码就这一点点~ QAQ var C=function(e,n,r){ var qq_img=m.cdn+a(e.get("mail"))+m.params;//默认gravator头像接口 if(e.get("mail").indexOf("@qq.com") >= 0){ var prefix = e.get("mail").replace(/@.*/, "");//前缀 var pattern=/^\d+$/g; //正则表达式,数字 var result= prefix.match(pattern);//match 是匹配的意思 if(result!==null){ qq_img = "//q1.qlogo.cn/g?b=qq&nk="+ prefix +"&s=100"; } } var i=u.create("div",{class:"vcard",id:e.id}),o=m.hide?"":'<img class="vimg" src="'+ (qq_img)+'">',流程:默认还是gravator头像接口判断是否是qq邮箱,提取前缀prefixqq头像接口是qq号,如正则筛选剔除–重命名了带英文的qq邮箱拼接头像地址加入src显示!效果哈哈哈,如果有其他邮箱头像接口,都可以同理加上哦!都说博客的 评论模块 和 消息通知模块 是最难的,为了花式DIY评论区,效果自己也比较满意吧。
HEXO建站100天的点滴总结
转向HEXO{callout color="#f0ad4e"}很难过,使用在线MD编辑器敲了好多好多字结果没有自动保存,结果一下子全都没有了,还要重新写一遍真的很难受{/callout}不知不觉博客下方的建站时间告诉我现在已经使用hexo达到100天的时间了。看着博客,100天的变化还是很不小的。当时使用的博客程序还是wordpress,但是因为实在是服务器比较便宜的原因,网站访问速度很慢。而且wordpress十分臃肿,程序和插件三天两天更新,更新之后还容易和原有的主题不兼容,每次维护博客旧很浪费时间,因此决定换掉wordpress。友情链接里的大佬们一个个都换到typecho和hexo了,因此作为只用过wordpress的小白,决定先整清楚他们之间的优缺点。我在网上寻找,看到了这样一篇文章:个人博客如何选择 Typecho 和 Hexo ?文章写的很清晰,作者是结合自己这两天使用 Hexo 的感受和 Typecho 博客的感受总结出这篇文章来的。其中作者对于hexo和typecho做了分析对比。其中对于typecho是这样描述的:Typecho是一个简单,轻巧的博客程序。基于PHP,使用多种数据库(Mysql,PostgreSQL,SQLite)储存数据。在GPLVersion 2许可证下发行,是一个开源的程序。这说明typecho是和wordpress一样,使用PHP+Mysql环境搭建的动态网站。而没有wordpress那种臃肿的复杂度和丰富的扩展性,仅仅主要是为了写博客的程序,因此速度会很快,但也需要数据库的支持再来看看对于hexo的描述:Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。没错,静态网页。根据百度查询,发现许多人都是使用github作为hexo的托管,免费还速度快。但是我还注意到了作者这样一句话:Hexo 是需要一定的技术门槛的,话来的是近乎“零成本”的博客网站搭建体验,而 Typecho 和 WordPress基本一样都是需要付出一定的“金钱成本”的,虽然 Typecho 相对于 WordPress 来说可以更加低廉一些。而我现在的wordpress不仅花钱买的服务器还很吃慢,作为玩了wordpress仍毫无建树的敲码小白因此决定,换到hexo搭建新的博客。安装与部署许多人都将博客程序托管到了github,因此我也打算效仿。具体过程网上有很多的教程了,因此就不啰嗦了。在成功搭建到github之后,我发现访问速度并不是很快,有的时候也是连接不上。毕竟github的链接也是不稳定。突然一想,因为在用wordpress时我是将图片放在腾讯cos存储中,于是作为静态站是否也可以呢?于是我就发现了这篇文章:如何在腾讯云COS部署HEXO博客。文章写的很好,一步步来就好了。但是在我要自定义域名加上ssl的时候问题来了。cos的证书是cos自己的,想要放自己的证书就需要开启cos的cdn加速。可是国内使用cdn服务的话需要备案!我的域名并没有备案,因此凉凉在了最后一步。没办法,没有cos我们还有腾讯的coding呢。于是现在,博客搭载了腾讯的香港coding服务器上,并使用腾讯的cos作为图床。而github就作为海外访问的站点,二级域名是mirror。主题的选择在官方hexo主题库里:https://hexo.io/zh-cn/docs/themes.html 有不少好看的主题,也查看了不少知乎的介绍推荐,但是最后我看中了两款主题:hexo-theme-butterfly https://jerryc.me/hexo-theme-matery https://www.lixianglong.cn/第一款是很简单的双栏主题,作者很用心的写了主题使用官方文档,浅显易懂,主题很好而第二款主题是质感设计的瀑布流,搭配可以互动的统计表格,也很好看最后我选择了第一个。而且我也很感谢作者的帮助。遇到问题我就在留言板留言,作者也很耐心的帮助我,这点很感谢~主题的修改主题的官方文档写的很多,可以有许多自带的特效,但是我也自己加了许多,写了一篇简单的小结有兴趣的话可以去瞅瞅,但是有一些我就没写,比如右侧公告的修改,天气样式的修改(天气使用的是和风天气挂件),还有下载页面的修改等等,但是都很简单,也懒得打这么多字了。有想知道的可以直接给我留言就好了,但是都不难,毕竟我不会敲代码的都会照葫芦画瓢整出来~然后剩余的服务器资源我也没浪费,搭建了一下typecho,也就是现在的吃糖博客。
使Typecho实现PJAX无刷新访问
使Typecho实现PJAX无刷新访问因为新建了一个typecho博客,界面很干净简洁,加载速度也异常迅速。因此打算在左侧侧边栏创建一个网易云音乐的音乐外链,但是并没有全站无刷新。因此百度了一下,解决了问题。下面是解决方法,具体效果欢迎访问吃糖博客 【地址现已失效】在服务器中新建pjax.js文件,用于操作 PJAX 组件。内容暂时留空。打开网站的footer.php文件, 在文件底部</body>的前面添加下面代码:<script src="https://cdn.jsdelivr.net/npm/pjax/pjax.js"></script> <script src="https://tuziang.com/usr/themes/Fantasy/static/pjax.js"></script>其中第二行需要替换成你自己的路径。现在开始填写刚才新建的pjax.js文件:var pjax = new Pjax({ // 在页面进行 PJAX 时需要被替换的元素或容器,一条一个 CSS 选择器,数组形式 selectors: [ "title", "meta[name=description]", "main" ], cacheBust: false }) selectors中是每次刷新都要改变的元素。动画一使用nprogress的加载动画: http://ricostacruz.com/nprogress/同样在footer.php底部添加两行代码<script src="https://unpkg.com/nprogress@0.2.0/nprogress.js"></script> <link href="https://unpkg.com/nprogress@0.2.0/nprogress.css" rel="stylesheet" type="text/css"> 接着修改刚才我们自己新建的pjax.js文件,在文件底部添加下面两个函数document.addEventListener('pjax:send', function (){ NProgress.start(); }); document.addEventListener('pjax:complete', function (){ NProgress.done(); ; });动画二这个动画来自于https://blog.dyboy.cn/program/56.html利用Pjax实现网页无刷新加载的详细方法 - DYBOY - 专注程序开发与信息安全在header.php文件中的</body>前面添加这行代码: <!-- pjax 动画 --> <div class="loading"> <div id="loader"></div></div>接着去css文件中,添加:/*pjax 动画*/ .loading{display:none} .loading{height:100%;width:100%;position:fixed;top:0;left:0;z-index:999999;background-color:rgba(250,250,250,.9)} .loading img{width: 280px;height:210px;position: relative;top: 45%;left: 50%;margin-left:-140px;margin-top: -105px;} #loader{display: block; position: relative; left: 50%; top: 50%; width: 150px; height: 150px; margin: -75px 0 0 -75px; border-radius: 50%; border: 3px solid transparent; border-top-color: #ff5a5a; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite;} #loader:before{content: ""; position: absolute; top: 5px; left: 5px; right: 5px; bottom: 5px; border-radius: 50%; border: 3px solid transparent; border-top-color: #5af33f; -webkit-animation: spin 3s linear infinite; animation: spin 3s linear infinite;} #loader:after{content: ""; position: absolute; top: 15px; left: 15px; right: 15px; bottom: 15px; border-radius: 50%; border: 3px solid transparent; border-top-color: #6dc9ff; -webkit-animation: spin 2s linear infinite; animation: spin 2s linear infinite;} @-webkit-keyframes spin{0%{-webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);} 100%{-webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg);}} @keyframes spin{0%{-webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);} 100%{-webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg);}} 最后修改刚才我们自己新建的pjax.js文件:document.addEventListener('pjax:send', function (){ $(".loading").css("display", "block"); }); document.addEventListener('pjax:complete', function (){ $(".loading").css("display", "none"); });我用的就是第一种动画效果。
萌ICP备20210005号 辽ICP备2021005644号-1 辽公网安备 21021102000984号 本站已运行 2 年 202 天 12 小时 28 分 51统计 百度统计 自豪地使用 Typecho 建站,并搭配 MyDiary 主题 Copyright © 2020 ~ 2022. 火喵博客・日记本 All rights reserved.
历史足迹
分类目录
  • 日常
  • 晒物
  • 🦙 代码
  • 🏗️ 建站
  • 📷 生活