Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
C
core
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to JiHu GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Chenhao Ma
core
Commits
30c40004
Commit
30c40004
authored
7 years ago
by
Justin Ehlert
Browse files
Options
Downloads
Patches
Plain Diff
Configure livereload for swagger-ui using Grunt
parent
c2ecfdc5
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
swagger/Gruntfile.js
+99
-6
99 additions, 6 deletions
swagger/Gruntfile.js
swagger/package-lock.json
+545
-10
545 additions, 10 deletions
swagger/package-lock.json
swagger/package.json
+5
-1
5 additions, 1 deletion
swagger/package.json
swagger/swagger-ui/index.html
+95
-0
95 additions, 0 deletions
swagger/swagger-ui/index.html
with
744 additions
and
17 deletions
swagger/Gruntfile.js
+
99
−
6
View file @
30c40004
'
use strict
'
;
var
loadTasks
=
require
(
'
load-grunt-tasks
'
);
var
SWAGGER_UI_PORT
=
9009
;
var
SWAGGER_UI_LIVE_RELOAD_PORT
=
19009
;
module
.
exports
=
function
(
grunt
)
{
require
(
'
load-grunt-tasks
'
)(
grunt
);
...
...
@@ -9,15 +11,51 @@ module.exports = function(grunt) {
grunt
.
initConfig
({
pkg
:
grunt
.
file
.
readJSON
(
'
package.json
'
),
/**
* Copy schema files into build. Once we fully transition to swagger,
* the schema files should live in this subdirectory permanently.
*/
copy
:
{
/**
* Copy schema files into build. Once we fully transition to swagger,
* the schema files should live in this subdirectory permanently.
*/
schema
:
{
files
:
[
{
expand
:
true
,
cwd
:
'
../raml/schemas
'
,
src
:
[
'
**
'
],
dest
:
'
build/schemas
'
}
{
expand
:
true
,
cwd
:
'
../raml/schemas
'
,
src
:
[
'
**
'
],
dest
:
'
build/schemas
'
}
]
},
/**
* Copy swagger ui dist and config files
*/
swaggerUi
:
{
files
:
[
{
expand
:
true
,
cwd
:
'
swagger-ui
'
,
src
:
[
'
**
'
],
dest
:
'
build/swagger-ui
'
},
{
expand
:
true
,
cwd
:
'
./node_modules/swagger-ui-dist
'
,
src
:
[
'
swagger-ui-bundle.js
'
,
'
swagger-ui-standalone-preset.js
'
,
'
*.png
'
,
'
*.css
'
],
dest
:
'
build/swagger-ui
'
}
]
},
/**
* Copy swagger to swagger-ui
*/
swaggerUiSchema
:
{
src
:
'
build/swagger-flat.json
'
,
dest
:
'
build/swagger-ui/swagger.json
'
}
},
...
...
@@ -30,10 +68,65 @@ module.exports = function(grunt) {
apiFile
:
'
index.yaml
'
,
dest
:
'
build/swagger-flat.json
'
}
},
/**
* Static hosting for swagger-ui docs
*/
connect
:
{
uiServer
:
{
options
:
{
port
:
SWAGGER_UI_PORT
,
base
:
'
build/swagger-ui
'
,
livereload
:
SWAGGER_UI_LIVE_RELOAD_PORT
,
open
:
true
}
}
},
/**
* Live reload for swagger-ui
*/
watch
:
{
apis
:
{
options
:
{
livereload
:
SWAGGER_UI_LIVE_RELOAD_PORT
},
files
:
[
'
**/*.yaml
'
,
'
../raml/schemas/**/*.json
'
],
tasks
:
[
'
build-schema
'
,
'
copy:swaggerUiSchema
'
]
}
}
});
grunt
.
registerTask
(
'
default
'
,
[
'
copy
'
,
'
flattenSwagger
'
]);
/**
* Build the swagger schemas
*/
grunt
.
registerTask
(
'
build-schema
'
,
[
'
copy:schema
'
,
'
flattenSwagger
'
]);
/**
* Build swagger-ui
*/
grunt
.
registerTask
(
'
build-ui
'
,
[
'
build-schema
'
,
'
copy:swaggerUi
'
,
'
copy:swaggerUiSchema
'
]);
grunt
.
registerTask
(
'
default
'
,
[
'
build-ui
'
]);
/**
* Run a live server with swagger-ui
*/
grunt
.
registerTask
(
'
live
'
,
[
'
build-ui
'
,
'
connect
'
,
'
watch
'
]);
};
This diff is collapsed.
Click to expand it.
swagger/package-lock.json
+
545
−
10
View file @
30c40004
This diff is collapsed.
Click to expand it.
swagger/package.json
+
5
−
1
View file @
30c40004
...
...
@@ -9,10 +9,14 @@
"author"
:
"Justin Ehlert <justinehlert@flywheel.io>"
,
"license"
:
"MIT"
,
"devDependencies"
:
{
"connect-livereload"
:
"^0.6.0"
,
"grunt"
:
"^1.0.1"
,
"grunt-contrib-connect"
:
"^1.0.2"
,
"grunt-contrib-copy"
:
"^1.0.0"
,
"grunt-contrib-watch"
:
"^1.0.0"
,
"js-yaml"
:
"^3.10.0"
,
"json-refs"
:
"^3.0.2"
,
"load-grunt-tasks"
:
"^3.5.2"
"load-grunt-tasks"
:
"^3.5.2"
,
"swagger-ui-dist"
:
"^3.6.0"
}
}
This diff is collapsed.
Click to expand it.
swagger/swagger-ui/index.html
0 → 100644
+
95
−
0
View file @
30c40004
<!-- HTML for static distribution bundle build -->
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
Swagger UI
</title>
<link
href=
"https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700"
rel=
"stylesheet"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"./swagger-ui.css"
>
<link
rel=
"icon"
type=
"image/png"
href=
"./favicon-32x32.png"
sizes=
"32x32"
/>
<link
rel=
"icon"
type=
"image/png"
href=
"./favicon-16x16.png"
sizes=
"16x16"
/>
<style>
html
{
box-sizing
:
border-box
;
overflow
:
-moz-scrollbars-vertical
;
overflow-y
:
scroll
;
}
*,
*
:before
,
*
:after
{
box-sizing
:
inherit
;
}
body
{
margin
:
0
;
background
:
#fafafa
;
}
</style>
</head>
<body>
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
style=
"position:absolute;width:0;height:0"
>
<defs>
<symbol
viewBox=
"0 0 20 20"
id=
"unlocked"
>
<path
d=
"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"
></path>
</symbol>
<symbol
viewBox=
"0 0 20 20"
id=
"locked"
>
<path
d=
"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"
/>
</symbol>
<symbol
viewBox=
"0 0 20 20"
id=
"close"
>
<path
d=
"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"
/>
</symbol>
<symbol
viewBox=
"0 0 20 20"
id=
"large-arrow"
>
<path
d=
"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"
/>
</symbol>
<symbol
viewBox=
"0 0 20 20"
id=
"large-arrow-down"
>
<path
d=
"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"
/>
</symbol>
<symbol
viewBox=
"0 0 24 24"
id=
"jump-to"
>
<path
d=
"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"
/>
</symbol>
<symbol
viewBox=
"0 0 24 24"
id=
"expand"
>
<path
d=
"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"
/>
</symbol>
</defs>
</svg>
<div
id=
"swagger-ui"
></div>
<script
src=
"./swagger-ui-bundle.js"
>
</script>
<script
src=
"./swagger-ui-standalone-preset.js"
>
</script>
<script>
window
.
onload
=
function
()
{
// Build a system
const
ui
=
SwaggerUIBundle
({
url
:
"
./swagger.json
"
,
dom_id
:
'
#swagger-ui
'
,
deepLinking
:
true
,
presets
:
[
SwaggerUIBundle
.
presets
.
apis
,
SwaggerUIStandalonePreset
],
plugins
:
[
SwaggerUIBundle
.
plugins
.
DownloadUrl
],
layout
:
"
StandaloneLayout
"
})
window
.
ui
=
ui
}
</script>
</body>
</html>
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment