January 18, 2020

Css学习日记:更好导航菜单样式

大苏虽然是计算机专业毕业的,但是二十年前我们的学的什么,,,HTML大学学的是相当扎实,PHP还是当初泡 K666 的时候自学的,但是也只是局限于一知半解,Css更别提了。自从进了做主题这个坑,Css就成了逃不过去的一道坎,只能慢慢摸索了,今天写了个导航菜单样式表,还行,嘿嘿!

#nav-menu {
    padding:0;
    margin: 36px 0 10px;
}
#nav-menu a {
    text-decoration: none;
    padding: 7px 18px 6px;
    color: #fff;
    background-color: #999;
    position: relative;
    z-index: 4;
    font-size: 14px;
    line-height: 1.5;
    display: inline-block;
}
#nav-menu a:first-child {
    border:none;
}
#nav-menu a:hover {
}
#nav-menu a.current {
    background-color: #303538;
}
#nav-menu a.current:after {
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 14px solid #303538;
    bottom: -6px;
    content: "";
    display: block;
    position: absolute;
    z-index: 3;
    height: 0;
    text-align: center;
    left: 50%;
    margin-left: -14px;
    width: 0;
}

January 15, 2020

在markdown中直接添加html代码

众所周知,typecho采用的是markdown文章编辑器,使用起来比较方便。

但是对于像我这样的新手来说,在markdown中要进行对齐方式、颜色等属性设置,或者想添加一段html长代码时,就不知道怎么弄了。

经过一番了解,原来在markdown中添加html代码的方法非常简单,只需要使用三个英文半角感叹号!!!在前后将html代码包起来就可以了。

代码是这样子:

<center style="color:red;">我就是要居中!</center>
<div style="color:blue;">
  <h1 style="font-size:1.6em;">我是一级标题</h1>
  <h2 style="font-size:1.4em;">我是二级标题</h2>
  <h3 style="font-size:1.2em;">我是三级标题</h3>
  <h4 style="font-size:1.0em;">我是四级标题</h4>
  <p style="font-size:0.8em;">我是正文段落</p>
</div>

演示效果

我就是要居中!

我是一级标题

我是二级标题

我是三级标题

我是四级标题

我是正文段落

December 28, 2019

Typecho友链插件启用错误

今天晚上咋地也睡不着了,想着把友链弄一下,后来还是打算用插件吧,省事,谁知道启动插件提示错误信息:数据表建立失败,友情链接插件启用失败。错误号:42S01,想着可能就是原来用友人C的时候插件写入了数据库,导致了数据库表重复,只能修改数据库表了。

  1. 进数据库把 typecho_links 这张表备份到本地(或者把整个数据库备份);
  2. 备份好了之后,把typecho_links这张表删除;
  3. 再进入网站后台,重新启用插件(这时候不报错了);
  4. 最后把刚刚备份在本地的typecho_links表重新导入到数据库里。

后来百度了一下,还有一种简单的解决办法,加个判断语句就行了

$code = $e->getCode();
    if(('Mysql' == $type && 1050 == $code) ||
            ('SQLite' == $type && ('HY000' == $code || 1 == $code))) {
        try {
            $script = 'SELECT `lid`, `name`, `url`, `sort`, `image`, `description`, `user`, `order` from `' . $prefix . 'links`';
            $installDb->query($script, Typecho_Db::READ);
            return '检测到友情链接数据表,友情链接插件启用成功';                    
        } catch (Typecho_Db_Exception $e) {
            $code = $e->getCode();
            if(('Mysql' == $type && 1054 == $code) ||
                    ('SQLite' == $type && ('HY000' == $code || 1 == $code))) {
                return Links_Plugin::linksUpdate($installDb, $type, $prefix);
            }
            throw new Typecho_Plugin_Exception('数据表检测失败,友情链接插件启用失败。错误号:'.$code);
        }
    } else if('Mysql' == $type && '42S01' == $code){
        /* 如果数据库存在 */
        $script = 'SELECT `lid`, `name`, `url`, `sort`, `image`, `description`, `user`, `order` from `' . $prefix . 'links`';
        $installDb->query($script, Typecho_Db::READ);
        return '检测到友情链接数据表,友情链接插件启用成功';**
    } else {
        throw new Typecho_Plugin_Exception('数据表建立失败,友情链接插件启用失败。错误号:'.$code);
    }

我是直接删除了数据库的typecho_links表,此问题完美解决。

December 24, 2019

个人博客运行时间统计代码

做统计时间的思路就是从你开始建站的时间戳到现在的时间戳的差,然后除以1年内多少秒就得到运行的年,月、天以此例推。但话又说回来这还是有点偏差,因为一年有闰年和闰月之说,所有多一天和少一天的时间戳是有误差的,这点大家要明白。知道原理了,下面来看看代码吧

<script>
    function secondToDate(second) {
        if (!second) {
            return 0;
        }
        var time = new Array(0, 0, 0, 0, 0);
        if (second >= 365 * 24 * 3600) {
            time[0] = parseInt(second / (365 * 24 * 3600));
            second %= 365 * 24 * 3600;
        }
        if (second >= 24 * 3600) {
            time[1] = parseInt(second / (24 * 3600));
            second %= 24 * 3600;
        }
        if (second >= 3600) {
            time[2] = parseInt(second / 3600);
            second %= 3600;
        }
        if (second >= 60) {
            time[3] = parseInt(second / 60);
            second %= 60;
        }
        if (second > 0) {
            time[4] = second;
        }
        return time;
    }
</script>
<script type="text/javascript" language="javascript">
    function setTime() {
        // 博客创建时间秒数,时间格式中,月比较特殊,是从0开始的,所以想要显示5月,得写4才行,如下
        var create_time = Math.round(new Date(Date.UTC(2013, 4, 22, 0, 0, 0))
                .getTime() / 1000);
        // 当前时间秒数,增加时区的差异
        var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000);
        currentTime = secondToDate((timestamp - create_time));
        currentTimeHtml = currentTime[0] + '年' + currentTime[1] + '天'
                + currentTime[2] + '时' + currentTime[3] + '分' + currentTime[4]
                + '秒';
        document.getElementById("htmer_time").innerHTML = currentTimeHtml;
    }
    setInterval(setTime, 1000);
</script>
   运行时间:<span id="htmer_time" style="color: red;"></span>

Continue...

December 22, 2019

总有刁民想害朕

不知道博客被谁给顶上了,24小时不停给我评论,我也是醉了,封IP,改时间,加验证,尼玛还来,是不是逼我加二次方程式的验证码?
我特么就是个个人写作博客,至于这么玩我吗?屌人,我准备跟世间邪恶战斗到底。

December 16, 2019

利用.htaccess伪静态去掉index.php后缀

很讨厌首页的INDEX.PHP,有心杀贼无力回天,没办法只好利用.htaccess伪静态来去掉了。
代码如下:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

</IfModule>

然后在后台“设置” - “永久链接”里“启用地址重写功能”,可能会提示失败,仍然启用即可。