undefinedoffset / silverstripe-codebank
代码库是一个代码片段管理器,支持包括 C++、ActionScript、Flex、HTML 和 SQL 等多种语言的语法高亮。代码库还具备简单的版本历史记录和比较查看器,让您可以并排查看两个版本之间的更改。
Requires
Suggests
- silverstripe/fulltextsearch: Adds support for Fulltext Search engines like Sphinx and Solr
README
代码库是一个代码片段管理器,支持包括 C++、ActionScript、Flex、HTML 和 SQL 等多种语言的语法高亮。代码库还具备简单的版本历史记录和比较查看器,让您可以并排查看两个版本之间的更改。
要求
- SilverStripe 框架 3.1.x(有关 SilverStripe 要求,请参阅 http://www.silverstripe.org/system-requirements/)
- PHP Zip 扩展(有关安装说明,请参阅 http://ca1.php.net/manual/en/book.zip.php)
安装(模块)
composer require undefinedoffset/silverstripe-codebank 3.*@stable
手动安装(仅模块)
- 从此处下载并提取最新的代码库模块发布版本: http://programs.edchipman.ca/applications/code-bank/
- 将模块存档提取到您的 SilverStripe 安装根目录,提取的文件夹中应包含根目录下的 _config.php 以及其他文件/文件夹
- 在浏览器中输入 http://{你的域名}/{代码库服务器文件夹根路径}/dev/build?flush=all
- 现在您将在 CMS 菜单中看到代码库选项
安装(独立)
- 从此处下载并提取最新的代码库发布版本: http://programs.edchipman.ca/applications/code-bank/
- 将代码库提取到您的 SilverStripe 兼容的 web 服务器上的某个位置,您现在应该会看到代码库文件夹和框架文件夹等
- 按照 http://doc.silverstripe.org/framework/en/installation/ 中的安装说明进行操作
- 如果安装程序成功完成,您现在将能够在代码库的桌面客户端中使用远程服务器。只需将服务器路径设置为 http://{你的域名}/{代码库服务器文件夹根路径}
- 您应该确保 SilverStripe 安装程序已删除安装文件 install.php 和 install-frameworkmissing.html
升级到新版本
仅模块(使用 composer,推荐)
composer update --no-dev undefinedoffset/silverstripe-codebank
仅模块(不使用 composer)
- 从此处下载最新的代码库发布版本: http://programs.edchipman.ca/applications/code-bank/
- 将存档提取到与您的 SilverStripe 框架相同的文件夹中
- 在浏览器中输入 http://{你的域名}/{代码库服务器文件夹根路径}/dev/build?flush=all
独立(使用 composer,推荐)
composer update --no-dev
独立(不使用 composer)
- 从 http://programs.edchipman.ca/applications/code-bank/ 下载并提取最新的代码库发布版本,覆盖代码库和主题文件夹
- 下载并提取仅包含代码库、框架和主题文件夹的 CodeBank,以替换这些文件夹及其子文件夹
- 在浏览器中输入 http://{你的域名}/{代码库服务器文件夹根路径}/dev/build?flush=all,然后您可以正常使用代码库
带有刷子的自定义语言
代码库使用 SyntaxHighlighter 来突出显示代码片段,要提供具有语法高亮的语言,您必须将以下内容添加到您的 yml 配置 中,然后运行 dev/build?flush=all。
CodeBank: extra_languages: - Name: "Example Language" #Name of the language HighlightCode: "example" #Highlighter code FileName: "ex" #File extension Brush: "mysite/javascript/shBrushEx.js" #Relative Path to the snippet highlighter brush
切换搜索引擎
默认情况下,Code Bank 使用 MySQL 的全文搜索功能,在 Postgres 等数据库中使用部分匹配过滤进行搜索,既适用于客户端也适用于网页界面。如果您已安装 silverstripe/fulltextsearch 并有可用的 Solr 服务器,Code Bank 提供了将搜索引擎切换到 Solr 的支持。您可以通过将以下内容添加到 mysite/_config/config.yml 中来切换搜索引擎,在 URL 中添加 flush=1 以更新配置缓存。
CodeBank: snippet_search_engine: "SolrCodeBankSearchEngine"
编写自己的引擎
Code Bank 提供了一个 API 供您挂钩自己的引擎,您只需要实现 ICodeBankSearchEngine 接口并在接口中定义方法。关键是要记住,doSnippetSearch() 方法接受 3 个参数,第一个 $keyword 是用户正在搜索的术语/关键字(这可能是空的),第二个 ($langugeID) 是用户过滤到的语言的数据库 ID。最后一个参数 ($folderID) 是系统请求匹配的文件夹的 ID。该方法本身应始终返回 SS_List 子类,通常应该是一个只包含或指向代码片段的 DataList。要启用您的自定义引擎,请遵循 上述步骤。
版权声明
- 一些图标来自 Fudge Icon Set http://p.yusukekamiyamane.com/
- Code Bank 徽标来源于 Tango Desktop Project http://tango.freedesktop.org
- 其他图标来自 noun project http://thenounproject.com/
- Code Bank 由 SilverStripe 框架提供支持 http://www.silverstripe.org
- Code Bank 使用了 Zend Framework 的部分功能 http://framework.zend.com/
- 语法高亮由 SyntaxHighlighter 提供 https://github.com/alexgorbatchev/SyntaxHighlighter