如何集成Trac和WordPress(如WP开发博客中所述)?

时间:2010-11-01 作者:ChristLuvsU2

回想五月份,我在WordPress开发博客上看到Alex M(Viper007bond.com)的一篇文章,他在文章中为Automatic Ticket/Revision/Diff Linking 它允许链接到Trac票证、Trac修订和Trac差异比较。

我想用WordPress的内部博客和Trac做同样的事情,这是我的业务。我还没有看到这是作为WordPress插件发布的,所以我希望人们能在如何实现Trac和WordPress之间的集成方面为我指明正确的方向。谢谢

2 个回复
最合适的回答,由SO网友:Viper007Bond 整理而成

这是功能的来源。这只是一个内容过滤器和一些基本的正则表达式,是我在Automatic的一位同事写的。

add_filter( \'the_content\', \'markup_wporg_links\' );
add_filter( \'comment_text\', \'markup_wporg_links\' );

function markup_wporg_links( $content ) {
    $find = array(
        \'/(\\ |^)#(\\d{3,6})(\\b|$)/i\', // core trac ticket #1234-core in http://core.trac.wordpress.org/ticket/
        \'/(\\ |^)r(\\d{3,6})(\\b|$)/i\', // core changeset r1234-core in http://core.trac.wordpress.org/changeset/1234
        \'/(\\ |^)diff:@(\\d{3,6}):(\\d{3,6})(\\b|$)/i\', // core diff diff-core:@20:30 https://core.trac.wordpress.org/changeset?new=30&old=20
    );

    $replace = array(
        \'<a href="http://core.trac.wordpress.org/ticket/$2">$0</a>\', // core trac ticket
        \'<a href="http://core.trac.wordpress.org/changeset/$2">$0</a>\', // core trac changeset
        \'<a href="http://core.trac.wordpress.org/changeset?new=$3&old=$2">$0</a>\', // core diff
    );

    preg_match_all( \'#[^>]+(?=<[^/]*[^a])|[^>]+$#\', $content, $matches, PREG_SET_ORDER );

    foreach ( $matches as $val )
        $content = str_replace( $val[0], preg_replace( $find, $replace, $val[0] ), $content );

    return $content;
}
修改它以满足您的需要。

SO网友:edelwater

还可以看看RTC(jazz.net上10个用户免费使用),这是下一件大事。

它会自动将更改内容与附加的工作项/差异/甚至与您的计划结合起来。这是Eclipse的后续版本(它提供了一个开源框架)。

我知道目前最好的事情是什么

结束

相关推荐