WordPress 文章内嵌 Gist 代码

WordPress 内嵌 Gist 链接的方法很简单,将以下代码添加到当前主题的 functions.php 文件中:

/*
 * Embed gists with a URL in post article
 */
function dangopress_embed_gist($matches, $attr, $url, $rawattr)
{
    $embed = sprintf(
        '<script src="https://gist.github.com/%1$s.js%2$s"></script>',
        esc_attr($matches[1]),
        esc_attr($matches[2])
    );

    return apply_filters('dangopress_embed_gist', $embed, $matches, $attr, $url, $rawattr);
}
wp_embed_register_handler('gist', '#https?://gist\.github\.com(?:/[a-z0-9-]+)?/([a-z0-9]+)(\?file=.*)?#i', 'dangopress_embed_gist');

在上面的代码中,我们注册了 Gist 链接的处理方法 dangopress_embed_gist。当我们拷贝 Gist 链接到编辑框时,会调用改方法生成内嵌内容。

Gist 链接是通过注册过程中,指定的正则表达式匹配的:

#https?://gist\.github\.com(?:/[a-z0-9-]+)?/([a-z0-9]+)(\?file=.*)?#i

它可以匹配下面的任意一种形式:

https://gist.github.com/dangoakachan/443ca6efa9622deb3131   # a full gist url example
https://gist.github.com/443ca6efa9622deb3131                # but user name is optional

# If the gist contains multiple file, use "?file=youfile" to embed only one 
https://gist.github.com/e59891e80652bb209f8e?file=moderate.list  # embed moderate.list only

查看全文

dangopress: 简单的自适应主题

dangopress 是我自己独立创作的第一款免费主题,主打简洁风格,喜欢白底黑字的同学可以试试。主题已经上传到 Github,可以免费下载,暂时还没有打算提交到官方主题库中。

我的性子比较喜欢折腾,主题经常换来又换去,下载了别人放出的主题之后,一定要亲手“打磨”过之后才会使用。几次下来,新鲜劲刚过,又开始寻觅新的主题。从开始使用 WordPress 开始,我就有一个愿望可以自己亲手实现一份主题,现在愿望实现了,感觉真不错。

主题的许多素材都是来源自网上,最初原型是来自 牧风 现在的主题,同时也参考了很多 Neoease 博客上的元素。当然还有,例如邮件回复、归档页面、最近评论等等,都来自网上各位同仁的分享。所以主题完成之后,我就立马上传到 Github 上了。

主题安装方法:

  • 推荐 Github Release 页面下载最新版本;
  • 从 Github 下载最新代码:
  • # git clone https://github.com/dangoakachan/dangopress
    

    将 clone 下来的整个目录压缩成 zip 包。

到 WordPress 后台上传安装主题,主题有几个自定义的选项,请自行设置。如果有问题需要帮忙,欢迎在本博客评论。

dangopress 主题特性

dangopress 双栏设计,白底黑字,属于简洁风格。

主题拥有以下特性(包括但不仅限于):

  1. 集成侧栏跟随滚动功能
  2. 默认可以阻挡大多数垃圾评论,可以不需要安装其它插件,推荐关闭评论审核功能;
  3. 支持添加百度分享、百度统计以及 Google Analytics 统计代码,主题后台可配置;
  4. 默认自带代码高亮功能,通过 Google Code Prettify 实现;
  5. 评论支持回复邮件提醒功能,邮件内容已定制;
  6. 支持将博客静态文件上传到 CDN,主题后台可配置 CDN 地址前缀(本博客的一些静态文件都是托管在 OSS 上的,关于 WordPress 使用 OSS 可以参考我之前写得一篇文章);
  7. 侧栏包括最新、随机、置顶以及热评文章,以 Tab 选项卡形式呈现;
  8. 简单的多种宽度设备(手机、平板、电脑)样式自适应,效果见下方;

查看全文