Typecho 1.0 Markdown文章链接从新窗口中打开(target="_blank")

发布时间:November 7, 2015 // 分类:代码 // 2 条评论

Typecho很好用,但是原生Markdown有一个缺陷,超级链接默认在当前页跳转。如果在文章中添加了参考链接,阅读起来就很不方便。

在Typecho 1.0版本中,要给文章的超级链接添加 target="_blank" 属性其实也是相当简单的。

\var\CommonMark\HtmlRenderer.php 的104行,有以下一段代码:

        case CommonMark_Element_InlineElement::TYPE_LINK:
            $attrs['href'] = $this->escape($inline->getAttribute('destination'), true);
            if ($title = $inline->getAttribute('title')) {
                $attrs['title'] = $this->escape($title, true);
            }
    
            return $this->inTags('a', $attrs, $this->renderInlines($inline->getAttribute('label')));

这就是处理超级链接的部分,我们只要添加一行$attrs['target'] = '_blank';即可:

        case CommonMark_Element_InlineElement::TYPE_LINK:
            $attrs['href'] = $this->escape($inline->getAttribute('destination'), true);
            if ($title = $inline->getAttribute('title')) {
                $attrs['title'] = $this->escape($title, true);
            }
    $attrs['target'] = '_blank'; #添加这一行代码
            return $this->inTags('a', $attrs, $this->renderInlines($inline->getAttribute('label')));

当然,如果你想加上rel="nofollow"也依葫芦画瓢即可

        case CommonMark_Element_InlineElement::TYPE_LINK:
            $attrs['href'] = $this->escape($inline->getAttribute('destination'), true);
            if ($title = $inline->getAttribute('title')) {
                $attrs['title'] = $this->escape($title, true);
            }
    $attrs['target'] = '_blank'; #在新窗口打开属性
    $attrs['rel'] = 'nofollow';  #添加nofollow属性
            return $this->inTags('a', $attrs, $this->renderInlines($inline->getAttribute('label')));

本文固定链接
http://www.ywlib.com/archives/38.html

标签
typecho, 超级链接, 新窗口打开, seo

已有 2 条 关于 " Typecho 1.0 Markdown文章链接从新窗口中打开(target="_blank") "的评论.

  1. 你好,通过学习你的 http://www.ywlib.com/archives/38.html 这篇博客,我解决了如何在新标签中打开超链接的问题,但是为什么我发出来的文章 http://www.wooleefeng.tk/archives/24/ 是这样的显示呢?我想让代码和你一样的显示效果,大佬请问怎么做?

    1. url样式是在typecho后台可以设置的,在“设置-永久链接”。另外你用vps的话建议你试一下www.bt.cn提供的宝塔面板,比lnmp方便很多。

添加新评论 »

分类
随机文章
最新文章
最近回复
  • Proxmox VE 6.1 配置源及关闭订阅提醒 - ZIMRI`Blog: [...]原文链接 https://www.ywlib.com/archives/150.ht...
  • 夏目贵志: 感谢解决困惑我2小时的问题!!!
  • Kent: 啊。。好的。。谢谢你
  • zhuohua liu: 你的网站被Norton Safe Web列为恶意网站,自动拦截的,去发个mail洗白吧,不然影...
  • typecho模板: 只调用随机文章的内容怎么操作啊?类似多思多金博主的你好污啊那种样子的
  • box: 好棒b( ̄▽ ̄)d
  • mi: /data/opkg update
  • alen chen: 我的是小米路由器mini ROM:開發版2.19.40
  • alen chen: 你好,看到你的文章如獲至寶,一舉解決了我多年想在小米路由器mini裡面安裝dlna的心願。一路...
  • hiicy: windows上最有效 最简单明了的方法!打电话!!