* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class Markdown extends MarkupAbstract { /** * @param \PSX\Schema\GeneratorInterface|null $generator */ public function __construct(GeneratorInterface $generator = null) { // by default we use the html generator since the markdown renderer uses // a table syntax which is not supported everywhere $this->generator = $generator === null ? new Generator\Html(4) : $generator; } /** * @param \PSX\Api\Resource $resource * @return string */ protected function startResource(Resource $resource) { $md = '' . "\n"; $md.= '# ' . $resource->getPath() . "\n"; $md.= '' . "\n"; $description = $resource->getDescription(); if (!empty($description)) { $md.= $description . "\n"; $md.= '' . "\n"; } return $md; } /** * @return string */ protected function endResource() { return "\n"; } /** * @param \PSX\Api\Resource\MethodAbstract $method * @return string */ protected function startMethod(Resource\MethodAbstract $method) { $md = '' . "\n"; $md.= '## ' . $method->getName() . "\n"; $md.= '' . "\n"; $description = $method->getDescription(); if (!empty($description)) { $md.= $description . "\n"; $md.= '' . "\n"; } return $md; } /** * @return string */ protected function endMethod() { } /** * @inheritDoc */ protected function renderSchema(string $title, string $schema) { $html = '### ' . $title . "\n"; $html = '* ' . $title . ': [' . $schema . '](#' . $schema . ')' . "\n"; return $html; } } __halt_compiler();----SIGNATURE:----Dd1C2t4hqwkVUoWvoa0v1koaSYtm0nVxQEP4AbztektyO3ZV/AI6yvKAiYLyzBvnoaufeTvc22pDn0RhXd735iqHfyp/KXjzt9lZk7SCUTp3gTug5QeRkT/5SpDwT2VpQeR30iVLd22P2IANHqW7bZlpDV9YZwG0Ff83EeA+/+39I1k3RjRGpQjnzwWvpSptgVVY622N3NDwZfKyFObcMYTmawF6XLEstwWNOjaOE27NfMi8NELYDZLq7+8t+MQx81FGN/I1EY7j9JNdkqjlaxigrbMa899PdRhRqbMbl0bBWHgcXVQ0AHz2B7pAtPgur/I/y5/JBefrCNnO1Ft7vrf3b2+wFIz3phArBhRPJ4xRkaC4P0nh0gBHwA+WB61XpZEHIm4TBrRTWNFDVg61QOC/2qtscZ4r3h/t+Kir8nESpzNJ16rwWmZFJDBfOI43Ix2ArabaPuzlaXjhyG59kkPo7sb8azuoVkqxZx936QccjptEFjGDKu8EpdQwKrj/ID2/iGJglwy+/NKN0omGrs1OjmPlYujFKtaLKEsEVntYkN0qbIE6kKrbpPkbxEl3+mOHlPsfZwPyp0jGb1DYtlglR9LbgoTLAkltg4rPO1FJ1ilU64Pe7kK7VtmmIPctKwW4lfwD5eDebmYR7DDlrqRZLOr3JNyQignUt+zqJxg=----ATTACHMENT:----NTc3MDUwNzQ4ODY0NzgwNSA3MjY1OTgwNzk1NDI0OTQgMzIxMzMxMTI0ODM1NzA3MA==