找到
50
篇与
技术教程
相关的结果
-
Joe主题美化教程_typecho博客Joe主题的头像呼吸灯 mf3oi9hy.png图片 效果可以看博主的头像,评论区的头像也会自动加上呼吸灯,点击头像或电脑端停留在头像上面还会旋转 教程 <style> /*头像呼吸光环和鼠标悬停旋转放大_[淡泊云资源网_danb.cc]*/ .avatar { border-radius: 50%; animation: light 4s ease-in-out infinite; transition: 0.5s; } .avatar:hover { transform: scale(1.15) rotate(720deg); } @keyframes light { 0%{box-shadow: 0 0 4px #f00;} 25%{box-shadow: 0 0 16px #0f0;} 50%{box-shadow: 0 0 4px #00f;} 75%{box-shadow: 0 0 16px #0f0;} 100%{box-shadow: 0 0 4px #f00;} } </style>将上面的代码放到网站的 <head> 或<body>里面保存即可查看效果了,建议放在<body>里面!
-
修复必应站长工具提示站点地图不包含重要页面的问题 前两天打开必应站长工具看了一下发现SEO错误类型中多了一条站点地图中不包含以下重要页面的错误通知,进去发现是两个分类的链接,我的主题是自带站点地图功能的,但是只输出了独立页面和文章页面的链接,并没有输出分类和标签的链接,今天我将其优化了一下 操作步骤 和我使用同款主题的可以直接按照我的步骤走,如果是使用插件或者是其他主题生成的站点地图,你可以自行尝试修改一下 打开usr/themes/Joe/modole/sitemap.php文件,将里面的内容全部清空更换为下面的内容 <?php if (!defined('__TYPECHO_ROOT_DIR__')) { http_response_code(404); exit; } $db = Typecho_Db::get(); $options = Typecho_Widget::widget('Widget_Options'); $limit = Helper::options()->JSiteMap; // 获取页面数据 $pages = $db->fetchAll( $db->select()->from('table.contents') ->where('table.contents.status = ?', 'publish') ->where('table.contents.created < ?', $options->gmtTime) ->where('table.contents.type = ?', 'page') ->limit($limit) ->order('table.contents.created', Typecho_Db::SORT_DESC) ); // 获取文章数据 $articles = $db->fetchAll( $db->select()->from('table.contents') ->where('table.contents.status = ?', 'publish') ->where('table.contents.created < ?', $options->gmtTime) ->where('table.contents.type = ?', 'post') ->limit($limit) ->order('table.contents.created', Typecho_Db::SORT_DESC) ); // 获取分类数据 $categories = $db->fetchAll( $db->select()->from('table.metas') ->where('table.metas.type = ?', 'category') ->order('table.metas.order', Typecho_Db::SORT_ASC) ); // 获取标签数据 $tags = $db->fetchAll( $db->select()->from('table.metas') ->where('table.metas.type = ?', 'tag') ->order('table.metas.order', Typecho_Db::SORT_ASC) ); // 输出 XML 头部 header("Content-Type: application/xml"); echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; echo "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n"; // 输出页面数据 foreach ($pages as $page) { $type = $page['type']; $routeExists = (NULL != Typecho_Router::get($type)); $page['pathinfo'] = $routeExists ? Typecho_Router::url($type, $page) : '#'; $page['permalink'] = Typecho_Common::url($page['pathinfo'], $options->index); echo "\t<url>\n"; echo "\t\t<loc>" . $page['permalink'] . "</loc>\n"; echo "\t\t<lastmod>" . date('Y-m-d\TH:i:s\Z', $page['modified']) . "</lastmod>\n"; echo "\t\t<changefreq>monthly</changefreq>\n"; echo "\t\t<priority>0.8</priority>\n"; echo "\t</url>\n"; } // 输出文章数据 foreach ($articles as $article) { $type = $article['type']; $article['categories'] = $db->fetchAll($db->select()->from('table.metas') ->join('table.relationships', 'table.relationships.mid = table.metas.mid') ->where('table.relationships.cid = ?', $article['cid']) ->where('table.metas.type = ?', 'category') ->order('table.metas.order', Typecho_Db::SORT_ASC)); $article['category'] = urlencode(current(Typecho_Common::arrayFlatten($article['categories'], 'slug'))); $article['slug'] = urlencode($article['slug']); $article['date'] = new Typecho_Date($article['created']); $article['year'] = $article['date']->year; $article['month'] = $article['date']->month; $article['day'] = $article['date']->day; $routeExists = (NULL != Typecho_Router::get($type)); $article['pathinfo'] = $routeExists ? Typecho_Router::url($type, $article) : '#'; $article['permalink'] = Typecho_Common::url($article['pathinfo'], $options->index); echo "\t<url>\n"; echo "\t\t<loc>" . $article['permalink'] . "</loc>\n"; echo "\t\t<lastmod>" . date('Y-m-d\TH:i:s\Z', $article['modified']) . "</lastmod>\n"; echo "\t\t<changefreq>monthly</changefreq>\n"; echo "\t\t<priority>0.5</priority>\n"; echo "\t</url>\n"; } // 输出分类数据 foreach ($categories as $category) { // 通过 Typecho_Common::url() 生成完整的分类 URL $categoryUrl = Typecho_Common::url('category/' . $category['slug'], $options->index); echo "\t<url>\n"; echo "\t\t<loc>" . $categoryUrl . "</loc>\n"; echo "\t\t<lastmod>" . date('Y-m-d\TH:i:s\Z', time()) . "</lastmod>\n"; echo "\t\t<changefreq>weekly</changefreq>\n"; echo "\t\t<priority>0.6</priority>\n"; echo "\t</url>\n"; } // 输出标签数据 foreach ($tags as $tag) { // 通过 Typecho_Common::url() 生成完整的标签 URL $tagUrl = Typecho_Common::url('tag/' . $tag['slug'], $options->index); echo "\t<url>\n"; echo "\t\t<loc>" . $tagUrl . "</loc>\n"; echo "\t\t<lastmod>" . date('Y-m-d\TH:i:s\Z', time()) . "</lastmod>\n"; echo "\t\t<changefreq>weekly</changefreq>\n"; echo "\t\t<priority>0.4</priority>\n"; echo "\t</url>\n"; } echo "</urlset>";效果展示 可见本站站点地图:https://blog.danb.cc/sitemap.xml 已经在下方成功输出分类和标签的链接,独立页面和文章页面的链接还是老样子没有改变,必应站长工具也不提示这个问题了!
-
适用于Typecho博客的Robots协议规则 最近登录必应的站长平台发现一个新的SEO问题:许多页面具有相同标题,最后通过设置Robots规则成功解决这个问题 Robots规则是什么? robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取 那该如何设置呢? 首先需要在我们网站的根目录创建一个robots.txt文件 如本站的:https://blog.danb.cc/robots.txt 接着在这个文件里面添加下面的内容 # robots.txt User-agent: * Allow: /*.html Allow: /tag Allow: /category Disallow: /user Disallow: /feed Disallow: /author Disallow: /*?scroll=comment-* Disallow: /*/comment-page-*其中Allow表示允许,Disallow表示不允许,可以使用*正则表达式,以上Disallow拒绝抓取的,就是可能会出现大量重复链接的,也可以在下面继续添加我扩展的,这都是一些垃圾爬虫和AI爬虫,爬取没有任何意义,并且可能会影响我们网站性能,继续在这个文件里面添加下面的内容,为了好区分中间可以隔一行空格 User-agent: DotBot Disallow: / User-agent: DataForSeoBot Disallow: / User-agent: SemrushBot Disallow: / User-agent: MJ12bot Disallow: / User-agent: AhrefsBot Disallow: / User-agent: Feedly Disallow: / User-agent: ias-ir Disallow: / User-agent: adsbot Disallow: / User-agent: barkrowler Disallow: / User-agent: Mail.RU_Bot Disallow: / User-agent: SEOkicks Disallow: / User-agent: ias-va Disallow: / User-agent: proximic Disallow: / User-agent: CCBot Disallow: / User-agent: grapeshot Disallow: / User-agent: BLEXBot Disallow: / User-agent: Amazonbot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: ImagesiftBot Disallow: / User-agent: GoogleOther Disallow: / User-agent: Applebot Disallow: / User-agent: GPTBot Disallow: / User-agent: DataForSeoBot Disallow: / User-agent: peer39 crawler Disallow: / User-agent: FriendlyCrawler Disallow: / User-agent: magpie-crawler Disallow: / User-agent: CCBot Disallow: / User-agent: omgili Disallow: / User-agent: Meltwater Disallow: / User-agent: AwarioSmartBot Disallow: / User-agent: ChatGPT-User Disallow: / User-agent: anthropic-ai Disallow: / User-agent: img2dataset Disallow: / User-agent: YouBot Disallow: / User-agent: PipiBot Disallow: / User-agent: Seekr Disallow: / User-agent: scoop.it Disallow: / User-agent: AwarioRssBot Disallow: / User-agent: Diffbot Disallow: / User-agent: Claude-Web Disallow: / User-agent: FacebookBot Disallow: / User-agent: PerplexityBot Disallow: /最后把我们的网站地图,添加进去即可,如Sitemap: https://blog.danb.cc/sitemap.xml
-
Joe主题美化教程_Typecho实现评论时自动随机输入一条评论功能 mf3oi9hy.png图片 修改 core/function.php 打开function.php文件,找到下方代码 function _getVersion() { return "7.7.1"; };将以下代码复制粘贴到后边 function random_comment() { $comments = array('对小白真的很友好,写的很全面', '终于找到这篇文章了,感谢作者的分享', '喜欢这篇文章,作者666,文章真棒', '支持博主,一定多分享', '这篇文章写的真不错,真详细,点个赞', '这篇文章肯定会火,作者666大顺', '受益匪浅,感谢博主', '学习到了,感谢博主'); return $comments[rand(0,count($comments)-1)]; }修改 public/comment.php 打开comment.php文件找到下方代码(在第33行左右),将下方代码 <textarea class="text joe_owo__target" name="text" value="" autocomplete="new-password" placeholder="说点什么吧,点击右上方切换成画图试试?"></textarea>替换为以下代码 <textarea class="text joe_owo__target" name="text" value="" autocomplete="new-password" placeholder="说点什么吧,点击右上方切换成画图试试?"><?php echo random_comment(); ?></textarea>
-
Joe主题美化教程_如何让Joe主题实现半透明 mf3oi9hy.png图片 在Joe主题,全局设置 → 自定义css粘贴下面这个代码 body { --background: rgba(255,255,255,0.8) }其中 0.8 表透明度,这个值越低,其越透明 这个 0.8 只是我加上的数值,同理: 如果想半透明,只需把 0.8 改为 0.5 body { --background: rgba(255,255,255,0.5) }body { --background: rgba(255,255,255,0.5) }如果想完全透明,只需把 0.8 改为 0.0 就好了 body { --background: rgba(255,255,255,0.0) }
-
Joe主题美化教程_Typecho博客自定义右键 简单来说就是花里胡哨,没别的意思,看着喜欢就拿去 mf3oi9hy.png图片 效果演示 mf3s177x.png图片 教程步骤 第一步:复制下列代码,引入 layer.js <script src="https://lib.baomitu.com/layer/3.1.1/layer.js"></script>第二步:依次进入控制台 – 外观 – 设置外观 – 自定义 <body></body> 末尾位置内容(非必填),将以下代码加入到自定义 <body></body> 末尾位置内容(非必填),部分内容自行修改即可。 <!-- 自定义右键菜单美化 --> <style type="text/css"> a {text-decoration: none;} div.usercm{background-repeat:no-repeat;background-position:center center;background-size:cover;background-color:#fff;font-size:13px!important;width:130px;-moz-box-shadow:1px 1px 3px rgba (0,0,0,.3);box-shadow:0px 0px 15px #333;position:absolute;display:none;z-index:10000;opacity:0.9; border-radius: 8px;} div.usercm ul{list-style-type:none;list-style-position:outside;margin:0px;padding:0px;display:block} div.usercm ul li{margin:0px;padding:0px;line-height:35px;} div.usercm ul li a{color:#666;padding:0 15px;display:block} div.usercm ul li a:hover{color:#fff;background:rgba(170,222,18,0.88)} div.usercm ul li a i{margin-right:10px} a.disabled{color:#c8c8c8!important;cursor:not-allowed} a.disabled:hover{background-color:rgba(255,11,11,0)!important} div.usercm{background:#fff !important;} </style> <div class="usercm" style="left: 199px; top: 5px; display: none;"> <ul> <li><a href="http://blog.danb.cc/"><i class="fa fa-home fa-fw"></i><span>首页</span></a></li> <li><a href="javascript:void(0);" onclick="getSelect();"><i class="fa fa-copy fa-fw"></i><span>复制</span></a></li> <li><a href="javascript:void(0);" onclick="baiduSearch();"><i class="fa fa-search fa-fw"></i><span>搜索</span></a></li> <li><a href="javascript:history.go(1);"><i class="fa fa-arrow-right fa-fw"></i><span>前进</span></a></li> <li><a href="javascript:history.go(-1);"><i class="fa fa-arrow-left fa-fw"></i><span>后退</span></a></li> <li style="border-bottom:1px solid gray"><a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i><span>重载网页</span></a></li> <li><a href="https://www.oszz.cn/"><i class="fa fa-meh-o fa-fw"></i><span>和我当邻居</span></a></li> </ul> </div> <script type="text/javascript"> (function(a) { a.extend({ mouseMoveShow: function(b) { var d = 0, c = 0, h = 0, k = 0, e = 0, f = 0; a(window).mousemove(function(g) { d = a(window).width(); c = a(window).height(); h = g.clientX; k = g.clientY; e = g.pageX; f = g.pageY; h + a(b).width() >= d && (e = e - a(b).width() - 5); k + a(b).height() >= c && (f = f - a(b).height() - 5); a("html").on({ contextmenu: function(c) { 3 == c.which && a(b).css({ left: e, top: f }).show() }, click: function() { a(b).hide() } }) }) }, disabledContextMenu: function() { window.oncontextmenu = function() { return !1 } } }) })(jQuery); function getSelect() { "" == (window.getSelection ? window.getSelection() : document.selection.createRange().text) ? layer.msg("啊噢...你没还没选择文字呢!") : document.execCommand("Copy") } function baiduSearch() { var a = window.getSelection ? window.getSelection() : document.selection.createRange().text; "" == a ? layer.msg("啊噢...你没还没选择文字呢!") : window.open("https://www.baidu.com/s?wd=" + a) } $(function() { for (var a = navigator.userAgent, b = "Android;iPhone;SymbianOS;Windows Phone;iPad;iPod".split(";"), d = !0, c = 0; c < b.length; c++) if (0 < a.indexOf(b[c])) { d = !1; break } d && ($.mouseMoveShow(".usercm"), $.disabledContextMenu()) }); </script>
-
Joe主题美化教程_如何给joe博客主题添加底部导航栏 mf3oi9hy.png图片 效果演示 mf3rw2j9.png图片 教程步骤 首先在网站主题assets/css目录下,新建一个名为lyxdh.css的文件,并将如下代码放置于该文件中 * { margin: 0; padding: 0; box-sizing: border-box; outline: none; -webkit-tap-highlight-color: transparent } ::-webkit-scrollbar { width: 8px; height: 8px } ::-webkit-scrollbar-thumb { border-radius: 4px; background: var(--seat) } ::-webkit-scrollbar-track { background: transparent } ::-moz-selection { color: #fff; background: var(--theme) } ::selection { color: #fff; background: var(--theme) } body { font-size: 14px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom) } body::before { content: ''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -520; pointer-events: none } input[type='text'] { -webkit-appearance: none; border-radius: 0; font-size: 13px; font-weight: 500 } iframe { display: block; border: none; margin: 0 auto; vertical-align: middle } textarea { font-size: 14px; resize: none; -webkit-appearance: none } li { list-style: none } a { text-decoration: none } h1,h2,h3,h4,h5,h6 { font-weight: 500 } img { border: 0; vertical-align: middle } img[src=''],img:not([src]) { border: 0; opacity: 0 } svg,canvas { vertical-align: middle } button { cursor: pointer; -webkit-appearance: none; font-size: 13px } table { border-collapse: collapse; border-spacing: 0 } .joe_main { min-width: 0; flex: 1; padding: 15px 0 } .joe_container { display: flex; width: 100%; margin: 0 auto; padding: 0 15px } @media (min-width: 576px) { .joe_container { max-width:540px } } @media (min-width: 768px) { .joe_container { max-width:720px } } @media (min-width: 992px) { .joe_container { max-width:960px } } @media (min-width: 1200px) { .joe_container { max-width:1140px } } @media (min-width: 1400px) { .joe_container { max-width:1320px } } @font-face { font-family: "cyicon"; /* Project id 2611504 */ src: url('https://at.alicdn.com/t/font_2611504_8nq4wp1bmb3.woff2?t=1623735805644') format('woff2'), url('https://at.alicdn.com/t/font_2611504_8nq4wp1bmb3.woff?t=1623735805644') format('woff'), url('https://at.alicdn.com/t/font_2611504_8nq4wp1bmb3.ttf?t=1623735805644') format('truetype'); } .cyicon { font-family: "cyicon" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .zrnq-xintiao:before { content: "\e6e7"; } .zrnq-saoma:before { content: "\e6e2"; } .zrnq-haibaofenxiang:before { content: "\e6e3"; } .zrnq-pinglun:before { content: "\e605"; } .zrnq-tongji3:before { content: "\e6ce"; } .zrnq-time:before { content: "\e6be"; } .zrnq-huanyingye:before { content: "\e728"; } .zrnq-106collect:before { content: "\e7a7"; } .zrnq-womendefuwu:before { content: "\e8d8"; } .zrnq-yu:before { content: "\e602"; } .zrnq-zhichi:before { content: "\e639"; } .zrnq-ganxie:before { content: "\e638"; } .zrnq-huoban:before { content: "\e63a"; } .zrnq-xinaixin:before { content: "\e608"; } .zrnq-beian:before { content: "\e61a"; } .zrnq-zhuye-copy:before { content: "\e601"; } .zrnq-hi:before { content: "\e606"; } .zrnq-guandianjianpingcopy:before { content: "\e87b"; } .zrnq-weiyuqiang-:before { content: "\e631"; } .zrnq-guanyu:before { content: "\e6a8"; } .zrnq-search-copy:before { content: "\e600"; } .zrnq-daohang:before { content: "\e60a"; } .zrnq-dashang:before { content: "\e7fb"; } .zrnq-3132:before { content: "\e603"; } .zrnq-dashang1:before { content: "\e65d"; } .zrnq-yinyue-copy-copy:before { content: "\e60b"; } .zrnq-gongju:before { content: "\e609"; } .zrnq-youlianguanli:before { content: "\e66f"; } .zrnq-shezhi:before { content: "\e629"; } .zrnq-dashang2:before { content: "\e61f"; } .zrnq-yanjing:before { content: "\e60c"; } .zrnq-gongjuxiang:before { content: "\e607"; } .zrnq-shuaxin:before { content: "\e647"; } .zrnq-fuzhi:before { content: "\e697"; } .zrnq-google1:before { content: "\e87a"; } .zrnq-backward:before { content: "\ea87"; } .zrnq-go:before { content: "\ea8b"; } .zrnq-rhome-fill:before { content: "\ec0b"; } .zrnq-service-Fill:before { content: "\e8e6"; } .zrnq-144message02:before { content: "\e7b0"; } .zrnq-352:before { content: "\e7ca"; } .zrnq-baidu:before { content: "\e6b6"; } .zrnq-banquan:before { content: "\e6c9"; } .zrnq-aixin2:before { content: "\e6ff"; } .zrnq-sitemap:before { content: "\e80a"; } .zrnq-RSS:before { content: "\e604"; } .zrnq-shengming:before { content: "\e627"; } .zrnq-anquanguanli:before { content: "\e7c6"; } .zrnq-anonymous-full:before { content: "\e8f0"; } .zrnq-taiji:before { content: "\e653"; } .zrnq-shuaxin3:before { content: "\e6db"; } .zrnq-dengdai:before { content: "\e6df"; } @media screen and (min-width:767px){#mobile-footer{display:none}} #mobile-footer{height:50px;background:#fafafa;position:fixed;bottom:0;left:0;border-top:0;width:100%;z-index:9999999} #mobile-menu{display:block} #mobile-menu:after{content:'';display:block;height:0;clear:both} #mobile-menu>li{width:20%;float:left;border-top:1px solid #e6e6eb;height:100%} #mobile-menu>li>a:hover{color:#000;} #mobile-menu>li>.active{color:#000;} #mobile-menu>li>a{text-align:center;color:#777;display:block;line-height:12px;height:100%} #mobile-menu>li>a>span{font-size:20px;display:block;line-height:30px}然后复制如下代码粘贴于footer.php文件 <?php $this->footer(); ?> 后边即可 code here... 首页 友链 壁纸 工具 关于