Joomla 插件将 github 代码显示到文章中[已关闭]

问题描述 投票:0回答:2

joomla 2.5 是否有任何插件可用于嵌入 github 存储库中的代码。对于Word Press,有一个插件可以实现相同的功能(http://wordpress.org/extend/plugins/github-code-viewer-2/)。我想使用类似

的内容将我的 github 存储库中的代码包含到我的 joomla/k2 文章中
{github url='https://github.com/jamescarr/spring-integration/blob/master/spring-integration-file/src/main/java/org/springframework/integration/file/filters/AbstractFileListFilter.java'} 

通过查看 wp 插件,我想编写自己的 joomla 插件,但 WP 插件使用 *wp_remote_fopen* 函数,我在 joomla 中没有找到相同类型的函数,并阅读了一些有关使用此类 remote_open 函数的漏洞的文章。这是 WP 插件正在做的事情

function getGitHubFile($url, $ttl = null){
        self::__loadCache($url, $ttl);

        if (isset(self::$cache[$url])) {
            $code = self::$cache[$url];
        } else {
            $code = wp_remote_fopen($url . '?raw=true');
            if ($code == '') {
                return 'You need cURL installed to use GitHub_Code_Viewer';
            }
            $code = str_replace('<', '&lt;', $code);
            self::__setCache($url, $code);
        }

        return $code;
    }  
php github joomla embed code-view
2个回答
1
投票

编辑:我已经修复了下面提到的问题&在github上为Joomla 2.5和3.0发布了一个新插件 - 插件作者应该很快就会更新JED


Joomla 2.5有一个Github Repo插件,它使用@Jean-Marie Favre提到的

repojs

要在 Joomla 3 上运行此功能,您需要编辑

githubrepo.php
并更改:

   if ( version_compare( JVERSION, '3.0', '<' ) == 1) { 
        if($jquery){
                $document->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');
        }
   } else {
        JHtml::_('jquery.framework');
   }

只是

JHtml::_('jquery.framework');

根据您的服务器设置,您可能还会在

firebug
中看到以下错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://raw.github.com/darcyclarke/Repo.js/master/fonts/repo.woff.
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://raw.github.com/darcyclarke/Repo.js/master/fonts/repo.ttf.

启用跨域请求对我来说不起作用,所以我通过将repo.js中的所有字体上传到我的网络服务器并编辑

repo.js
中的4个路径来修复这些问题。


0
投票

您可能想尝试一下 http://darcyclarke.me/dev/repojs/ 我已经成功地将它包含在一篇 joomla 文章中(通过将 javascript 代码直接包含在页面中),以便人们可以从 joomla 文章中浏览 github 存储库。

© www.soinside.com 2019 - 2024. All rights reserved.