![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/knuckleswtf/scribe/src/Writing/ |
<?php namespace Knuckles\Scribe\Writing; use Illuminate\Support\Facades\View; /** * Writes a basic, mostly empty template, passing the OpenAPI spec URL in for an external client-side renderer. */ class ExternalHtmlWriter extends HtmlWriter { public function generate(array $groupedEndpoints, string $sourceFolder, string $destinationFolder) { $template = $this->config->get('theme'); $output = View::make("scribe::external.$template", [ 'metadata' => $this->getMetadata(), 'baseUrl' => $this->baseUrl, 'tryItOut' => $this->config->get('try_it_out'), 'htmlAttributes' => $this->config->get('external.html_attributes', []), ])->render(); if (!is_dir($destinationFolder)) { mkdir($destinationFolder, 0777, true); } file_put_contents($destinationFolder . '/index.html', $output); } public function getMetadata(): array { // NB:These paths are wrong for laravel type but will be set correctly by the Writer class if ($this->config->get('postman.enabled', true)) { $postmanCollectionUrl = "{$this->assetPathPrefix}collection.json"; } if ($this->config->get('openapi.enabled', false)) { $openApiSpecUrl = "{$this->assetPathPrefix}openapi.yaml"; } return [ 'title' => $this->config->get('title') ?: config('app.name', '') . ' Documentation', 'example_languages' => $this->config->get('example_languages'), // may be useful 'logo' => $this->config->get('logo') ?? false, 'last_updated' => $this->getLastUpdated(), // may be useful 'try_it_out' => $this->config->get('try_it_out'), // may be useful "postman_collection_url" => $postmanCollectionUrl ?? null, "openapi_spec_url" => $openApiSpecUrl ?? null, ]; } }