diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..4a25fd9b8be672d8e08e0c0c8518a11afddf37dc --- /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. diff --git a/example/example.json b/example/example.json new file mode 100644 index 0000000000000000000000000000000000000000..c9fa146f5996d660150d1c05b0827e3bbc0e334c --- /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 0000000000000000000000000000000000000000..74736f35fcbd8c59483070528df0a4244b9b9e2a --- /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 0000000000000000000000000000000000000000..ff22c50fd88444a41073881c154f8788c4e7bfa5 --- /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 0000000000000000000000000000000000000000..c65d6f002dc2524e85dcb94894aec0516bede2a7 --- /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 0000000000000000000000000000000000000000..392cd6229d4de811b7a3943d32ed99fabf118439 --- /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 0000000000000000000000000000000000000000..3eb4612b3c96d3aa6d269ee2dd2bc6d4b92a45e6 --- /dev/null +++ b/main.go @@ -0,0 +1,137 @@ +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) + } +} + +// contentHandler 内容处理 +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), + }) +} + +// parseContent 解析内容 +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 +} + +// formatGuessing 检测字符串格式 +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 +} + +// genStructFromJSON 自json生成结构体 +func genStructFromJSON(json string) (string, error) { + parser := json2go.NewJSONParser("AutoGenerator") + if err := parser.FeedBytes([]byte(json)); err != nil { + return "", err + } + return parser.String(), nil +} + +// genStructFromXML 自xml生成结构体 +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/.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 diff --git a/web/LICENSE b/web/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..4a25fd9b8be672d8e08e0c0c8518a11afddf37dc --- /dev/null +++ b/web/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. 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