dreitier/awesome-documentation-blade-directives

dev-main 2021-04-09 16:38 UTC

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')