Swagger yaml to 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.

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.

Читайте также:  Python instance class by name

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)

vedro-compota's picture

Предположим, что yaml с информацией о метода вы генерировать уже уже научились и теперь нам надо перегнуть его в html.

Наиболее простым способом является (но не самым быстрым и удобным):

  1. взять сгенерированный yaml
  2. добавить его слева в область кода на https://editor.swagger.io/
  3. и далее из главного меню:

На локальной машине же можно обойтись без копирования руками в браузер. Рассмотрим этот способ ниже.

swagger-ui — для отображения HTML документации

swagger-ui можно использовать (рекомендуется) для отображения документации к API в виде HTML.
Чтобы завести эту возможность, делаем следующее:

  1. Качаем последний релиз https://github.com/swagger-api/swagger-u.
  2. Подпапка dist/ — это все что нужно нам для отображения нашей документации (там есть index.html и js, который на ходу умеет парсить описание API, по сути это SPA приложение) — скопируйте все dist/ содержимое в нужную вам директорию.
  3. По умолчанию будет разбираться файл из сети, чтобы указать путь к нашему файлу, придется положить его на том же уровне, что и 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 более красивая и продвинуто оформленная).

Key Words for FKN + antitotal forum (CS VSU):

Источник

Оцените статью