Swagger YAML 파일을 HTML로 변환 docker image 2
5540 단어 dockerfileswagger
단지 Spectacle 은 외부의 JS나 CSS를 읽어들이는 형태의 HTML을 생성하기 위해, inline-source-cli 를 사용해 JS와 CSS를 포함한 단일 HTML 파일을 생성하는 docker image를 작성했습니다.
이용방법
Swagger의 YAML 파일이 있는 디렉토리에서 다음 명령을 실행하십시오.
docker run --rm --volume $(pwd):/mnt nmatsui/swagger2spectacle swagger_filename.yaml
Swagger YAML 파일에서 생성된 HTML 파일이 같은 디렉토리에 생성됩니다.
Dockerfile
FROM node:8.11-alpine
MAINTAINER Nobuyuki Matsui <[email protected]>
WORKDIR /opt
COPY entrypoint.sh /opt/entrypoint.sh
RUN apk update && apk upgrade && \
apk add --no-cache --virtual .build git && \
git clone https://github.com/sourcey/spectacle.git /opt/spectacle && \
cd /opt/spectacle && \
npm install && \
cd /opt && \
npm install inline-source-cli && \
apk del .build && \
chmod 755 /opt/entrypoint.sh
ENTRYPOINT ["/opt/entrypoint.sh"]
원 트리 포인트 t. sh
#!/bin/sh
if [ $# -ne 1 ]; then
echo "usage: docker run --rm --volume \$(pwd):/mnt nmatsui/swagger2spectacle swagger_filename.yaml"
exit 1
fi
YAML_FILE=${1}
BASE_NAME=${YAML_FILE%.*}
if [ ! -e /mnt/${YAML_FILE} ]; then
echo "${YAML_FILE} not found"
exit 1
fi
node /opt/spectacle/bin/spectacle.js -t . /mnt/${YAML_FILE}
sed -i -e 's#<link rel="stylesheet" href="stylesheets/foundation.min.css" />#<link inline rel="stylesheet" href="stylesheets/foundation.min.css" />#' /opt/index.html
sed -i -e 's#<link rel="stylesheet" href="stylesheets/spectacle.min.css" />#<link inline rel="stylesheet" href="stylesheets/spectacle.min.css" />#' /opt/index.html
sed -i -e 's#<script src="javascripts/spectacle.min.js"></script>#<script inline src="javascripts/spectacle.min.js"></script>#' /opt/index.html
/opt/node_modules/.bin/inline-source --compress false index.html > /mnt/${BASE_NAME}.html
exit 0
Reference
이 문제에 관하여(Swagger YAML 파일을 HTML로 변환 docker image 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nmatsui/items/ab9cb7c1071ee06e0de0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
docker run --rm --volume $(pwd):/mnt nmatsui/swagger2spectacle swagger_filename.yaml
FROM node:8.11-alpine
MAINTAINER Nobuyuki Matsui <[email protected]>
WORKDIR /opt
COPY entrypoint.sh /opt/entrypoint.sh
RUN apk update && apk upgrade && \
apk add --no-cache --virtual .build git && \
git clone https://github.com/sourcey/spectacle.git /opt/spectacle && \
cd /opt/spectacle && \
npm install && \
cd /opt && \
npm install inline-source-cli && \
apk del .build && \
chmod 755 /opt/entrypoint.sh
ENTRYPOINT ["/opt/entrypoint.sh"]
원 트리 포인트 t. sh
#!/bin/sh
if [ $# -ne 1 ]; then
echo "usage: docker run --rm --volume \$(pwd):/mnt nmatsui/swagger2spectacle swagger_filename.yaml"
exit 1
fi
YAML_FILE=${1}
BASE_NAME=${YAML_FILE%.*}
if [ ! -e /mnt/${YAML_FILE} ]; then
echo "${YAML_FILE} not found"
exit 1
fi
node /opt/spectacle/bin/spectacle.js -t . /mnt/${YAML_FILE}
sed -i -e 's#<link rel="stylesheet" href="stylesheets/foundation.min.css" />#<link inline rel="stylesheet" href="stylesheets/foundation.min.css" />#' /opt/index.html
sed -i -e 's#<link rel="stylesheet" href="stylesheets/spectacle.min.css" />#<link inline rel="stylesheet" href="stylesheets/spectacle.min.css" />#' /opt/index.html
sed -i -e 's#<script src="javascripts/spectacle.min.js"></script>#<script inline src="javascripts/spectacle.min.js"></script>#' /opt/index.html
/opt/node_modules/.bin/inline-source --compress false index.html > /mnt/${BASE_NAME}.html
exit 0
Reference
이 문제에 관하여(Swagger YAML 파일을 HTML로 변환 docker image 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nmatsui/items/ab9cb7c1071ee06e0de0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/bin/sh
if [ $# -ne 1 ]; then
echo "usage: docker run --rm --volume \$(pwd):/mnt nmatsui/swagger2spectacle swagger_filename.yaml"
exit 1
fi
YAML_FILE=${1}
BASE_NAME=${YAML_FILE%.*}
if [ ! -e /mnt/${YAML_FILE} ]; then
echo "${YAML_FILE} not found"
exit 1
fi
node /opt/spectacle/bin/spectacle.js -t . /mnt/${YAML_FILE}
sed -i -e 's#<link rel="stylesheet" href="stylesheets/foundation.min.css" />#<link inline rel="stylesheet" href="stylesheets/foundation.min.css" />#' /opt/index.html
sed -i -e 's#<link rel="stylesheet" href="stylesheets/spectacle.min.css" />#<link inline rel="stylesheet" href="stylesheets/spectacle.min.css" />#' /opt/index.html
sed -i -e 's#<script src="javascripts/spectacle.min.js"></script>#<script inline src="javascripts/spectacle.min.js"></script>#' /opt/index.html
/opt/node_modules/.bin/inline-source --compress false index.html > /mnt/${BASE_NAME}.html
exit 0
Reference
이 문제에 관하여(Swagger YAML 파일을 HTML로 변환 docker image 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nmatsui/items/ab9cb7c1071ee06e0de0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)