- Saved searches
- Use saved searches to filter your results more quickly
- License
- metalrex100/swaghtml
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- swagger-yml-to-html
- Programmatically
- Template file
- Sample template
- Saved searches
- Use saved searches to filter your results more quickly
- sarathm09/swagger-yml-to-html
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- swagger Как сгнерировать HTML страницу c документацией (напр. из yaml)
- swagger-ui — для отображения HTML документации
- swagger-codegen Генерация на локальной машине
- Key Words for FKN + antitotal forum (CS VSU):
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Automatically generate html file with Swagger UI from swagger json/yaml specification.
License
metalrex100/swaghtml
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Swaghtml generates html file with Swagger UI from swagger specification.
Supported swagger specification formats:
Download swaghtml by using:
$ go get github.com/metalrex100/swaghtml
By default swaghtml will search file with name swagger.json in your current directory and will output data to file with name swagger.html.
You can specify paths to input and output files with —input (-i) and —output (-o) flags:
swaghtml gen -i path_to_input_file -o path_to_output_file
$ swaghtml gen -h Generate html file from json/yaml spec. Usage: swaghtml gen [flags] Flags: -h, --help help for gen -i, --input string Path to input file with swagger spec. Can be json or yaml. (default "swagger.json") -o, --output string Path to output html file. (default "swagger.html")
About
Automatically generate html file with Swagger UI from swagger json/yaml specification.
swagger-yml-to-html
Once installed, this tool is available as a command. To run it, use either swagger-2-html or swagger-to-html or s2h .
Usage: s2h [options] Options: -V, --version output the version number -i, --input Input yml file path -o, --output Output html file path -t, --template Path to the template to use -h, --help display help for command
Programmatically
Add this module as a dependency in your project.
npm i swagger-yml-to-html # or if you prefer using yarn yarn add swagger-yml-to-html
Import the module and use the available methods:
// Import the module const s2h = require('swagger-yml-to-html') const join > = require('path') // Generate the html file s2h.convertToHtml(join(__dirname, 'api-spec.yaml'), join(__dirname, 'output.yaml'), join(__dirname, 'template.html')) // or just specify the input file. Output path will be same as input file directory and the default template will be used˝ s2h.convertToHtml(join(__dirname, 'api-spec.yaml')) // Get the generated html file s2h.getGeneratedHtml(join(__dirname, 'api-spec.yaml'), join(__dirname, 'template.html')) // Or by using the default template s2h.getGeneratedHtml(join(__dirname, 'api-spec.yaml'))
Template file
You can use custom template files if needed. The template file should have a placeholder «, where the generated JSON file will be replaced to.
Sample template
html> head> link rel pl-s">stylesheet" href pl-s">https://cdn.jsdelivr.net/npm/swagger-ui-dist@3.48.0/swagger-ui.css" integrity pl-s">sha256-DC+RBCRl4tlDpij6pievKfKyxlm8OaX38Sn5yGlmT1I=" crossorigin pl-s">anonymous" /> script src pl-s">https://cdn.jsdelivr.net/npm/swagger-ui-dist@3.48.0/swagger-ui-bundle.js" integrity pl-s">sha256-UxKYBfPWl3Da6kCKrxYmmqMm+rit6ifogVaguCyISXQ=" crossorigin pl-s">anonymous" >script> script> function render() var ui = SwaggerUIBundle( spec: '>', dom_id: '#swagger-ui', defaultModelsExpandDepth: -1, presets: [SwaggerUIBundle.presets.apis, SwaggerUIBundle.SwaggerUIStandalonePreset] >) > script> head> body onload pl-s">render()"> div id pl-s">swagger-ui">div> body> html>
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Convert Swagger *yml files into a single html file
sarathm09/swagger-yml-to-html
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Convert Swagger *.yml files into a single html file.
Open Terminal/Command Prompt and run the following
npm i -g swagger-yml-to-html # or if you prefer using yarn yarn global add swagger-yml-to-html
Once installed, this tool is available as a command. To run it, use either swagger-2-html or swagger-to-html or s2h .
Usage: s2h [options] Options: -V, --version output the version number -i, --input Input yml file path -o, --output Output html file path -t, --template Path to the template to use -h, --help display help for command
Add this module as a dependency in your project.
npm i swagger-yml-to-html # or if you prefer using yarn yarn add swagger-yml-to-html
Import the module and use the available methods:
// Import the module const s2h = require('swagger-yml-to-html') const join > = require('path') // Generate the html file s2h.convertToHtml(join(__dirname, 'api-spec.yaml'), join(__dirname, 'output.yaml'), join(__dirname, 'template.html')) // or just specify the input file. Output path will be same as input file directory and the default template will be used˝ s2h.convertToHtml(join(__dirname, 'api-spec.yaml')) // Get the generated html file s2h.getGeneratedHtml(join(__dirname, 'api-spec.yaml'), join(__dirname, 'template.html')) // Or by using the default template s2h.getGeneratedHtml(join(__dirname, 'api-spec.yaml'))
You can use custom template files if needed. The template file should have a placeholder «, where the generated JSON file will be replaced to.
html> head> link rel pl-s">stylesheet" href pl-s">https://cdn.jsdelivr.net/npm/swagger-ui-dist@3.48.0/swagger-ui.css" integrity pl-s">sha256-DC+RBCRl4tlDpij6pievKfKyxlm8OaX38Sn5yGlmT1I=" crossorigin pl-s">anonymous" /> script src pl-s">https://cdn.jsdelivr.net/npm/swagger-ui-dist@3.48.0/swagger-ui-bundle.js" integrity pl-s">sha256-UxKYBfPWl3Da6kCKrxYmmqMm+rit6ifogVaguCyISXQ=" crossorigin pl-s">anonymous" >script> script> function render() var ui = SwaggerUIBundle( spec: '>', dom_id: '#swagger-ui', defaultModelsExpandDepth: -1, presets: [SwaggerUIBundle.presets.apis, SwaggerUIBundle.SwaggerUIStandalonePreset] >) > script> head> body onload pl-s">render()"> div id pl-s">swagger-ui">div> body> html>
About
Convert Swagger *yml files into a single html file
swagger Как сгнерировать HTML страницу c документацией (напр. из yaml)
Предположим, что yaml с информацией о метода вы генерировать уже уже научились и теперь нам надо перегнуть его в html.
Наиболее простым способом является (но не самым быстрым и удобным):
- взять сгенерированный yaml
- добавить его слева в область кода на https://editor.swagger.io/
- и далее из главного меню:
На локальной машине же можно обойтись без копирования руками в браузер. Рассмотрим этот способ ниже.
swagger-ui — для отображения HTML документации
swagger-ui можно использовать (рекомендуется) для отображения документации к API в виде HTML.
Чтобы завести эту возможность, делаем следующее:
- Качаем последний релиз https://github.com/swagger-api/swagger-u.
- Подпапка dist/ — это все что нужно нам для отображения нашей документации (там есть index.html и js, который на ходу умеет парсить описание API, по сути это SPA приложение) — скопируйте все dist/ содержимое в нужную вам директорию.
- По умолчанию будет разбираться файл из сети, чтобы указать путь к нашему файлу, придется положить его на том же уровне, что и index.html (или копируем руками или меняем путь при его генерации)
Откроем для редактирования index.html и укажем новый путь:
const ui = SwaggerUIBundle(< url: "./openapi.yaml", // новый путь ("рядом с index.html")
Все! Теперь можно открыть index.html (можно даже не создавать виртуальный хост) и посмотреть что получилось ;)
swagger-codegen Генерация на локальной машине
Далее рассмотрим способ с использованием swagger-codegen, этот проект позволяет генерировать код по вашему описанию API, в том числе и html (хотя на момент написания это решение в отношении html уступает числу поддерживаемых инструкций и красоте отображения, если сравнивать со swagger-ui).
Рассмотрим пример с использованием консольной программы.
- Скачайте последнюю его версию, например просто на джар архив в папку
ВНИМАНИЕ: позже оказалось, что последней версии с очередными исправлениями на сайте было, тогда пришлось клонировать репозиторий и собирать его с помощью maven-а, как написано тут:
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
mvn clean package
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i http://petstore.swagger.io/v2/swagger.json \
-l php \
-o /var/tmp/php_api_client
-- после чего (по аналогии с тем, что описано далее) использовать jar файл вроде (путь относительно корня папки):
modules/swagger-codegen-cli/target/swagger-codegen-cli.jar
java -jar swagger-codegen-cli.jar generate -i /var/www/myproject/openapi.yaml -l html2
- -i/var/www/myproject/openapi.yaml -- путь к yaml-файлу (у вас он скорее всего будет другим)), на основе которого будет построеhtml
-l html2 -- указание языка сборки, на то что надо собирать результат в виде html описания (версия 2 более красивая и продвинуто оформленная).