首页
留言反馈
网站导航
推荐
毒鸡汤
Search
1
非插件为typecho 文章生成微海报分享
19,100 阅读
2
主题移动端,样式下添加二级分类
15,544 阅读
3
主题 添加author page
14,856 阅读
4
主题添加移动端下边栏
12,856 阅读
5
EMlog添加评论者邮箱等级
9,173 阅读
typecho
dynamic
SuiYu
Emlog
xiuno
登录
/
注册
Search
标签搜索
代码
xiuno
php
css
typecho
评论
模板
say
js
修改教程
标签
珍惜
努力
recommend
善良
样式
调用
微笑
颜色
插件
Vincent
累计撰写
151
篇文章
累计收到
184
条评论
首页
栏目
typecho
dynamic
SuiYu
Emlog
xiuno
页面
留言反馈
网站导航
推荐
毒鸡汤
搜索到
147
篇与
的结果
2020-08-13
常用的css命名规则
头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center登录条:loginbar标志:logo广告:banner页面主体:main热点:hot新闻:news下载:download子导航:subnav菜单:menu子菜单:submenu搜索:search友情链接:friendlink页脚:footer版权:copyright滚动:scroll内容:content标签页:tab文章列表:list提示信息:msg小技巧:tips栏目标题:title加入:joinus指南:guide服务:service注册:register状态:status投票:vote合作伙伴:partner注释的写法:/ Footer /内容区/ End Footer /id的命名:(1)页面结构容器: container页头:header内容:content/container页面主体:main页尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:left right center(2)导航导航:nav主导航:mainnav子导航:subnav顶导航:topnav边导航:sidebar左导航:leftsidebar右导航:rightsidebar菜单:menu子菜单:submenu标题: title摘要: summary(3)功能标志:logo广告:banner登陆:login登录条:loginbar注册:regsiter搜索:search功能区:shop标题:title加入:joinus状态:status按钮:btn滚动:scroll标签页:tab文章列表:list提示信息:msg当前的: current小技巧:tips图标: icon注释:note指南:guide服务:service热点:hot新闻:news下载:download投票:vote合作伙伴:partner友情链接:link版权:copyrightclass的命名:(1)颜色:使用颜色的名称或者16进制代码,如.red { color: red; }.f60 { color: #f60; }.ff8600 { color: #ff8600; }(2)字体大小,直接使用”font+字体大小”作为名称,如.font12px { font-size: 12px; }.font9pt {font-size: 9pt; }(3)对齐样式,使用对齐目标的英文名称,如.left { float:left; }.bottom { float:bottom; }(4)标题栏样式,使用”类别+功能”的方式命名,如.barnews { }.barproduct { }注意事项::一律小写;尽量用英文;不加中杠和下划线;尽量不缩写,除非一看就明白的单词.主要的 master.css模块 module.css基本共用 base.css布局,版面 layout.css主题 themes.css专栏 columns.css文字 font.css表单 forms.css补丁 mend.css打印 print.css
2020年08月13日
1,686 阅读
0 评论
2 点赞
2020-08-10
2020-08-10
人生苦短,没有彩排。事在人为是一种积极的人生态度,随遇而安是一种乐观的处世妙方,顺其自然是一种达观的生存之道。人生在世,短暂不过百年。人生就像一杯茶,不会苦一辈子,但总会苦一阵子,没有开始的苦,就没有后来的甜。今天雨天⛱️
2020年08月10日
1,936 阅读
1 评论
1 点赞
2020-08-08
模板设置数据备份与恢复
打开模板的functions.php文件(没有的可以自行建立一个可以参考 typecho 的默认模板),然后在 themeConfig($form) 函数里添加以下整理好的代码:[hide] echo('<p style="margin-bottom:14px;font-size:13px;text-align:center;">感谢您使用laoyao主题 1.0版本!此版本首发日期:2020-04-17(<a href="http://2025ly.cn/" target="_blank">检查更新</a>) <br />如果您发现主题存在bug,请<a href="http://2025ly.cn/message.html" target="_blank">留言反馈</a>给我,我将尽力提供修复建议。使用本主题请保留底部链接,您的支持是我最大的动力! </p>'); echo _t('修改后记得<font style="color:red;">备份数据</font>'); $db = Typecho_Db::get(); $sjdq=$db->fetchRow($db->select()->from ('table.options')->where ('name = ?', 'theme:laoyao')); $ysj = $sjdq['value']; if(isset($_POST['type'])) { if($_POST["type"]=="备份模板数据"){ if($db->fetchRow($db->select()->from ('table.options')->where ('name = ?', 'theme:laoyaobf'))){ $update = $db->update('table.options')->rows(array('value'=>$ysj))->where('name = ?', 'theme:laoyaobf'); $updateRows= $db->query($update); echo '<div class="tongzhi">备份已更新,请等待自动刷新!如果等不到请点击'; ?> <a href="<?php Helper::options()->adminUrl('options-theme.php'); ?>">这里</a></div> <script language="JavaScript">window.setTimeout("location=\'<?php Helper::options()->adminUrl('options-theme.php'); ?>\'", 2500);</script> <?php }else{ if($ysj){ $insert = $db->insert('table.options') ->rows(array('name' => 'theme:laoyaobf','user' => '0','value' => $ysj)); $insertId = $db->query($insert); echo '<div class="tongzhi">备份完成,请等待自动刷新!如果等不到请点击'; ?> <a href="<?php Helper::options()->adminUrl('options-theme.php'); ?>">这里</a></div> <script language="JavaScript">window.setTimeout("location=\'<?php Helper::options()->adminUrl('options-theme.php'); ?>\'", 2500);</script> <?php } } } if($_POST["type"]=="还原模板数据"){ if($db->fetchRow($db->select()->from ('table.options')->where ('name = ?', 'theme:laoyaobf'))){ $sjdub=$db->fetchRow($db->select()->from ('table.options')->where ('name = ?', 'theme:laoyaobf')); $bsj = $sjdub['value']; $update = $db->update('table.options')->rows(array('value'=>$bsj))->where('name = ?', 'theme:laoyao'); $updateRows= $db->query($update); echo '<div class="tongzhi">检测到模板备份数据,恢复完成,请等待自动刷新!如果等不到请点击'; ?> <a href="<?php Helper::options()->adminUrl('options-theme.php'); ?>">这里</a></div> <script language="JavaScript">window.setTimeout("location=\'<?php Helper::options()->adminUrl('options-theme.php'); ?>\'", 2000);</script> <?php }else{ echo '<div class="tongzhi">没有模板备份数据,恢复不了哦!</div>'; } } if($_POST["type"]=="删除备份数据"){ if($db->fetchRow($db->select()->from ('table.options')->where ('name = ?', 'theme:laoyaobf'))){ $delete = $db->delete('table.options')->where ('name = ?', 'theme:laoyaobf'); $deletedRows = $db->query($delete); echo '<div class="tongzhi">删除成功,请等待自动刷新,如果等不到请点击'; ?> <a href="<?php Helper::options()->adminUrl('options-theme.php'); ?>">这里</a></div> <script language="JavaScript">window.setTimeout("location=\'<?php Helper::options()->adminUrl('options-theme.php'); ?>\'", 2500);</script> <?php }else{ echo '<div class="tongzhi">不用删了!备份不存在!!!</div>'; } } } echo '<form class="protected" action="?laoyaobf" method="post"> <input type="submit" name="type" class="btn btn-s" value="备份模板数据" /> <input type="submit" name="type" class="btn btn-s" value="还原模板数据" /> <input type="submit" name="type" class="btn btn-s" value="删除备份数据" /></form>'; [/hide]然后将里面出现的所有“laoyao”改成你的模板目录的名字,如果拿不准就去数据库里看看模板的值名字。
2020年08月08日
3,478 阅读
3 评论
1 点赞
2020-08-06
修改Typecho评论调用QQ头像
方法:修改Typecho目录下的var/Typecho/common.php,在大约986行,关于获取Gravatar图像的代码找到以下代码:public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false) { if (defined('__TYPECHO_GRAVATAR_PREFIX__')) { $url = __TYPECHO_GRAVATAR_PREFIX__; } else { $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com'; $url .= '/avatar/'; } if (!empty($mail)) { $url .= md5(strtolower(trim($mail))); } $url .= '?s=' . $size; $url .= '&r=' . $rating; $url .= '&d=' . $default; return $url; }替换成:public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false) { $reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/"; if (preg_match($reg, $mail)) { $img = explode("@", $mail); $url = "//q2.qlogo.cn/headimg_dl?dst_uin={$img[0]}&spec=100"; } else { if (defined('__TYPECHO_GRAVATAR_PREFIX__')) { $url = __TYPECHO_GRAVATAR_PREFIX__; } else { $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com'; $url .= '/avatar/'; } if (!empty($mail)) { $url .= md5(strtolower(trim($mail))); } $url .= '?s=' . $size; $url .= '&r=' . $rating; $url .= '&d=' . $default; } return $url; }实现的效果:输入QQ邮箱,调用QQ头像;输入普通邮箱,调用Gravatar头像。Gravatar头像另外修改了几个系统文件,以后升级typecho(如果还要那么一天)可能还要重新改。\var\Typecho\Common.phpLine1004行 修改 $url .= '&d=' . $default;为$url .= '&d=retro';“d”参数代表default,用于Gravatar默认头像类型选择,有以下几个可选值,[hide]留空显示gravatar官方图形404直接返回404错误状态mm神秘人(一个灰白头像)identicon抽象几何图形monsterid小怪物wavatar用不同面孔和背景组合生成的头像retro八位像素复古头像[/hide]
2020年08月06日
2,207 阅读
1 评论
2 点赞
2020-08-06
Typecho评论者UA&OS获取
创建自定义函数/** * 浏览器及操作系统判断 * * @param string $agent 系统数据库中访者数据 */ /** 获取浏览器信息 */ function getBrowser($agent) { if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) { $outputer = 'Internet Explorer' . ' ' . $regs[1]; } else if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) { $outputer = 'Mozilla FireFox' . ' ' . $regs[1]; } else if (preg_match('/Maxthon([\d]*)\/([^\s]+)/i', $agent, $regs)) { $outputer = 'Maxthon' . ' ' . $regs[2]; } else if (preg_match('/Chrome([\d]*)\/([^\s]+)/i', $agent, $regs)) { $outputer = 'Google Chrome' . ' ' . $regs[2]; } else if (preg_match('/QQBrowser\/([^\s]+)/i', $agent, $regs)) { $regg = explode("/",$regs[1]); $outputer = 'QQ浏览器' . ' ' . $regg[0]; } else if (preg_match('/UC/i', $agent)) { $outputer = 'UCWeb' . ' ' . '8.11112510'; } else if (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) { $outputer = 'Apple Safari' . ' ' . $regs[1]; } else if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) { $outputer = 'Opera' . ' ' . $regs[1]; } else { $outputer = '其它浏览器'; } echo $outputer; } /** 获取操作系统信息 */ function getOs($agent) { $os = false; if (preg_match('/win/i', $agent)) { if (preg_match('/nt 6.0/i', $agent)) { $os = 'Windows Vista'; } else if (preg_match('/nt 6.1/i', $agent)) { $os = 'Windows 7'; } else if (preg_match('/nt 5.1/i', $agent)) { $os = 'Windows XP'; } else if (preg_match('/nt 5/i', $agent)) { $os = 'Windows 2000'; } else { $os = 'Windows'; } } else if (preg_match('/android/i', $agent)) { $os = 'Android'; } else if (preg_match('/ubuntu/i', $agent)) { $os = 'Ubuntu'; } else if (preg_match('/linux/i', $agent)) { $os = 'Linux'; } else if (preg_match('/mac/i', $agent)) { $os = 'Mac OS X'; } else if (preg_match('/unix/i', $agent)) { $os = 'Unix'; } else if (preg_match('/symbian/i', $agent)) { $os = 'Nokia SymbianOS'; } else { $os = '其它操作系统'; } echo $os; }然后在comments适当的地方调用[hide]<?php getBrowser($comments->agent); ?> @ <?php getOs($comments->agent); ?>[/hide]
2020年08月06日
1,421 阅读
0 评论
3 点赞
2020-08-02
Typecho网站底部展示网站运行时间标签
第一、代码脚本部分// 网站运行时间 date_default_timezone_set('Asia/Shanghai'); function getBuildTime(){ // 在下面按格式输入本站创建的时间 $site_create_time = strtotime('2010-09-10 00:00:00'); $time = time() - $site_create_time; if(is_numeric($time)){ $value = array( "years" => 0, "days" => 0, "hours" => 0, "minutes" => 0, "seconds" => 0, ); if($time >= 31556926){ $value["years"] = floor($time/31556926); $time = ($time%31556926); } if($time >= 86400){ $value["days"] = floor($time/86400); $time = ($time%86400); } if($time >= 3600){ $value["hours"] = floor($time/3600); $time = ($time%3600); } if($time >= 60){ $value["minutes"] = floor($time/60); $time = ($time%60); } $value["seconds"] = floor($time); echo '<span class="btime">'.$value['years'].'年'.$value['days'].'天'.$value['hours'].'小时'.$value['minutes'].'分</span>'; }else{ echo ''; } }代码丢到当前Typecho Functions.php文件中第二、调出方法<?php getBuildTime(); ?>将代码丢到我们模板需要展示的位置,有些是侧边,有些是底部,然后根据实际需要调整样式。本文出处:老蒋部落
2020年08月02日
1,645 阅读
0 评论
3 点赞
2020-08-01
ly记录备份
复制版权提醒代码把以下代码加入到footer.php <script> document.body.addEventListener('copy', function (e) { if (window.getSelection().toString() && window.getSelection().toString().length > 42) { setClipboardText(e); alert('商业转载请联系作者获得授权,非商业转载请注明出处,谢谢合作。'); } }); function setClipboardText(event) { var clipboardData = event.clipboardData || window.clipboardData; if (clipboardData) { event.preventDefault(); var htmlData = '' + '著作权归作者所有。<br>' + '商业转载请联系作者获得授权,非商业转载请注明出处。<br>' + '作者:<?php $this->author() ?><br>' + '链接:' + window.location.href + '<br>' + '来源:<?php $this->options->siteUrl(); ?><br><br>' + window.getSelection().toString(); var textData = '' + '著作权归作者所有。\n' + '商业转载请联系作者获得授权,非商业转载请注明出处。\n' + '作者:<?php $this->author() ?>\n' + '链接:' + window.location.href + '\n' + '来源:<?php $this->options->siteUrl(); ?>\n\n' + window.getSelection().toString(); clipboardData.setData('text/html', htmlData); clipboardData.setData('text/plain',textData); } } </script>网站不同时间问候语<div class="sidebar"> <div class="widget widget_ui_textads widget_twitter"><a class="style01"><strong>温馨提示:</strong> <br><br><font size="2" color="#999"> <script language="JavaScript"> day = new Date( ) nge_Hour = day.getHours( ) var nge_warmprompt = ""; if (nge_Hour == 0) nge_warmprompt = "现在已经过凌晨了,身体是无价的资本喔,小伙伴早点休息吧! --Laoyao" if (nge_Hour == 1) nge_warmprompt = "凌晨1点多了,工作是永远都做不完的,小伙伴别熬坏身子! --Laoyao" if (nge_Hour == 2) nge_warmprompt = "亲爱的小伙伴该休息了,身体可是革命的本钱啊! --Laoyao" if (nge_Hour == 3) nge_warmprompt = "夜深了,熬夜很容易导致身体内分泌失调,长痘痘的! --Laoyao" if (nge_Hour == 4) nge_warmprompt = "四点过了额(⊙o⊙)…,你明天不学习工作吗??? --Laoyao" if (nge_Hour == 5) nge_warmprompt = "你知道吗,此时是国内网络速度最快的时候! --Laoyao" if (nge_Hour == 6) nge_warmprompt = "清晨好,这么早就来网站啦,谢谢小伙伴的关注哦,昨晚做的梦好吗? --Laoyao " if (nge_Hour == 7) nge_warmprompt = "新的一天又开始了,祝你过得快乐! --Laoyao" if (nge_Hour == 8) nge_warmprompt = "小伙伴早上好哦,一天之际在于晨,又是美好的一天! --Laoyao" if ((nge_Hour == 9) || (nge_Hour ==10)) nge_warmprompt = "上午好!今天你看上去好精神哦! --Laoyao" if (( nge_Hour == 11) || (nge_Hour == 12)) nge_warmprompt = "小伙伴啊!该吃午饭啦!有什么好吃的?您有中午休息的好习惯吗? --Laoyao" if (( nge_Hour >= 13) && (nge_Hour <= 17)) nge_warmprompt = "下午好!外面的天气好吗?记得朵朵白云曾捎来朋友殷殷的祝福。 --Laoyao" if (( nge_Hour >= 17) && (nge_Hour <= 18)) nge_warmprompt = "太阳落山了!快看看夕阳吧!如果外面下雨,就不必了 ^_^ --Laoyao" if (( nge_Hour >= 18) && (nge_Hour <= 19)) nge_warmprompt = "晚上好,小伙伴今天的心情怎么样?去留言板诉说一下吧! --Laoyao" if (( nge_Hour >= 19) && (nge_Hour <= 21)) nge_warmprompt = "忙碌了一天,累了吧?去看看最新的新闻资讯醒醒脑吧! --Laoyao" if (( nge_Hour >= 22) && (nge_Hour <= 23)) nge_warmprompt = "这么晚了,小伙伴还在上网?早点洗洗睡吧,睡前记得洗洗脸喔!明天一天都会萌萌哒! --Laoyao" document.write("<div><i class='fa fa-beer'></i> ") document.write(nge_warmprompt) document.write("</div>") </script> </font><br> </a> </div> </div> </div>博客加对联<SCRIPT language="JavaScript"> lastScrollY = 0; function heartBeat(){ var diffY; if (document.documentElement && document.documentElement.scrollTop) diffY = document.documentElement.scrollTop; else if (document.body) diffY = document.body.scrollTop else {/*Netscape stuff*/} //alert(diffY); percent=.1*(diffY-lastScrollY); if(percent>0)percent=Math.ceil(percent); else percent=Math.floor(percent); document.getElementById("leftDiv").style.top = parseInt(document.getElementById("leftDiv").style.top)+percent+"px"; document.getElementById("rightDiv").style.top = parseInt(document.getElementById("rightDiv").style.top)+percent+"px"; lastScrollY=lastScrollY+percent; //alert(lastScrollY); } //下面这段删除后,对联将不跟随屏幕而移动。 window.setInterval("heartBeat()",1); //--> //关闭按钮 function close_left2(){ left2.style.visibility='hidden'; } function close_right2(){ right2.style.visibility='hidden'; } //显示样式 document.writeln("<style type=\"text\/css\">"); document.writeln("#leftDiv,#rightDiv{position:absolute;}"); document.writeln(".itemFloat{width:100px;height:auto;line-height:5px}"); document.writeln("<\/style>"); //以下为主要内容 document.writeln("<div id=\"leftDiv\" style=\"top:112px;left:50px\">"); //------左侧各块开始 //---L2 document.writeln("<div id=\"left2\" class=\"itemFloat\">"); document.writeln("<a href="//www.mantouxia.com/usr/uploads/img/duilianzuo.png" class="highslide" onclick="return hs.expand(this,{slideshowGroup:'images'})"><img border=0 src=//www.mantouxia.com/usr/uploads/img/duilianzuo.png></a>"); document.writeln("<br><a href=\"javascript:close_left2();\" title=\"关闭上面的广告\">×<\/a>"); document.writeln("<\/div>"); //------左侧各块结束 document.writeln("<\/div>"); document.writeln("<div id=\"rightDiv\" style=\"top:112px;right:50px\">"); //------右侧各块结束 //---R2 document.writeln("<div id=\"right2\" class=\"itemFloat\">"); document.writeln("<a href="//www.mantouxia.com/usr/uploads/img/duilianyou.png" class="highslide" onclick="return hs.expand(this,{slideshowGroup:'images'})"><img border=0 src=//www.mantouxia.com/usr/uploads/img/duilianyou.png></a>"); document.writeln("<br><a href=\"javascript:close_right2();\" title=\"关闭上面的广告\">×<\/a>"); document.writeln("<\/div>"); //------右侧各块结束 document.writeln("<\/div>"); </SCRIPT>首页文章列表悬停上浮/*首页文章列表悬停上浮*/ .blog-post .panel:not(article) { transition: all 0.3s; } .blog-post .panel:not(article):hover { transform: translateY(-10px); box-shadow: 0 8px 10px rgb(88,0,0); }头像呼吸光环和鼠标悬停旋转放大/*头像呼吸光环和鼠标悬停旋转放大*/ .img-full { border-radius: 50%; animation: light 4s ease-in-out infinite; transition: 0.5s; } .img-full: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; } }修改 Typecho 主题时,需要判断当前用户角色,对于管理员角色,显示内容,可使用如下:<?php $currGroup = get_object_vars($this->user) ['row']['group'];if ($currGroup == "administrator"): ?> 若为管理员,显示此区域内容 <?php else: ?>//else可去 非管理员,显示此区域内容 <?php endif;?>
2020年08月01日
1,424 阅读
0 评论
3 点赞
2020-07-30
新的一天
会有那么一天,你也会放下如今的执着和不舍,带着稍许的遗憾,过着没有那个人的新生活。 终于有一天你恍然大悟,或许成长的一部分就是这样,你不断跟熟悉的人告别,跟熟悉的地方告别,然后走上一个陌生的舞台,见陌生的人,听陌生的歌,看陌生的风景,最后把陌生变为熟悉。 在生活的锤炼下,你看到谁和谁分开都不会太奇怪,不管这个世界发生什么,你都会有勇气面对新的一天。
2020年07月30日
1,843 阅读
0 评论
1 点赞
2020-07-27
人生试题
人生试题一共有四道题目:学业、事业、婚姻、家庭。平均分高才能及格,切莫花太多的时间和精力在任一题目上。
2020年07月27日
1,310 阅读
0 评论
1 点赞
1
...
13
14
15
...
17