Como integrar o Trac e o WordPress (como feito no blog do WP Development)?

4

De volta a maio, lembro-me de ter visto um post no blog WordPress Development, de Alex M (Viper007bond.com), onde ele adicionou funcionalidade para Ticket / revisão automática / Diff Linking , que permite a ligação a bilhetes Trac, revisões Trac e comparações diff Trac.

Eu estou querendo fazer a mesma coisa com um blog WordPress interno e o Trac que eu tenho para o meu negócio. Eu não vi onde isso foi lançado como um plugin WordPress, então eu estava esperando que as pessoas pudessem me apontar na direção certa sobre como fazer isso em como fazer essa integração entre o Trac e WordPress. Obrigado.

    
por ChristLuvsU2 01.11.2010 / 01:41

2 respostas

6

Aqui está a fonte da funcionalidade. É apenas um filtro de conteúdo e um regex básico que um dos meus colegas de trabalho da Automattic escreveu.

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;
}

Modifique-o para atender às suas necessidades.

    
por Viper007Bond 01.11.2010 / 07:29
0

Também dê uma olhada no RTC (gratuito para 10 usuários no jazz.net) é a próxima grande coisa.

Ele combina automaticamente a mudança de suas coisas com os itens de trabalho anexados / diffs / até mesmo com o seu planejamento. É o acompanhamento do Eclipse (que forneceu uma estrutura de código aberto).

IMHO a melhor coisa que existe atualmente

    
por edelwater 01.11.2010 / 01:58