dreitier / awesome-documentation-blade-directives
制作更好的开发者文档
dev-main
2021-04-09 16:38 UTC
Requires
- php: ^7.1.3|^8.0
- jfcherng/php-diff: ^6.10
- laravel/framework: ^5.7|^6.0|^7.0|^8.0
- scrivo/highlight.php: v9.18.1.6
This package is auto-updated.
Last update: 2024-09-10 00:11:53 UTC
README
如果您想为开发者创建出色的文档,此包适用于您。
安装
您可以通过composer安装此包
composer require dreitier/awesome-documentation-blade-directives
用法
突出显示源代码
此包使用scrivo/highlight.php创建突出显示的源代码。
@highlightStyle
创建一个带有给定样式和版本(如有提供)的<link rel="stylsheet" />
。
@highlightStyle("atelier-heath-dark" /* style, optional */, "9.12.0" /* version, optional */)
@highlight
突出显示给定的源代码文件。
$path
可以是类似于'view:$path_in_laravel_views_folder'或自定义前缀路径的东西$language
可以是highlight.js支持的任何语言
@highlight('view:documentation/samples/flow.php' /* path */, 'php' /* language, optional */)
@beginHighlight / @endHighlight
突出显示内联源代码
@beginHighlight('php' /* language, optional */) $a = 1; $b = 2; echo "$a + $b = " . ($a + $b); @endHighlight
文件比较
此包使用jfcherng/php-diff在两个字符串之间创建差异。
@differStyle
为差异结果创建内联CSS样式。
@differStyle
@diffEncodedJson
渲染之前创建的JSON差异
$jsonDiff = \Dreitier\Documentation\Blade\Facades\Differ::calculate('old', 'new', 'Json' /* default, optional */);
@diffEncodedJson($jsonDiff, $render = null, $rendererOptions = null, $mergeOptions = false)
@diffArray
渲染之前创建的数组差异
@diffArray($diff, $render = null, $rendererOptions = null, $mergeOptions = false)
创建差异
您可以通过使用外观创建两个文件之间的差异
$encodedJson = \Dreitier\Documentation\Blade\Facades\Differ::calculateFiles('view:samples/v1.php', 'view:samples/v2.php', $renderer = 'Json', $differOptions = null, $mergeDifferOptions = false, $rendererOptions = null, $mergeRendererOptions = false)
如你所见,您可以使用静态内容定位器的前缀格式(见下文)轻松引用文件。
配置
突出显示源代码
设置highlight.js选项
您可以通过外观设置使用的highlight.js选项
\Dreitier\Documentation\Blade\Facades\Highlighter::setHighlightJsVersion('9.12.1'); \Dreitier\Documentation\Blade\Facades\Highlighter::setHighlightJsStyle('atelier-heath-light');
设置默认语言
如果您想设置与PHP不同的默认语言,可以使用setDefaultLanguage
\Dreitier\Documentation\Blade\Facades\Highlighter::setDefaultLanguage('java');
文件比较
您可以使用以下方法配置jfcherng/php-diff的默认选项
\Dreitier\Documentation\Blade\Facades\Differ::setDefaultRenderer($defaultRenderer); \Dreitier\Documentation\Blade\Facades\Differ::setDefaultRendererOptions($defaultRendererOptions); \Dreitier\Documentation\Blade\Facades\Differ::setDefaultDifferOptions($differOptions); \Dreitier\Documentation\Blade\Facades\Differ::setDefaultCss($css);
静态内容定位器
注册新的静态内容定位器
如果您想从其他地方引用源代码或示例,如composer包,这个很有用
\Dreitier\Documentation\Blade\Facades\StaticContentLocator::register('my-composer-package', function($path) { return base_path('vendor/my-namespace/my-composer-package/samples') . '/' . $path; });
@highlight('my-composer-package:subdir/sample_1.json', 'json')