登 录
注册
Search
标签搜索
技术教程
typecho
JavaScript
成长日记
Joe主题
Typecho主题
前端学习
网站搭建
typecho函数
影视分享
情感
css
帮助文档
虚拟机
服务器
typecho编辑器
插件
Linux
typecho插件
Windows
Brains - 灵感乌托邦
累计撰写
81
篇文章
累计收到
4,294
条评论
文章首页
分类栏目
技术教程
Typecho
程序代码
学习笔记
Web前端
CSS
JavaScript
其他文章
生活
独立页面
胡言乱语
生活吐槽
友情链接
网站统计
关于博主
自建图床
自建网盘
博主推荐
灵感宝物库
灵感图床库
Code-Server
在线工具箱
TypechoDoc
在线转换
灵感导航页
登录
丨
注册
程序代码
(共
27
篇)
搜索到
27
篇与
程序代码
的结果
【笔记】反向代理的坑
在本地搭建的兰空图床,使用内网穿透后,可以使用ip+端口正常访问,但是存在https和http混用,导致网页端显示异常且报错,所以请教了AI模型,给出了反代配置如下 #PROXY-START/ location ^~ / { proxy_pass http://81.68.192.192:9090; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 新增 proxy_set_header X-Forwarded-Host $host; # 新增 proxy_set_header X-Forwarded-Port 443; # 新增 proxy_set_header X-Forwarded-Scheme https; # 新增 proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; # proxy_hide_header Upgrade; # 关键:修复混合内容 proxy_set_header Accept-Encoding ""; # 禁用压缩以便替换 sub_filter_once off; sub_filter_types text/html text/css application/javascript application/json; sub_filter 'http://pic.fuuuy.cn' 'https://pic.fuuuy.cn'; sub_filter 'http://$host' 'https://$host'; sub_filter 'href="http://' 'href="https://'; sub_filter 'src="http://' 'src="https://'; sub_filter 'action="http://' 'action="https://'; sub_filter 'url("http://' 'url("https://'; sub_filter "url('http://" "url('https://"; sub_filter '\"http://' '\"https://'; sub_filter "'http://" "'https://"; sub_filter 'https://https://' 'https://'; add_header X-Cache $upstream_cache_status; #Set Nginx Cache set $static_filelr9SU9OZ 0; if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) { set $static_filelr9SU9OZ 1; expires 1m; } if ( $static_filelr9SU9OZ = 0 ) { add_header Cache-Control no-cache; } } #PROXY-END/
2026年01月16日
16 阅读
0 评论
1 点赞
2026-01-16
『原创』『教程』博客评论框添加随机一言
前言由于我的博客之前经常有人回复一些无意义的内容,导致很多垃圾评论所以我在想既然很多游客喜欢回复一些垃圾评论,不如我直接设置一个随机一言,让他们省去了垃圾评论的打字时间,同时又能让我的评论区少一些无意义的评论而且那些真正认真回复的人只需要一键删除即可,也不会很影响评论体验,所以就给自己的评论框添加了随机一言前段时间有小伙伴留言让我出个评论随机一言的教程,而我这边突然爆发了疫情,前些天自己又感染了,所以一直拖到现在效果展示按照惯例,先来一波效果展示本教程仅以Joe主题为例,其他主题可自行发挥能力,如有技术问题,博主可提供简单的指导教程开始一、添加后台控制在 Joe/functions.php 或者 Joe/public/custom.php(有的话) 内添加以下代码// 评论框随机语录功能 $Comment_Citation = new Typecho_Widget_Helper_Form_Element_Select( 'Comment_Citation', array('off' => '关闭(默认)', 'on' => '开启'), 'off', '是否开启评论框随机语录功能', '介绍:开启后,评论框自动随机填充随机语录' ); $Comment_Citation->setAttribute('class', 'joe_content joe_change'); // 如果后台无法展示该设置,将joe_change修改为joe_other $form->addInput($Comment_Citation->multiMode()); //评论框随机语录链接/文字 $Comment_Citation__text = new Typecho_Widget_Helper_Form_Element_Textarea( 'Comment_Citation__text', NULL, "https://api.vvhan.com/api/ian", '评论框随机语录', '介绍:用于修改评论框随机语录(可以为api地址) <br /> 格式:一行一个,可以为api地址,也可为文字,可以填写多个API地址<br /> 注意:必须填写JSON格式的API,API需要开启跨域权限才能调取,否则会调取失败!<br /> 如果为api地址可在前台按钮刷新内容,如果为文字只能刷新页面来刷新内容(建议使用api地址)<br /> 推荐API:https://api.vvhan.com/api/ian' ); $Comment_Citation__text->setAttribute('class', 'joe_content joe_change'); // 如果后台无法展示该设置,将joe_change修改为joe_other $form->addInput($Comment_Citation__text);二、添加刷新按钮(可省略)在 Joe/public/comment.php 添加以下代码,不添加则不设置刷新按钮{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="添加代码"}<?php if ($this->options->Comment_Citation !== "off") : ?> <div class="Comment_Citation" title="语录"> <div class='comment_box'> <i class='fa fa-fw fa-refresh' aria-hidden='true'></i> <span class="title">语录</span> </div> </div> <?php endif; ?>{/tabs-pane}{/tabs}三、添加内容获取1、添加后端获取在 Joe/core/function.php 添加以下代码{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="添加代码"}/* 获取评论框随机语录 */ function _getComment_Citation() { $CitationRandom = explode("\r\n", Helper::options()->Comment_Citation__text); echo $CitationRandom[array_rand($CitationRandom)]; }{/tabs-pane}{/tabs}2、添加前端获取在 Joe/public/config.php 添加以下代码{tabs}{tabs-pane label="添加位置"}{/tabs-pane}{tabs-pane label="添加代码"}CITATION: `<?php _getComment_Citation() ?>`, // 评论随机语录{/tabs-pane}{/tabs}四、添加核心代码在 Joe/assets/js/joe.global.min.js 或者 Joe/assets/js/custom.min.js(有的话) 添加以下代码隐藏内容,请前往内页查看详情五、添加刷新按钮样式(可省略)这是刷新按钮样式,如果前面没添加刷新按钮,可跳过此步骤在 Joe/assets/css/joe.global.min.css 或者 Joe/assets/css/custom.min.css(如果有)添加以下代码.joe_owo__contain { position: static; .box { position: absolute; bottom: 100%; margin-bottom: 6px; left: 0px; padding-top: 5px; border: 1px solid rgba(0, 0, 0, 0.15); border-color: transparent; box-shadow: 0 0 10px 8px rgb(116 116 116 / 8%); } } .comment_box { cursor: pointer; text-align: center; color: var(--routine); height: 26px; line-height: 26px; background: var(--background); opacity: 0.85; border-radius: 13px; width: 70px; margin-left: 5px; &:hover { background: var(--theme); color: #fff; }}结语教程稍有点复杂,但其实是沿用侧栏随机一言的方法,所以如果你能看懂核心js的话,可以仅修改 第四步 中ajax的 url 来实现,那样会简单很多很多
2022年12月27日
18,743 阅读
80 评论
17 点赞
2022-12-27
『原创』『教程』为你的博客添加阅读模式(适配Joe,其他主题也可用)
前言我又来拔flag了,最近立了好多flag,但是最近重庆太热了,不想写文章(其实就是懒了)既然给小伙伴立了flag,还是要说到做到,不然没有小伙伴来玩了。这个功能也是xcshare定制的功能,但是我还是分享出来吧成果展示教程开始一、添加后台开关一样的,还是在 Joe/functions.php 里添加(也可以在 Joe/public/custom.php 里添加,前提是你创建并引用了这个文件)// 是否启用阅读模式 $ReadBook = new Typecho_Widget_Helper_Form_Element_Select( 'ReadBook', array( 'off' => '关闭(默认)', 'on' => '开启'), 'off', '请选择是否启用阅读模式', '介绍:开启后,文章页可以进入阅读模式' ); $ReadBook->setAttribute('class', 'joe_content joe_custom'); //没有joe_custom就改成joe_other $form->addInput($ReadBook->multiMode());二、添加开关按钮在 Joe/public/footer.php 的 <div class="joe_action"> 内部添加以下代码<!-- 阅读模式 --> <?php if ($this->options->ReadBook === 'on' && $this->is('post')) : ?> <!-- 检测是否为文章页 --> <div class="joe_action_item read_book" title="阅读模式"> <svg t="1651294208728" class="icon-1" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="22" height="22"> <path d="M170.666667 128a42.666667 42.666667 0 0 0-42.666667 42.666667v597.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h161.664a213.333333 213.333333 0 0 1 118.314666 35.84l61.354667 40.874666 61.354667-40.874666A213.333333 213.333333 0 0 1 691.626667 810.666667H853.333333a42.666667 42.666667 0 0 0 42.666667-42.666667V170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-161.664c-17.706667 0-44.672 7.68-67.413333 20.906667-11.008 6.4-18.944 12.928-23.637333 18.346666a23.978667 23.978667 0 0 0-3.413334 4.821334V682.666667a42.666667 42.666667 0 0 1-85.333333 0V170.666667c0-24.746667 11.861333-44.970667 24.192-59.221334a178.688 178.688 0 0 1 45.354667-36.352c32.384-18.773333 74.026667-32.426667 110.250666-32.426666H853.333333a128 128 0 0 1 128 128v597.333333a128 128 0 0 1-128 128h-161.664a128 128 0 0 0-70.997333 21.504l-84.992 56.661333a42.666667 42.666667 0 0 1-47.36 0l-84.992-56.661333A128 128 0 0 0 332.330667 896H170.666667a128 128 0 0 1-128-128V170.666667a128 128 0 0 1 128-128h161.664a213.333333 213.333333 0 0 1 118.314666 35.84 42.666667 42.666667 0 0 1-47.317333 70.997333A128 128 0 0 0 332.330667 128H170.666667z" p-id="9868" fill="var(--minor)" data-spm-anchor-id="a313x.7781069.0.i0" class="selected"></path> <path d="M213.333333 384a42.666667 42.666667 0 0 1 42.666667-42.666667h128a42.666667 42.666667 0 0 1 0 85.333334H256a42.666667 42.666667 0 0 1-42.666667-42.666667zM256 554.666667a42.666667 42.666667 0 0 1 42.666667-42.666667h85.333333a42.666667 42.666667 0 0 1 0 85.333333H298.666667a42.666667 42.666667 0 0 1-42.666667-42.666666z" fill="var(--minor)" p-id="9869" data-spm-anchor-id="a313x.7781069.0.i1" class="selected"></path> </svg> <svg t="1651294208728" class="icon-2" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="22" height="22"> <path d="M170.666667 128a42.666667 42.666667 0 0 0-42.666667 42.666667v597.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h161.664a213.333333 213.333333 0 0 1 118.314666 35.84l61.354667 40.874666 61.354667-40.874666A213.333333 213.333333 0 0 1 691.626667 810.666667H853.333333a42.666667 42.666667 0 0 0 42.666667-42.666667V170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-161.664c-17.706667 0-44.672 7.68-67.413333 20.906667-11.008 6.4-18.944 12.928-23.637333 18.346666a23.978667 23.978667 0 0 0-3.413334 4.821334V682.666667a42.666667 42.666667 0 0 1-85.333333 0V170.666667c0-24.746667 11.861333-44.970667 24.192-59.221334a178.688 178.688 0 0 1 45.354667-36.352c32.384-18.773333 74.026667-32.426667 110.250666-32.426666H853.333333a128 128 0 0 1 128 128v597.333333a128 128 0 0 1-128 128h-161.664a128 128 0 0 0-70.997333 21.504l-84.992 56.661333a42.666667 42.666667 0 0 1-47.36 0l-84.992-56.661333A128 128 0 0 0 332.330667 896H170.666667a128 128 0 0 1-128-128V170.666667a128 128 0 0 1 128-128h161.664a213.333333 213.333333 0 0 1 118.314666 35.84 42.666667 42.666667 0 0 1-47.317333 70.997333A128 128 0 0 0 332.330667 128H170.666667z" p-id="9868" data-spm-anchor-id="a313x.7781069.0.i0" class="selected"></path> <path d="M213.333333 384a42.666667 42.666667 0 0 1 42.666667-42.666667h128a42.666667 42.666667 0 0 1 0 85.333334H256a42.666667 42.666667 0 0 1-42.666667-42.666667zM256 554.666667a42.666667 42.666667 0 0 1 42.666667-42.666667h85.333333a42.666667 42.666667 0 0 1 0 85.333333H298.666667a42.666667 42.666667 0 0 1-42.666667-42.666666z" p-id="9869" data-spm-anchor-id="a313x.7781069.0.i1" class="selected"></path> </svg> </div> <?php endif; ?>三、添加JS首先说明,因为我使用的Joe主题自带jQuery框架,如果你是其他主题,请自行引入jQuery或者将以下代码修改为原生js在 Joe/assets/js/joe.post_page.min.js 最后一个 }); 前加入以下代码当然你也可以加在Joe/assets/js/joe.post_page.js里再使用minify进行压缩 如果看过我之前的教程,也可以加在 Joe/assets/css/custom.js 里,再进行压缩 隐藏内容,请前往内页查看详情四、添加按钮css在 Joe/assets/css/joe.post.min.css 里加入以下代码 如果看过我之前的教程,也可以加在 Joe/assets/css/custom.scss 里,再用scss to css转换即可 .joe_action_item.read_book{visibility:hidden;transform:scale(0)}.joe_action_item.read_book.active{visibility:visible;transform:scale(1)}.joe_action_item.read_book svg{transform:scale(0);opacity:0;transition:transform .85s,opacity .85s}.joe_action_item.read_book svg.active{transform:scale(1);opacity:1}结语其实教程很简单,就是隐藏一些组件和更换页面底色没有固定的方法,只有固定的思维,所以一定要多思考、多变通。
2022年08月22日
21,347 阅读
41 评论
18 点赞
2022-08-22
『转载』『教程』搭建z-file文件目录并开启反向代理,可做图床和网盘
ZFile此项目是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.前端基于 h5ai 的原有功能使用 Vue 重新开发、后端采用 SpringBoot, 数据库采用内嵌数据库.成果安装教程一、安装依赖基于java开发,所以要先安装java环境# CentOS系统 yum install -y java-1.8.0-openjdk unzip # Debian/Ubuntu系统 apt update apt install -y openjdk-8-jre-headless unzip 二、下载、上传项目隐藏内容,请前往内页查看详情直接下载并上传到网站根目录,然后解压得到以下目录z-file ├─ META-INF ├─ WEB-INF └─ bin ├── start.sh # 启动脚本 ├── stop.sh # 停止脚本 └── restart.sh # 重启脚本三、开启部署服务直接在当前目录打开终端输入以下代码./bin/start.shWeb默认端口为8080,如需修改端口可直接编辑配置文件 /zfile/WEB-INF/classes/application.yml 启动之后部署工作即宣告完成,可以在浏览器里直接输入ip:8080进入Web进行下一步配置,如果觉得每次都要加端口号麻烦可以参考后续设置反代。 具体访问地址如下四、域名访问在宝塔面板中添加一个新的网站如果想要开启HTTPS可以在设置反代之前在SSL选项卡配置证书打开反向代理选项卡,选择添加反向代理,端口填你设置的端口号(我这里改成了8282),如图配置五、初始化因为上一步已经配置了域名访问,所以直接输入域名,无需再加端口号,设置管理用户名和密码。输入 域名/#/admin进入管理后台,可以设置域名,外观设置,修改密码,添加存储等。六、更多用法1、文件夹加密直接在欲加密的文件夹中上传一个名为“password.txt”的文件即可,密码即为文件内容。加密之后效果如图2、显示readme如果想在某个文件夹中显示readme文件,直接在该文件夹中上传readme.md文件即可,同时需要在后台中开启显示文档区功能。3、可以作为图床使用如果你的博客需要图片外链,那么你可以将图片上传到某个目录,接着在zfile中打开这个目录,找到图片文件,右键并选择复制直链,这样就获取了这张图片的直链。总结Z-File作为一款开源免费的网盘列表程序,优点还是很多的。安装部署和配置都比较方便,也可以生成固定的文件链接,使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发。
2022年03月13日
7,185 阅读
5 评论
12 点赞
2022-03-13
『转载』『教程』H5ai(Dplayer)完整安装使用教程及注意事项
前言关于如何搭建 H5ai ,网上虽然有很多教程,但详细的却不多,有的也是比较模糊。本文将介绍一下如何在宝塔Nginx环境下搭建 H5ai 以及其中的一些注意事项。成果H5ai是一款德国程序员Lars Jung打造的基于HTTP Web服务器的现代文件索引器,是一款功能强大的PHP文件目录列表程序,适合做个人仓库,它提供多种文件目录列表呈现方式,支持 Apache Httpd, Lighttpd, Nginx等多种WEB服务器,支持多国语言(如英语,简体中文等),你可以在线预览以及下载TXT,图片,音频,视频等文件格式。 安装教程一、环境要求{callout color="#f0ad4e"}Nginx - MySQLPHP 7.1或以上phpMyAdmin{/callout}二、添加站点请在左边的菜单栏,找到网站,然后点击添加站点,输入相关信息后点击提交即可 三、H5ai下载将文件解压后放在网站根目录下的_h5ai文件夹内,结构如下 下载地址隐藏内容,请前往内页查看详情DOC_ROOT ├─ _h5ai ├─ your files └─ and folders 四、上传文件把你需要列的文件及目录放在_h5ai同目录下即可(我这里是把_去掉了) 五、修改配置文件在宝塔面板首页->左边的网站 -> H5ai(放H5ai的网站) -> 设置 -> 配置文件中六、查看依赖信息访问 http(s)://你的网站名/_h5ai/public/index.php来查看H5ai的功能开放情况,默认密码为空 右边已经是yes或者变成绿色的,证明对应的依赖已经安装成功 七、配置PHP1、安装Use EXIF thumbs{callout color="#2bff00"}安装imagemagick和exifUse EXIF thumbs会显示成yes{/callout}2、Movie thumbs (ffmpeg)安装CentOS 6和7安装方法是不一样的,下面分别说明: 安装前都需要先安装epel扩展源:# yum -y install epel-release # su -c ‘yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm‘ # yum -y install ffmpeg ffmpeg-devel 3、PDF thumbs安装选择安装convert# yum -y install ImageMagick 4、Shell tar/Shell zip/Shell du安装这三项根据h5ai官网,在 php.ini被禁用函数中去掉 exec和 passthru即可,是否有危险不知道,自己掂量,禁用好像也不影响一些功能,另外顺便把 scandir函数去掉禁用,不然会出现无非显示目录中文件的情况。 在你的软件商店中找到你下载的PHP版本–进入设置–禁用函数 {callout color="#14ffb9"}删除exec 和 passthruShell tar Shell zip Shell du就会显示成yes{/callout}八、给H5ai加密码首先我们要找到这个文件 _h5ai/public/index.php ,在最下面增加以下代码:function mima() { $user=array(‘填写你的用户名‘,‘填写你的密码‘); if(!($user[0]===$_SERVER[‘PHP_AUTH_USER‘] && $user[1]===$_SERVER[‘PHP_AUTH_PW‘])){ header(‘WWW-Authenticate: Basic realm="MY Mark"‘); header(‘HTTP/1.0 401 Unauthorized‘); die("please login"); } } 然后在第一行,也就是<?php的下面(也就是第二行)插入以下代码:php mima(); 九、注意事项1、读取不出文件如果存在文件,但读不出来,可能原因就是 php 已禁用 scandir函数了,请修改 php.ini解决。 disable_functions=passthru,exec,system,chroot,scandir,... 删掉 scandir,字样,再重启 php 即可:/etc/init.d/php-fpm restart。 文件仍读不出 把h5ai程序_h5ai中 private和 public两个文件夹中的 cache目录权限设置为 777。2、404报错检查上面步骤说到的配置文件步骤,如果正确请重启服务器试一试。
2022年03月13日
6,022 阅读
2 评论
2 点赞
2022-03-13
『原创』『教程』搭建在线VSCode,部署Code-Server并配置反向代理实现域名访问
前言最近学习web开发,一边看视频一边练习,码代码、记笔记,实属有些不亦乐乎但是无奈本子配置不高,每次同时打开vscode+Chrome,本子风扇呼呼作响不说,手里还像捧着个暖宝宝,实在不快突然想起之前看到过的开源vscode—— code-server ,索性自己也来搭建一个web版的vscode成果展示教程开始一、下载code-server源代码其实codeserver有很多种安装方式,但是我这里使用的是通过宝塔进行本地安装Docker安装虽然简单,但是后期维护和修改会很难受,所有我就采用本地安装吧{card-default label="下载code-server源码" width=""}官方github下载: code-server 国内镜像下载: code-server 3.12.0-linux-amd64.tar.gz code-server-4.1.0-linux-amd64.tar.gz code-server-4.1.0-linux-arm64.tar.gz code-server-4.1.0-macos-amd64.tar.gz {/card-default}二、运行code-server1、上传下载的文件到服务器直接将下载好的文件上传到自己的服务器,当然你也可以先使用宝塔添加一个网站然后上传到该网站对应的目录下2、解压文件3、运行code-server直接在解压的文件夹内点击终端进入终端然后在终端输入以下代码直接启动./bin/code-server --host 0.0.0.0 --port 8080如图所示就是已经完成配置.进入浏览器,输入服务器公网ip,加上刚才我们指定的端口号进入,显示欢迎界面输入密码进入4、修改密码在第一次开启code-server时,会在服务器 根目录-root-.config-code-server下生成一个配置文件打开后可以修改 host:端口 和 密码 ,这里建议把host改为 0.0.0.0 以能够使用外网访问如果不想使用密码,在 启动命令 中加 --auth none 即可无需密码进入。成功访问。到这里,我们就基本完成了 code-server 的部署。存在的问题虽然我们已成功部署了 code-server 服务,但有几个问题仍然不可避免!我们使用 终端 连接的方式启动 code-server,一旦断开连接,那么 code-server 就不可以再使用了code-server 自签的证书被浏览器提示不安全域名 + 端口的访问方式实在是太麻烦,而且还会暴露端口,不安全优化 code-server 服务一、问题11、创建开启脚本直接在code-server同目录下创建一个 start.sh 文件,打开将以下代码复制进去隐藏内容,请前往内页查看详情2、创建关闭脚本创建一个 stop.sh 文件,将以下代码复制进去kill -9 'cat save_pid.txt' # 关闭这个进程,关闭code-server服务这样一来我们就得到了开启和关闭的脚本文件3、启动开启脚本在同目录文件夹下打开终端输入以下代码,就可以直接启动code-server并保持后台./start.sh启动后不会有反馈,可以直接关闭当前终端,然后会发现同目录下生成了 run.log 文件打开 run.log 即可看到运行日志二、问题2{callout color="#38bdff"}必须先添加 SSL 证书,然后设置反向代理{/callout}该步骤结合第三步,先添加一个站点,设置好域名,不需要任何环境,php 版本设置为纯静态,然后在面板的 SSL 中申请 Let’s Encrypt 免费 SSL 证书即可。三、问题3这里我们改变默认端口进行访问,并且使用 Nginx 反向代理修改端口:我们可以选择合适的端口开启 code-server,如: ./code-server --port 288651、创建反向代理点击刚才在宝塔 添加的网站-反向代理-添加反向代理 输入你的 代理名称、目标URL {callout color="#f0ad4e"}代理名称:code-server(随便填)目标URL:你的外网IP:端口{/callout}此时你就可以直接使用你的域名进行访问了,但是可能会报错 Error: WebSocket close with status code 1006 别急,这是正常现象,因为你的Nginx没有使用WebSocket代理2、修改反向代理的配置文件点击反向代理里的 配置文件 进行修改在如下位置加入以下代码 隐藏内容,请前往内页查看详情然后再返回你的域名,你会发现可以正常访问了结语虽然code-server还达不到vscode的强大,但是已经可以方便很多了,至少对我来说,我的渣本再也不会呼呼作响了。{bilibili bvid="bv1uL411P7VN" page=""/}
2021年11月26日
13,943 阅读
122 评论
447 点赞
2021-11-26
『修复』『插件』Typecho文章内容分页插件修复版(适配Joe编辑器)
前言最近在学习web开发,每天跟着教学视频学习,我觉得每一个都是重点,所以有很多学习笔记我将学习笔记放在了自己的博客,一是为了记录自己学习内容,二是为了复习方便但是最近学习DOM的时候,发现有很多要点,而我又不想将其分篇来写,所以导致一篇文章有很多内容内容一多,阅读的时候就很不方便,因为滚动条变小了,而且一直翻不到底也很容易让人放弃所以我就去寻找有没有将文章分页的方法,好不容易找到一个方法,但无奈自己才疏学浅无法将其应用到typecho上来只好退而求其次,寻找有么有现成的方法或者插件,功夫不负有心人,终于还是让我找到了一款插件但是版本很老,是2010年的一款插件,已经不支持typecho1.1了索性到google去找找,没想到意外发现了一位大佬修复了兼容1.1的问题可是由于版本较早,且当年互联网的技术和审美不如现在,所以虽然能用也还是存在一些小问题,比如支持第三方编辑器时,快捷插入键失效且显示在页面底部于是自己动手修复了一下,并对样式进行了一些修改,虽不够完美,但起码适配当前主题成果展示{tabs}{tabs-pane label="前端展示"}{/tabs-pane}{tabs-pane label="编辑器展示"}{/tabs-pane}{/tabs}插件下载本插件主要适配Joe主题,如其他主题需要使用,可以自行修改博主也可以提供一些小的技术支持,喜欢的话不妨打赏博主,万分感谢!
2021年11月18日
11,900 阅读
28 评论
30 点赞
2021-11-18
『原创』『教程』Typecho后台撰写文章时插入标签(非插件)
每次写文章的时候,都忘记填写标签,因为typecho的标签默认不在后台展示,配置了哪些标签也很容易忘记。
2021年10月28日
14,800 阅读
114 评论
29 点赞
2021-10-28
『转载』『代码』Typecho自定义调用如热门文章随机文章等
Typecho自定义调用这是面向模板开发者的一篇干货文章,通过学习下面的两个事例,你可以通过调整数据库语句来实现自定义调用文章,如随机文章等。调用热门文章在 functions.php 中加入如下代码class Widget_Post_hot extends Widget_Abstract_Contents { public function __construct($request, $response, $params = NULL) { parent::__construct($request, $response, $params); $this->parameter->setDefault(array('pageSize' => $this->options->commentsListSize, 'parentId' => 0, 'ignoreAuthor' => false)); } public function execute() { $select = $this->select()->from('table.contents') ->where("table.contents.password IS NULL OR table.contents.password = ''") ->where('table.contents.status = ?','publish') ->where('table.contents.created <= ?', time()) ->where('table.contents.type = ?', 'post') ->limit($this->parameter->pageSize) ->order('table.contents.views', Typecho_Db::SORT_DESC); $this->db->fetchAll($select, array($this, 'push')); $db = Typecho_Db::get(); } }前台调用文章<?php $this->widget('Widget_Post_hot@hot', 'pageSize=6')->to($hot); ?> <?php while($hot->next()): ?> 文章链接:<?php $hot->permalink() ?> 文章标题:<?php $hot->title(); ?> 文章缩略图:<?php $hot->fields->img(); ?> <!--等等--> <?php endwhile; ?>这种写法非常原生,使用方法也同typecho调用某分类下的文章语法一致调用指定文章集合在 functions.php 中加入如下代码class Widget_Post_fanjubiao extends Widget_Abstract_Contents { public function __construct($request, $response, $params = NULL) { parent::__construct($request, $response, $params); $this->parameter->setDefault(array('pageSize' => $this->options->commentsListSize, 'parentId' => 0, 'ignoreAuthor' => false)); } public function execute() { $select = $this->select()->from('table.contents') ->where("table.contents.password IS NULL OR table.contents.password = ''") ->where('table.contents.type = ?', 'post') ->limit($this->parameter->pageSize) ->order('table.contents.modified', Typecho_Db::SORT_DESC); if ($this->parameter->fanjubiao) { $fanju=explode(",",$this->parameter->fanjubiao); $select->where('table.contents.cid in ?', $fanju); } $this->db->fetchAll($select, array($this, 'push')); } }前台调用<?php $week1="728,1197";//指定文章id集合多个文章中间用英文逗号隔开 $this->widget('Widget_Post_fanjubiao@fanjubiao', 'fanjubiao='.$week1)->to($fanju); ?> <?php while($fanju->next()): ?> 文章链接:<?php $fanju->permalink() ?> 文章标题:<?php $fanju->title(); ?> <!--等等--> <?php endwhile; ?>总结这样的写法只要懂得数据库语句,就可以定制各种自己所需的调用文章!语法贴近原生且内部支持调用各种函数,比如缩略图函数等等!
2021年10月03日
4,659 阅读
0 评论
9 点赞
2021-10-03
『转载』『插件』B站来源的Typecho追番页插件
前言前段时间,在浏览其他博客时发现一个很有意思的插件,可以显示B站的追番动态放在个人介绍页,可以让别人看到你在追哪些番,更容易找到志趣相投的好朋友成果展示教程首先下载这个插件,插件我进行了一些美化,主要是美化了上/下一页的按钮(其他的挺好看的,没必要美化)隐藏内容,请前往内页查看详情然后放到你的typecho的插件目录 根目录/usr/plugins 里解压,文件夹名称一定为 BiliBangumi 接着进入网站后台启用并设置相应的数据就可以了UID和cookie获取一、UID获取二、cookie获取1、打开你的B站个人主页2、F12检查源码3、点Network4、F5刷新网页5、找到你的UID,点击 Headers 再点击 Request Headers 就可以看到你的cookie了6、创建独立页面模板在 主题根目录 下创建一个php文件,名字随意,然后打开粘贴以下代码并保存即可隐藏内容,请前往内页查看详情最后在后台修改个人介绍的独立页面,自定义模板选择追番即可(当然你也可以直接新建独立页面来显示追番列表) 注意: 你的追番列表必须是公开的才可以!
2021年07月05日
7,176 阅读
42 评论
136 点赞
2021-07-05
『转载』『教程』Typecho的Joe主题新增QQ打开自动跳转到浏览器
前言最近QQ抽风,很多站长的网站都被屏蔽白了,我的也不例外而且很多人上午解了下午又白,所以我就想做一个跳转,跳转到浏览器访问然后看到执念有教程,就直接搬过来了,也就当做个备份吧效果图{tabs}{tabs-pane label="后台"}{/tabs-pane}{tabs-pane label="跳转"}{/tabs-pane}{/tabs}修改步骤一、修改functions.php文件新增如下代码;文件路径: usr/themes/Joe/functions.php 如果创建了 custom.php 就放在 custom.php 里隐藏内容,请前往内页查看详情二、修改include.php文件路径如下: usr/themes/Joe/public/include.php ,在最顶部新增隐藏内容,请前往内页查看详情三、新增prevent.php文件下载以下文件,上传路径: usr/themes/Joe/public文件下载:隐藏内容,请前往内页查看详情
2021年06月02日
4,326 阅读
36 评论
124 点赞
2021-06-02
『游戏』小霸王游戏机
在线小霸王游戏机,1秒找回童年。超级玛丽、魂斗罗、淘金者、冒险岛!80,90一代人的回忆
2021年05月24日
1,787 阅读
2 评论
94 点赞
2021-05-24
1
2
3