分类 Internet 下的文章

Typecho代码高亮插件:Prismjs

原作者为:Wiseclock

代碼段落

高亮語言:C#

int startDate = 1;
int startHour = 10;
int startMin = 30;
DateTime now = DateTime.Now;
if (now.Day != startDate)
    return;
while (now.Hour < startHour)
{
    Console.WriteLine("長文本測試 test test test test test test test test test test test test test test test test test test test test test test test test");
    Console.WriteLine("HOUR NOT YET");
    Thread.Sleep(1000 * 60 * 5);
    now = DateTime.Now;
}

使用方法很簡單,只要在```或者`之後輸入相應的語言即可。

原作者:Wiseclock

下载地址:Prismjs.1.0.7.zip

经评论区大神提醒,已去掉版本限制,新版Typecho1.1可用。

Typecho Sticky置顶插件只输出标题方法

你需要置顶的文章,加一个自定义字段为top,然后,在index.php里加个判断,如果当前文章含top自定义字段,就只输出标题,否则,正常输出。

20171201101028.png

注:自定义字段值为任意值,但必须要跟文章以及PHP代码里的值一样才能输出。

这样,搭配插件,文章就可以首页置顶显示标题,但分类或标签页、归档页,正常显示。

20171201101319.png

进入主题index.php页面,编辑index.php,在$this->title() ?>之后插入以下代码:

<?php if (isset($this->fields->top)): ?>

如果文章自定义字段含top只输出标题,则在上一段代码之后还要加入以下代码:

<?php else: ?>

如果文章自定义字段不含top,则正常输出标题与文章。

<?php endif; ?>
//将此段代码添加到</article>标签之前

修改:Typecho外链转内链GoLinks插件

20171121105708.png

此插件可将外链转化为内链,有利于SEO,避免权重流失。

修改了作者描述,由于原描述是两行,就简约了一下,重新修改了排序规则。

下载后重命名为GoLinks,上传插件到plugins目录即可启用。

添加外链顺序:撰写—Link conversion,即可添加你想转换的外链链接。

当然也可应用于主机推荐类博客,隐藏AFF链接,直接转换内链为新地址,支持计数统计。KEY留空,则为8位随机字符。

经过对比测试,GoLinks插件要比ShortLinks插件更加实用更加简约,兼容Typecho 0.9/1.0/1.1版本。

下载地址:GoLinks.zip

 

Typecho点击文章内和评论链接弹出新窗口

Typecho是默认所有链接都在当前窗口打开,个人认为这样挺不适合阅读以及增大跳出率,所以本人修改为“弹出新窗口”,有了这个,再也不需要每个链接都加“target=_blank”。

  • 让评论者的主页在新窗口打开

首先打开\var\Widget\Abstract\Comments.php这个文件。找到第376行(或附近):

echo '<a href="' , $this->url , '"' , ($noFollow ? ' rel="external nofollow"' 
: NULL) , '>' , $this->author , '</a>';

替换为

echo '<a href="' , $this->url , '"' , ($noFollow ? ' rel="external nofollow"' 
: NULL) , ' target="_blank">' , $this->author , '</a>';
  • 让文章里的链接在新窗口打开

打开/var/CommonMark/HtmlRenderer.php文件,找到104行

case CommonMark_Element_InlineElement::TYPE_LINK:

替换为

case CommonMark_Element_InlineElement::TYPE_LINK:
    $attrs['href'] = $this->escape($inline->getAttribute('destination'), true);
    $attrs['target'] = $this->escape(_blank, true);
    if ($title = $inline->getAttribute('title'))
   {
    $attrs['title'] = $this->escape($title, true);
    }

此文仅作为备份。