From 203544a36b452a0285d2fb53a9ff69f1dfc6c6a1 Mon Sep 17 00:00:00 2001 From: 0x1un Date: Wed, 9 Dec 2020 13:54:12 +0800 Subject: [PATCH 1/6] add LICENSE. --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4a25fd9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 0x1un + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -- Gitee From bc715a45166dc450a1a9a0d8195d4333d3d0c205 Mon Sep 17 00:00:00 2001 From: ox1un Date: Wed, 9 Dec 2020 14:02:38 +0800 Subject: [PATCH 2/6] move fronted to web --- example/example.json | 3 + example/example.xml | 6 + example/main.go | 46 ++++++ go.mod | 12 ++ go.sum | 89 ++++++++++++ main.go | 131 ++++++++++++++++++ LICENSE => web/LICENSE | 0 README.md => web/README.md | 0 babel.config.js => web/babel.config.js | 0 {dist => web/dist}/css/app.cefead96.css | 0 .../dist}/css/chunk-vendors.ee62ba89.css | 0 {dist => web/dist}/favicon.ico | Bin {dist => web/dist}/fonts/heyui.54020bcb.eot | Bin {dist => web/dist}/fonts/heyui.77377ba2.ttf | Bin {dist => web/dist}/fonts/heyui.ebbeaffc.woff | Bin {dist => web/dist}/img/heyui.e0342bba.svg | 0 {dist => web/dist}/index.html | 0 {dist => web/dist}/js/app.0060407f.js | 0 .../dist}/js/chunk-vendors.a13945a1.js | 0 package-lock.json => web/package-lock.json | 0 package.json => web/package.json | 0 {public => web/public}/favicon.ico | Bin {public => web/public}/index.html | 0 {src => web/src}/App.vue | 0 {src => web/src}/assets/css/dome.css | 0 {src => web/src}/assets/js/setting.js | 0 {src => web/src}/assets/logo.png | Bin {src => web/src}/assets/styles/a11y-dark.css | 0 {src => web/src}/assets/styles/a11y-light.css | 0 {src => web/src}/assets/styles/agate.css | 0 .../src}/assets/styles/an-old-hope.css | 0 .../src}/assets/styles/androidstudio.css | 0 .../src}/assets/styles/arduino-light.css | 0 {src => web/src}/assets/styles/arta.css | 0 {src => web/src}/assets/styles/ascetic.css | 0 .../src}/assets/styles/atelier-cave-dark.css | 0 .../src}/assets/styles/atelier-cave-light.css | 0 .../src}/assets/styles/atelier-dune-dark.css | 0 .../src}/assets/styles/atelier-dune-light.css | 0 .../assets/styles/atelier-estuary-dark.css | 0 .../assets/styles/atelier-estuary-light.css | 0 .../assets/styles/atelier-forest-dark.css | 0 .../assets/styles/atelier-forest-light.css | 0 .../src}/assets/styles/atelier-heath-dark.css | 0 .../assets/styles/atelier-heath-light.css | 0 .../assets/styles/atelier-lakeside-dark.css | 0 .../assets/styles/atelier-lakeside-light.css | 0 .../assets/styles/atelier-plateau-dark.css | 0 .../assets/styles/atelier-plateau-light.css | 0 .../assets/styles/atelier-savanna-dark.css | 0 .../assets/styles/atelier-savanna-light.css | 0 .../assets/styles/atelier-seaside-dark.css | 0 .../assets/styles/atelier-seaside-light.css | 0 .../styles/atelier-sulphurpool-dark.css | 0 .../styles/atelier-sulphurpool-light.css | 0 .../styles/atom-one-dark-reasonable.css | 0 .../src}/assets/styles/atom-one-dark.css | 0 .../src}/assets/styles/atom-one-light.css | 0 .../src}/assets/styles/brown-paper.css | 0 .../src}/assets/styles/brown-papersq.png | Bin .../src}/assets/styles/codepen-embed.css | 0 .../src}/assets/styles/color-brewer.css | 0 {src => web/src}/assets/styles/darcula.css | 0 {src => web/src}/assets/styles/dark.css | 0 {src => web/src}/assets/styles/default.css | 0 {src => web/src}/assets/styles/docco.css | 0 {src => web/src}/assets/styles/dracula.css | 0 {src => web/src}/assets/styles/far.css | 0 {src => web/src}/assets/styles/foundation.css | 0 .../src}/assets/styles/github-gist.css | 0 {src => web/src}/assets/styles/github.css | 0 {src => web/src}/assets/styles/gml.css | 0 {src => web/src}/assets/styles/googlecode.css | 0 .../src}/assets/styles/gradient-dark.css | 0 .../src}/assets/styles/gradient-light.css | 0 {src => web/src}/assets/styles/grayscale.css | 0 .../src}/assets/styles/gruvbox-dark.css | 0 .../src}/assets/styles/gruvbox-light.css | 0 {src => web/src}/assets/styles/hopscotch.css | 0 {src => web/src}/assets/styles/hybrid.css | 0 {src => web/src}/assets/styles/idea.css | 0 {src => web/src}/assets/styles/ir-black.css | 0 .../src}/assets/styles/isbl-editor-dark.css | 0 .../src}/assets/styles/isbl-editor-light.css | 0 .../src}/assets/styles/kimbie.dark.css | 0 .../src}/assets/styles/kimbie.light.css | 0 {src => web/src}/assets/styles/lightfair.css | 0 {src => web/src}/assets/styles/lioshi.css | 0 {src => web/src}/assets/styles/magula.css | 0 {src => web/src}/assets/styles/mono-blue.css | 0 .../src}/assets/styles/monokai-sublime.css | 0 {src => web/src}/assets/styles/monokai.css | 0 {src => web/src}/assets/styles/night-owl.css | 0 {src => web/src}/assets/styles/nnfx-dark.css | 0 {src => web/src}/assets/styles/nnfx.css | 0 {src => web/src}/assets/styles/nord.css | 0 {src => web/src}/assets/styles/obsidian.css | 0 {src => web/src}/assets/styles/ocean.css | 0 .../src}/assets/styles/paraiso-dark.css | 0 .../src}/assets/styles/paraiso-light.css | 0 {src => web/src}/assets/styles/pojoaque.css | 0 {src => web/src}/assets/styles/pojoaque.jpg | Bin {src => web/src}/assets/styles/purebasic.css | 0 .../src}/assets/styles/qtcreator_dark.css | 0 .../src}/assets/styles/qtcreator_light.css | 0 {src => web/src}/assets/styles/railscasts.css | 0 {src => web/src}/assets/styles/rainbow.css | 0 {src => web/src}/assets/styles/routeros.css | 0 .../src}/assets/styles/school-book.css | 0 .../src}/assets/styles/school-book.png | Bin .../src}/assets/styles/shades-of-purple.css | 0 .../src}/assets/styles/solarized-dark.css | 0 .../src}/assets/styles/solarized-light.css | 0 {src => web/src}/assets/styles/srcery.css | 0 .../src}/assets/styles/stackoverflow-dark.css | 0 .../assets/styles/stackoverflow-light.css | 0 {src => web/src}/assets/styles/sunburst.css | 0 .../assets/styles/tomorrow-night-blue.css | 0 .../assets/styles/tomorrow-night-bright.css | 0 .../assets/styles/tomorrow-night-eighties.css | 0 .../src}/assets/styles/tomorrow-night.css | 0 {src => web/src}/assets/styles/tomorrow.css | 0 {src => web/src}/assets/styles/vs.css | 0 {src => web/src}/assets/styles/vs2015.css | 0 {src => web/src}/assets/styles/xcode.css | 0 {src => web/src}/assets/styles/xt256.css | 0 {src => web/src}/assets/styles/zenburn.css | 0 {src => web/src}/main.js | 0 {src => web/src}/router/index.js | 0 {src => web/src}/views/Home.vue | 0 vue.config.js => web/vue.config.js | 0 131 files changed, 287 insertions(+) create mode 100644 example/example.json create mode 100644 example/example.xml create mode 100644 example/main.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go rename LICENSE => web/LICENSE (100%) rename README.md => web/README.md (100%) rename babel.config.js => web/babel.config.js (100%) rename {dist => web/dist}/css/app.cefead96.css (100%) rename {dist => web/dist}/css/chunk-vendors.ee62ba89.css (100%) rename {dist => web/dist}/favicon.ico (100%) rename {dist => web/dist}/fonts/heyui.54020bcb.eot (100%) rename {dist => web/dist}/fonts/heyui.77377ba2.ttf (100%) rename {dist => web/dist}/fonts/heyui.ebbeaffc.woff (100%) rename {dist => web/dist}/img/heyui.e0342bba.svg (100%) rename {dist => web/dist}/index.html (100%) rename {dist => web/dist}/js/app.0060407f.js (100%) rename {dist => web/dist}/js/chunk-vendors.a13945a1.js (100%) rename package-lock.json => web/package-lock.json (100%) rename package.json => web/package.json (100%) rename {public => web/public}/favicon.ico (100%) rename {public => web/public}/index.html (100%) rename {src => web/src}/App.vue (100%) rename {src => web/src}/assets/css/dome.css (100%) rename {src => web/src}/assets/js/setting.js (100%) rename {src => web/src}/assets/logo.png (100%) rename {src => web/src}/assets/styles/a11y-dark.css (100%) rename {src => web/src}/assets/styles/a11y-light.css (100%) rename {src => web/src}/assets/styles/agate.css (100%) rename {src => web/src}/assets/styles/an-old-hope.css (100%) rename {src => web/src}/assets/styles/androidstudio.css (100%) rename {src => web/src}/assets/styles/arduino-light.css (100%) rename {src => web/src}/assets/styles/arta.css (100%) rename {src => web/src}/assets/styles/ascetic.css (100%) rename {src => web/src}/assets/styles/atelier-cave-dark.css (100%) rename {src => web/src}/assets/styles/atelier-cave-light.css (100%) rename {src => web/src}/assets/styles/atelier-dune-dark.css (100%) rename {src => web/src}/assets/styles/atelier-dune-light.css (100%) rename {src => web/src}/assets/styles/atelier-estuary-dark.css (100%) rename {src => web/src}/assets/styles/atelier-estuary-light.css (100%) rename {src => web/src}/assets/styles/atelier-forest-dark.css (100%) rename {src => web/src}/assets/styles/atelier-forest-light.css (100%) rename {src => web/src}/assets/styles/atelier-heath-dark.css (100%) rename {src => web/src}/assets/styles/atelier-heath-light.css (100%) rename {src => web/src}/assets/styles/atelier-lakeside-dark.css (100%) rename {src => web/src}/assets/styles/atelier-lakeside-light.css (100%) rename {src => web/src}/assets/styles/atelier-plateau-dark.css (100%) rename {src => web/src}/assets/styles/atelier-plateau-light.css (100%) rename {src => web/src}/assets/styles/atelier-savanna-dark.css (100%) rename {src => web/src}/assets/styles/atelier-savanna-light.css (100%) rename {src => web/src}/assets/styles/atelier-seaside-dark.css (100%) rename {src => web/src}/assets/styles/atelier-seaside-light.css (100%) rename {src => web/src}/assets/styles/atelier-sulphurpool-dark.css (100%) rename {src => web/src}/assets/styles/atelier-sulphurpool-light.css (100%) rename {src => web/src}/assets/styles/atom-one-dark-reasonable.css (100%) rename {src => web/src}/assets/styles/atom-one-dark.css (100%) rename {src => web/src}/assets/styles/atom-one-light.css (100%) rename {src => web/src}/assets/styles/brown-paper.css (100%) rename {src => web/src}/assets/styles/brown-papersq.png (100%) rename {src => web/src}/assets/styles/codepen-embed.css (100%) rename {src => web/src}/assets/styles/color-brewer.css (100%) rename {src => web/src}/assets/styles/darcula.css (100%) rename {src => web/src}/assets/styles/dark.css (100%) rename {src => web/src}/assets/styles/default.css (100%) rename {src => web/src}/assets/styles/docco.css (100%) rename {src => web/src}/assets/styles/dracula.css (100%) rename {src => web/src}/assets/styles/far.css (100%) rename {src => web/src}/assets/styles/foundation.css (100%) rename {src => web/src}/assets/styles/github-gist.css (100%) rename {src => web/src}/assets/styles/github.css (100%) rename {src => web/src}/assets/styles/gml.css (100%) rename {src => web/src}/assets/styles/googlecode.css (100%) rename {src => web/src}/assets/styles/gradient-dark.css (100%) rename {src => web/src}/assets/styles/gradient-light.css (100%) rename {src => web/src}/assets/styles/grayscale.css (100%) rename {src => web/src}/assets/styles/gruvbox-dark.css (100%) rename {src => web/src}/assets/styles/gruvbox-light.css (100%) rename {src => web/src}/assets/styles/hopscotch.css (100%) rename {src => web/src}/assets/styles/hybrid.css (100%) rename {src => web/src}/assets/styles/idea.css (100%) rename {src => web/src}/assets/styles/ir-black.css (100%) rename {src => web/src}/assets/styles/isbl-editor-dark.css (100%) rename {src => web/src}/assets/styles/isbl-editor-light.css (100%) rename {src => web/src}/assets/styles/kimbie.dark.css (100%) rename {src => web/src}/assets/styles/kimbie.light.css (100%) rename {src => web/src}/assets/styles/lightfair.css (100%) rename {src => web/src}/assets/styles/lioshi.css (100%) rename {src => web/src}/assets/styles/magula.css (100%) rename {src => web/src}/assets/styles/mono-blue.css (100%) rename {src => web/src}/assets/styles/monokai-sublime.css (100%) rename {src => web/src}/assets/styles/monokai.css (100%) rename {src => web/src}/assets/styles/night-owl.css (100%) rename {src => web/src}/assets/styles/nnfx-dark.css (100%) rename {src => web/src}/assets/styles/nnfx.css (100%) rename {src => web/src}/assets/styles/nord.css (100%) rename {src => web/src}/assets/styles/obsidian.css (100%) rename {src => web/src}/assets/styles/ocean.css (100%) rename {src => web/src}/assets/styles/paraiso-dark.css (100%) rename {src => web/src}/assets/styles/paraiso-light.css (100%) rename {src => web/src}/assets/styles/pojoaque.css (100%) rename {src => web/src}/assets/styles/pojoaque.jpg (100%) rename {src => web/src}/assets/styles/purebasic.css (100%) rename {src => web/src}/assets/styles/qtcreator_dark.css (100%) rename {src => web/src}/assets/styles/qtcreator_light.css (100%) rename {src => web/src}/assets/styles/railscasts.css (100%) rename {src => web/src}/assets/styles/rainbow.css (100%) rename {src => web/src}/assets/styles/routeros.css (100%) rename {src => web/src}/assets/styles/school-book.css (100%) rename {src => web/src}/assets/styles/school-book.png (100%) rename {src => web/src}/assets/styles/shades-of-purple.css (100%) rename {src => web/src}/assets/styles/solarized-dark.css (100%) rename {src => web/src}/assets/styles/solarized-light.css (100%) rename {src => web/src}/assets/styles/srcery.css (100%) rename {src => web/src}/assets/styles/stackoverflow-dark.css (100%) rename {src => web/src}/assets/styles/stackoverflow-light.css (100%) rename {src => web/src}/assets/styles/sunburst.css (100%) rename {src => web/src}/assets/styles/tomorrow-night-blue.css (100%) rename {src => web/src}/assets/styles/tomorrow-night-bright.css (100%) rename {src => web/src}/assets/styles/tomorrow-night-eighties.css (100%) rename {src => web/src}/assets/styles/tomorrow-night.css (100%) rename {src => web/src}/assets/styles/tomorrow.css (100%) rename {src => web/src}/assets/styles/vs.css (100%) rename {src => web/src}/assets/styles/vs2015.css (100%) rename {src => web/src}/assets/styles/xcode.css (100%) rename {src => web/src}/assets/styles/xt256.css (100%) rename {src => web/src}/assets/styles/zenburn.css (100%) rename {src => web/src}/main.js (100%) rename {src => web/src}/router/index.js (100%) rename {src => web/src}/views/Home.vue (100%) rename vue.config.js => web/vue.config.js (100%) diff --git a/example/example.json b/example/example.json new file mode 100644 index 0000000..c9fa146 --- /dev/null +++ b/example/example.json @@ -0,0 +1,3 @@ +{ + "name": "jangj" +} \ No newline at end of file diff --git a/example/example.xml b/example/example.xml new file mode 100644 index 0000000..74736f3 --- /dev/null +++ b/example/example.xml @@ -0,0 +1,6 @@ +a + b + c + + + diff --git a/example/main.go b/example/main.go new file mode 100644 index 0000000..ff22c50 --- /dev/null +++ b/example/main.go @@ -0,0 +1,46 @@ +package main + +import ( + "fmt" + "github.com/m-zajac/json2go" + "io/ioutil" + "log" +) + +//func main() { +// var reader io.Reader = os.Stdin +// root := &zek.Node{} +// if _, err := root.ReadFrom(reader); err != nil { +// log.Fatal(err) +// } +// var buf bytes.Buffer +// sw := zek.NewStructWriter(&buf) +// sw.WithComments = true +// sw.WithJSONTags = true +// sw.Strict = false +// sw.UniqueExamples = false +// sw.Compact = true +// +// if err := sw.WriteNode(root); err != nil { +// log.Fatal(err) +// } +// +// b, err := format.Source(buf.Bytes()) +// if err != nil { +// log.Fatal(err) +// } +// fmt.Println(string(b)) +//} + +func main() { + data, err := ioutil.ReadFile("./example.json") + if err != nil { + log.Fatal(err) + } + parser := json2go.NewJSONParser("dock") + err = parser.FeedBytes(data) + if err != nil { + log.Fatal(err) + } + fmt.Println(parser.String()) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..c65d6f0 --- /dev/null +++ b/go.mod @@ -0,0 +1,12 @@ +module gin-ex + +go 1.15 + +require ( + github.com/gin-contrib/cors v1.3.1 + github.com/gin-gonic/gin v1.6.3 + github.com/m-zajac/json2go v1.1.3 + github.com/miku/zek v0.1.10 + golang.org/x/net v0.0.0-20201207224615-747e23833adb // indirect + golang.org/x/text v0.3.4 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..392cd62 --- /dev/null +++ b/go.sum @@ -0,0 +1,89 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gin-contrib/cors v1.3.1 h1:doAsuITavI4IOcd0Y19U4B+O0dNWihRyX//nn4sEmgA= +github.com/gin-contrib/cors v1.3.1/go.mod h1:jjEJ4268OPZUcU7k9Pm653S7lXUGcqMADzFA61xsmDk= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/m-zajac/json2go v1.1.3 h1:Wbr+mnclqz24OiJpBdqhuHTtrBKcnNU0gonHelzbuxA= +github.com/m-zajac/json2go v1.1.3/go.mod h1:WmvVun27XD3U2gvHdS6DkMumnY+gQoohBQSo0TN+c3E= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/miku/zek v0.1.10 h1:CNS+/Glm8v9A+lEkqPRuMrF70pvvgZLegBnVhoRHD0M= +github.com/miku/zek v0.1.10/go.mod h1:GVAsQKyyE1uO9uzZze0G2YDmO7uEg2b17ZjDQCh4Bas= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sethgrid/pester v0.0.0-20190127155807-68a33a018ad0/go.mod h1:Ad7IjTpvzZO8Fl0vh9AzQ+j/jYZfyp2diGwI8m5q+ns= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201207224615-747e23833adb h1:xj2oMIbduz83x7tzglytWT7spn6rP+9hvKjTpro6/pM= +golang.org/x/net v0.0.0-20201207224615-747e23833adb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/main.go b/main.go new file mode 100644 index 0000000..60bd51e --- /dev/null +++ b/main.go @@ -0,0 +1,131 @@ +package main + +import ( + "bytes" + "encoding/json" + "encoding/xml" + "errors" + "flag" + "github.com/gin-contrib/cors" + "github.com/gin-gonic/gin" + "github.com/m-zajac/json2go" + "time" + + "github.com/miku/zek" + "go/format" + "log" + "net/http" + "strings" +) + +const ( + JSON = 1 + XML = 2 + UNKNOWN = -1 +) + +var ( + port string +) + +func main() { + flag.StringVar(&port, "port", ":8080", "-port=:8080") + flag.Parse() + gin.SetMode(gin.ReleaseMode) + router := gin.Default() + // 开启跨域 + router.Use(cors.New(cors.Config{ + AllowAllOrigins: true, + AllowMethods: []string{"POST", "GET"}, + AllowHeaders: []string{"Origin"}, + AllowCredentials: true, + ExposeHeaders: []string{"Content-Length"}, + MaxAge: 12 * time.Hour, + })) + router.POST("/postOriginContent", contentHandler) + if err := router.Run(port); err != nil { + log.Fatal(err) + } +} + +func contentHandler(g *gin.Context) { + content := g.PostForm("content") + if content == "" { + err := g.AbortWithError(http.StatusMethodNotAllowed, errors.New("content cannot be empty")) + if err != nil { + log.Println(err) + } + return + } + content = strings.TrimSpace(content) + content = parseContent(content) + if content == "" { + g.AbortWithStatusJSON(http.StatusBadRequest, gin.H{ + "msg": "content parse failed", + }) + } + + g.JSON(http.StatusOK, gin.H{ + "content": content, + "length": len(content), + }) +} + +func parseContent(content string) string { + var ret string + switch formatGuessing(content) { + case JSON: + res, err := genStructFromJSON(content) + if err != nil { + ret = err.Error() + } else { + ret = res + } + case XML: + res, err := genStructFromXML(content) + if err != nil { + ret = err.Error() + } else { + ret = res + } + case UNKNOWN: + ret = "unknown content" + } + return ret +} + +func formatGuessing(v string) int { + var tmp interface{} + if err := json.Unmarshal([]byte(v), &tmp); err == nil { + return JSON + } + if err := xml.Unmarshal([]byte(v), &tmp); err == nil { + return XML + } + return UNKNOWN +} + +func genStructFromJSON(json string) (string, error) { + parser := json2go.NewJSONParser("AutoGenerator") + if err := parser.FeedBytes([]byte(json)); err != nil { + return "", err + } + return parser.String(), nil +} + +func genStructFromXML(xml string) (string, error) { + root := &zek.Node{} + if _, err := root.ReadFrom(strings.NewReader(xml)); err != nil { + return "", err + } + buf := &bytes.Buffer{} + sw := zek.NewStructWriter(buf) + if err := sw.WriteNode(root); err != nil { + return "", err + } + b, err := format.Source(buf.Bytes()) + if err != nil { + return "", err + } + return string(b), nil +} diff --git a/LICENSE b/web/LICENSE similarity index 100% rename from LICENSE rename to web/LICENSE diff --git a/README.md b/web/README.md similarity index 100% rename from README.md rename to web/README.md diff --git a/babel.config.js b/web/babel.config.js similarity index 100% rename from babel.config.js rename to web/babel.config.js diff --git a/dist/css/app.cefead96.css b/web/dist/css/app.cefead96.css similarity index 100% rename from dist/css/app.cefead96.css rename to web/dist/css/app.cefead96.css diff --git a/dist/css/chunk-vendors.ee62ba89.css b/web/dist/css/chunk-vendors.ee62ba89.css similarity index 100% rename from dist/css/chunk-vendors.ee62ba89.css rename to web/dist/css/chunk-vendors.ee62ba89.css diff --git a/dist/favicon.ico b/web/dist/favicon.ico similarity index 100% rename from dist/favicon.ico rename to web/dist/favicon.ico diff --git a/dist/fonts/heyui.54020bcb.eot b/web/dist/fonts/heyui.54020bcb.eot similarity index 100% rename from dist/fonts/heyui.54020bcb.eot rename to web/dist/fonts/heyui.54020bcb.eot diff --git a/dist/fonts/heyui.77377ba2.ttf b/web/dist/fonts/heyui.77377ba2.ttf similarity index 100% rename from dist/fonts/heyui.77377ba2.ttf rename to web/dist/fonts/heyui.77377ba2.ttf diff --git a/dist/fonts/heyui.ebbeaffc.woff b/web/dist/fonts/heyui.ebbeaffc.woff similarity index 100% rename from dist/fonts/heyui.ebbeaffc.woff rename to web/dist/fonts/heyui.ebbeaffc.woff diff --git a/dist/img/heyui.e0342bba.svg b/web/dist/img/heyui.e0342bba.svg similarity index 100% rename from dist/img/heyui.e0342bba.svg rename to web/dist/img/heyui.e0342bba.svg diff --git a/dist/index.html b/web/dist/index.html similarity index 100% rename from dist/index.html rename to web/dist/index.html diff --git a/dist/js/app.0060407f.js b/web/dist/js/app.0060407f.js similarity index 100% rename from dist/js/app.0060407f.js rename to web/dist/js/app.0060407f.js diff --git a/dist/js/chunk-vendors.a13945a1.js b/web/dist/js/chunk-vendors.a13945a1.js similarity index 100% rename from dist/js/chunk-vendors.a13945a1.js rename to web/dist/js/chunk-vendors.a13945a1.js diff --git a/package-lock.json b/web/package-lock.json similarity index 100% rename from package-lock.json rename to web/package-lock.json diff --git a/package.json b/web/package.json similarity index 100% rename from package.json rename to web/package.json diff --git a/public/favicon.ico b/web/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to web/public/favicon.ico diff --git a/public/index.html b/web/public/index.html similarity index 100% rename from public/index.html rename to web/public/index.html diff --git a/src/App.vue b/web/src/App.vue similarity index 100% rename from src/App.vue rename to web/src/App.vue diff --git a/src/assets/css/dome.css b/web/src/assets/css/dome.css similarity index 100% rename from src/assets/css/dome.css rename to web/src/assets/css/dome.css diff --git a/src/assets/js/setting.js b/web/src/assets/js/setting.js similarity index 100% rename from src/assets/js/setting.js rename to web/src/assets/js/setting.js diff --git a/src/assets/logo.png b/web/src/assets/logo.png similarity index 100% rename from src/assets/logo.png rename to web/src/assets/logo.png diff --git a/src/assets/styles/a11y-dark.css b/web/src/assets/styles/a11y-dark.css similarity index 100% rename from src/assets/styles/a11y-dark.css rename to web/src/assets/styles/a11y-dark.css diff --git a/src/assets/styles/a11y-light.css b/web/src/assets/styles/a11y-light.css similarity index 100% rename from src/assets/styles/a11y-light.css rename to web/src/assets/styles/a11y-light.css diff --git a/src/assets/styles/agate.css b/web/src/assets/styles/agate.css similarity index 100% rename from src/assets/styles/agate.css rename to web/src/assets/styles/agate.css diff --git a/src/assets/styles/an-old-hope.css b/web/src/assets/styles/an-old-hope.css similarity index 100% rename from src/assets/styles/an-old-hope.css rename to web/src/assets/styles/an-old-hope.css diff --git a/src/assets/styles/androidstudio.css b/web/src/assets/styles/androidstudio.css similarity index 100% rename from src/assets/styles/androidstudio.css rename to web/src/assets/styles/androidstudio.css diff --git a/src/assets/styles/arduino-light.css b/web/src/assets/styles/arduino-light.css similarity index 100% rename from src/assets/styles/arduino-light.css rename to web/src/assets/styles/arduino-light.css diff --git a/src/assets/styles/arta.css b/web/src/assets/styles/arta.css similarity index 100% rename from src/assets/styles/arta.css rename to web/src/assets/styles/arta.css diff --git a/src/assets/styles/ascetic.css b/web/src/assets/styles/ascetic.css similarity index 100% rename from src/assets/styles/ascetic.css rename to web/src/assets/styles/ascetic.css diff --git a/src/assets/styles/atelier-cave-dark.css b/web/src/assets/styles/atelier-cave-dark.css similarity index 100% rename from src/assets/styles/atelier-cave-dark.css rename to web/src/assets/styles/atelier-cave-dark.css diff --git a/src/assets/styles/atelier-cave-light.css b/web/src/assets/styles/atelier-cave-light.css similarity index 100% rename from src/assets/styles/atelier-cave-light.css rename to web/src/assets/styles/atelier-cave-light.css diff --git a/src/assets/styles/atelier-dune-dark.css b/web/src/assets/styles/atelier-dune-dark.css similarity index 100% rename from src/assets/styles/atelier-dune-dark.css rename to web/src/assets/styles/atelier-dune-dark.css diff --git a/src/assets/styles/atelier-dune-light.css b/web/src/assets/styles/atelier-dune-light.css similarity index 100% rename from src/assets/styles/atelier-dune-light.css rename to web/src/assets/styles/atelier-dune-light.css diff --git a/src/assets/styles/atelier-estuary-dark.css b/web/src/assets/styles/atelier-estuary-dark.css similarity index 100% rename from src/assets/styles/atelier-estuary-dark.css rename to web/src/assets/styles/atelier-estuary-dark.css diff --git a/src/assets/styles/atelier-estuary-light.css b/web/src/assets/styles/atelier-estuary-light.css similarity index 100% rename from src/assets/styles/atelier-estuary-light.css rename to web/src/assets/styles/atelier-estuary-light.css diff --git a/src/assets/styles/atelier-forest-dark.css b/web/src/assets/styles/atelier-forest-dark.css similarity index 100% rename from src/assets/styles/atelier-forest-dark.css rename to web/src/assets/styles/atelier-forest-dark.css diff --git a/src/assets/styles/atelier-forest-light.css b/web/src/assets/styles/atelier-forest-light.css similarity index 100% rename from src/assets/styles/atelier-forest-light.css rename to web/src/assets/styles/atelier-forest-light.css diff --git a/src/assets/styles/atelier-heath-dark.css b/web/src/assets/styles/atelier-heath-dark.css similarity index 100% rename from src/assets/styles/atelier-heath-dark.css rename to web/src/assets/styles/atelier-heath-dark.css diff --git a/src/assets/styles/atelier-heath-light.css b/web/src/assets/styles/atelier-heath-light.css similarity index 100% rename from src/assets/styles/atelier-heath-light.css rename to web/src/assets/styles/atelier-heath-light.css diff --git a/src/assets/styles/atelier-lakeside-dark.css b/web/src/assets/styles/atelier-lakeside-dark.css similarity index 100% rename from src/assets/styles/atelier-lakeside-dark.css rename to web/src/assets/styles/atelier-lakeside-dark.css diff --git a/src/assets/styles/atelier-lakeside-light.css b/web/src/assets/styles/atelier-lakeside-light.css similarity index 100% rename from src/assets/styles/atelier-lakeside-light.css rename to web/src/assets/styles/atelier-lakeside-light.css diff --git a/src/assets/styles/atelier-plateau-dark.css b/web/src/assets/styles/atelier-plateau-dark.css similarity index 100% rename from src/assets/styles/atelier-plateau-dark.css rename to web/src/assets/styles/atelier-plateau-dark.css diff --git a/src/assets/styles/atelier-plateau-light.css b/web/src/assets/styles/atelier-plateau-light.css similarity index 100% rename from src/assets/styles/atelier-plateau-light.css rename to web/src/assets/styles/atelier-plateau-light.css diff --git a/src/assets/styles/atelier-savanna-dark.css b/web/src/assets/styles/atelier-savanna-dark.css similarity index 100% rename from src/assets/styles/atelier-savanna-dark.css rename to web/src/assets/styles/atelier-savanna-dark.css diff --git a/src/assets/styles/atelier-savanna-light.css b/web/src/assets/styles/atelier-savanna-light.css similarity index 100% rename from src/assets/styles/atelier-savanna-light.css rename to web/src/assets/styles/atelier-savanna-light.css diff --git a/src/assets/styles/atelier-seaside-dark.css b/web/src/assets/styles/atelier-seaside-dark.css similarity index 100% rename from src/assets/styles/atelier-seaside-dark.css rename to web/src/assets/styles/atelier-seaside-dark.css diff --git a/src/assets/styles/atelier-seaside-light.css b/web/src/assets/styles/atelier-seaside-light.css similarity index 100% rename from src/assets/styles/atelier-seaside-light.css rename to web/src/assets/styles/atelier-seaside-light.css diff --git a/src/assets/styles/atelier-sulphurpool-dark.css b/web/src/assets/styles/atelier-sulphurpool-dark.css similarity index 100% rename from src/assets/styles/atelier-sulphurpool-dark.css rename to web/src/assets/styles/atelier-sulphurpool-dark.css diff --git a/src/assets/styles/atelier-sulphurpool-light.css b/web/src/assets/styles/atelier-sulphurpool-light.css similarity index 100% rename from src/assets/styles/atelier-sulphurpool-light.css rename to web/src/assets/styles/atelier-sulphurpool-light.css diff --git a/src/assets/styles/atom-one-dark-reasonable.css b/web/src/assets/styles/atom-one-dark-reasonable.css similarity index 100% rename from src/assets/styles/atom-one-dark-reasonable.css rename to web/src/assets/styles/atom-one-dark-reasonable.css diff --git a/src/assets/styles/atom-one-dark.css b/web/src/assets/styles/atom-one-dark.css similarity index 100% rename from src/assets/styles/atom-one-dark.css rename to web/src/assets/styles/atom-one-dark.css diff --git a/src/assets/styles/atom-one-light.css b/web/src/assets/styles/atom-one-light.css similarity index 100% rename from src/assets/styles/atom-one-light.css rename to web/src/assets/styles/atom-one-light.css diff --git a/src/assets/styles/brown-paper.css b/web/src/assets/styles/brown-paper.css similarity index 100% rename from src/assets/styles/brown-paper.css rename to web/src/assets/styles/brown-paper.css diff --git a/src/assets/styles/brown-papersq.png b/web/src/assets/styles/brown-papersq.png similarity index 100% rename from src/assets/styles/brown-papersq.png rename to web/src/assets/styles/brown-papersq.png diff --git a/src/assets/styles/codepen-embed.css b/web/src/assets/styles/codepen-embed.css similarity index 100% rename from src/assets/styles/codepen-embed.css rename to web/src/assets/styles/codepen-embed.css diff --git a/src/assets/styles/color-brewer.css b/web/src/assets/styles/color-brewer.css similarity index 100% rename from src/assets/styles/color-brewer.css rename to web/src/assets/styles/color-brewer.css diff --git a/src/assets/styles/darcula.css b/web/src/assets/styles/darcula.css similarity index 100% rename from src/assets/styles/darcula.css rename to web/src/assets/styles/darcula.css diff --git a/src/assets/styles/dark.css b/web/src/assets/styles/dark.css similarity index 100% rename from src/assets/styles/dark.css rename to web/src/assets/styles/dark.css diff --git a/src/assets/styles/default.css b/web/src/assets/styles/default.css similarity index 100% rename from src/assets/styles/default.css rename to web/src/assets/styles/default.css diff --git a/src/assets/styles/docco.css b/web/src/assets/styles/docco.css similarity index 100% rename from src/assets/styles/docco.css rename to web/src/assets/styles/docco.css diff --git a/src/assets/styles/dracula.css b/web/src/assets/styles/dracula.css similarity index 100% rename from src/assets/styles/dracula.css rename to web/src/assets/styles/dracula.css diff --git a/src/assets/styles/far.css b/web/src/assets/styles/far.css similarity index 100% rename from src/assets/styles/far.css rename to web/src/assets/styles/far.css diff --git a/src/assets/styles/foundation.css b/web/src/assets/styles/foundation.css similarity index 100% rename from src/assets/styles/foundation.css rename to web/src/assets/styles/foundation.css diff --git a/src/assets/styles/github-gist.css b/web/src/assets/styles/github-gist.css similarity index 100% rename from src/assets/styles/github-gist.css rename to web/src/assets/styles/github-gist.css diff --git a/src/assets/styles/github.css b/web/src/assets/styles/github.css similarity index 100% rename from src/assets/styles/github.css rename to web/src/assets/styles/github.css diff --git a/src/assets/styles/gml.css b/web/src/assets/styles/gml.css similarity index 100% rename from src/assets/styles/gml.css rename to web/src/assets/styles/gml.css diff --git a/src/assets/styles/googlecode.css b/web/src/assets/styles/googlecode.css similarity index 100% rename from src/assets/styles/googlecode.css rename to web/src/assets/styles/googlecode.css diff --git a/src/assets/styles/gradient-dark.css b/web/src/assets/styles/gradient-dark.css similarity index 100% rename from src/assets/styles/gradient-dark.css rename to web/src/assets/styles/gradient-dark.css diff --git a/src/assets/styles/gradient-light.css b/web/src/assets/styles/gradient-light.css similarity index 100% rename from src/assets/styles/gradient-light.css rename to web/src/assets/styles/gradient-light.css diff --git a/src/assets/styles/grayscale.css b/web/src/assets/styles/grayscale.css similarity index 100% rename from src/assets/styles/grayscale.css rename to web/src/assets/styles/grayscale.css diff --git a/src/assets/styles/gruvbox-dark.css b/web/src/assets/styles/gruvbox-dark.css similarity index 100% rename from src/assets/styles/gruvbox-dark.css rename to web/src/assets/styles/gruvbox-dark.css diff --git a/src/assets/styles/gruvbox-light.css b/web/src/assets/styles/gruvbox-light.css similarity index 100% rename from src/assets/styles/gruvbox-light.css rename to web/src/assets/styles/gruvbox-light.css diff --git a/src/assets/styles/hopscotch.css b/web/src/assets/styles/hopscotch.css similarity index 100% rename from src/assets/styles/hopscotch.css rename to web/src/assets/styles/hopscotch.css diff --git a/src/assets/styles/hybrid.css b/web/src/assets/styles/hybrid.css similarity index 100% rename from src/assets/styles/hybrid.css rename to web/src/assets/styles/hybrid.css diff --git a/src/assets/styles/idea.css b/web/src/assets/styles/idea.css similarity index 100% rename from src/assets/styles/idea.css rename to web/src/assets/styles/idea.css diff --git a/src/assets/styles/ir-black.css b/web/src/assets/styles/ir-black.css similarity index 100% rename from src/assets/styles/ir-black.css rename to web/src/assets/styles/ir-black.css diff --git a/src/assets/styles/isbl-editor-dark.css b/web/src/assets/styles/isbl-editor-dark.css similarity index 100% rename from src/assets/styles/isbl-editor-dark.css rename to web/src/assets/styles/isbl-editor-dark.css diff --git a/src/assets/styles/isbl-editor-light.css b/web/src/assets/styles/isbl-editor-light.css similarity index 100% rename from src/assets/styles/isbl-editor-light.css rename to web/src/assets/styles/isbl-editor-light.css diff --git a/src/assets/styles/kimbie.dark.css b/web/src/assets/styles/kimbie.dark.css similarity index 100% rename from src/assets/styles/kimbie.dark.css rename to web/src/assets/styles/kimbie.dark.css diff --git a/src/assets/styles/kimbie.light.css b/web/src/assets/styles/kimbie.light.css similarity index 100% rename from src/assets/styles/kimbie.light.css rename to web/src/assets/styles/kimbie.light.css diff --git a/src/assets/styles/lightfair.css b/web/src/assets/styles/lightfair.css similarity index 100% rename from src/assets/styles/lightfair.css rename to web/src/assets/styles/lightfair.css diff --git a/src/assets/styles/lioshi.css b/web/src/assets/styles/lioshi.css similarity index 100% rename from src/assets/styles/lioshi.css rename to web/src/assets/styles/lioshi.css diff --git a/src/assets/styles/magula.css b/web/src/assets/styles/magula.css similarity index 100% rename from src/assets/styles/magula.css rename to web/src/assets/styles/magula.css diff --git a/src/assets/styles/mono-blue.css b/web/src/assets/styles/mono-blue.css similarity index 100% rename from src/assets/styles/mono-blue.css rename to web/src/assets/styles/mono-blue.css diff --git a/src/assets/styles/monokai-sublime.css b/web/src/assets/styles/monokai-sublime.css similarity index 100% rename from src/assets/styles/monokai-sublime.css rename to web/src/assets/styles/monokai-sublime.css diff --git a/src/assets/styles/monokai.css b/web/src/assets/styles/monokai.css similarity index 100% rename from src/assets/styles/monokai.css rename to web/src/assets/styles/monokai.css diff --git a/src/assets/styles/night-owl.css b/web/src/assets/styles/night-owl.css similarity index 100% rename from src/assets/styles/night-owl.css rename to web/src/assets/styles/night-owl.css diff --git a/src/assets/styles/nnfx-dark.css b/web/src/assets/styles/nnfx-dark.css similarity index 100% rename from src/assets/styles/nnfx-dark.css rename to web/src/assets/styles/nnfx-dark.css diff --git a/src/assets/styles/nnfx.css b/web/src/assets/styles/nnfx.css similarity index 100% rename from src/assets/styles/nnfx.css rename to web/src/assets/styles/nnfx.css diff --git a/src/assets/styles/nord.css b/web/src/assets/styles/nord.css similarity index 100% rename from src/assets/styles/nord.css rename to web/src/assets/styles/nord.css diff --git a/src/assets/styles/obsidian.css b/web/src/assets/styles/obsidian.css similarity index 100% rename from src/assets/styles/obsidian.css rename to web/src/assets/styles/obsidian.css diff --git a/src/assets/styles/ocean.css b/web/src/assets/styles/ocean.css similarity index 100% rename from src/assets/styles/ocean.css rename to web/src/assets/styles/ocean.css diff --git a/src/assets/styles/paraiso-dark.css b/web/src/assets/styles/paraiso-dark.css similarity index 100% rename from src/assets/styles/paraiso-dark.css rename to web/src/assets/styles/paraiso-dark.css diff --git a/src/assets/styles/paraiso-light.css b/web/src/assets/styles/paraiso-light.css similarity index 100% rename from src/assets/styles/paraiso-light.css rename to web/src/assets/styles/paraiso-light.css diff --git a/src/assets/styles/pojoaque.css b/web/src/assets/styles/pojoaque.css similarity index 100% rename from src/assets/styles/pojoaque.css rename to web/src/assets/styles/pojoaque.css diff --git a/src/assets/styles/pojoaque.jpg b/web/src/assets/styles/pojoaque.jpg similarity index 100% rename from src/assets/styles/pojoaque.jpg rename to web/src/assets/styles/pojoaque.jpg diff --git a/src/assets/styles/purebasic.css b/web/src/assets/styles/purebasic.css similarity index 100% rename from src/assets/styles/purebasic.css rename to web/src/assets/styles/purebasic.css diff --git a/src/assets/styles/qtcreator_dark.css b/web/src/assets/styles/qtcreator_dark.css similarity index 100% rename from src/assets/styles/qtcreator_dark.css rename to web/src/assets/styles/qtcreator_dark.css diff --git a/src/assets/styles/qtcreator_light.css b/web/src/assets/styles/qtcreator_light.css similarity index 100% rename from src/assets/styles/qtcreator_light.css rename to web/src/assets/styles/qtcreator_light.css diff --git a/src/assets/styles/railscasts.css b/web/src/assets/styles/railscasts.css similarity index 100% rename from src/assets/styles/railscasts.css rename to web/src/assets/styles/railscasts.css diff --git a/src/assets/styles/rainbow.css b/web/src/assets/styles/rainbow.css similarity index 100% rename from src/assets/styles/rainbow.css rename to web/src/assets/styles/rainbow.css diff --git a/src/assets/styles/routeros.css b/web/src/assets/styles/routeros.css similarity index 100% rename from src/assets/styles/routeros.css rename to web/src/assets/styles/routeros.css diff --git a/src/assets/styles/school-book.css b/web/src/assets/styles/school-book.css similarity index 100% rename from src/assets/styles/school-book.css rename to web/src/assets/styles/school-book.css diff --git a/src/assets/styles/school-book.png b/web/src/assets/styles/school-book.png similarity index 100% rename from src/assets/styles/school-book.png rename to web/src/assets/styles/school-book.png diff --git a/src/assets/styles/shades-of-purple.css b/web/src/assets/styles/shades-of-purple.css similarity index 100% rename from src/assets/styles/shades-of-purple.css rename to web/src/assets/styles/shades-of-purple.css diff --git a/src/assets/styles/solarized-dark.css b/web/src/assets/styles/solarized-dark.css similarity index 100% rename from src/assets/styles/solarized-dark.css rename to web/src/assets/styles/solarized-dark.css diff --git a/src/assets/styles/solarized-light.css b/web/src/assets/styles/solarized-light.css similarity index 100% rename from src/assets/styles/solarized-light.css rename to web/src/assets/styles/solarized-light.css diff --git a/src/assets/styles/srcery.css b/web/src/assets/styles/srcery.css similarity index 100% rename from src/assets/styles/srcery.css rename to web/src/assets/styles/srcery.css diff --git a/src/assets/styles/stackoverflow-dark.css b/web/src/assets/styles/stackoverflow-dark.css similarity index 100% rename from src/assets/styles/stackoverflow-dark.css rename to web/src/assets/styles/stackoverflow-dark.css diff --git a/src/assets/styles/stackoverflow-light.css b/web/src/assets/styles/stackoverflow-light.css similarity index 100% rename from src/assets/styles/stackoverflow-light.css rename to web/src/assets/styles/stackoverflow-light.css diff --git a/src/assets/styles/sunburst.css b/web/src/assets/styles/sunburst.css similarity index 100% rename from src/assets/styles/sunburst.css rename to web/src/assets/styles/sunburst.css diff --git a/src/assets/styles/tomorrow-night-blue.css b/web/src/assets/styles/tomorrow-night-blue.css similarity index 100% rename from src/assets/styles/tomorrow-night-blue.css rename to web/src/assets/styles/tomorrow-night-blue.css diff --git a/src/assets/styles/tomorrow-night-bright.css b/web/src/assets/styles/tomorrow-night-bright.css similarity index 100% rename from src/assets/styles/tomorrow-night-bright.css rename to web/src/assets/styles/tomorrow-night-bright.css diff --git a/src/assets/styles/tomorrow-night-eighties.css b/web/src/assets/styles/tomorrow-night-eighties.css similarity index 100% rename from src/assets/styles/tomorrow-night-eighties.css rename to web/src/assets/styles/tomorrow-night-eighties.css diff --git a/src/assets/styles/tomorrow-night.css b/web/src/assets/styles/tomorrow-night.css similarity index 100% rename from src/assets/styles/tomorrow-night.css rename to web/src/assets/styles/tomorrow-night.css diff --git a/src/assets/styles/tomorrow.css b/web/src/assets/styles/tomorrow.css similarity index 100% rename from src/assets/styles/tomorrow.css rename to web/src/assets/styles/tomorrow.css diff --git a/src/assets/styles/vs.css b/web/src/assets/styles/vs.css similarity index 100% rename from src/assets/styles/vs.css rename to web/src/assets/styles/vs.css diff --git a/src/assets/styles/vs2015.css b/web/src/assets/styles/vs2015.css similarity index 100% rename from src/assets/styles/vs2015.css rename to web/src/assets/styles/vs2015.css diff --git a/src/assets/styles/xcode.css b/web/src/assets/styles/xcode.css similarity index 100% rename from src/assets/styles/xcode.css rename to web/src/assets/styles/xcode.css diff --git a/src/assets/styles/xt256.css b/web/src/assets/styles/xt256.css similarity index 100% rename from src/assets/styles/xt256.css rename to web/src/assets/styles/xt256.css diff --git a/src/assets/styles/zenburn.css b/web/src/assets/styles/zenburn.css similarity index 100% rename from src/assets/styles/zenburn.css rename to web/src/assets/styles/zenburn.css diff --git a/src/main.js b/web/src/main.js similarity index 100% rename from src/main.js rename to web/src/main.js diff --git a/src/router/index.js b/web/src/router/index.js similarity index 100% rename from src/router/index.js rename to web/src/router/index.js diff --git a/src/views/Home.vue b/web/src/views/Home.vue similarity index 100% rename from src/views/Home.vue rename to web/src/views/Home.vue diff --git a/vue.config.js b/web/vue.config.js similarity index 100% rename from vue.config.js rename to web/vue.config.js -- Gitee From f7646c1528a41029215630dda7fe43c009bf5d13 Mon Sep 17 00:00:00 2001 From: ox1un Date: Wed, 9 Dec 2020 14:04:57 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.go b/main.go index 60bd51e..e686ea9 100644 --- a/main.go +++ b/main.go @@ -48,6 +48,7 @@ func main() { } } +// contentHandler 内容处理 func contentHandler(g *gin.Context) { content := g.PostForm("content") if content == "" { @@ -71,6 +72,7 @@ func contentHandler(g *gin.Context) { }) } +// parseContent 解析内容 func parseContent(content string) string { var ret string switch formatGuessing(content) { @@ -94,6 +96,7 @@ func parseContent(content string) string { return ret } +// formatGuessing 检测字符串格式 func formatGuessing(v string) int { var tmp interface{} if err := json.Unmarshal([]byte(v), &tmp); err == nil { @@ -105,6 +108,7 @@ func formatGuessing(v string) int { return UNKNOWN } +// genStructFromJSON 自json生成结构体 func genStructFromJSON(json string) (string, error) { parser := json2go.NewJSONParser("AutoGenerator") if err := parser.FeedBytes([]byte(json)); err != nil { @@ -113,6 +117,7 @@ func genStructFromJSON(json string) (string, error) { return parser.String(), nil } +// genStructFromXML 自xml生成结构体 func genStructFromXML(xml string) (string, error) { root := &zek.Node{} if _, err := root.ReadFrom(strings.NewReader(xml)); err != nil { -- Gitee From e1f08e980fa22710efefc2ed9b3c8c3ad8a1b8d4 Mon Sep 17 00:00:00 2001 From: ox1un Date: Wed, 9 Dec 2020 14:05:36 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=87=B3web?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .browserslistrc => web/.browserslistrc | 0 .eslintrc.js => web/.eslintrc.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename .browserslistrc => web/.browserslistrc (100%) rename .eslintrc.js => web/.eslintrc.js (100%) diff --git a/.browserslistrc b/web/.browserslistrc similarity index 100% rename from .browserslistrc rename to web/.browserslistrc diff --git a/.eslintrc.js b/web/.eslintrc.js similarity index 100% rename from .eslintrc.js rename to web/.eslintrc.js -- Gitee From d0ee7ad6964fd66b68145d7890d56e4e287eb1ac Mon Sep 17 00:00:00 2001 From: ox1un Date: Wed, 9 Dec 2020 14:06:20 +0800 Subject: [PATCH 5/6] ignore --- main.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index e686ea9..3eb4612 100644 --- a/main.go +++ b/main.go @@ -52,7 +52,8 @@ func main() { func contentHandler(g *gin.Context) { content := g.PostForm("content") if content == "" { - err := g.AbortWithError(http.StatusMethodNotAllowed, errors.New("content cannot be empty")) + err := g.AbortWithError(http.StatusMethodNotAllowed, + errors.New("content cannot be empty")) if err != nil { log.Println(err) } -- Gitee From 5a2ce558bdf2065c2ab6a969fbbfb845b90dcbeb Mon Sep 17 00:00:00 2001 From: 0x1un Date: Wed, 9 Dec 2020 14:07:10 +0800 Subject: [PATCH 6/6] add LICENSE. --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4a25fd9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 0x1un + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -- Gitee