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('<', '<', $code);
self::__setCache($url, $code);
}
return $code;
}
编辑:我已经修复了下面提到的问题&在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个路径来修复这些问题。
您可能想尝试一下 http://darcyclarke.me/dev/repojs/ 我已经成功地将它包含在一篇 joomla 文章中(通过将 javascript 代码直接包含在页面中),以便人们可以从 joomla 文章中浏览 github 存储库。