From 1db01ce932e3054a63d0b90a5bbde7ad5fd08d1b Mon Sep 17 00:00:00 2001 From: imlargo Date: Fri, 13 Sep 2024 15:27:48 -0500 Subject: [PATCH 1/3] migrate to astro --- .github/workflows/node.yml | 17 +- .gitignore | 25 +- assets/scss/_variables_project.scss | 9 - astro.config.mjs | 97 + content/en/_index.html | 77 - content/en/blog/news/_index.md | 8 - content/en/blog/releases/_index.md | 8 - content/en/featured-background.jpg | Bin 107408 -> 0 bytes content/en/search.md | 5 - content/es/_index.html | 77 - content/es/blog/news/_index.md | 8 - content/es/blog/releases/_index.md | 8 - content/es/featured-background.jpg | Bin 107408 -> 0 bytes content/es/search.md | 5 - content/fa/_index.html | 77 - content/fa/blog/news/_index.md | 8 - content/fa/blog/releases/_index.md | 8 - content/fa/featured-background.jpg | Bin 107408 -> 0 bytes content/fa/search.md | 5 - content/ja/_index.html | 76 - content/ja/blog/news/_index.md | 8 - content/ja/blog/releases/_index.md | 8 - content/ja/search.md | 5 - content/ko-kr/_index.html | 77 - content/ko-kr/blog/news/_index.md | 8 - content/ko-kr/blog/releases/_index.md | 8 - content/pt/_index.html | 82 - content/pt/blog/news/_index.md | 8 - content/pt/blog/releases/_index.md | 8 - content/pt/featured-background.jpg | Bin 107408 -> 0 bytes content/pt/search.md | 5 - content/ru/_index.html | 77 - content/ru/blog/_index.md | 13 - content/ru/blog/news/_index.md | 8 - content/ru/blog/releases/_index.md | 8 - content/ru/docs/examples/custom-middleware.md | 43 - .../map-as-querystring-or-postform.md | 31 - .../examples/multipart-urlencoded-form.md | 23 - .../ru/docs/examples/query-and-post-form.md | 32 - content/ru/docs/examples/querystring-param.md | 20 - .../docs/examples/serving-data-from-reader.md | 28 - .../ru/docs/examples/serving-static-files.md | 16 - content/ru/docs/examples/write-log.md | 25 - content/ru/featured-background.jpg | Bin 107408 -> 0 bytes content/ru/search.md | 5 - content/tr/_index.html | 76 - content/tr/blog/_index.md | 13 - content/tr/blog/news/_index.md | 8 - content/tr/blog/releases/_index.md | 8 - content/tr/search.md | 5 - content/zh-cn/_index.html | 77 - content/zh-cn/blog/_index.md | 13 - content/zh-cn/blog/news/_index.md | 8 - content/zh-cn/blog/releases/_index.md | 8 - content/zh-cn/search.md | 5 - content/zh-tw/_index.html | 77 - content/zh-tw/blog/_index.md | 13 - content/zh-tw/blog/news/_index.md | 8 - content/zh-tw/blog/releases/_index.md | 8 - content/zh-tw/docs/faq/_index.md | 8 - content/zh-tw/search.md | 5 - hugo.toml | 260 - layouts/partials/footer.html | 39 - package-lock.json | 1025 ---- package.json | 35 +- pnpm-lock.yaml | 5316 +++++++++++++++++ public/CNAME | 1 + {static => public}/comment.js | 0 {static/favicons => public}/favicon.ico | Bin .../favicons/android-chrome-192x192.png | Bin .../favicons/android-chrome-512x512.png | Bin .../favicons/apple-touch-icon.png | Bin {static => public}/favicons/browserconfig.xml | 0 {static => public}/favicons/favicon-16x16.png | Bin {static => public}/favicons/favicon-32x32.png | Bin public/favicons/favicon.ico | Bin 0 -> 15086 bytes .../favicons/mstile-150x150.png | Bin .../favicons/safari-pinned-tab.svg | 0 {static => public}/favicons/site.webmanifest | 0 public/go.mod | 9 + public/go.sum | 12 + src/assets/gin.png | Bin 0 -> 88471 bytes src/content/config.ts | 6 + .../content/docs/en/blog/index.md | 5 +- .../how-to-build-one-effective-middleware.md | 0 .../docs}/en/blog/releases/release13.md | 0 .../docs}/en/blog/releases/release14.md | 0 .../docs}/en/blog/releases/release15.md | 0 .../docs}/en/blog/releases/release16.md | 0 .../content/docs/en/docs/benchmarks/index.md | 5 +- .../content/docs/en/docs/deployment/index.md | 5 +- .../docs/en}/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../en}/docs/examples/bind-html-checkbox.md | 2 +- .../en/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/en/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs/en}/docs/examples/cookie.md | 2 +- .../en}/docs/examples/custom-http-config.md | 2 +- .../en}/docs/examples/custom-log-format.md | 2 +- .../en}/docs/examples/custom-middleware.md | 2 +- .../en}/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs/en}/docs/examples/grouping-routes.md | 2 +- .../docs/en}/docs/examples/html-rendering.md | 2 +- .../docs}/en/docs/examples/http-method.md | 2 +- .../en/docs/examples/http2-server-push.md | 2 +- .../content/docs/en/docs/examples/index.md | 5 +- .../content/docs/en}/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../en}/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../docs/en}/docs/examples/param-in-path.md | 2 +- .../docs/en}/docs/examples/pure-json.md | 2 +- .../en}/docs/examples/query-and-post-form.md | 2 +- .../en}/docs/examples/querystring-param.md | 2 +- .../docs}/en/docs/examples/redirects.md | 2 +- .../docs/en}/docs/examples/rendering.md | 2 +- .../en/docs/examples/run-multiple-service.md | 2 +- .../docs/en}/docs/examples/secure-json.md | 2 +- .../en}/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../en}/docs/examples/serving-static-files.md | 2 +- .../en/docs/examples/support-lets-encrypt.md | 2 +- .../en/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../en}/docs/examples/using-middleware.md | 2 +- .../en}/docs/examples/without-middleware.md | 2 +- .../docs/en}/docs/examples/write-log.md | 2 +- .../content/docs/en/docs/faq/index.md | 5 +- .../content/docs/en/docs/features/index.md | 5 +- .../content/docs/en/docs/index.md | 6 +- .../docs/en/docs/introduction/index.md | 5 +- .../content/docs/en/docs/jsoniter/index.md | 5 +- .../content/docs/en/docs/quickstart/index.md | 5 +- .../content/docs/en/docs/testing/index.md | 5 +- .../content/docs/en/docs/users/index.md | 5 +- src/content/docs/en/index.mdx | 50 + .../content/docs/es/blog/index.md | 5 +- .../how-to-build-one-effective-middleware.md | 0 .../docs}/es/blog/releases/release13.md | 0 .../docs}/es/blog/releases/release14.md | 0 .../docs}/es/blog/releases/release15.md | 0 .../docs}/es/blog/releases/release16.md | 0 .../content/docs/es/docs/benchmarks/index.md | 5 +- .../content/docs/es/docs/deployment/index.md | 5 +- .../docs}/es/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../es/docs/examples/bind-html-checkbox.md | 2 +- .../es/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/es/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs}/es/docs/examples/cookie.md | 2 +- .../es/docs/examples/custom-http-config.md | 2 +- .../es/docs/examples/custom-log-format.md | 2 +- .../es/docs/examples/custom-middleware.md | 2 +- .../es/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs}/es/docs/examples/grouping-routes.md | 2 +- .../docs}/es/docs/examples/html-rendering.md | 2 +- .../docs}/es/docs/examples/http-method.md | 2 +- .../es/docs/examples/http2-server-push.md | 2 +- .../content/docs/es/docs/examples/index.md | 5 +- .../content/docs}/es/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../es/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../docs}/es/docs/examples/param-in-path.md | 2 +- .../docs}/es/docs/examples/pure-json.md | 2 +- .../es/docs/examples/query-and-post-form.md | 2 +- .../es/docs/examples/querystring-param.md | 2 +- .../docs}/es/docs/examples/redirects.md | 2 +- .../docs}/es/docs/examples/rendering.md | 2 +- .../es/docs/examples/run-multiple-service.md | 2 +- .../docs}/es/docs/examples/secure-json.md | 2 +- .../es/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../es/docs/examples/serving-static-files.md | 2 +- .../es/docs/examples/support-lets-encrypt.md | 2 +- .../es/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../es/docs/examples/using-middleware.md | 2 +- .../es/docs/examples/without-middleware.md | 2 +- .../docs}/es/docs/examples/write-log.md | 2 +- .../content/docs/es/docs/faq/index.md | 5 +- .../content/docs/es/docs/features/index.md | 5 +- .../content/docs/es/docs/index.md | 6 +- .../docs/es/docs/introduction/index.md | 5 +- .../content/docs/es/docs/jsoniter/index.md | 5 +- .../content/docs/es/docs/quickstart/index.md | 5 +- .../content/docs/es/docs/testing/index.md | 5 +- .../content/docs/es/docs/users/index.md | 5 +- src/content/docs/es/index.mdx | 61 + .../content/docs/fa/blog/index.md | 5 +- .../how-to-build-one-effective-middleware.md | 0 .../docs}/fa/blog/releases/release13.md | 0 .../docs}/fa/blog/releases/release14.md | 0 .../docs}/fa/blog/releases/release15.md | 0 .../docs}/fa/blog/releases/release16.md | 0 .../content/docs/fa/docs/benchmarks/index.md | 5 +- .../content/docs/fa/docs/deployment/index.md | 5 +- .../docs/fa}/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../fa}/docs/examples/bind-html-checkbox.md | 2 +- .../fa/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/fa/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs/fa}/docs/examples/cookie.md | 2 +- .../fa/docs/examples/custom-http-config.md | 2 +- .../fa}/docs/examples/custom-log-format.md | 2 +- .../fa/docs/examples/custom-middleware.md | 2 +- .../fa}/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs/fa}/docs/examples/grouping-routes.md | 2 +- .../docs/fa}/docs/examples/html-rendering.md | 2 +- .../docs}/fa/docs/examples/http-method.md | 2 +- .../fa/docs/examples/http2-server-push.md | 2 +- .../content/docs/fa/docs/examples/index.md | 5 +- .../content/docs}/fa/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../fa}/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../docs}/fa/docs/examples/param-in-path.md | 2 +- .../docs}/fa/docs/examples/pure-json.md | 2 +- .../fa}/docs/examples/query-and-post-form.md | 2 +- .../fa/docs/examples/querystring-param.md | 2 +- .../docs}/fa/docs/examples/redirects.md | 2 +- .../docs/fa}/docs/examples/rendering.md | 2 +- .../fa}/docs/examples/run-multiple-service.md | 2 +- .../docs/fa}/docs/examples/secure-json.md | 2 +- .../fa}/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../fa}/docs/examples/serving-static-files.md | 2 +- .../fa}/docs/examples/support-lets-encrypt.md | 2 +- .../fa/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../fa}/docs/examples/using-middleware.md | 2 +- .../fa}/docs/examples/without-middleware.md | 2 +- .../docs/fa}/docs/examples/write-log.md | 2 +- .../content/docs/fa/docs/faq/index.md | 5 +- .../content/docs/fa/docs/features/index.md | 5 +- .../content/docs/fa/docs/index.md | 6 +- .../docs/fa/docs/introduction/index.md | 5 +- .../content/docs/fa/docs/jsoniter/index.md | 5 +- .../content/docs/fa/docs/quickstart/index.md | 5 +- .../content/docs/fa/docs/testing/index.md | 5 +- .../content/docs/fa/docs/users/index.md | 5 +- src/content/docs/fa/index.mdx | 54 + src/content/docs/index.mdx | 61 + .../content/docs/ja/blog/index.md | 5 +- .../how-to-build-one-effective-middleware.md | 0 .../docs}/ja/blog/releases/release13.md | 0 .../docs}/ja/blog/releases/release14.md | 0 .../docs}/ja/blog/releases/release15.md | 0 .../content/docs/ja/docs/benchmarks/index.md | 5 +- .../content/docs/ja/docs/deployment/index.md | 5 +- .../docs}/ja/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../ja/docs/examples/bind-html-checkbox.md | 2 +- .../ja/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/ja/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs}/ja/docs/examples/cookie.md | 2 +- .../ja/docs/examples/custom-http-config.md | 2 +- .../ja/docs/examples/custom-log-format.md | 2 +- .../ja/docs/examples/custom-middleware.md | 2 +- .../ja/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs}/ja/docs/examples/grouping-routes.md | 2 +- .../docs}/ja/docs/examples/html-rendering.md | 2 +- .../docs}/ja/docs/examples/http-method.md | 2 +- .../ja/docs/examples/http2-server-push.md | 2 +- .../content/docs/ja/docs/examples/index.md | 5 +- .../content/docs}/ja/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../ja/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../docs}/ja/docs/examples/param-in-path.md | 2 +- .../docs}/ja/docs/examples/pure-json.md | 2 +- .../ja/docs/examples/query-and-post-form.md | 2 +- .../ja/docs/examples/querystring-param.md | 2 +- .../docs}/ja/docs/examples/redirects.md | 2 +- .../docs}/ja/docs/examples/rendering.md | 2 +- .../ja/docs/examples/run-multiple-service.md | 2 +- .../docs}/ja/docs/examples/secure-json.md | 2 +- .../ja/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../ja/docs/examples/serving-static-files.md | 2 +- .../ja/docs/examples/support-lets-encrypt.md | 2 +- .../ja/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../ja/docs/examples/using-middleware.md | 2 +- .../ja/docs/examples/without-middleware.md | 2 +- .../docs}/ja/docs/examples/write-log.md | 2 +- .../content/docs/ja/docs/faq/index.md | 5 +- .../content/docs/ja/docs/features/index.md | 5 +- .../content/docs/ja/docs/index.md | 6 +- .../docs/ja/docs/introduction/index.md | 5 +- .../content/docs/ja/docs/jsoniter/index.md | 5 +- .../content/docs/ja/docs/quickstart/index.md | 5 +- .../content/docs/ja/docs/testing/index.md | 5 +- .../content/docs/ja/docs/users/index.md | 5 +- src/content/docs/ja/index.mdx | 53 + .../content/docs/ko-kr/blog/index.md | 5 +- .../how-to-build-one-effective-middleware.md | 0 .../docs}/ko-kr/blog/releases/release13.md | 0 .../docs}/ko-kr/blog/releases/release14.md | 0 .../docs}/ko-kr/blog/releases/release15.md | 0 .../docs/ko-kr/docs/benchmarks/index.md | 5 +- .../docs/ko-kr/docs/deployment/index.md | 5 +- .../docs}/ko-kr/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../ko-kr/docs/examples/bind-html-checkbox.md | 2 +- .../ko-kr/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/ko-kr/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../docs}/ko-kr/docs/examples/cookie.md | 2 +- .../ko-kr/docs/examples/custom-http-config.md | 2 +- .../ko-kr/docs/examples/custom-log-format.md | 2 +- .../ko-kr/docs/examples/custom-middleware.md | 2 +- .../ko-kr/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../ko-kr/docs/examples/grouping-routes.md | 2 +- .../ko-kr/docs/examples/html-rendering.md | 2 +- .../docs}/ko-kr/docs/examples/http-method.md | 2 +- .../ko-kr/docs/examples/http2-server-push.md | 2 +- .../content/docs/ko-kr/docs/examples/index.md | 5 +- .../docs}/ko-kr/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../ko-kr/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../ko-kr/docs/examples/param-in-path.md | 2 +- .../docs}/ko-kr/docs/examples/pure-json.md | 2 +- .../docs/examples/query-and-post-form.md | 2 +- .../ko-kr/docs/examples/querystring-param.md | 2 +- .../docs}/ko-kr/docs/examples/redirects.md | 2 +- .../docs}/ko-kr/docs/examples/rendering.md | 2 +- .../docs/examples/run-multiple-service.md | 2 +- .../docs}/ko-kr/docs/examples/secure-json.md | 2 +- .../ko-kr/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../docs/examples/serving-static-files.md | 2 +- .../docs/examples/support-lets-encrypt.md | 2 +- .../ko-kr/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../ko-kr/docs/examples/using-middleware.md | 2 +- .../ko-kr/docs/examples/without-middleware.md | 2 +- .../docs}/ko-kr/docs/examples/write-log.md | 2 +- .../content/docs/ko-kr/docs/faq/index.md | 5 +- .../content/docs/ko-kr/docs/features/index.md | 5 +- .../content/docs/ko-kr/docs/index.md | 6 +- .../docs/ko-kr/docs/introduction/index.md | 5 +- .../content/docs/ko-kr/docs/jsoniter/index.md | 5 +- .../docs/ko-kr/docs/quickstart/index.md | 5 +- .../content/docs/ko-kr/docs/testing/index.md | 5 +- .../content/docs/ko-kr/docs/users/index.md | 5 +- src/content/docs/ko-kr/index.mdx | 51 + .../content/docs/pt/blog/index.md | 5 +- .../how-to-build-one-effective-middleware.md | 0 .../docs}/pt/blog/releases/release13.md | 0 .../docs}/pt/blog/releases/release14.md | 0 .../docs}/pt/blog/releases/release15.md | 0 .../docs}/pt/blog/releases/release16.md | 0 .../content/docs/pt/docs/benchmarks/index.md | 5 +- .../content/docs/pt/docs/deployment/index.md | 5 +- .../docs}/pt/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../pt/docs/examples/bind-html-checkbox.md | 2 +- .../pt/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/pt/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs}/pt/docs/examples/cookie.md | 2 +- .../pt/docs/examples/custom-http-config.md | 2 +- .../pt/docs/examples/custom-log-format.md | 2 +- .../pt/docs/examples/custom-middleware.md | 2 +- .../pt/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs}/pt/docs/examples/grouping-routes.md | 2 +- .../docs}/pt/docs/examples/html-rendering.md | 2 +- .../docs}/pt/docs/examples/http-method.md | 2 +- .../pt/docs/examples/http2-server-push.md | 2 +- .../content/docs/pt/docs/examples/index.md | 5 +- .../content/docs}/pt/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../pt/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../docs}/pt/docs/examples/param-in-path.md | 2 +- .../docs}/pt/docs/examples/pure-json.md | 2 +- .../pt/docs/examples/query-and-post-form.md | 2 +- .../pt/docs/examples/querystring-param.md | 2 +- .../docs}/pt/docs/examples/redirects.md | 2 +- .../docs}/pt/docs/examples/rendering.md | 2 +- .../pt/docs/examples/run-multiple-service.md | 2 +- .../docs}/pt/docs/examples/secure-json.md | 2 +- .../pt/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../pt/docs/examples/serving-static-files.md | 2 +- .../pt/docs/examples/support-lets-encrypt.md | 2 +- .../pt/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../pt/docs/examples/using-middleware.md | 2 +- .../pt/docs/examples/without-middleware.md | 2 +- .../docs}/pt/docs/examples/write-log.md | 2 +- .../content/docs/pt/docs/faq/index.md | 5 +- .../content/docs/pt/docs/features/index.md | 5 +- .../content/docs/pt/docs/index.md | 6 +- .../docs/pt/docs/introduction/index.md | 5 +- .../content/docs/pt/docs/jsoniter/index.md | 5 +- .../content/docs/pt/docs/quickstart/index.md | 5 +- .../content/docs/pt/docs/testing/index.md | 5 +- .../content/docs/pt/docs/users/index.md | 5 +- src/content/docs/pt/index.mdx | 50 + src/content/docs/ru/blog/index.md | 12 + .../how-to-build-one-effective-middleware.md | 0 .../docs}/ru/blog/releases/release13.md | 0 .../docs}/ru/blog/releases/release14.md | 0 .../docs}/ru/blog/releases/release15.md | 0 .../docs}/ru/blog/releases/release16.md | 0 .../content/docs/ru/docs/benchmarks/index.md | 5 +- .../content/docs/ru/docs/deployment/index.md | 5 +- .../docs}/ru/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 4 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../ru/docs/examples/bind-html-checkbox.md | 2 +- .../ru/docs/examples/bind-query-or-post.md | 0 .../bind-single-binary-with-template.md | 2 +- .../docs}/ru/docs/examples/bind-uri.md | 4 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs}/ru/docs/examples/cookie.md | 2 +- .../ru/docs/examples/custom-http-config.md | 2 +- .../ru/docs/examples/custom-log-format.md | 2 +- .../ru/docs/examples/custom-middleware.md | 43 + .../ru/docs/examples/custom-validators.md | 4 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs}/ru/docs/examples/grouping-routes.md | 2 +- .../docs}/ru/docs/examples/html-rendering.md | 4 +- .../docs}/ru/docs/examples/http-method.md | 4 +- .../ru/docs/examples/http2-server-push.md | 2 +- .../content/docs/ru/docs/examples/index.md | 2 +- .../content/docs}/ru/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 31 + .../examples/multipart-urlencoded-binding.md | 4 +- .../examples/multipart-urlencoded-form.md | 23 + .../ru/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 4 +- .../docs}/ru/docs/examples/param-in-path.md | 2 +- .../docs}/ru/docs/examples/pure-json.md | 2 +- .../ru/docs/examples/query-and-post-form.md | 32 + .../ru/docs/examples/querystring-param.md | 20 + .../docs}/ru/docs/examples/redirects.md | 2 +- .../docs}/ru/docs/examples/rendering.md | 2 +- .../ru/docs/examples/run-multiple-service.md | 2 +- .../docs}/ru/docs/examples/secure-json.md | 2 +- .../ru/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 28 + .../ru/docs/examples/serving-static-files.md | 16 + .../ru/docs/examples/support-lets-encrypt.md | 2 +- .../ru/docs/examples/upload-file/index.md | 4 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../ru/docs/examples/using-middleware.md | 2 +- .../ru/docs/examples/without-middleware.md | 4 +- .../docs/ru/docs/examples/write-log.md | 25 + .../content/docs/ru/docs/faq/index.md | 2 +- .../content/docs/ru/docs/features/index.md | 2 +- .../content/docs/ru/docs/index.md | 2 +- .../docs/ru/docs/introduction/index.md | 2 +- .../content/docs/ru/docs/jsoniter/index.md | 2 +- .../content/docs/ru/docs/quickstart/index.md | 2 +- .../content/docs/ru/docs/testing/index.md | 2 +- .../content/docs/ru/docs/users/index.md | 5 +- src/content/docs/ru/index.mdx | 50 + src/content/docs/tr/blog/index.md | 12 + .../how-to-build-one-effective-middleware.md | 0 .../docs}/tr/blog/releases/release13.md | 0 .../docs}/tr/blog/releases/release14.md | 0 .../docs}/tr/blog/releases/release15.md | 0 .../docs}/tr/blog/releases/release16.md | 0 .../content/docs/tr/docs/benchmarks/index.md | 5 +- .../content/docs/tr/docs/deployment/index.md | 5 +- .../docs}/tr/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../tr/docs/examples/bind-html-checkbox.md | 2 +- .../tr/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/tr/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../content/docs/tr}/docs/examples/cookie.md | 2 +- .../tr}/docs/examples/custom-http-config.md | 2 +- .../tr/docs/examples/custom-log-format.md | 2 +- .../tr}/docs/examples/custom-middleware.md | 2 +- .../tr}/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../docs}/tr/docs/examples/grouping-routes.md | 2 +- .../docs/tr}/docs/examples/html-rendering.md | 2 +- .../docs}/tr/docs/examples/http-method.md | 2 +- .../tr}/docs/examples/http2-server-push.md | 2 +- .../content/docs/tr/docs/examples/index.md | 5 +- .../content/docs/tr}/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../tr}/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../docs}/tr/docs/examples/param-in-path.md | 2 +- .../docs/tr}/docs/examples/pure-json.md | 2 +- .../tr}/docs/examples/query-and-post-form.md | 2 +- .../tr}/docs/examples/querystring-param.md | 2 +- .../docs/tr}/docs/examples/redirects.md | 2 +- .../docs/tr}/docs/examples/rendering.md | 2 +- .../tr}/docs/examples/run-multiple-service.md | 2 +- .../docs/tr}/docs/examples/secure-json.md | 2 +- .../tr/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../tr}/docs/examples/serving-static-files.md | 2 +- .../tr}/docs/examples/support-lets-encrypt.md | 2 +- .../tr/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../tr/docs/examples/using-middleware.md | 2 +- .../tr/docs/examples/without-middleware.md | 2 +- .../docs/tr}/docs/examples/write-log.md | 2 +- .../content/docs/tr/docs/faq/index.md | 5 +- .../content/docs/tr/docs/features/index.md | 5 +- .../content/docs/tr/docs/index.md | 6 +- .../docs/tr/docs/introduction/index.md | 5 +- .../content/docs/tr/docs/jsoniter/index.md | 5 +- .../content/docs/tr/docs/quickstart/index.md | 5 +- .../content/docs/tr/docs/testing/index.md | 5 +- .../content/docs/tr/docs/users/index.md | 5 +- src/content/docs/tr/index.mdx | 50 + src/content/docs/zh-cn/blog/index.md | 12 + .../how-to-build-one-effective-middleware.md | 0 .../docs}/zh-cn/blog/releases/release13.md | 0 .../docs}/zh-cn/blog/releases/release14.md | 0 .../docs}/zh-cn/blog/releases/release15.md | 0 .../docs/zh-cn/docs/benchmarks/index.md | 5 +- .../docs/zh-cn/docs/deployment/index.md | 5 +- .../docs}/zh-cn/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../zh-cn/docs/examples/bind-html-checkbox.md | 2 +- .../zh-cn/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/zh-cn/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../docs}/zh-cn/docs/examples/cookie.md | 2 +- .../zh-cn/docs/examples/custom-http-config.md | 2 +- .../zh-cn/docs/examples/custom-log-format.md | 2 +- .../zh-cn/docs/examples/custom-middleware.md | 2 +- .../zh-cn/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../zh-cn/docs/examples/grouping-routes.md | 2 +- .../zh-cn/docs/examples/html-rendering.md | 2 +- .../docs}/zh-cn/docs/examples/http-method.md | 2 +- .../zh-cn/docs/examples/http2-server-push.md | 2 +- .../content/docs/zh-cn/docs/examples/index.md | 5 +- .../docs}/zh-cn/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../zh-cn/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../zh-cn/docs/examples/param-in-path.md | 2 +- .../docs}/zh-cn/docs/examples/pure-json.md | 2 +- .../docs/examples/query-and-post-form.md | 2 +- .../zh-cn/docs/examples/querystring-param.md | 2 +- .../docs}/zh-cn/docs/examples/redirects.md | 2 +- .../docs}/zh-cn/docs/examples/rendering.md | 2 +- .../docs/examples/run-multiple-service.md | 2 +- .../docs}/zh-cn/docs/examples/secure-json.md | 2 +- .../zh-cn/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../docs/examples/serving-static-files.md | 2 +- .../docs/examples/support-lets-encrypt.md | 2 +- .../zh-cn/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../zh-cn/docs/examples/using-middleware.md | 2 +- .../zh-cn/docs/examples/without-middleware.md | 2 +- .../docs}/zh-cn/docs/examples/write-log.md | 2 +- .../content/docs/zh-cn/docs/faq/index.md | 5 +- .../content/docs/zh-cn/docs/features/index.md | 5 +- .../content/docs/zh-cn/docs/index.md | 6 +- .../docs/zh-cn/docs/introduction/index.md | 5 +- .../content/docs/zh-cn/docs/jsoniter/index.md | 5 +- .../docs/zh-cn/docs/quickstart/index.md | 5 +- .../content/docs/zh-cn/docs/testing/index.md | 5 +- .../content/docs/zh-cn/docs/users/index.md | 5 +- src/content/docs/zh-cn/index.mdx | 51 + src/content/docs/zh-tw/blog/index.md | 12 + .../how-to-build-one-effective-middleware.md | 0 .../docs}/zh-tw/blog/releases/release13.md | 0 .../docs}/zh-tw/blog/releases/release14.md | 0 .../docs}/zh-tw/blog/releases/release15.md | 0 .../docs/zh-tw/docs/benchmarks/index.md | 5 +- .../docs/zh-tw/docs/deployment/index.md | 5 +- .../docs}/zh-tw/docs/examples/ascii-json.md | 2 +- .../bind-body-into-dirrerent-structs.md | 2 +- ...nd-form-data-request-with-custom-struct.md | 2 +- .../zh-tw/docs/examples/bind-html-checkbox.md | 2 +- .../zh-tw/docs/examples/bind-query-or-post.md | 2 +- .../bind-single-binary-with-template.md | 2 +- .../docs}/zh-tw/docs/examples/bind-uri.md | 2 +- .../docs/examples/binding-and-validation.md | 2 +- .../controlling-log-output-coloring.md | 2 +- .../docs}/zh-tw/docs/examples/cookie.md | 2 +- .../docs/examples/custom-http-config.md | 2 +- .../zh-tw}/docs/examples/custom-middleware.md | 2 +- .../zh-tw/docs/examples/custom-validators.md | 2 +- .../define-format-for-the-log-of-routes.md | 2 +- .../goroutines-inside-a-middleware.md | 2 +- .../docs/examples/graceful-restart-or-stop.md | 2 +- .../zh-tw}/docs/examples/grouping-routes.md | 2 +- .../zh-tw/docs/examples/html-rendering.md | 2 +- .../docs}/zh-tw/docs/examples/http-method.md | 2 +- .../zh-tw}/docs/examples/http2-server-push.md | 2 +- .../content/docs/zh-tw/docs/examples/index.md | 5 +- .../docs/zh-tw}/docs/examples/jsonp.md | 2 +- .../map-as-querystring-or-postform.md | 2 +- .../examples/multipart-urlencoded-binding.md | 2 +- .../examples/multipart-urlencoded-form.md | 2 +- .../zh-tw}/docs/examples/multiple-template.md | 2 +- .../docs/examples/only-bind-query-string.md | 2 +- .../zh-tw}/docs/examples/param-in-path.md | 2 +- .../docs/zh-tw}/docs/examples/pure-json.md | 2 +- .../docs/examples/query-and-post-form.md | 2 +- .../zh-tw}/docs/examples/querystring-param.md | 2 +- .../docs/zh-tw}/docs/examples/redirects.md | 2 +- .../docs}/zh-tw/docs/examples/rendering.md | 2 +- .../docs/examples/run-multiple-service.md | 2 +- .../docs/zh-tw}/docs/examples/secure-json.md | 2 +- .../zh-tw/docs/examples/security-headers.md | 2 +- .../docs/examples/serving-data-from-reader.md | 2 +- .../docs/examples/serving-static-files.md | 2 +- .../docs/examples/support-lets-encrypt.md | 2 +- .../zh-tw/docs/examples/upload-file/index.md | 2 +- .../examples/upload-file/multiple-file.md | 2 +- .../docs/examples/upload-file/single-file.md | 2 +- .../examples/using-basicauth-middleware.md | 2 +- .../zh-tw}/docs/examples/using-middleware.md | 2 +- .../docs/examples/without-middleware.md | 2 +- .../docs}/zh-tw/docs/examples/write-log.md | 2 +- src/content/docs/zh-tw/docs/faq/index.md | 9 + .../content/docs/zh-tw/docs/features/index.md | 5 +- .../content/docs/zh-tw/docs/index.md | 6 +- .../docs/zh-tw/docs/introduction/index.md | 5 +- .../content/docs/zh-tw/docs/jsoniter/index.md | 5 +- .../docs/zh-tw/docs/quickstart/index.md | 5 +- .../content/docs/zh-tw/docs/testing/index.md | 5 +- .../content/docs/zh-tw/docs/users/index.md | 5 +- src/content/docs/zh-tw/index.mdx | 51 + src/env.d.ts | 2 + src/styles/custom.css | 37 + tsconfig.json | 3 + 722 files changed, 7152 insertions(+), 3332 deletions(-) delete mode 100644 assets/scss/_variables_project.scss create mode 100644 astro.config.mjs delete mode 100644 content/en/_index.html delete mode 100644 content/en/blog/news/_index.md delete mode 100644 content/en/blog/releases/_index.md delete mode 100644 content/en/featured-background.jpg delete mode 100644 content/en/search.md delete mode 100644 content/es/_index.html delete mode 100644 content/es/blog/news/_index.md delete mode 100644 content/es/blog/releases/_index.md delete mode 100644 content/es/featured-background.jpg delete mode 100644 content/es/search.md delete mode 100644 content/fa/_index.html delete mode 100644 content/fa/blog/news/_index.md delete mode 100644 content/fa/blog/releases/_index.md delete mode 100644 content/fa/featured-background.jpg delete mode 100644 content/fa/search.md delete mode 100644 content/ja/_index.html delete mode 100644 content/ja/blog/news/_index.md delete mode 100644 content/ja/blog/releases/_index.md delete mode 100644 content/ja/search.md delete mode 100644 content/ko-kr/_index.html delete mode 100644 content/ko-kr/blog/news/_index.md delete mode 100644 content/ko-kr/blog/releases/_index.md delete mode 100644 content/pt/_index.html delete mode 100644 content/pt/blog/news/_index.md delete mode 100644 content/pt/blog/releases/_index.md delete mode 100644 content/pt/featured-background.jpg delete mode 100644 content/pt/search.md delete mode 100644 content/ru/_index.html delete mode 100644 content/ru/blog/_index.md delete mode 100644 content/ru/blog/news/_index.md delete mode 100644 content/ru/blog/releases/_index.md delete mode 100644 content/ru/docs/examples/custom-middleware.md delete mode 100644 content/ru/docs/examples/map-as-querystring-or-postform.md delete mode 100644 content/ru/docs/examples/multipart-urlencoded-form.md delete mode 100644 content/ru/docs/examples/query-and-post-form.md delete mode 100644 content/ru/docs/examples/querystring-param.md delete mode 100644 content/ru/docs/examples/serving-data-from-reader.md delete mode 100644 content/ru/docs/examples/serving-static-files.md delete mode 100644 content/ru/docs/examples/write-log.md delete mode 100644 content/ru/featured-background.jpg delete mode 100644 content/ru/search.md delete mode 100644 content/tr/_index.html delete mode 100644 content/tr/blog/_index.md delete mode 100644 content/tr/blog/news/_index.md delete mode 100644 content/tr/blog/releases/_index.md delete mode 100644 content/tr/search.md delete mode 100644 content/zh-cn/_index.html delete mode 100644 content/zh-cn/blog/_index.md delete mode 100644 content/zh-cn/blog/news/_index.md delete mode 100644 content/zh-cn/blog/releases/_index.md delete mode 100644 content/zh-cn/search.md delete mode 100644 content/zh-tw/_index.html delete mode 100644 content/zh-tw/blog/_index.md delete mode 100644 content/zh-tw/blog/news/_index.md delete mode 100644 content/zh-tw/blog/releases/_index.md delete mode 100644 content/zh-tw/docs/faq/_index.md delete mode 100644 content/zh-tw/search.md delete mode 100644 hugo.toml delete mode 100644 layouts/partials/footer.html delete mode 100644 package-lock.json create mode 100644 pnpm-lock.yaml create mode 100644 public/CNAME rename {static => public}/comment.js (100%) rename {static/favicons => public}/favicon.ico (100%) rename {static => public}/favicons/android-chrome-192x192.png (100%) rename {static => public}/favicons/android-chrome-512x512.png (100%) rename {static => public}/favicons/apple-touch-icon.png (100%) rename {static => public}/favicons/browserconfig.xml (100%) rename {static => public}/favicons/favicon-16x16.png (100%) rename {static => public}/favicons/favicon-32x32.png (100%) create mode 100644 public/favicons/favicon.ico rename {static => public}/favicons/mstile-150x150.png (100%) rename {static => public}/favicons/safari-pinned-tab.svg (100%) rename {static => public}/favicons/site.webmanifest (100%) create mode 100644 public/go.mod create mode 100644 public/go.sum create mode 100644 src/assets/gin.png create mode 100644 src/content/config.ts rename content/ko-kr/blog/_index.md => src/content/docs/en/blog/index.md (86%) rename {content => src/content/docs}/en/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/en/blog/releases/release13.md (100%) rename {content => src/content/docs}/en/blog/releases/release14.md (100%) rename {content => src/content/docs}/en/blog/releases/release15.md (100%) rename {content => src/content/docs}/en/blog/releases/release16.md (100%) rename content/en/docs/benchmarks/_index.md => src/content/docs/en/docs/benchmarks/index.md (99%) rename content/en/docs/deployment/_index.md => src/content/docs/en/docs/deployment/index.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/ascii-json.md (97%) rename {content/fa => src/content/docs/en}/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content/fa => src/content/docs/en}/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content/fa => src/content/docs/en}/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/en/docs/examples/bind-query-or-post.md (98%) rename {content/tr => src/content/docs/en}/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/en/docs/examples/bind-uri.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/binding-and-validation.md (99%) rename {content/fa => src/content/docs/en}/docs/examples/controlling-log-output-coloring.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/cookie.md (97%) rename {content/tr => src/content/docs/en}/docs/examples/custom-http-config.md (97%) rename {content/fa => src/content/docs/en}/docs/examples/custom-log-format.md (98%) rename {content/tr => src/content/docs/en}/docs/examples/custom-middleware.md (97%) rename {content/fa => src/content/docs/en}/docs/examples/custom-validators.md (99%) rename {content/fa => src/content/docs/en}/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content/tr => src/content/docs/en}/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/en/docs/examples/graceful-restart-or-stop.md (99%) rename {content/fa => src/content/docs/en}/docs/examples/grouping-routes.md (97%) rename {content/tr => src/content/docs/en}/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/en/docs/examples/http-method.md (97%) rename {content => src/content/docs}/en/docs/examples/http2-server-push.md (98%) rename content/en/docs/examples/_index.md => src/content/docs/en/docs/examples/index.md (70%) rename {content/zh-tw => src/content/docs/en}/docs/examples/jsonp.md (97%) rename {content/fa => src/content/docs/en}/docs/examples/map-as-querystring-or-postform.md (97%) rename {content/tr => src/content/docs/en}/docs/examples/multipart-urlencoded-binding.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/multipart-urlencoded-form.md (96%) rename {content/tr => src/content/docs/en}/docs/examples/multiple-template.md (94%) rename {content/fa => src/content/docs/en}/docs/examples/only-bind-query-string.md (98%) rename {content/zh-tw => src/content/docs/en}/docs/examples/param-in-path.md (98%) rename {content/zh-tw => src/content/docs/en}/docs/examples/pure-json.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/query-and-post-form.md (97%) rename {content/tr => src/content/docs/en}/docs/examples/querystring-param.md (97%) rename {content => src/content/docs}/en/docs/examples/redirects.md (98%) rename {content/tr => src/content/docs/en}/docs/examples/rendering.md (99%) rename {content => src/content/docs}/en/docs/examples/run-multiple-service.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/secure-json.md (97%) rename {content/fa => src/content/docs/en}/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/en/docs/examples/serving-data-from-reader.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/serving-static-files.md (95%) rename {content => src/content/docs}/en/docs/examples/support-lets-encrypt.md (98%) rename content/en/docs/examples/upload-file/_index.md => src/content/docs/en/docs/examples/upload-file/index.md (84%) rename {content => src/content/docs}/en/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/en/docs/examples/upload-file/single-file.md (98%) rename {content/tr => src/content/docs/en}/docs/examples/using-basicauth-middleware.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/using-middleware.md (98%) rename {content/fa => src/content/docs/en}/docs/examples/without-middleware.md (93%) rename {content/tr => src/content/docs/en}/docs/examples/write-log.md (97%) rename content/fa/docs/faq/_index.md => src/content/docs/en/docs/faq/index.md (79%) rename content/en/docs/features/_index.md => src/content/docs/en/docs/features/index.md (91%) rename content/en/docs/_index.md => src/content/docs/en/docs/index.md (93%) rename content/en/docs/introduction/_index.md => src/content/docs/en/docs/introduction/index.md (98%) rename content/en/docs/jsoniter/_index.md => src/content/docs/en/docs/jsoniter/index.md (92%) rename content/en/docs/quickstart/_index.md => src/content/docs/en/docs/quickstart/index.md (98%) rename content/en/docs/testing/_index.md => src/content/docs/en/docs/testing/index.md (98%) rename content/en/docs/users/_index.md => src/content/docs/en/docs/users/index.md (97%) create mode 100644 src/content/docs/en/index.mdx rename content/fa/blog/_index.md => src/content/docs/es/blog/index.md (86%) rename {content => src/content/docs}/es/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/es/blog/releases/release13.md (100%) rename {content => src/content/docs}/es/blog/releases/release14.md (100%) rename {content => src/content/docs}/es/blog/releases/release15.md (100%) rename {content => src/content/docs}/es/blog/releases/release16.md (100%) rename content/es/docs/benchmarks/_index.md => src/content/docs/es/docs/benchmarks/index.md (99%) rename content/es/docs/deployment/_index.md => src/content/docs/es/docs/deployment/index.md (97%) rename {content => src/content/docs}/es/docs/examples/ascii-json.md (97%) rename {content => src/content/docs}/es/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/es/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/es/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/es/docs/examples/bind-query-or-post.md (98%) rename {content => src/content/docs}/es/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/es/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/es/docs/examples/binding-and-validation.md (99%) rename {content => src/content/docs}/es/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/es/docs/examples/cookie.md (97%) rename {content => src/content/docs}/es/docs/examples/custom-http-config.md (97%) rename {content => src/content/docs}/es/docs/examples/custom-log-format.md (98%) rename {content => src/content/docs}/es/docs/examples/custom-middleware.md (98%) rename {content => src/content/docs}/es/docs/examples/custom-validators.md (99%) rename {content => src/content/docs}/es/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content => src/content/docs}/es/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/es/docs/examples/graceful-restart-or-stop.md (99%) rename {content => src/content/docs}/es/docs/examples/grouping-routes.md (97%) rename {content => src/content/docs}/es/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/es/docs/examples/http-method.md (98%) rename {content => src/content/docs}/es/docs/examples/http2-server-push.md (98%) rename content/es/docs/examples/_index.md => src/content/docs/es/docs/examples/index.md (78%) rename {content => src/content/docs}/es/docs/examples/jsonp.md (97%) rename {content => src/content/docs}/es/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/es/docs/examples/multipart-urlencoded-binding.md (98%) rename {content => src/content/docs}/es/docs/examples/multipart-urlencoded-form.md (96%) rename {content => src/content/docs}/es/docs/examples/multiple-template.md (95%) rename {content => src/content/docs}/es/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/es/docs/examples/param-in-path.md (98%) rename {content => src/content/docs}/es/docs/examples/pure-json.md (98%) rename {content => src/content/docs}/es/docs/examples/query-and-post-form.md (97%) rename {content => src/content/docs}/es/docs/examples/querystring-param.md (97%) rename {content => src/content/docs}/es/docs/examples/redirects.md (98%) rename {content => src/content/docs}/es/docs/examples/rendering.md (99%) rename {content => src/content/docs}/es/docs/examples/run-multiple-service.md (98%) rename {content => src/content/docs}/es/docs/examples/secure-json.md (97%) rename {content => src/content/docs}/es/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/es/docs/examples/serving-data-from-reader.md (98%) rename {content => src/content/docs}/es/docs/examples/serving-static-files.md (95%) rename {content => src/content/docs}/es/docs/examples/support-lets-encrypt.md (98%) rename content/es/docs/examples/upload-file/_index.md => src/content/docs/es/docs/examples/upload-file/index.md (87%) rename {content => src/content/docs}/es/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/es/docs/examples/upload-file/single-file.md (99%) rename {content => src/content/docs}/es/docs/examples/using-basicauth-middleware.md (98%) rename {content => src/content/docs}/es/docs/examples/using-middleware.md (98%) rename {content => src/content/docs}/es/docs/examples/without-middleware.md (94%) rename {content => src/content/docs}/es/docs/examples/write-log.md (98%) rename content/es/docs/faq/_index.md => src/content/docs/es/docs/faq/index.md (86%) rename content/es/docs/features/_index.md => src/content/docs/es/docs/features/index.md (93%) rename content/es/docs/_index.md => src/content/docs/es/docs/index.md (94%) rename content/es/docs/introduction/_index.md => src/content/docs/es/docs/introduction/index.md (98%) rename content/es/docs/jsoniter/_index.md => src/content/docs/es/docs/jsoniter/index.md (93%) rename content/es/docs/quickstart/_index.md => src/content/docs/es/docs/quickstart/index.md (98%) rename content/es/docs/testing/_index.md => src/content/docs/es/docs/testing/index.md (98%) rename content/es/docs/users/_index.md => src/content/docs/es/docs/users/index.md (97%) create mode 100644 src/content/docs/es/index.mdx rename content/en/blog/_index.md => src/content/docs/fa/blog/index.md (86%) rename {content => src/content/docs}/fa/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/fa/blog/releases/release13.md (100%) rename {content => src/content/docs}/fa/blog/releases/release14.md (100%) rename {content => src/content/docs}/fa/blog/releases/release15.md (100%) rename {content => src/content/docs}/fa/blog/releases/release16.md (100%) rename content/fa/docs/benchmarks/_index.md => src/content/docs/fa/docs/benchmarks/index.md (99%) rename content/fa/docs/deployment/_index.md => src/content/docs/fa/docs/deployment/index.md (98%) rename {content/en => src/content/docs/fa}/docs/examples/ascii-json.md (97%) rename {content/tr => src/content/docs/fa}/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content/en => src/content/docs/fa}/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content/en => src/content/docs/fa}/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/fa/docs/examples/bind-query-or-post.md (98%) rename {content/en => src/content/docs/fa}/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/fa/docs/examples/bind-uri.md (98%) rename {content/en => src/content/docs/fa}/docs/examples/binding-and-validation.md (99%) rename {content/tr => src/content/docs/fa}/docs/examples/controlling-log-output-coloring.md (98%) rename {content/tr => src/content/docs/fa}/docs/examples/cookie.md (97%) rename {content => src/content/docs}/fa/docs/examples/custom-http-config.md (97%) rename {content/en => src/content/docs/fa}/docs/examples/custom-log-format.md (98%) rename {content => src/content/docs}/fa/docs/examples/custom-middleware.md (97%) rename {content/tr => src/content/docs/fa}/docs/examples/custom-validators.md (99%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content => src/content/docs}/fa/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/fa/docs/examples/graceful-restart-or-stop.md (99%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/grouping-routes.md (97%) rename {content/en => src/content/docs/fa}/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/fa/docs/examples/http-method.md (97%) rename {content => src/content/docs}/fa/docs/examples/http2-server-push.md (98%) rename content/fa/docs/examples/_index.md => src/content/docs/fa/docs/examples/index.md (70%) rename {content => src/content/docs}/fa/docs/examples/jsonp.md (97%) rename {content/en => src/content/docs/fa}/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/fa/docs/examples/multipart-urlencoded-binding.md (98%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/multipart-urlencoded-form.md (96%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/multiple-template.md (94%) rename {content/en => src/content/docs/fa}/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/fa/docs/examples/param-in-path.md (98%) rename {content => src/content/docs}/fa/docs/examples/pure-json.md (98%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/query-and-post-form.md (97%) rename {content => src/content/docs}/fa/docs/examples/querystring-param.md (97%) rename {content => src/content/docs}/fa/docs/examples/redirects.md (98%) rename {content/en => src/content/docs/fa}/docs/examples/rendering.md (99%) rename {content/tr => src/content/docs/fa}/docs/examples/run-multiple-service.md (98%) rename {content/tr => src/content/docs/fa}/docs/examples/secure-json.md (97%) rename {content/en => src/content/docs/fa}/docs/examples/security-headers.md (99%) rename {content/tr => src/content/docs/fa}/docs/examples/serving-data-from-reader.md (98%) rename {content/tr => src/content/docs/fa}/docs/examples/serving-static-files.md (95%) rename {content/tr => src/content/docs/fa}/docs/examples/support-lets-encrypt.md (98%) rename content/fa/docs/examples/upload-file/_index.md => src/content/docs/fa/docs/examples/upload-file/index.md (84%) rename {content/tr => src/content/docs/fa}/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/fa/docs/examples/upload-file/single-file.md (98%) rename {content => src/content/docs}/fa/docs/examples/using-basicauth-middleware.md (98%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/using-middleware.md (98%) rename {content/zh-tw => src/content/docs/fa}/docs/examples/without-middleware.md (93%) rename {content/en => src/content/docs/fa}/docs/examples/write-log.md (97%) rename content/pt/docs/faq/_index.md => src/content/docs/fa/docs/faq/index.md (79%) rename content/fa/docs/features/_index.md => src/content/docs/fa/docs/features/index.md (94%) rename content/fa/docs/_index.md => src/content/docs/fa/docs/index.md (96%) rename content/fa/docs/introduction/_index.md => src/content/docs/fa/docs/introduction/index.md (97%) rename content/fa/docs/jsoniter/_index.md => src/content/docs/fa/docs/jsoniter/index.md (93%) rename content/fa/docs/quickstart/_index.md => src/content/docs/fa/docs/quickstart/index.md (98%) rename content/fa/docs/testing/_index.md => src/content/docs/fa/docs/testing/index.md (98%) rename content/fa/docs/users/_index.md => src/content/docs/fa/docs/users/index.md (97%) create mode 100644 src/content/docs/fa/index.mdx create mode 100644 src/content/docs/index.mdx rename content/ja/blog/_index.md => src/content/docs/ja/blog/index.md (90%) rename {content => src/content/docs}/ja/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/ja/blog/releases/release13.md (100%) rename {content => src/content/docs}/ja/blog/releases/release14.md (100%) rename {content => src/content/docs}/ja/blog/releases/release15.md (100%) rename content/ja/docs/benchmarks/_index.md => src/content/docs/ja/docs/benchmarks/index.md (99%) rename content/ja/docs/deployment/_index.md => src/content/docs/ja/docs/deployment/index.md (98%) rename {content => src/content/docs}/ja/docs/examples/ascii-json.md (97%) rename {content => src/content/docs}/ja/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/ja/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/ja/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/ja/docs/examples/bind-query-or-post.md (98%) rename {content => src/content/docs}/ja/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/ja/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/ja/docs/examples/binding-and-validation.md (99%) rename {content => src/content/docs}/ja/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/ja/docs/examples/cookie.md (97%) rename {content => src/content/docs}/ja/docs/examples/custom-http-config.md (97%) rename {content => src/content/docs}/ja/docs/examples/custom-log-format.md (98%) rename {content => src/content/docs}/ja/docs/examples/custom-middleware.md (98%) rename {content => src/content/docs}/ja/docs/examples/custom-validators.md (99%) rename {content => src/content/docs}/ja/docs/examples/define-format-for-the-log-of-routes.md (99%) rename {content => src/content/docs}/ja/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/ja/docs/examples/graceful-restart-or-stop.md (99%) rename {content => src/content/docs}/ja/docs/examples/grouping-routes.md (97%) rename {content => src/content/docs}/ja/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/ja/docs/examples/http-method.md (98%) rename {content => src/content/docs}/ja/docs/examples/http2-server-push.md (98%) rename content/ja/docs/examples/_index.md => src/content/docs/ja/docs/examples/index.md (84%) rename {content => src/content/docs}/ja/docs/examples/jsonp.md (97%) rename {content => src/content/docs}/ja/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/ja/docs/examples/multipart-urlencoded-binding.md (98%) rename {content => src/content/docs}/ja/docs/examples/multipart-urlencoded-form.md (96%) rename {content => src/content/docs}/ja/docs/examples/multiple-template.md (95%) rename {content => src/content/docs}/ja/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/ja/docs/examples/param-in-path.md (98%) rename {content => src/content/docs}/ja/docs/examples/pure-json.md (98%) rename {content => src/content/docs}/ja/docs/examples/query-and-post-form.md (97%) rename {content => src/content/docs}/ja/docs/examples/querystring-param.md (98%) rename {content => src/content/docs}/ja/docs/examples/redirects.md (98%) rename {content => src/content/docs}/ja/docs/examples/rendering.md (99%) rename {content => src/content/docs}/ja/docs/examples/run-multiple-service.md (99%) rename {content => src/content/docs}/ja/docs/examples/secure-json.md (97%) rename {content => src/content/docs}/ja/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/ja/docs/examples/serving-data-from-reader.md (98%) rename {content => src/content/docs}/ja/docs/examples/serving-static-files.md (96%) rename {content => src/content/docs}/ja/docs/examples/support-lets-encrypt.md (98%) rename content/ja/docs/examples/upload-file/_index.md => src/content/docs/ja/docs/examples/upload-file/index.md (91%) rename {content => src/content/docs}/ja/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/ja/docs/examples/upload-file/single-file.md (99%) rename {content => src/content/docs}/ja/docs/examples/using-basicauth-middleware.md (98%) rename {content => src/content/docs}/ja/docs/examples/using-middleware.md (99%) rename {content => src/content/docs}/ja/docs/examples/without-middleware.md (96%) rename {content => src/content/docs}/ja/docs/examples/write-log.md (98%) rename content/ja/docs/faq/_index.md => src/content/docs/ja/docs/faq/index.md (78%) rename content/ja/docs/features/_index.md => src/content/docs/ja/docs/features/index.md (94%) rename content/ja/docs/_index.md => src/content/docs/ja/docs/index.md (96%) rename content/ja/docs/introduction/_index.md => src/content/docs/ja/docs/introduction/index.md (99%) rename content/ja/docs/jsoniter/_index.md => src/content/docs/ja/docs/jsoniter/index.md (94%) rename content/ja/docs/quickstart/_index.md => src/content/docs/ja/docs/quickstart/index.md (98%) rename content/ja/docs/testing/_index.md => src/content/docs/ja/docs/testing/index.md (98%) rename content/ja/docs/users/_index.md => src/content/docs/ja/docs/users/index.md (97%) create mode 100644 src/content/docs/ja/index.mdx rename content/es/blog/_index.md => src/content/docs/ko-kr/blog/index.md (86%) rename {content => src/content/docs}/ko-kr/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/ko-kr/blog/releases/release13.md (100%) rename {content => src/content/docs}/ko-kr/blog/releases/release14.md (100%) rename {content => src/content/docs}/ko-kr/blog/releases/release15.md (100%) rename content/ko-kr/docs/benchmarks/_index.md => src/content/docs/ko-kr/docs/benchmarks/index.md (99%) rename content/ko-kr/docs/deployment/_index.md => src/content/docs/ko-kr/docs/deployment/index.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/ascii-json.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/bind-query-or-post.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/binding-and-validation.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/cookie.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/custom-http-config.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/custom-log-format.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/custom-middleware.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/custom-validators.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/define-format-for-the-log-of-routes.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/graceful-restart-or-stop.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/grouping-routes.md (96%) rename {content => src/content/docs}/ko-kr/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/http-method.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/http2-server-push.md (98%) rename content/ko-kr/docs/examples/_index.md => src/content/docs/ko-kr/docs/examples/index.md (75%) rename {content => src/content/docs}/ko-kr/docs/examples/jsonp.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/multipart-urlencoded-binding.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/multipart-urlencoded-form.md (96%) rename {content => src/content/docs}/ko-kr/docs/examples/multiple-template.md (95%) rename {content => src/content/docs}/ko-kr/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/param-in-path.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/pure-json.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/query-and-post-form.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/querystring-param.md (97%) rename {content => src/content/docs}/ko-kr/docs/examples/redirects.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/rendering.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/run-multiple-service.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/secure-json.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/serving-data-from-reader.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/serving-static-files.md (96%) rename {content => src/content/docs}/ko-kr/docs/examples/support-lets-encrypt.md (98%) rename content/ko-kr/docs/examples/upload-file/_index.md => src/content/docs/ko-kr/docs/examples/upload-file/index.md (88%) rename {content => src/content/docs}/ko-kr/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/upload-file/single-file.md (99%) rename {content => src/content/docs}/ko-kr/docs/examples/using-basicauth-middleware.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/using-middleware.md (98%) rename {content => src/content/docs}/ko-kr/docs/examples/without-middleware.md (95%) rename {content => src/content/docs}/ko-kr/docs/examples/write-log.md (98%) rename content/ko-kr/docs/faq/_index.md => src/content/docs/ko-kr/docs/faq/index.md (79%) rename content/ko-kr/docs/features/_index.md => src/content/docs/ko-kr/docs/features/index.md (93%) rename content/ko-kr/docs/_index.md => src/content/docs/ko-kr/docs/index.md (95%) rename content/ko-kr/docs/introduction/_index.md => src/content/docs/ko-kr/docs/introduction/index.md (98%) rename content/ko-kr/docs/jsoniter/_index.md => src/content/docs/ko-kr/docs/jsoniter/index.md (93%) rename content/ko-kr/docs/quickstart/_index.md => src/content/docs/ko-kr/docs/quickstart/index.md (98%) rename content/ko-kr/docs/testing/_index.md => src/content/docs/ko-kr/docs/testing/index.md (98%) rename content/ko-kr/docs/users/_index.md => src/content/docs/ko-kr/docs/users/index.md (97%) create mode 100644 src/content/docs/ko-kr/index.mdx rename content/pt/blog/_index.md => src/content/docs/pt/blog/index.md (87%) rename {content => src/content/docs}/pt/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/pt/blog/releases/release13.md (100%) rename {content => src/content/docs}/pt/blog/releases/release14.md (100%) rename {content => src/content/docs}/pt/blog/releases/release15.md (100%) rename {content => src/content/docs}/pt/blog/releases/release16.md (100%) rename content/pt/docs/benchmarks/_index.md => src/content/docs/pt/docs/benchmarks/index.md (99%) rename content/pt/docs/deployment/_index.md => src/content/docs/pt/docs/deployment/index.md (98%) rename {content => src/content/docs}/pt/docs/examples/ascii-json.md (97%) rename {content => src/content/docs}/pt/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/pt/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/pt/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/pt/docs/examples/bind-query-or-post.md (98%) rename {content => src/content/docs}/pt/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/pt/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/pt/docs/examples/binding-and-validation.md (99%) rename {content => src/content/docs}/pt/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/pt/docs/examples/cookie.md (97%) rename {content => src/content/docs}/pt/docs/examples/custom-http-config.md (97%) rename {content => src/content/docs}/pt/docs/examples/custom-log-format.md (98%) rename {content => src/content/docs}/pt/docs/examples/custom-middleware.md (98%) rename {content => src/content/docs}/pt/docs/examples/custom-validators.md (99%) rename {content => src/content/docs}/pt/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content => src/content/docs}/pt/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/pt/docs/examples/graceful-restart-or-stop.md (99%) rename {content => src/content/docs}/pt/docs/examples/grouping-routes.md (97%) rename {content => src/content/docs}/pt/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/pt/docs/examples/http-method.md (98%) rename {content => src/content/docs}/pt/docs/examples/http2-server-push.md (98%) rename content/pt/docs/examples/_index.md => src/content/docs/pt/docs/examples/index.md (71%) rename {content => src/content/docs}/pt/docs/examples/jsonp.md (97%) rename {content => src/content/docs}/pt/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/pt/docs/examples/multipart-urlencoded-binding.md (98%) rename {content => src/content/docs}/pt/docs/examples/multipart-urlencoded-form.md (96%) rename {content => src/content/docs}/pt/docs/examples/multiple-template.md (94%) rename {content => src/content/docs}/pt/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/pt/docs/examples/param-in-path.md (98%) rename {content => src/content/docs}/pt/docs/examples/pure-json.md (98%) rename {content => src/content/docs}/pt/docs/examples/query-and-post-form.md (97%) rename {content => src/content/docs}/pt/docs/examples/querystring-param.md (97%) rename {content => src/content/docs}/pt/docs/examples/redirects.md (98%) rename {content => src/content/docs}/pt/docs/examples/rendering.md (99%) rename {content => src/content/docs}/pt/docs/examples/run-multiple-service.md (98%) rename {content => src/content/docs}/pt/docs/examples/secure-json.md (97%) rename {content => src/content/docs}/pt/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/pt/docs/examples/serving-data-from-reader.md (98%) rename {content => src/content/docs}/pt/docs/examples/serving-static-files.md (96%) rename {content => src/content/docs}/pt/docs/examples/support-lets-encrypt.md (98%) rename content/pt/docs/examples/upload-file/_index.md => src/content/docs/pt/docs/examples/upload-file/index.md (87%) rename {content => src/content/docs}/pt/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/pt/docs/examples/upload-file/single-file.md (99%) rename {content => src/content/docs}/pt/docs/examples/using-basicauth-middleware.md (98%) rename {content => src/content/docs}/pt/docs/examples/using-middleware.md (98%) rename {content => src/content/docs}/pt/docs/examples/without-middleware.md (93%) rename {content => src/content/docs}/pt/docs/examples/write-log.md (98%) rename content/en/docs/faq/_index.md => src/content/docs/pt/docs/faq/index.md (79%) rename content/pt/docs/features/_index.md => src/content/docs/pt/docs/features/index.md (93%) rename content/pt/docs/_index.md => src/content/docs/pt/docs/index.md (94%) rename content/pt/docs/introduction/_index.md => src/content/docs/pt/docs/introduction/index.md (98%) rename content/pt/docs/jsoniter/_index.md => src/content/docs/pt/docs/jsoniter/index.md (93%) rename content/pt/docs/quickstart/_index.md => src/content/docs/pt/docs/quickstart/index.md (98%) rename content/pt/docs/testing/_index.md => src/content/docs/pt/docs/testing/index.md (98%) rename content/pt/docs/users/_index.md => src/content/docs/pt/docs/users/index.md (97%) create mode 100644 src/content/docs/pt/index.mdx create mode 100644 src/content/docs/ru/blog/index.md rename {content => src/content/docs}/ru/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/ru/blog/releases/release13.md (100%) rename {content => src/content/docs}/ru/blog/releases/release14.md (100%) rename {content => src/content/docs}/ru/blog/releases/release15.md (100%) rename {content => src/content/docs}/ru/blog/releases/release16.md (100%) rename content/ru/docs/benchmarks/_index.md => src/content/docs/ru/docs/benchmarks/index.md (99%) rename content/ru/docs/deployment/_index.md => src/content/docs/ru/docs/deployment/index.md (99%) rename {content => src/content/docs}/ru/docs/examples/ascii-json.md (94%) rename {content => src/content/docs}/ru/docs/examples/bind-body-into-dirrerent-structs.md (95%) rename {content => src/content/docs}/ru/docs/examples/bind-form-data-request-with-custom-struct.md (91%) rename {content => src/content/docs}/ru/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/ru/docs/examples/bind-query-or-post.md (100%) rename {content => src/content/docs}/ru/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/ru/docs/examples/bind-uri.md (92%) rename {content => src/content/docs}/ru/docs/examples/binding-and-validation.md (98%) rename {content => src/content/docs}/ru/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/ru/docs/examples/cookie.md (87%) rename {content => src/content/docs}/ru/docs/examples/custom-http-config.md (85%) rename {content => src/content/docs}/ru/docs/examples/custom-log-format.md (92%) create mode 100644 src/content/docs/ru/docs/examples/custom-middleware.md rename {content => src/content/docs}/ru/docs/examples/custom-validators.md (95%) rename {content => src/content/docs}/ru/docs/examples/define-format-for-the-log-of-routes.md (99%) rename {content => src/content/docs}/ru/docs/examples/goroutines-inside-a-middleware.md (92%) rename {content => src/content/docs}/ru/docs/examples/graceful-restart-or-stop.md (96%) rename {content => src/content/docs}/ru/docs/examples/grouping-routes.md (86%) rename {content => src/content/docs}/ru/docs/examples/html-rendering.md (97%) rename {content => src/content/docs}/ru/docs/examples/http-method.md (87%) rename {content => src/content/docs}/ru/docs/examples/http2-server-push.md (96%) rename content/ru/docs/examples/_index.md => src/content/docs/ru/docs/examples/index.md (77%) rename {content => src/content/docs}/ru/docs/examples/jsonp.md (95%) create mode 100644 src/content/docs/ru/docs/examples/map-as-querystring-or-postform.md rename {content => src/content/docs}/ru/docs/examples/multipart-urlencoded-binding.md (92%) create mode 100644 src/content/docs/ru/docs/examples/multipart-urlencoded-form.md rename {content => src/content/docs}/ru/docs/examples/multiple-template.md (83%) rename {content => src/content/docs}/ru/docs/examples/only-bind-query-string.md (88%) rename {content => src/content/docs}/ru/docs/examples/param-in-path.md (92%) rename {content => src/content/docs}/ru/docs/examples/pure-json.md (96%) create mode 100644 src/content/docs/ru/docs/examples/query-and-post-form.md create mode 100644 src/content/docs/ru/docs/examples/querystring-param.md rename {content => src/content/docs}/ru/docs/examples/redirects.md (94%) rename {content => src/content/docs}/ru/docs/examples/rendering.md (95%) rename {content => src/content/docs}/ru/docs/examples/run-multiple-service.md (94%) rename {content => src/content/docs}/ru/docs/examples/secure-json.md (95%) rename {content => src/content/docs}/ru/docs/examples/security-headers.md (97%) create mode 100644 src/content/docs/ru/docs/examples/serving-data-from-reader.md create mode 100644 src/content/docs/ru/docs/examples/serving-static-files.md rename {content => src/content/docs}/ru/docs/examples/support-lets-encrypt.md (94%) rename content/ru/docs/examples/upload-file/_index.md => src/content/docs/ru/docs/examples/upload-file/index.md (64%) rename {content => src/content/docs}/ru/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/ru/docs/examples/upload-file/single-file.md (99%) rename {content => src/content/docs}/ru/docs/examples/using-basicauth-middleware.md (91%) rename {content => src/content/docs}/ru/docs/examples/using-middleware.md (93%) rename {content => src/content/docs}/ru/docs/examples/without-middleware.md (62%) create mode 100644 src/content/docs/ru/docs/examples/write-log.md rename content/ru/docs/faq/_index.md => src/content/docs/ru/docs/faq/index.md (86%) rename content/ru/docs/features/_index.md => src/content/docs/ru/docs/features/index.md (92%) rename content/ru/docs/_index.md => src/content/docs/ru/docs/index.md (96%) rename content/ru/docs/introduction/_index.md => src/content/docs/ru/docs/introduction/index.md (98%) rename content/ru/docs/jsoniter/_index.md => src/content/docs/ru/docs/jsoniter/index.md (92%) rename content/ru/docs/quickstart/_index.md => src/content/docs/ru/docs/quickstart/index.md (97%) rename content/ru/docs/testing/_index.md => src/content/docs/ru/docs/testing/index.md (97%) rename content/ru/docs/users/_index.md => src/content/docs/ru/docs/users/index.md (97%) create mode 100644 src/content/docs/ru/index.mdx create mode 100644 src/content/docs/tr/blog/index.md rename {content => src/content/docs}/tr/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/tr/blog/releases/release13.md (100%) rename {content => src/content/docs}/tr/blog/releases/release14.md (100%) rename {content => src/content/docs}/tr/blog/releases/release15.md (100%) rename {content => src/content/docs}/tr/blog/releases/release16.md (100%) rename content/tr/docs/benchmarks/_index.md => src/content/docs/tr/docs/benchmarks/index.md (99%) rename content/tr/docs/deployment/_index.md => src/content/docs/tr/docs/deployment/index.md (98%) rename {content => src/content/docs}/tr/docs/examples/ascii-json.md (97%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/tr/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/tr/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/tr/docs/examples/bind-query-or-post.md (98%) rename {content/fa => src/content/docs/tr}/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/tr/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/tr/docs/examples/binding-and-validation.md (99%) rename {content/en => src/content/docs/tr}/docs/examples/controlling-log-output-coloring.md (98%) rename {content/en => src/content/docs/tr}/docs/examples/cookie.md (97%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/custom-http-config.md (97%) rename {content => src/content/docs}/tr/docs/examples/custom-log-format.md (98%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/custom-middleware.md (97%) rename {content/en => src/content/docs/tr}/docs/examples/custom-validators.md (99%) rename {content/en => src/content/docs/tr}/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content/en => src/content/docs/tr}/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/tr/docs/examples/graceful-restart-or-stop.md (99%) rename {content => src/content/docs}/tr/docs/examples/grouping-routes.md (97%) rename {content/fa => src/content/docs/tr}/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/tr/docs/examples/http-method.md (97%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/http2-server-push.md (98%) rename content/tr/docs/examples/_index.md => src/content/docs/tr/docs/examples/index.md (75%) rename {content/en => src/content/docs/tr}/docs/examples/jsonp.md (97%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/map-as-querystring-or-postform.md (97%) rename {content/en => src/content/docs/tr}/docs/examples/multipart-urlencoded-binding.md (98%) rename {content => src/content/docs}/tr/docs/examples/multipart-urlencoded-form.md (96%) rename {content/fa => src/content/docs/tr}/docs/examples/multiple-template.md (94%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/tr/docs/examples/param-in-path.md (98%) rename {content/en => src/content/docs/tr}/docs/examples/pure-json.md (98%) rename {content/en => src/content/docs/tr}/docs/examples/query-and-post-form.md (97%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/querystring-param.md (97%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/redirects.md (98%) rename {content/fa => src/content/docs/tr}/docs/examples/rendering.md (99%) rename {content/fa => src/content/docs/tr}/docs/examples/run-multiple-service.md (98%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/secure-json.md (97%) rename {content => src/content/docs}/tr/docs/examples/security-headers.md (99%) rename {content/fa => src/content/docs/tr}/docs/examples/serving-data-from-reader.md (98%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/serving-static-files.md (95%) rename {content/fa => src/content/docs/tr}/docs/examples/support-lets-encrypt.md (98%) rename content/tr/docs/examples/upload-file/_index.md => src/content/docs/tr/docs/examples/upload-file/index.md (84%) rename {content/fa => src/content/docs/tr}/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/tr/docs/examples/upload-file/single-file.md (98%) rename {content/zh-tw => src/content/docs/tr}/docs/examples/using-basicauth-middleware.md (98%) rename {content => src/content/docs}/tr/docs/examples/using-middleware.md (98%) rename {content => src/content/docs}/tr/docs/examples/without-middleware.md (93%) rename {content/fa => src/content/docs/tr}/docs/examples/write-log.md (97%) rename content/tr/docs/faq/_index.md => src/content/docs/tr/docs/faq/index.md (79%) rename content/tr/docs/features/_index.md => src/content/docs/tr/docs/features/index.md (93%) rename content/tr/docs/_index.md => src/content/docs/tr/docs/index.md (95%) rename content/tr/docs/introduction/_index.md => src/content/docs/tr/docs/introduction/index.md (98%) rename content/tr/docs/jsoniter/_index.md => src/content/docs/tr/docs/jsoniter/index.md (93%) rename content/tr/docs/quickstart/_index.md => src/content/docs/tr/docs/quickstart/index.md (98%) rename content/tr/docs/testing/_index.md => src/content/docs/tr/docs/testing/index.md (98%) rename content/tr/docs/users/_index.md => src/content/docs/tr/docs/users/index.md (97%) create mode 100644 src/content/docs/tr/index.mdx create mode 100644 src/content/docs/zh-cn/blog/index.md rename {content => src/content/docs}/zh-cn/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/zh-cn/blog/releases/release13.md (100%) rename {content => src/content/docs}/zh-cn/blog/releases/release14.md (100%) rename {content => src/content/docs}/zh-cn/blog/releases/release15.md (100%) rename content/zh-cn/docs/benchmarks/_index.md => src/content/docs/zh-cn/docs/benchmarks/index.md (99%) rename content/zh-cn/docs/deployment/_index.md => src/content/docs/zh-cn/docs/deployment/index.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/ascii-json.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/bind-query-or-post.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/binding-and-validation.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/cookie.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/custom-http-config.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/custom-log-format.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/custom-middleware.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/custom-validators.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/graceful-restart-or-stop.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/grouping-routes.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/http-method.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/http2-server-push.md (98%) rename content/zh-cn/docs/examples/_index.md => src/content/docs/zh-cn/docs/examples/index.md (71%) rename {content => src/content/docs}/zh-cn/docs/examples/jsonp.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/multipart-urlencoded-binding.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/multipart-urlencoded-form.md (96%) rename {content => src/content/docs}/zh-cn/docs/examples/multiple-template.md (93%) rename {content => src/content/docs}/zh-cn/docs/examples/only-bind-query-string.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/param-in-path.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/pure-json.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/query-and-post-form.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/querystring-param.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/redirects.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/rendering.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/run-multiple-service.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/secure-json.md (97%) rename {content => src/content/docs}/zh-cn/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/zh-cn/docs/examples/serving-data-from-reader.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/serving-static-files.md (96%) rename {content => src/content/docs}/zh-cn/docs/examples/support-lets-encrypt.md (98%) rename content/zh-cn/docs/examples/upload-file/_index.md => src/content/docs/zh-cn/docs/examples/upload-file/index.md (85%) rename {content => src/content/docs}/zh-cn/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/upload-file/single-file.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/using-basicauth-middleware.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/using-middleware.md (98%) rename {content => src/content/docs}/zh-cn/docs/examples/without-middleware.md (92%) rename {content => src/content/docs}/zh-cn/docs/examples/write-log.md (97%) rename content/zh-cn/docs/faq/_index.md => src/content/docs/zh-cn/docs/faq/index.md (77%) rename content/zh-cn/docs/features/_index.md => src/content/docs/zh-cn/docs/features/index.md (91%) rename content/zh-cn/docs/_index.md => src/content/docs/zh-cn/docs/index.md (93%) rename content/zh-cn/docs/introduction/_index.md => src/content/docs/zh-cn/docs/introduction/index.md (98%) rename content/zh-cn/docs/jsoniter/_index.md => src/content/docs/zh-cn/docs/jsoniter/index.md (92%) rename content/zh-cn/docs/quickstart/_index.md => src/content/docs/zh-cn/docs/quickstart/index.md (98%) rename content/zh-cn/docs/testing/_index.md => src/content/docs/zh-cn/docs/testing/index.md (98%) rename content/zh-cn/docs/users/_index.md => src/content/docs/zh-cn/docs/users/index.md (97%) create mode 100644 src/content/docs/zh-cn/index.mdx create mode 100644 src/content/docs/zh-tw/blog/index.md rename {content => src/content/docs}/zh-tw/blog/news/how-to-build-one-effective-middleware.md (100%) rename {content => src/content/docs}/zh-tw/blog/releases/release13.md (100%) rename {content => src/content/docs}/zh-tw/blog/releases/release14.md (100%) rename {content => src/content/docs}/zh-tw/blog/releases/release15.md (100%) rename content/zh-tw/docs/benchmarks/_index.md => src/content/docs/zh-tw/docs/benchmarks/index.md (99%) rename content/zh-tw/docs/deployment/_index.md => src/content/docs/zh-tw/docs/deployment/index.md (97%) rename {content => src/content/docs}/zh-tw/docs/examples/ascii-json.md (97%) rename {content/en => src/content/docs/zh-tw}/docs/examples/bind-body-into-dirrerent-structs.md (99%) rename {content => src/content/docs}/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md (99%) rename {content => src/content/docs}/zh-tw/docs/examples/bind-html-checkbox.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/bind-query-or-post.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/bind-single-binary-with-template.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/bind-uri.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/binding-and-validation.md (99%) rename {content => src/content/docs}/zh-tw/docs/examples/controlling-log-output-coloring.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/cookie.md (97%) rename {content/en => src/content/docs/zh-tw}/docs/examples/custom-http-config.md (97%) rename {content/en => src/content/docs/zh-tw}/docs/examples/custom-middleware.md (97%) rename {content => src/content/docs}/zh-tw/docs/examples/custom-validators.md (99%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/define-format-for-the-log-of-routes.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/goroutines-inside-a-middleware.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/graceful-restart-or-stop.md (99%) rename {content/en => src/content/docs/zh-tw}/docs/examples/grouping-routes.md (97%) rename {content => src/content/docs}/zh-tw/docs/examples/html-rendering.md (99%) rename {content => src/content/docs}/zh-tw/docs/examples/http-method.md (98%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/http2-server-push.md (98%) rename content/zh-tw/docs/examples/_index.md => src/content/docs/zh-tw/docs/examples/index.md (75%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/jsonp.md (97%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/map-as-querystring-or-postform.md (97%) rename {content => src/content/docs}/zh-tw/docs/examples/multipart-urlencoded-binding.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/multipart-urlencoded-form.md (96%) rename {content/en => src/content/docs/zh-tw}/docs/examples/multiple-template.md (94%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/only-bind-query-string.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/param-in-path.md (98%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/pure-json.md (98%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/query-and-post-form.md (97%) rename {content/en => src/content/docs/zh-tw}/docs/examples/querystring-param.md (97%) rename {content/tr => src/content/docs/zh-tw}/docs/examples/redirects.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/rendering.md (99%) rename {content => src/content/docs}/zh-tw/docs/examples/run-multiple-service.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/secure-json.md (97%) rename {content => src/content/docs}/zh-tw/docs/examples/security-headers.md (99%) rename {content => src/content/docs}/zh-tw/docs/examples/serving-data-from-reader.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/serving-static-files.md (95%) rename {content => src/content/docs}/zh-tw/docs/examples/support-lets-encrypt.md (98%) rename content/zh-tw/docs/examples/upload-file/_index.md => src/content/docs/zh-tw/docs/examples/upload-file/index.md (84%) rename {content => src/content/docs}/zh-tw/docs/examples/upload-file/multiple-file.md (98%) rename {content => src/content/docs}/zh-tw/docs/examples/upload-file/single-file.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/using-basicauth-middleware.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/using-middleware.md (98%) rename {content/en => src/content/docs/zh-tw}/docs/examples/without-middleware.md (93%) rename {content => src/content/docs}/zh-tw/docs/examples/write-log.md (97%) create mode 100644 src/content/docs/zh-tw/docs/faq/index.md rename content/zh-tw/docs/features/_index.md => src/content/docs/zh-tw/docs/features/index.md (92%) rename content/zh-tw/docs/_index.md => src/content/docs/zh-tw/docs/index.md (93%) rename content/zh-tw/docs/introduction/_index.md => src/content/docs/zh-tw/docs/introduction/index.md (98%) rename content/zh-tw/docs/jsoniter/_index.md => src/content/docs/zh-tw/docs/jsoniter/index.md (92%) rename content/zh-tw/docs/quickstart/_index.md => src/content/docs/zh-tw/docs/quickstart/index.md (98%) rename content/zh-tw/docs/testing/_index.md => src/content/docs/zh-tw/docs/testing/index.md (98%) rename content/zh-tw/docs/users/_index.md => src/content/docs/zh-tw/docs/users/index.md (97%) create mode 100644 src/content/docs/zh-tw/index.mdx create mode 100644 src/env.d.ts create mode 100644 src/styles/custom.css create mode 100644 tsconfig.json diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index d1c2b73d7..096c0d28b 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -21,21 +21,12 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - - name: Install node module - run: | - npm install -D --save autoprefixer - npm install -D --save postcss-cli - npm audit fix - - - name: Setup Hugo - uses: peaceiris/actions-hugo@v3 - with: - hugo-version: '0.125.4' - extended: true + - name: Install node modules + run: npm install - name: Build run: | - hugo --minify + npm run build echo 'gin-gonic.com' > public/CNAME - name: Deploy @@ -43,4 +34,4 @@ jobs: if: github.ref == 'refs/heads/master' with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./public + publish_dir: ./dist \ No newline at end of file diff --git a/.gitignore b/.gitignore index 516d63513..0790de384 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,24 @@ # Output of the go coverage tool, specifically when used with LiteIDE *.out -public -resources -node_modules -.hugo_build.lock +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store diff --git a/assets/scss/_variables_project.scss b/assets/scss/_variables_project.scss deleted file mode 100644 index ea30c0e40..000000000 --- a/assets/scss/_variables_project.scss +++ /dev/null @@ -1,9 +0,0 @@ -/* - -Add styles or override variables from the theme here. - -*/ - -$primary: #3176d9 !default; -$dark: #3176d9 !default; - diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 000000000..3d9df13af --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,97 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import starlight from '@astrojs/starlight'; +import starlightUtils from "@lorenzo_lewis/starlight-utils"; + +// https://astro.build/config +export default defineConfig({ + + integrations: [ + starlight({ + plugins: [starlightUtils({ + multiSidebar: { + switcherStyle: "horizontalList", + }, + })], + + title: 'Gin Web Framework', + favicon: '/favicon.ico', + logo: { + src: "./src/assets/gin.png", + }, + + defaultLocale: 'en', + locales: { + 'en': { + label: 'English', + lang: 'en', + }, + 'es': { + label: 'Español', + lang: 'es', + }, + "fa": { + label: "fa", + lang: "fa", + }, + "ja": { + label: "ja", + lang: "ja", + }, + "ko-kr": { + label: "ko-kr", + lang: "ko-kr", + }, + "pt": { + label: "pt", + lang: "pt", + }, + "ru": { + label: "ru", + lang: "ru", + }, + "tr": { + label: "tr", + lang: "tr", + }, + "zh-cn": { + label: "zh-cn", + lang: "zh-cn", + }, + "zh-tw": { + label: "zh-tw", + lang: "zh-tw", + }, + }, + + social: { + github: 'https://github.com/gin-gonic/gin', + }, + sidebar: [ + { + label: "Docs", + autogenerate: { directory: "docs" } + }, + { + label: "Blog", + autogenerate: { directory: "blog" } + }, + ], + + customCss: [ + './src/styles/custom.css', + ], + + expressiveCode: { + themes: ['github-dark', 'github-light'], + }, + + editLink: { + baseUrl: 'https://github.com/gin-gonic/website/edit/master/', + }, + + lastUpdated: true, + credits: false, // Opcional + }), + ], +}); diff --git a/content/en/_index.html b/content/en/_index.html deleted file mode 100644 index d5a8b9299..000000000 --- a/content/en/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - Learn More - - - Download - -

The fastest full-featured web framework for Go. Crystal clear.

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**What is Gin?** - -Gin is a web framework written in Golang. - -It features a Martini-like API, but with performance up to 40 times faster than Martini. - -If you need performance and productivity, you will love Gin. - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="Fast" %}} -Radix tree based routing, small memory foot print. No reflection. Predictable API performance. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="Middleware support" %}} -An incoming HTTP request can be handled by a chain of middleware and the final action. -For example: Logger, Authorization, GZIP and finally post a message in the DB. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Crash-free" %}} -Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON validation" %}} -Gin can parse and validate the JSON of a request, checking, for example, the existence of required values. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="Routes grouping" %}} -Organize your routes better. Authorization required vs non required, different API versions. In addition, groups can be nested infinitely without degrading performance. -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="Error management" %}} -Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, middleware can write them to a log file, to a database and send them through the network. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="Rendering built-in" %}} -Gin provides an easy to use API for JSON, XML and HTML rendering. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="Extendable" %}} -Creating new middleware is so easy, just check out the sample code. -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/en/blog/news/_index.md b/content/en/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/en/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/en/blog/releases/_index.md b/content/en/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/en/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/en/featured-background.jpg b/content/en/featured-background.jpg deleted file mode 100644 index 8bb8a4cc6744b7f41dfdab67d7cdda34dd0231d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107408 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 diff --git a/content/en/search.md b/content/en/search.md deleted file mode 100644 index 4cde3a93d..000000000 --- a/content/en/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search Results -layout: search ---- - diff --git a/content/es/_index.html b/content/es/_index.html deleted file mode 100644 index 6095a42f9..000000000 --- a/content/es/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - Ver Más - - - Descargar - -

Claramente, el framework más rápido para desarrollo web en Go.

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**¿Qué es Gin?** - -Gin es un framework para desarrollo web escrito en Golang. - -Cuenta con una API tipo martini con un rendimiento mucho mayor, hasta 40 veces más rápido. - -Si necesitas rendimiento y productividad amarás a Gin. - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="Veloz" %}} -Enrutamiento basado en Radix tree, poco consumo de memoria. Sin reflection. Rendimiento predecible del API. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="Soporte de middleware" %}} -Una petición entrante HTTP puede ser manejada por diversos middleware encadenados y la acción final. -Ejemplo: Logger, Authorization, GZIP y por úlitmo guardar el mensaje en la BD. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Libre de crashes" %}} -Gin puede recibir y recuperarse de un panic ocurrido durante una petición HTTP. Así tu servidor estará siempre disponible. También es posible hacer un reporte del panic, por ejemplo ¡a Sentry! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="Validación de JSON" %}} -Gin permite analizar y validar datos JSON en una petición, y por ejemplo, revisar la existencia de datos requeridos. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="Agrupación de rutas" %}} -Organiza mejor tus rutas: Rutas con autorización vs rutas públicas, versiones diferentes de API. Adicionalmente los grupos de rutas pueden anidarse ilimitadamente sin afectar el rendimiento. -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="Manejo de errores" %}} -Gin ofrece una conveniente forma de recopilar los errores ocurridos durante una petición HTTP. Un middleware puede incluso registrarlos en un archivo de logs, la BD o enviarlos por la red. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="Render incluído" %}} -Gin cuenta con una API fácil de usar para el render de JSON, XML y HTML. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="Extensible" %}} -Crear un middleware nuevo es muy sencillo. Sólo debes revisar los códigos de ejemplo. -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/es/blog/news/_index.md b/content/es/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/es/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/es/blog/releases/_index.md b/content/es/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/es/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/es/featured-background.jpg b/content/es/featured-background.jpg deleted file mode 100644 index 8bb8a4cc6744b7f41dfdab67d7cdda34dd0231d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107408 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 diff --git a/content/es/search.md b/content/es/search.md deleted file mode 100644 index 4cde3a93d..000000000 --- a/content/es/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search Results -layout: search ---- - diff --git a/content/fa/_index.html b/content/fa/_index.html deleted file mode 100644 index e856f95c3..000000000 --- a/content/fa/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - Learn More - - - Download - -

The fastest full-featured web framework for Go. Crystal clear.

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**Gin چیست?** - -جین یک فریم ورک وبه که با زبان گو ساخته شده. - - .جین یک فریم ورک شبیه به مارتینه(یکی دیگه از وب فریم ورک های گو) ولی با پرفورمنس بهتر . چیزی حدود 40 برار سریع تر - - اگه شما نیازمند پرفورمنس و کارایی بالا(بهره بری بالا) هستید عاشق جین میشید. - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="Fast" %}} -Radix tree based routing(مسیریابی مبتنی بر درخت ردیکس), small memory foot print. No reflection(بدون تامل). Predictable API performance. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="Middleware support" %}} -An incoming HTTP request can be handled by a chain of middleware and the final action. -For example: Logger, Authorization, GZIP and finally post a message in the DB. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Crash-free" %}} -Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON validation" %}} -Gin can parse and validate the JSON of a request, checking, for example, the existence of required values. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="Routes grouping" %}} -Organize your routes better. Authorization required vs non required, different API versions. In addition, groups can be nested infinitely without degrading performance. -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="Error management" %}} -Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, middleware can write them to a log file, to a database and send them through the network. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="Rendering built-in" %}} -Gin provides an easy to use API for JSON, XML and HTML rendering. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="Extendable" %}} -Creating new middleware is so easy, just check out the sample code. -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/fa/blog/news/_index.md b/content/fa/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/fa/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/fa/blog/releases/_index.md b/content/fa/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/fa/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/fa/featured-background.jpg b/content/fa/featured-background.jpg deleted file mode 100644 index 8bb8a4cc6744b7f41dfdab67d7cdda34dd0231d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107408 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 diff --git a/content/fa/search.md b/content/fa/search.md deleted file mode 100644 index 4cde3a93d..000000000 --- a/content/fa/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search Results -layout: search ---- - diff --git a/content/ja/_index.html b/content/ja/_index.html deleted file mode 100644 index 776fa4548..000000000 --- a/content/ja/_index.html +++ /dev/null @@ -1,76 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - 詳しく見る - - - ダウンロード - -

Go 言語のためのフル機能の最速 Web フレームワーク。水晶のようにクリア。

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**Ginとは何か?** - -Gin は、Golang で書かれた Web フレームワークです。 - -martini に似た API を持ちながら、非常に優れたパフォーマンスを発揮し、最大で40倍高速であることが特徴です。 - -性能と優れた生産性が必要なら、きっと Gin が好きになれるでしょう。 - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="高速" %}} -基数木(redix tree)を元にしたルーティング、小さなメモリフットプリント、リフレクションなし、予測可能な API 性能などの特徴があります。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="ミドルウェアのサポート" %}} -受信したHTTPリクエストをミドルウェアのチェーンと最終的なアクションによりハンドリングできます。たとえば、ロガー、認証、GZIP、さらに DB へのメッセージのポストなどが可能です。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="クラッシュフリー" %}} -Gin は、HTTP リクエスト中に発生した panic をキャッチし、回復することが可能です。これにより、サーバーが常に利用可能な状態になります。さらに、この panic を Sentry などに報告することもできます。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON のバリデーション" %}} -Gin はリクエストの JSON をパース・検証できます。たとえば、必須の値が存在するかどうかをチェックできます。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="ルートのグループ化" %}} -ルートを上手く組織化しましょう。認証が必要なページと必要のないページ、異なるバージョンの API などを区別できます。さらに、各グループは性能劣化なしに無制限にネストできます。 -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="エラーの管理" %}} -Gin は HTTP リクエスト中に発生したすべてのエラーを収集する便利な手段を提供します。最終的に、ミドルウェアによって、ログファイルへの書き込み、データベースへの格納、ネットワーク越しの送信などが行われます。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="レンダリングのビルトイン" %}} -Gin は JSON、XML、HTML のレンダリングのための簡単に使える API を提供します。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="拡張可能" %}} -新しいミドルウェアの作成は非常に簡単です。サンプルコードを見てみてください。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/ja/blog/news/_index.md b/content/ja/blog/news/_index.md deleted file mode 100644 index ed6a6ce82..000000000 --- a/content/ja/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "ニュース" -linkTitle: "ニュース" -weight: 20 ---- - - diff --git a/content/ja/blog/releases/_index.md b/content/ja/blog/releases/_index.md deleted file mode 100644 index 84b8217e9..000000000 --- a/content/ja/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "リリース" -linkTitle: "リリース" -weight: 20 ---- - - diff --git a/content/ja/search.md b/content/ja/search.md deleted file mode 100644 index 4cde3a93d..000000000 --- a/content/ja/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search Results -layout: search ---- - diff --git a/content/ko-kr/_index.html b/content/ko-kr/_index.html deleted file mode 100644 index fd2efc05d..000000000 --- a/content/ko-kr/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - Learn More - - - Download - -

The fastest full-featured web framework for Go. Crystal clear.

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**What is Gin?** - -Gin is a web framework written in Golang. - -It features a martini-like API with much better performance, up to 40 times faster. - -If you need performance and good productivity, you will love Gin. - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="Fast" %}} -Radix tree based routing, small memory foot print. No reflection. Predictable API performance. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="Middleware support" %}} -A incoming HTTP request can be handled by a chain of middlewares and the final action. -For example: Logger, Authorization, GZIP and finally post a message in the DB. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Crash-free" %}} -Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON validation" %}} -Gin can parse and validate the JSON of a request, checking for example the existence of required values. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="Routes grouping" %}} -Organize your routes better. Authorization required vs non required, different API versions. In addition, the groups can be nested unlimitedly without degrading performance. -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="Error management" %}} -Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, a middleware can write them to a log file, to a database and send them through the network. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="Rendering built-in" %}} -Gin provides an easy to use API for JSON, XML and HTML rendering. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="Extendable" %}} -Creating a new middleware is so easy, just check out the sample codes. -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/ko-kr/blog/news/_index.md b/content/ko-kr/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/ko-kr/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/ko-kr/blog/releases/_index.md b/content/ko-kr/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/ko-kr/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/pt/_index.html b/content/pt/_index.html deleted file mode 100644 index 3dd3e758a..000000000 --- a/content/pt/_index.html +++ /dev/null @@ -1,82 +0,0 @@ -+++ -title = "A Abstração de Web Gin" -linkTitle = "A Abstração de Web Gin" -+++ - -{{< blocks/cover title="A Abstração de Web Gin" image_anchor="top" height="full" color="orange">}} -
- }}"> - Aprenda mais - - - Descarregar - -

A mais rápida e completa abstração de web em Go. Transparente.

-
- {{< blocks/link-down color="info">}} -
- {{< /blocks/cover>}} - - - {{% blocks/lead color="white" %}} - - **O que é a Gin?** - - A Gin é uma abstração de web escrita em Golang. - - Ela apresenta uma API parecida com a Martini, mais com desempenho mais alto, 40 vezes mais rápida do que a Martini. - - Se precisas de desempenho e produtividade, amarás a Gin. - - {{% /blocks/lead %}} - - {{< blocks/section color="light">}} - - {{% blocks/feature icon="fa fa-tachometer-alt" title="Fast" %}} - Árvore de roteamento baseada em Radix, pouco consumo de memória. Sem reflexão. Desempenho de API previsível. - {{% /blocks/feature %}} - - {{% blocks/feature icon="fa fa-bars" title="Suporte à Intermediário" %}} - Uma requisição futura de HTTP pode ser manipulada por uma cadeia de intermediários e pela ação final. - Por exemplo: Registador, Autorização, GZIP e finalmente publicar uma mensagem na BD. - {{% /blocks/feature %}} - - {{% blocks/feature icon="fa fa-life-ring" title="Livre de Avaria" %}} - A Gin pode capturar um pânico que ocorreu durante uma requisição de HTTP e recuperá-lo. Deste maneira, o teu - servidor estará sempre disponível. Também é possível informar este pânico ao Sentry por exemplo! - {{% /blocks/feature %}} - - {{< /blocks/section>}} - - {{< blocks/section color="white">}} - - {{% blocks/feature icon="fa fa-check-circle" title="Validação de JSON" %}} - A Gin pode analisar e validar o JSON de uma requisição, verificando, por exemplo, a existência de valores - obrigatórios. - {{% /blocks/feature %}} - - {{% blocks/feature icon="fa fa-users-cog" title="Agrupamento de Rotas" %}} - Organiza melhor as tuas rotas. Autorização obrigatória vs não obrigatória, diferentes versões de API. Além - disso, grupos podem ser encaixados infinitamente sem a degradação do desempenho. - {{% /blocks/feature %}} - - - {{% blocks/feature icon="fa fa-briefcase" title="Gestão de Erro" %}} - A Gin fornece uma maneira conveniente de coletar todos os erros ocorridos durante uma requisição de HTTP. - Eventualmente, o intermediário pode escrevê-los em um ficheiro de registo, em uma base de dados e enviá-los - através da rede. - {{% /blocks/feature %}} - - {{< /blocks/section>}} - - {{< blocks/section color="info">}} - - {{% blocks/feature icon="fa fa-images" title="Interpretação Embutida" %}} - A Gin fornece uma API fácil de utilizar para interpretação de JSON, XML e HTML. - {{% /blocks/feature %}} - - {{% blocks/feature icon="fa fa-code" title="Extensível" %}} - A criação de um novo intermediário é tão fácil, apenas consulte o código de exemplo. - {{% /blocks/feature %}} - - {{< /blocks/section>}} diff --git a/content/pt/blog/news/_index.md b/content/pt/blog/news/_index.md deleted file mode 100644 index 676125395..000000000 --- a/content/pt/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Novidades" -linkTitle: "Novidades" -weight: 20 ---- - - diff --git a/content/pt/blog/releases/_index.md b/content/pt/blog/releases/_index.md deleted file mode 100644 index af32c7186..000000000 --- a/content/pt/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Lançamentos" -linkTitle: "Lançamentos" -weight: 20 ---- - - diff --git a/content/pt/featured-background.jpg b/content/pt/featured-background.jpg deleted file mode 100644 index 8bb8a4cc6744b7f41dfdab67d7cdda34dd0231d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107408 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 diff --git a/content/pt/search.md b/content/pt/search.md deleted file mode 100644 index 874676cdf..000000000 --- a/content/pt/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Resultados da Pesquisa -layout: search ---- - diff --git a/content/ru/_index.html b/content/ru/_index.html deleted file mode 100644 index 85c54d4f2..000000000 --- a/content/ru/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - Подробнее - - - Скачать - -

Самый быстрый полнофункциональный веб-фреймворк для Go. Кристально чистый.

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**Что такое Gin?** - -Gin - это веб-фреймворк, написанный на языке Golang. - -В нем реализован API, похожий на Martini, но производительность в 40 раз выше, чем у Martini. - -Если вам нужна производительность и продуктивность, Gin вам понравится. - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="Fast" %}} -Маршрутизация на основе радиксного дерева, малый объем памяти. Никаких отражений. Предсказуемая производительность API. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="Middleware support" %}} -Входящий HTTP-запрос может быть обработан цепочкой промежуточного ПО (Middleware) и конечным действием. -Например: Логгер, авторизация, GZIP и, наконец, публикация сообщения в БД. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Crash-free" %}} -Gin может поймать панику, возникшую во время HTTP-запроса, и восстановить ее. Таким образом, ваш сервер будет всегда доступен. Также можно сообщить об этой панике, например, в Sentry! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON validation" %}} -Gin может анализировать и проверять JSON-запросы, например, на наличие необходимых значений. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="Routes grouping" %}} -Организуйте свои маршруты лучше. Требуется и не требуется авторизация, разные версии API. Кроме того, группы могут быть вложены бесконечно без снижения производительности. -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="Error management" %}} -Gin обеспечивает удобный способ сбора всех ошибок, возникших во время HTTP-запроса. В конечном итоге промежуточное ПО (Middleware) может записывать их в файл журнала, в базу данных и отправлять через сеть. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="Rendering built-in" %}} -Gin предоставляет простой в использовании API для рендеринга JSON, XML и HTML. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="Extendable" %}} -Создать новое промежуточное программное обеспечение очень просто, просто посмотрите пример кода. -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/ru/blog/_index.md b/content/ru/blog/_index.md deleted file mode 100644 index bfe08e93d..000000000 --- a/content/ru/blog/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Blog" -linkTitle: "Blog" -menu: - main: - weight: 30 ---- - - -This is the **blog** section. It has two categories: News and Releases. - -Files in these directories will be listed in reverse chronological order. - diff --git a/content/ru/blog/news/_index.md b/content/ru/blog/news/_index.md deleted file mode 100644 index 3263a4f27..000000000 --- a/content/ru/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Новости" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/ru/blog/releases/_index.md b/content/ru/blog/releases/_index.md deleted file mode 100644 index c045332fe..000000000 --- a/content/ru/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Релизы" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/ru/docs/examples/custom-middleware.md b/content/ru/docs/examples/custom-middleware.md deleted file mode 100644 index 2ae281da3..000000000 --- a/content/ru/docs/examples/custom-middleware.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -название: "Custom Middleware" -черновик: false ---- - -```go -func Logger() gin.HandlerFunc { - return func(c *gin.Context) { - t := time.Now() - - // Set example variable - c.Set("example", "12345") - - // before request - - c.Next() - - // after request - latency := time.Since(t) - log.Print(latency) - - // access the status we are sending - status := c.Writer.Status() - log.Println(status) - } -} - -func main() { - r := gin.New() - r.Use(Logger()) - - r.GET("/test", func(c *gin.Context) { - example := c.MustGet("example").(string) - - // it would print: "12345" - log.Println(example) - }) - - // Listen and serve on 0.0.0.0:8080 - r.Run(":8080") -} -``` - diff --git a/content/ru/docs/examples/map-as-querystring-or-postform.md b/content/ru/docs/examples/map-as-querystring-or-postform.md deleted file mode 100644 index dd11f2416..000000000 --- a/content/ru/docs/examples/map-as-querystring-or-postform.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -Заголовок: "Структура данных Map виде строки запроса или параметров постформы" -draft: false ---- - -```sh -POST /post?ids[a]=1234&ids[b]=hello HTTP/1.1 -Content-Type: application/x-www-form-urlencoded - -names[first]=thinkerou&names[second]=tianou -``` - -```go -func main() { - router := gin.Default() - - router.POST("/post", func(c *gin.Context) { - - ids := c.QueryMap("ids") - names := c.PostFormMap("names") - - fmt.Printf("ids: %v; names: %v", ids, names) - }) - router.Run(":8080") -} -``` - -```sh -ids: map[b:hello a:1234], names: map[second:tianou first:thinkerou] -``` - diff --git a/content/ru/docs/examples/multipart-urlencoded-form.md b/content/ru/docs/examples/multipart-urlencoded-form.md deleted file mode 100644 index b9e4b6b6f..000000000 --- a/content/ru/docs/examples/multipart-urlencoded-form.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -Заголовок: "Форма Multipart/Urlencoded" -draft: false ---- - -```go -func main() { - router := gin.Default() - - router.POST("/form_post", func(c *gin.Context) { - message := c.PostForm("message") - nick := c.DefaultPostForm("nick", "anonymous") - - c.JSON(200, gin.H{ - "status": "posted", - "message": message, - "nick": nick, - }) - }) - router.Run(":8080") -} -``` - diff --git a/content/ru/docs/examples/query-and-post-form.md b/content/ru/docs/examples/query-and-post-form.md deleted file mode 100644 index 0942d484f..000000000 --- a/content/ru/docs/examples/query-and-post-form.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -Заголовок: "Форма для запросов и сообщений" -draft: false ---- - -```sh -POST /post?id=1234&page=1 HTTP/1.1 -Content-Type: application/x-www-form-urlencoded - -name=manu&message=this_is_great -``` - -```go -func main() { - router := gin.Default() - - router.POST("/post", func(c *gin.Context) { - - id := c.Query("id") - page := c.DefaultQuery("page", "0") - name := c.PostForm("name") - message := c.PostForm("message") - - fmt.Printf("id: %s; page: %s; name: %s; message: %s", id, page, name, message) - }) - router.Run(":8080") -} -``` - -```sh -id: 1234; page: 1; name: manu; message: this_is_great -``` diff --git a/content/ru/docs/examples/querystring-param.md b/content/ru/docs/examples/querystring-param.md deleted file mode 100644 index 80f4920ad..000000000 --- a/content/ru/docs/examples/querystring-param.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -Заголовок: "Параметры строки запроса" -draft: false ---- - -```go -func main() { - router := gin.Default() - - // Query string parameters are parsed using the existing underlying request object. - // The request responds to a url matching: /welcome?firstname=Jane&lastname=Doe - router.GET("/welcome", func(c *gin.Context) { - firstname := c.DefaultQuery("firstname", "Guest") - lastname := c.Query("lastname") // shortcut for c.Request.URL.Query().Get("lastname") - - c.String(http.StatusOK, "Hello %s %s", firstname, lastname) - }) - router.Run(":8080") -} -``` diff --git a/content/ru/docs/examples/serving-data-from-reader.md b/content/ru/docs/examples/serving-data-from-reader.md deleted file mode 100644 index af201e164..000000000 --- a/content/ru/docs/examples/serving-data-from-reader.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -Заголовок: "Манипуляция данных от читателя" -draft: false ---- - -```go -func main() { - router := gin.Default() - router.GET("/someDataFromReader", func(c *gin.Context) { - response, err := http.Get("https://raw.githubusercontent.com/gin-gonic/logo/master/color.png") - if err != nil || response.StatusCode != http.StatusOK { - c.Status(http.StatusServiceUnavailable) - return - } - - reader := response.Body - contentLength := response.ContentLength - contentType := response.Header.Get("Content-Type") - - extraHeaders := map[string]string{ - "Content-Disposition": `attachment; filename="gopher.png"`, - } - - c.DataFromReader(http.StatusOK, contentLength, contentType, reader, extraHeaders) - }) - router.Run(":8080") -} -``` diff --git a/content/ru/docs/examples/serving-static-files.md b/content/ru/docs/examples/serving-static-files.md deleted file mode 100644 index 308edc0a9..000000000 --- a/content/ru/docs/examples/serving-static-files.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -Заголовок: "Использование статических файлов" -draft: false ---- - -```go -func main() { - router := gin.Default() - router.Static("/assets", "./assets") - router.StaticFS("/more_static", http.Dir("my_file_system")) - router.StaticFile("/favicon.ico", "./resources/favicon.ico") - - // Listen and serve on 0.0.0.0:8080 - router.Run(":8080") -} -``` diff --git a/content/ru/docs/examples/write-log.md b/content/ru/docs/examples/write-log.md deleted file mode 100644 index c42f21c75..000000000 --- a/content/ru/docs/examples/write-log.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -Заголовок: "Как записать файл журнала" -draft: false ---- - -```go -func main() { - // Disable Console Color, you don't need console color when writing the logs to file. - gin.DisableConsoleColor() - - // Logging to a file. - f, _ := os.Create("gin.log") - gin.DefaultWriter = io.MultiWriter(f) - - // Use the following code if you need to write the logs to file and console at the same time. - // gin.DefaultWriter = io.MultiWriter(f, os.Stdout) - - router := gin.Default() - router.GET("/ping", func(c *gin.Context) { - c.String(200, "pong") - }) - -    router.Run(":8080") -} -``` diff --git a/content/ru/featured-background.jpg b/content/ru/featured-background.jpg deleted file mode 100644 index 8bb8a4cc6744b7f41dfdab67d7cdda34dd0231d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107408 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 diff --git a/content/ru/search.md b/content/ru/search.md deleted file mode 100644 index ec487e522..000000000 --- a/content/ru/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Результаты поиска -layout: поиск ---- - diff --git a/content/tr/_index.html b/content/tr/_index.html deleted file mode 100644 index 04904a8b3..000000000 --- a/content/tr/_index.html +++ /dev/null @@ -1,76 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - Daha Fazla Öğren - - - İndir - -

Go ile yazılmış, en hızlı, tam teşekküllü ve kristal berraklığında bir web çerçevesi.

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - - -{{% blocks/lead color="white" %}} - -**Gin nedir??** - -Gin, Golang'da yazılmış bir web çerçevesidir. - -Martini benzeri bir API'ye sahiptir, ancak performans açısından Martini'den 40 kata kadar daha hızlıdır. - -Performans ve üretkenliğe ihtiyacınız varsa Gin'i seveceksiniz. - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="Hızlı" %}} -Radix ağacı tabanlı routing, küçük bellek ayak izi. Reflection yok. Öngörülebilir API performansı. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="Middleware desteği" %}} -Gelen bir HTTP isteği, bir middleware zinciri ve son eylem tarafından işlenebilir. Örneğin: Logger, Authorization, GZIP ve son olarak veritabanına bir mesaj gönderin. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Çökmeye Dirençli" %}} -Gin, bir HTTP isteği sırasında oluşan bir paniği yakalayabilir ve düzeltebilir. Bu şekilde sunucunuz her zaman çalışacaktır. Ayrıca bir paniği Sentry'ye bildirmek de mümkündür. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON doğrulama" %}} -Gin, bir isteğin JSON'ını ayrıştırabilir ve doğrulayabilir. Örneğin gerekli değerlerin varlığını kontrol edebilir. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="Route gruplama" %}} -Routelarınızı daha iyi düzenleyin. Authorization gerektiren veya gerektirmeyen, farklı API sürümlerini kolayca düzenleyin. Ayrıca, gruplar performansı düşürmeden sınırsız olarak iç içe yerleştirilebilir. -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="Hata yönetimi" %}} -Gin, bir HTTP isteği sırasında meydana gelen tüm hataları toplamak için uygun bir yol sağlar. Sonunda, middleware bunları bir log dosyasına veya bir veritabanına yazabilir ve ağ üzerinden gönderebilir. -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="Hazır rendering" %}} -Gin, JSON, XML ve HTML işleme için kullanımı kolay bir API sağlar. -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="Genişletilebilir" %}} -Yeni middleware oluşturmak çok kolaydır, sadece örnek kodları inceleyin. -{{% /blocks/feature %}} - -{{< /blocks/section >}} diff --git a/content/tr/blog/_index.md b/content/tr/blog/_index.md deleted file mode 100644 index bfe08e93d..000000000 --- a/content/tr/blog/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Blog" -linkTitle: "Blog" -menu: - main: - weight: 30 ---- - - -This is the **blog** section. It has two categories: News and Releases. - -Files in these directories will be listed in reverse chronological order. - diff --git a/content/tr/blog/news/_index.md b/content/tr/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/tr/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/tr/blog/releases/_index.md b/content/tr/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/tr/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/tr/search.md b/content/tr/search.md deleted file mode 100644 index 4cde3a93d..000000000 --- a/content/tr/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search Results -layout: search ---- - diff --git a/content/zh-cn/_index.html b/content/zh-cn/_index.html deleted file mode 100644 index 8610720a4..000000000 --- a/content/zh-cn/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - 了解更多 - - - 下载 - -

Go语言最快的全功能Web框架。晶莹剔透。

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - -{{% blocks/lead color="white" %}} - -**什么是Gin?** - -Gin是一个使用Go语言开发的Web框架。 - -它提供类似Martini的API,但性能更佳,速度提升高达40倍。 - -如果你是性能和高效的追求者, 你会爱上 Gin。 - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="快速" %}} -基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="支持中间件" %}} -传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 -例如:Logger,Authorization,GZIP,最终操作 DB。 - -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Crash 处理" %}} -Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON 验证" %}} -Gin 可以解析并验证请求的 JSON,例如检查所需值的存在。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="路由组" %}} -Gin帮助您更好地组织您的路由,例如,按照需要授权和不需要授权和不同API版本进行分组。此外,路由分组可以无限嵌套而不降低性能。 -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="错误管理" %}} -Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="内置渲染" %}} -Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="可扩展性" %}} -新建一个中间件非常简单,去查看[示例代码](https://gin-gonic.com/zh-cn/docs/examples/using-middleware/)吧。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} \ No newline at end of file diff --git a/content/zh-cn/blog/_index.md b/content/zh-cn/blog/_index.md deleted file mode 100644 index bfe08e93d..000000000 --- a/content/zh-cn/blog/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Blog" -linkTitle: "Blog" -menu: - main: - weight: 30 ---- - - -This is the **blog** section. It has two categories: News and Releases. - -Files in these directories will be listed in reverse chronological order. - diff --git a/content/zh-cn/blog/news/_index.md b/content/zh-cn/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/zh-cn/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/zh-cn/blog/releases/_index.md b/content/zh-cn/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/zh-cn/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/zh-cn/search.md b/content/zh-cn/search.md deleted file mode 100644 index 40963495f..000000000 --- a/content/zh-cn/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 搜索结果 -layout: search ---- - diff --git a/content/zh-tw/_index.html b/content/zh-tw/_index.html deleted file mode 100644 index ec687dee2..000000000 --- a/content/zh-tw/_index.html +++ /dev/null @@ -1,77 +0,0 @@ -+++ -title = "Gin Web Framework" -linkTitle = "Gin Web Framework" -+++ - -{{< blocks/cover title="Gin Web Framework" image_anchor="top" height="full" color="orange" >}} -
- }}"> - 了解更多 - - - 下載 - -

Go語言最快的全功能Web框架。晶瑩剔透。

-
- {{< blocks/link-down color="info" >}} -
-{{< /blocks/cover >}} - -{{% blocks/lead color="white" %}} - -**什麼是Gin?** - -Gin是一個使用Go語言開發的Web框架。 - -它提供類似Martini的API,但性能更佳,速度提升高達40倍。 - -如果你是性能和高效的追求者, 你會愛上 Gin。 - -{{% /blocks/lead %}} - -{{< blocks/section color="light" >}} - -{{% blocks/feature icon="fa fa-tachometer-alt" title="快速" %}} -基於 Radix 樹的路由,小內存佔用。沒有反射。可預測的 API 性能。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-bars" title="支持中間件" %}} -傳入的 HTTP 請求可以由一系列中間件和最終操作來處理。 -例如:Logger,Authorization,GZIP,最終操作 DB。 - -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-life-ring" title="Crash 處理" %}} -Gin 可以 catch 一個發生在 HTTP 請求中的 panic 並 recover 它。這樣,你的服務器將始終可用。例如,你可以向 Sentry 報告這個 panic! -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="white" >}} - -{{% blocks/feature icon="fa fa-check-circle" title="JSON 驗證" %}} -Gin 可以解析並驗證請求的 JSON,例如檢查所需值的存在。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-users-cog" title="路由組" %}} -Gin幫助您更好地組織您的路由,例如,按照需要授權和不需要授權和不同API版本進行分組。此外,路由分組可以無限嵌套而不降低性能。 -{{% /blocks/feature %}} - - -{{% blocks/feature icon="fa fa-briefcase" title="錯誤管理" %}} -Gin 提供了一種方便的方法來收集 HTTP 請求期間發生的所有錯誤。最終,中間件可以將它們寫入日誌文件,數據庫並通過網絡發送。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} - -{{< blocks/section color="info" >}} - -{{% blocks/feature icon="fa fa-images" title="內置渲染" %}} -Gin 為 JSON,XML 和 HTML 渲染提供了易於使用的 API。 -{{% /blocks/feature %}} - -{{% blocks/feature icon="fa fa-code" title="可擴展性" %}} -新建一個中間件非常簡單,去查看[示例代碼](https://gin-gonic.com/zh-tw/docs/examples/using-middleware/)吧。 -{{% /blocks/feature %}} - -{{< /blocks/section >}} \ No newline at end of file diff --git a/content/zh-tw/blog/_index.md b/content/zh-tw/blog/_index.md deleted file mode 100644 index bfe08e93d..000000000 --- a/content/zh-tw/blog/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Blog" -linkTitle: "Blog" -menu: - main: - weight: 30 ---- - - -This is the **blog** section. It has two categories: News and Releases. - -Files in these directories will be listed in reverse chronological order. - diff --git a/content/zh-tw/blog/news/_index.md b/content/zh-tw/blog/news/_index.md deleted file mode 100644 index 6d6f3ad0a..000000000 --- a/content/zh-tw/blog/news/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "News" -linkTitle: "News" -weight: 20 ---- - - diff --git a/content/zh-tw/blog/releases/_index.md b/content/zh-tw/blog/releases/_index.md deleted file mode 100644 index 2e7b975d9..000000000 --- a/content/zh-tw/blog/releases/_index.md +++ /dev/null @@ -1,8 +0,0 @@ - ---- -title: "Releases" -linkTitle: "Releases" -weight: 20 ---- - - diff --git a/content/zh-tw/docs/faq/_index.md b/content/zh-tw/docs/faq/_index.md deleted file mode 100644 index 389d1432a..000000000 --- a/content/zh-tw/docs/faq/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "FAQ" -draft: false -weight: 9 ---- - -TODO: record some frequently asked question from GitHub Issue tab. - diff --git a/content/zh-tw/search.md b/content/zh-tw/search.md deleted file mode 100644 index 4cde3a93d..000000000 --- a/content/zh-tw/search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search Results -layout: search ---- - diff --git a/hugo.toml b/hugo.toml deleted file mode 100644 index f97f392a5..000000000 --- a/hugo.toml +++ /dev/null @@ -1,260 +0,0 @@ -baseURL = "https://gin-gonic.com/" -title = "Gin Web Framework" - -enableRobotsTXT = true - -# Will give values to .Lastmod etc. -enableGitInfo = true - -# Language settings -contentDir = "content/en" -defaultContentLanguage = "en" -defaultContentLanguageInSubdir = false -# Useful when translating. -enableMissingTranslationPlaceholders = true - -disableKinds = ["RSS", "taxonomy"] - -# Highlighting config -pygmentsCodeFences = true -pygmentsUseClasses = false -# Use the new Chroma Go highlighter in Hugo. -pygmentsUseClassic = false -#pygmentsOptions = "linenos=table" -# See https://help.farbox.com/pygments.html -pygmentsStyle = "tango" - -# First one is picked as the Twitter card image if not set on page. -#images = ["images/project-illustration.png"] - -#disqusShortname = "gin-gonic" - -# Configure how URLs look like per section. -[permalinks] -blog = "/:section/:year/:month/:day/:slug/" - -## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday -[blackfriday] -plainIDAnchors = true -hrefTargetBlank = true -angledQuotes = false -latexDashes = true - -# Image processing configuration. -[imaging] -resampleFilter = "CatmullRom" -quality = 75 -anchor = "smart" - -[services] -[services.googleAnalytics] -# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. -id = "UA-42425385-2" - -# Language configuration - -[languages] -[languages.en] -title = "Gin Web Framework" -languageName = "English" -# Weight used for sorting. -weight = 1 -[languages.en.params] -description = "Gin Web Framework" - -[languages.zh-cn] -title = "Gin Web Framework" -languageName = "简体中文" -contentDir = "content/zh-cn" -[languages.zh-cn.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.zh-tw] -title = "Gin Web Framework" -languageName = "繁體中文" -contentDir = "content/zh-tw" -[languages.zh-tw.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.ja] -title = "Gin Web Framework" -languageName = "日本語" -contentDir = "content/ja" -[languages.ja.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.ko-kr] -title = "Gin Web Framework" -languageName = "한국어" -contentDir = "content/ko-kr" -[languages.ko-kr.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.es] -title = "Gin Web Framework" -languageName = "Español" -contentDir = "content/es" -[languages.es.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.fa] -title = "Gin Web Framework" -languageName = "Persian" -contentDir = "content/fa" -[languages.fa.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.tr] -title = "Gin Web Framework" -languageName = "Turkish" -contentDir = "content/tr" -[languages.tr.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.pt] -title = "Gin Web Framework" -languageName = "Português" -contentDir = "content/pt" -[languages.pt.params] -description = "A Abstração de Web Gin" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[languages.ru] -title = "Gin Web Framework" -languageName = "Russian" -contentDir = "content/ru" -[languages.ru.params] -description = "Gin Web Framework" -time_format_default = "02.01.2006" -time_format_blog = "02.01.2006" - -[markup] - [markup.goldmark] - [markup.goldmark.renderer] - unsafe = true - -# Everything below this are Site Params - -[params] -copyright = "Gin Team" -#privacy_policy = "https://policies.google.com/privacy" - -# First one is picked as the Twitter card image if not set on page. -# images = ["images/project-illustration.png"] - -# Menu title if your navbar has a versions selector to access old versions of your site. -# This menu appears only if you have at least one [params.versions] set. -version_menu = "Releases" - -# Flag used in the "version-banner" partial to decide whether to display a -# banner on every page indicating that this is an archived version of the docs. -# Set this flag to "true" if you want to display the banner. -archived_version = false - -# The version number for the version of the docs represented in this doc set. -# Used in the "version-banner" partial to display a version number for the -# current doc set. -version = "0.0" - -# A link to latest version of the docs. Used in the "version-banner" partial to -# point people to the main doc site. -url_latest_version = "https://example.com" - -# Repository configuration (URLs for in-page links to opening issues and suggesting changes) -github_repo = "https://github.com/gin-gonic/website" -# An optional link to a related project repo. For example, the sibling repository where your product code lives. -github_project_repo = "https://github.com/google/docsy" - -# Specify a value here if you have would like to reference a different branch for the other github settings like Edit this page or Create project issue. -github_branch = "master" - -# Specify a value here if your content directory is not in your repo's root directory -# github_subdir = "" - -# Google Custom Search Engine ID. Remove or comment out to disable search. -gcs_engine_id = "005538359705255204576:q0elqbxmlfs" - -# User interface configuration -[params.ui] -# Enable to show the side bar menu in its compact state. -sidebar_menu_compact = true -# Set to true to disable breadcrumb navigation. -breadcrumb_disable = false -# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) -sidebar_search_disable = true -# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar -navbar_logo = true -# Set to true to disable the About link in the site footer -footer_about_enable = true - -# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. -# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. -# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, -# add "hide_feedback: true" to the page's front matter. -[params.ui.feedback] -enable = false -# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). -yes = 'Glad to hear it! Please tell us how we can improve.' -no = 'Sorry to hear that. Please tell us how we can improve.' - -[params.links] -# End user relevant links. These will show up on left side of footer and in the community page if you have one. -[[params.links.user]] - name = "Gitter" - url = "https://gitter.im/gin-gonic/gin" - icon = "fab fa-gitter" - desc = "Discussion and help from your fellow users" -#[[params.links.user]] -# name ="Twitter" -# url = "https://example.org/twitter" -# icon = "fab fa-twitter" -# desc = "Follow us on Twitter to get the latest news!" -#[[params.links.user]] -# name = "Stack Overflow" -# url = "https://example.org/stack" -# icon = "fab fa-stack-overflow" -# desc = "Practical questions and curated answers" -# Developer relevant links. These will show up on right side of footer and in the community page if you have one. -[[params.links.developer]] - name = "GitHub" - url = "https://github.com/gin-gonic/gin" - icon = "fab fa-github" - desc = "Development takes place here!" -#[[params.links.developer]] -# name = "Slack" -# url = "https://example.org/slack" -# icon = "fab fa-slack" -# desc = "Chat with other project developers" -#[[params.links.developer]] -# name = "Developer mailing list" -# url = "https://example.org/mail" -# icon = "fa fa-envelope" -# desc = "Discuss development issues around the project" - -[module] - # Uncomment the next line to build and serve using local docsy clone declared in the named Hugo workspace: - # workspace = "docsy.work" - [module.hugoVersion] - extended = true - min = "0.110.0" - [[module.mounts]] - source = "scss" - targets = "scss" - [[module.imports]] - path = "github.com/google/docsy" - disable = false diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html deleted file mode 100644 index 9242b69d6..000000000 --- a/layouts/partials/footer.html +++ /dev/null @@ -1,39 +0,0 @@ -{{ $links := .Site.Params.links }} -
-
-
-
- {{ with $links }} - {{ with index . "user"}} - {{ template "footer-links-block" . }} - {{ end }} - {{ end }} -
-
- {{ with $links }} - {{ with index . "developer"}} - {{ template "footer-links-block" . }} - {{ end }} - {{ end }} -
-
- {{ with .Site.Params.copyright }}© {{ now.Year}} {{ .}} {{ T "footer_all_rights_reserved" }}{{ end }} - {{ with .Site.Params.privacy_policy }}{{ T "footer_privacy_policy" }}{{ end }} - {{ if .Site.Params.ui.footer_about_enable }} - {{ with .Site.GetPage "about" }}

{{ .Title }}

{{ end }} - {{ end }} -
-
-
-
-{{ define "footer-links-block" }} -
    - {{ range . }} -
  • - - - -
  • - {{ end }} -
-{{ end }} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index f11dedf1e..000000000 --- a/package-lock.json +++ /dev/null @@ -1,1025 +0,0 @@ -{ - "name": "tech-doc-hugo", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "tech-doc-hugo", - "version": "0.0.1", - "license": "ISC", - "dependencies": { - "postcss": "^7.0.27" - }, - "devDependencies": { - "autoprefixer": "^10.4.19", - "postcss": "^8.4.38", - "postcss-cli": "^11.0.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.750", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.750.tgz", - "integrity": "sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", - "dev": true, - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-cli": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz", - "integrity": "sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==", - "dev": true, - "dependencies": { - "chokidar": "^3.3.0", - "dependency-graph": "^0.11.0", - "fs-extra": "^11.0.0", - "get-stdin": "^9.0.0", - "globby": "^14.0.0", - "picocolors": "^1.0.0", - "postcss-load-config": "^5.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^5.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "postcss": "index.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-load-config": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.3.tgz", - "integrity": "sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - } - } - }, - "node_modules/postcss-reporter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", - "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "picocolors": "^1.0.0", - "thenby": "^1.3.4" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-cache/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/thenby": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", - "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - } - } -} diff --git a/package.json b/package.json index 0b8682a43..40b16a76c 100644 --- a/package.json +++ b/package.json @@ -1,27 +1,20 @@ { - "name": "tech-doc-hugo", + "name": "", + "type": "module", "version": "0.0.1", - "description": "Hugo theme for technical documentation.", - "main": "none.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" }, - "repository": { - "type": "git", - "url": "git+https://github.com/bep/tech-doc-hugo.git" - }, - "author": "", - "license": "ISC", - "bugs": { - "url": "https://github.com/bep/tech-doc-hugo/issues" - }, - "homepage": "https://github.com/bep/tech-doc-hugo#readme", "dependencies": { - "postcss": "^7.0.27" - }, - "devDependencies": { - "autoprefixer": "^10.4.19", - "postcss": "^8.4.38", - "postcss-cli": "^11.0.0" + "@astrojs/check": "^0.9.3", + "@astrojs/starlight": "^0.27.1", + "@lorenzo_lewis/starlight-utils": "^0.1.2", + "astro": "^4.15.3", + "sharp": "^0.32.5", + "typescript": "^5.6.2" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000..6c437ed4b --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,5316 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@astrojs/check': + specifier: ^0.9.3 + version: 0.9.3(typescript@5.6.2) + '@astrojs/starlight': + specifier: ^0.27.1 + version: 0.27.1(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)) + '@lorenzo_lewis/starlight-utils': + specifier: ^0.1.2 + version: 0.1.2(@astrojs/starlight@0.27.1(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)))(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)) + astro: + specifier: ^4.15.3 + version: 4.15.5(rollup@4.21.3)(typescript@5.6.2) + sharp: + specifier: ^0.32.5 + version: 0.32.6 + typescript: + specifier: ^5.6.2 + version: 5.6.2 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@astrojs/check@0.9.3': + resolution: {integrity: sha512-I6Dz45bMI5YRbp4yK2LKWsHH3/kkHRGdPGruGkLap6pqxhdcNh7oCgN04Ac+haDfc9ow5BYPGPmEhkwef15GQQ==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + + '@astrojs/compiler@2.10.3': + resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==} + + '@astrojs/internal-helpers@0.4.1': + resolution: {integrity: sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==} + + '@astrojs/language-server@2.14.2': + resolution: {integrity: sha512-daUJ/+/2pPF3eGG4tVdXKyw0tabUDrJKwLzU8VTuNhEHIn3VZAIES6VT3+mX0lmKcMiKM8/bjZdfY+fPfmnsMA==} + hasBin: true + peerDependencies: + prettier: ^3.0.0 + prettier-plugin-astro: '>=0.11.0' + peerDependenciesMeta: + prettier: + optional: true + prettier-plugin-astro: + optional: true + + '@astrojs/markdown-remark@5.2.0': + resolution: {integrity: sha512-vWGM24KZXz11jR3JO+oqYU3T2qpuOi4uGivJ9SQLCAI01+vEkHC60YJMRvHPc+hwd60F7euNs1PeOEixIIiNQw==} + + '@astrojs/mdx@3.1.6': + resolution: {integrity: sha512-YCEIvNgoQG3oVhe9codH4TX6zjvkl7KGla19yZO5RCnvjv2d9zyrfWqJ98I6/m18PbEY3k8Wjvha0IIf5eZ2sQ==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + astro: ^4.8.0 + + '@astrojs/prism@3.1.0': + resolution: {integrity: sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + + '@astrojs/sitemap@3.1.6': + resolution: {integrity: sha512-1Qp2NvAzVImqA6y+LubKi1DVhve/hXXgFvB0szxiipzh7BvtuKe4oJJ9dXSqaubaTkt4nMa6dv6RCCAYeB6xaQ==} + + '@astrojs/starlight@0.27.1': + resolution: {integrity: sha512-L2hEgN/Tk7tfBDeaqUOgOpey5NcUL78FuQa06iNxyZ6RjyYyuXSniOoFxZYIo5PpY9O1dLdK22PkZyCDpO729g==} + peerDependencies: + astro: ^4.8.6 + + '@astrojs/telemetry@3.1.0': + resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + + '@astrojs/yaml2ts@0.2.1': + resolution: {integrity: sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.2': + resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@ctrl/tinycolor@4.1.0': + resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + engines: {node: '>=14'} + + '@emmetio/abbreviation@2.3.3': + resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} + + '@emmetio/css-abbreviation@2.1.8': + resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} + + '@emmetio/css-parser@0.4.0': + resolution: {integrity: sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==} + + '@emmetio/html-matcher@1.3.0': + resolution: {integrity: sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==} + + '@emmetio/scanner@1.0.4': + resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} + + '@emmetio/stream-reader-utils@0.1.0': + resolution: {integrity: sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==} + + '@emmetio/stream-reader@2.2.0': + resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==} + + '@emnapi/runtime@1.2.0': + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@expressive-code/core@0.35.6': + resolution: {integrity: sha512-xGqCkmfkgT7lr/rvmfnYdDSeTdCSp1otAHgoFS6wNEeO7wGDPpxdosVqYiIcQ8CfWUABh/pGqWG90q+MV3824A==} + + '@expressive-code/plugin-frames@0.35.6': + resolution: {integrity: sha512-CqjSWjDJ3wabMJZfL9ZAzH5UAGKg7KWsf1TBzr4xvUbZvWoBtLA/TboBML0U1Ls8h/4TRCIvR4VEb8dv5+QG3w==} + + '@expressive-code/plugin-shiki@0.35.6': + resolution: {integrity: sha512-xm+hzi9BsmhkDUGuyAWIydOAWer7Cs9cj8FM0t4HXaQ+qCubprT6wJZSKUxuvFJIUsIOqk1xXFaJzGJGnWtKMg==} + + '@expressive-code/plugin-text-markers@0.35.6': + resolution: {integrity: sha512-/k9eWVZSCs+uEKHR++22Uu6eIbHWEciVHbIuD8frT8DlqTtHYaaiwHPncO6KFWnGDz5i/gL7oyl6XmOi/E6GVg==} + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@lorenzo_lewis/starlight-utils@0.1.2': + resolution: {integrity: sha512-qj7pXh+L0dzt3rryVt6WxqTILqhmUVAwepwJN5C65fk1YaB7dx6SrPk65h3E7Q2An+2GWnnADQX7Fnb56Msx9Q==} + peerDependencies: + '@astrojs/starlight': '>=0.16.0' + astro: '>=4.0.0' + + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@oslojs/encoding@0.4.1': + resolution: {integrity: sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q==} + + '@pagefind/darwin-arm64@1.1.1': + resolution: {integrity: sha512-tZ9tysUmQpFs2EqWG2+E1gc+opDAhSyZSsgKmFzhnWfkK02YHZhvL5XJXEZDqYy3s1FAKhwjTg8XDxneuBlDZQ==} + cpu: [arm64] + os: [darwin] + + '@pagefind/darwin-x64@1.1.1': + resolution: {integrity: sha512-ChohLQ39dLwaxQv0jIQB/SavP3TM5K5ENfDTqIdzLkmfs3+JlzSDyQKcJFjTHYcCzQOZVeieeGq8PdqvLJxJxQ==} + cpu: [x64] + os: [darwin] + + '@pagefind/default-ui@1.1.1': + resolution: {integrity: sha512-ZM0zDatWDnac/VGHhQCiM7UgA4ca8jpjA+VfuTJyHJBaxGqZMQnm4WoTz9E0KFcue1Bh9kxpu7uWFZfwpZZk0A==} + + '@pagefind/linux-arm64@1.1.1': + resolution: {integrity: sha512-H5P6wDoCoAbdsWp0Zx0DxnLUrwTGWGLu/VI1rcN2CyFdY2EGSvPQsbGBMrseKRNuIrJDFtxHHHyjZ7UbzaM9EA==} + cpu: [arm64] + os: [linux] + + '@pagefind/linux-x64@1.1.1': + resolution: {integrity: sha512-yJs7tTYbL2MI3HT+ngs9E1BfUbY9M4/YzA0yEM5xBo4Xl8Yu8Qg2xZTOQ1/F6gwvMrjCUFo8EoACs6LRDhtMrQ==} + cpu: [x64] + os: [linux] + + '@pagefind/windows-x64@1.1.1': + resolution: {integrity: sha512-b7/qPqgIl+lMzkQ8fJt51SfguB396xbIIR+VZ3YrL2tLuyifDJ1wL5mEm+ddmHxJ2Fki340paPcDan9en5OmAw==} + cpu: [x64] + os: [win32] + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.21.3': + resolution: {integrity: sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.3': + resolution: {integrity: sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.21.3': + resolution: {integrity: sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.3': + resolution: {integrity: sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.3': + resolution: {integrity: sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.21.3': + resolution: {integrity: sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.21.3': + resolution: {integrity: sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.21.3': + resolution: {integrity: sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': + resolution: {integrity: sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.3': + resolution: {integrity: sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.21.3': + resolution: {integrity: sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.21.3': + resolution: {integrity: sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.21.3': + resolution: {integrity: sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.21.3': + resolution: {integrity: sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.3': + resolution: {integrity: sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.3': + resolution: {integrity: sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==} + cpu: [x64] + os: [win32] + + '@shikijs/core@1.17.6': + resolution: {integrity: sha512-9ztslig6/YmCg/XwESAXbKjAjOhaq6HVced9NY6qcbDz1X5g/S90Wco2vMjBNX/6V71ASkzri76JewSGPa7kiQ==} + + '@shikijs/engine-javascript@1.17.6': + resolution: {integrity: sha512-5EEZj8tVcierNxm4V0UMS2PVoflb0UJPalWWV8l9rRg+oOfnr5VivqBJbkyq5grltVPvByIXvVbY8GSM/356jQ==} + + '@shikijs/engine-oniguruma@1.17.6': + resolution: {integrity: sha512-NLfWDMXFYe0nDHFbEoyZdz89aIIey3bTfF3zLYSUNTXks5s4uinZVmuPOFf1HfTeGqIn8uErJSBc3VnpJO7Alw==} + + '@shikijs/types@1.17.6': + resolution: {integrity: sha512-ndTFa2TJi2w51ddKQDn3Jy8f6K4E5Q2x3dA3Hmsd3+YmxDQ10UWHjcw7VbVbKzv3VcUvYPLy+z9neqytSzUMUg==} + + '@shikijs/vscode-textmate@9.2.2': + resolution: {integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/cookie@0.6.0': + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@volar/kit@2.4.4': + resolution: {integrity: sha512-6WusqQ4YhtIYbqY3nlLnkSbfBRSakx5HcTKdF+WjGKBj5D74ux9nsLq3uAqQlbpKgVkkt425KEDymQTb4C36Kg==} + peerDependencies: + typescript: '*' + + '@volar/language-core@2.4.4': + resolution: {integrity: sha512-kO9k4kTLfxpg+6lq7/KAIv3m2d62IHuCL6GbVgYZTpfKvIGoAIlDxK7pFcB/eczN2+ydg/vnyaeZ6SGyZrJw2w==} + + '@volar/language-server@2.4.4': + resolution: {integrity: sha512-rBzTgRw4/msZSFRSJURFU53qcDfBNm40NtYoMwOyaZuPcLzdgDAZ3hzVE80Rj0pk82LQJ0AfH13Y+EYFvUWkfQ==} + + '@volar/language-service@2.4.4': + resolution: {integrity: sha512-QXfZV3IpJdcNQcdWFEG+iXOIb3NiC6/cNIQeH2QAOMx2vpkshuMcWD7AzrhVavobircOXJNiGmRGwqf2okYE3A==} + + '@volar/source-map@2.4.4': + resolution: {integrity: sha512-xG3PZqOP2haG8XG4Pg3PD1UGDAdqZg24Ru8c/qYjYAnmcj6GBR64mstx+bZux5QOyRaJK+/lNM/RnpvBD3489g==} + + '@volar/typescript@2.4.4': + resolution: {integrity: sha512-QQMQRVj0fVHJ3XdRKiS1LclhG0VBXdFYlyuHRQF/xLk2PuJuHNWP26MDZNvEVCvnyUQuUQhIAfylwY5TGPgc6w==} + + '@vscode/emmet-helper@2.9.3': + resolution: {integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==} + + '@vscode/l10n@0.0.18': + resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.1: + resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} + engines: {node: '>= 0.4'} + + array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + + astro-expressive-code@0.35.6: + resolution: {integrity: sha512-1U4KrvFuodaCV3z4I1bIR16SdhQlPkolGsYTtiANxPZUVv/KitGSCTjzksrkPonn1XuwVqvnwmUUVzTLWngnBA==} + peerDependencies: + astro: ^4.0.0-beta || ^3.3.0 + + astro-integration-kit@0.14.0: + resolution: {integrity: sha512-Tg85rlRRKEkTK2a02XJByvNOuzGN1eDIfAJxwHPUTOn/iE7yFxL9RaLqSdO8X8PxnbL4e1H6OkK6AVFnHZob9A==} + peerDependencies: + '@astrojs/db': ^0.9 || ^0.10 || ^0.11 + astro: ^4.4.1 + peerDependenciesMeta: + '@astrojs/db': + optional: true + + astro@4.15.5: + resolution: {integrity: sha512-zcHXpRav0dtYpddxoGMDN7A7SKrGL9wsu5IxLjqCcZhylfZ/5mfLfoGYnSg7aFwuAleUXP66lyfY+GDbFTbF2w==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} + hasBin: true + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + bare-events@2.4.2: + resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + + bare-fs@2.3.5: + resolution: {integrity: sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==} + + bare-os@2.4.4: + resolution: {integrity: sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==} + + bare-path@2.1.3: + resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} + + bare-stream@2.3.0: + resolution: {integrity: sha512-pVRWciewGUeCyKEuRxwv06M079r+fRjAQjBEK2P6OYGrO43O+Z0LrPZZEjlc4mB6C2RpZ9AxJ1s7NLEtOHO6eA==} + + base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + + bcp-47@2.1.0: + resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-lite@1.0.30001660: + resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + css-selector-parser@3.0.5: + resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} + + devalue@5.0.0: + resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dset@3.1.4: + resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} + engines: {node: '>=4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.22: + resolution: {integrity: sha512-tKYm5YHPU1djz0O+CGJ+oJIvimtsCcwR2Z9w7Skh08lUdyzXY5djods3q+z2JkWdb7tCcmM//eVavSRAiaPRNg==} + + emmet@2.4.7: + resolution: {integrity: sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + + expressive-code@0.35.6: + resolution: {integrity: sha512-+mx+TPTbMqgo0mL92Xh9QgjW0kSQIsEivMgEcOnaqKqL7qCw8Vkqc5Rg/di7ZYw4aMUSr74VTc+w8GQWu05j1g==} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-uri@3.0.1: + resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + + flattie@1.1.1: + resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} + engines: {node: '>=8'} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + hast-util-embedded@3.0.0: + resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} + + hast-util-from-html@2.0.2: + resolution: {integrity: sha512-HwOHwxdt2zC5KQ/CNoybBntRook2zJvfZE/u5/Ap7aLPe22bDqen7KwGkOqOyzL5zIqKwiYX/OTtE0FWgr6XXA==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + + hast-util-is-body-ok-link@3.0.0: + resolution: {integrity: sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-phrasing@3.0.1: + resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} + + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + + hast-util-select@6.0.2: + resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-html@9.0.2: + resolution: {integrity: sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==} + + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + + hast-util-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + hastscript@9.0.0: + resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==} + + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-whitespace-sensitive-tag-names@3.0.0: + resolution: {integrity: sha512-KlClZ3/Qy5UgvpvVvDomGhnQhNWH5INE8GwvSIQ9CWt1K0zbbXrl7eN5bWaafOZgtmO3jMPwUqmrmEwinhPq1w==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + + mdast-util-mdx-jsx@3.1.3: + resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-directive@3.0.1: + resolution: {integrity: sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.0: + resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.1: + resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.2: + resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + + neotraverse@0.6.18: + resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} + engines: {node: '>= 10'} + + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + + node-abi@3.67.0: + resolution: {integrity: sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==} + engines: {node: '>=10'} + + node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + oniguruma-to-js@0.4.3: + resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + + ora@8.1.0: + resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} + engines: {node: '>=18'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@6.1.0: + resolution: {integrity: sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==} + engines: {node: '>=18'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-queue@8.0.1: + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} + + p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pagefind@1.1.1: + resolution: {integrity: sha512-U2YR0dQN5B2fbIXrLtt/UXNS0yWSSYfePaad1KcBPTi0p+zRtsVjwmoPaMQgTks5DnHNbmDxyJUL5TGaLljK3A==} + hasBin: true + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss@8.4.45: + resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + engines: {node: ^10 || ^12 || >=14} + + prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + + preferred-pm@4.0.0: + resolution: {integrity: sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==} + engines: {node: '>=18.12'} + + prettier@2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} + engines: {node: '>=10.13.0'} + hasBin: true + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + engines: {node: '>= 4'} + + regex@4.3.2: + resolution: {integrity: sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==} + + rehype-expressive-code@0.35.6: + resolution: {integrity: sha512-pPdE+pRcRw01kxMOwHQjuRxgwlblZt5+wAc3w2aPGgmcnn57wYjn07iKO7zaznDxYVxMYVvYlnL+R3vWFQS4Gw==} + + rehype-format@5.0.0: + resolution: {integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==} + + rehype-minify-whitespace@6.0.0: + resolution: {integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==} + + rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + + rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + + remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-smartypants@3.0.2: + resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} + engines: {node: '>=16.0.0'} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + request-light@0.5.8: + resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==} + + request-light@0.7.0: + resolution: {integrity: sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} + + retext-smartypants@6.1.1: + resolution: {integrity: sha512-onsHf34i/GzgElJgtT1K2V+31yEhWs7NJboKNxXJcmVMMPxLpgxZ9iADoMdydd6j/bHic5F/aNq0CGqElEtu2g==} + + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} + + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup@4.21.3: + resolution: {integrity: sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.0'} + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shiki@1.17.6: + resolution: {integrity: sha512-RejGugKpDM75vh6YtF9R771acxHRDikC/01kxsUGW+Pnaz3pTY+c8aZB5CnD7p0vuFPs1HaoAIU/4E+NCfS+mQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + stream-replace-string@2.0.0: + resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} + + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + + tar-fs@3.0.6: + resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + text-decoder@1.2.0: + resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinyexec@0.3.0: + resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + tsconfck@3.1.3: + resolution: {integrity: sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + typesafe-path@0.2.2: + resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} + + typescript-auto-import-cache@0.3.3: + resolution: {integrity: sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==} + + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite@5.4.5: + resolution: {integrity: sha512-pXqR0qtb2bTwLkev4SE3r4abCNioP3GkjvIDLlzziPpXtHgiJIjuKl+1GN6ESOT3wMjG3JTeARopj2SwYaHTOA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitefu@1.0.2: + resolution: {integrity: sha512-0/iAvbXyM3RiPPJ4lyD4w6Mjgtf4ejTK6TPvTNG3H32PLwuT0N/ZjJLiXug7ETE/LWtTeHw9WRv7uX/tIKYyKg==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + + volar-service-css@0.0.61: + resolution: {integrity: sha512-Ct9L/w+IB1JU8F4jofcNCGoHy6TF83aiapfZq9A0qYYpq+Kk5dH+ONS+rVZSsuhsunq8UvAuF8Gk6B8IFLfniw==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-emmet@0.0.61: + resolution: {integrity: sha512-iiYqBxjjcekqrRruw4COQHZME6EZYWVbkHjHDbULpml3g8HGJHzpAMkj9tXNCPxf36A+f1oUYjsvZt36qPg4cg==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-html@0.0.61: + resolution: {integrity: sha512-yFE+YmmgqIL5HI4ORqP++IYb1QaGcv+xBboI0WkCxJJ/M35HZj7f5rbT3eQ24ECLXFbFCFanckwyWJVz5KmN3Q==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-prettier@0.0.61: + resolution: {integrity: sha512-F612nql5I0IS8HxXemCGvOR2Uxd4XooIwqYVUvk7WSBxP/+xu1jYvE3QJ7EVpl8Ty3S4SxPXYiYTsG3bi+gzIQ==} + peerDependencies: + '@volar/language-service': ~2.4.0 + prettier: ^2.2 || ^3.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + prettier: + optional: true + + volar-service-typescript-twoslash-queries@0.0.61: + resolution: {integrity: sha512-99FICGrEF0r1E2tV+SvprHPw9Knyg7BdW2fUch0tf59kG+KG+Tj4tL6tUg+cy8f23O/VXlmsWFMIE+bx1dXPnQ==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-typescript@0.0.61: + resolution: {integrity: sha512-4kRHxVbW7wFBHZWRU6yWxTgiKETBDIJNwmJUAWeP0mHaKpnDGj/astdRFKqGFRYVeEYl45lcUPhdJyrzanjsdQ==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + volar-service-yaml@0.0.61: + resolution: {integrity: sha512-L+gbDiLDQQ1rZUbJ3mf3doDsoQUa8OZM/xdpk/unMg1Vz24Zmi2Ign8GrZyBD7bRoIQDwOH9gdktGDKzRPpUNw==} + peerDependencies: + '@volar/language-service': ~2.4.0 + peerDependenciesMeta: + '@volar/language-service': + optional: true + + vscode-css-languageservice@6.3.1: + resolution: {integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==} + + vscode-html-languageservice@5.3.1: + resolution: {integrity: sha512-ysUh4hFeW/WOWz/TO9gm08xigiSsV/FOAZ+DolgJfeLftna54YdmZ4A+lIn46RbdO3/Qv5QHTn1ZGqmrXQhZyA==} + + vscode-json-languageservice@4.1.8: + resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==} + engines: {npm: '>=7.0.0'} + + vscode-jsonrpc@6.0.0: + resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} + engines: {node: '>=8.0.0 || >=10.0.0'} + + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageserver-protocol@3.16.0: + resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + + vscode-languageserver-types@3.16.0: + resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + vscode-languageserver@7.0.0: + resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} + hasBin: true + + vscode-languageserver@9.0.1: + resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + hasBin: true + + vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + + vscode-uri@2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + + vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + + which-pm@3.0.0: + resolution: {integrity: sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==} + engines: {node: '>=18.12'} + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + xxhash-wasm@1.0.2: + resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml-language-server@1.15.0: + resolution: {integrity: sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==} + hasBin: true + + yaml@2.2.2: + resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} + engines: {node: '>= 14'} + + yaml@2.5.1: + resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + zod-to-json-schema@3.23.3: + resolution: {integrity: sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==} + peerDependencies: + zod: ^3.23.3 + + zod-to-ts@1.2.0: + resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} + peerDependencies: + typescript: ^4.9.4 || ^5.0.2 + zod: ^3 + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@astrojs/check@0.9.3(typescript@5.6.2)': + dependencies: + '@astrojs/language-server': 2.14.2(typescript@5.6.2) + chokidar: 3.6.0 + fast-glob: 3.3.2 + kleur: 4.1.5 + typescript: 5.6.2 + yargs: 17.7.2 + transitivePeerDependencies: + - prettier + - prettier-plugin-astro + + '@astrojs/compiler@2.10.3': {} + + '@astrojs/internal-helpers@0.4.1': {} + + '@astrojs/language-server@2.14.2(typescript@5.6.2)': + dependencies: + '@astrojs/compiler': 2.10.3 + '@astrojs/yaml2ts': 0.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@volar/kit': 2.4.4(typescript@5.6.2) + '@volar/language-core': 2.4.4 + '@volar/language-server': 2.4.4 + '@volar/language-service': 2.4.4 + '@volar/typescript': 2.4.4 + fast-glob: 3.3.2 + muggle-string: 0.4.1 + volar-service-css: 0.0.61(@volar/language-service@2.4.4) + volar-service-emmet: 0.0.61(@volar/language-service@2.4.4) + volar-service-html: 0.0.61(@volar/language-service@2.4.4) + volar-service-prettier: 0.0.61(@volar/language-service@2.4.4) + volar-service-typescript: 0.0.61(@volar/language-service@2.4.4) + volar-service-typescript-twoslash-queries: 0.0.61(@volar/language-service@2.4.4) + volar-service-yaml: 0.0.61(@volar/language-service@2.4.4) + vscode-html-languageservice: 5.3.1 + vscode-uri: 3.0.8 + transitivePeerDependencies: + - typescript + + '@astrojs/markdown-remark@5.2.0': + dependencies: + '@astrojs/prism': 3.1.0 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.2 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.1.0 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + remark-smartypants: 3.0.2 + shiki: 1.17.6 + unified: 11.0.5 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/mdx@3.1.6(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2))': + dependencies: + '@astrojs/markdown-remark': 5.2.0 + '@mdx-js/mdx': 3.0.1 + acorn: 8.12.1 + astro: 4.15.5(rollup@4.21.3)(typescript@5.6.2) + es-module-lexer: 1.5.4 + estree-util-visit: 2.0.0 + gray-matter: 4.0.3 + hast-util-to-html: 9.0.2 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.0 + remark-smartypants: 3.0.2 + source-map: 0.7.4 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/prism@3.1.0': + dependencies: + prismjs: 1.29.0 + + '@astrojs/sitemap@3.1.6': + dependencies: + sitemap: 7.1.2 + stream-replace-string: 2.0.0 + zod: 3.23.8 + + '@astrojs/starlight@0.27.1(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2))': + dependencies: + '@astrojs/mdx': 3.1.6(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)) + '@astrojs/sitemap': 3.1.6 + '@pagefind/default-ui': 1.1.1 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + astro: 4.15.5(rollup@4.21.3)(typescript@5.6.2) + astro-expressive-code: 0.35.6(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)) + bcp-47: 2.1.0 + hast-util-from-html: 2.0.2 + hast-util-select: 6.0.2 + hast-util-to-string: 3.0.0 + hastscript: 9.0.0 + mdast-util-directive: 3.0.0 + mdast-util-to-markdown: 2.1.0 + mdast-util-to-string: 4.0.0 + pagefind: 1.1.1 + rehype: 13.0.1 + rehype-format: 5.0.0 + remark-directive: 3.0.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@astrojs/telemetry@3.1.0': + dependencies: + ci-info: 4.0.0 + debug: 4.3.7 + dlv: 1.1.3 + dset: 3.1.4 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + + '@astrojs/yaml2ts@0.2.1': + dependencies: + yaml: 2.5.1 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.25.6 + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helpers@7.25.6': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.25.6 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@ctrl/tinycolor@4.1.0': {} + + '@emmetio/abbreviation@2.3.3': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/css-abbreviation@2.1.8': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/css-parser@0.4.0': + dependencies: + '@emmetio/stream-reader': 2.2.0 + '@emmetio/stream-reader-utils': 0.1.0 + + '@emmetio/html-matcher@1.3.0': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/scanner@1.0.4': {} + + '@emmetio/stream-reader-utils@0.1.0': {} + + '@emmetio/stream-reader@2.2.0': {} + + '@emnapi/runtime@1.2.0': + dependencies: + tslib: 2.7.0 + optional: true + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@expressive-code/core@0.35.6': + dependencies: + '@ctrl/tinycolor': 4.1.0 + hast-util-select: 6.0.2 + hast-util-to-html: 9.0.2 + hast-util-to-text: 4.0.2 + hastscript: 9.0.0 + postcss: 8.4.45 + postcss-nested: 6.2.0(postcss@8.4.45) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + + '@expressive-code/plugin-frames@0.35.6': + dependencies: + '@expressive-code/core': 0.35.6 + + '@expressive-code/plugin-shiki@0.35.6': + dependencies: + '@expressive-code/core': 0.35.6 + shiki: 1.17.6 + + '@expressive-code/plugin-text-markers@0.35.6': + dependencies: + '@expressive-code/core': 0.35.6 + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.2.0 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@lorenzo_lewis/starlight-utils@0.1.2(@astrojs/starlight@0.27.1(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)))(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2))': + dependencies: + '@astrojs/starlight': 0.27.1(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)) + astro: 4.15.5(rollup@4.21.3)(typescript@5.6.2) + astro-integration-kit: 0.14.0(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)) + transitivePeerDependencies: + - '@astrojs/db' + + '@mdx-js/mdx@3.0.1': + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.13 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@oslojs/encoding@0.4.1': {} + + '@pagefind/darwin-arm64@1.1.1': + optional: true + + '@pagefind/darwin-x64@1.1.1': + optional: true + + '@pagefind/default-ui@1.1.1': {} + + '@pagefind/linux-arm64@1.1.1': + optional: true + + '@pagefind/linux-x64@1.1.1': + optional: true + + '@pagefind/windows-x64@1.1.1': + optional: true + + '@rollup/pluginutils@5.1.0(rollup@4.21.3)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.21.3 + + '@rollup/rollup-android-arm-eabi@4.21.3': + optional: true + + '@rollup/rollup-android-arm64@4.21.3': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.3': + optional: true + + '@rollup/rollup-darwin-x64@4.21.3': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.3': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.3': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.3': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.3': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.21.3': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.21.3': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.21.3': + optional: true + + '@rollup/rollup-linux-x64-musl@4.21.3': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.21.3': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.21.3': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.21.3': + optional: true + + '@shikijs/core@1.17.6': + dependencies: + '@shikijs/engine-javascript': 1.17.6 + '@shikijs/engine-oniguruma': 1.17.6 + '@shikijs/types': 1.17.6 + '@shikijs/vscode-textmate': 9.2.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.2 + + '@shikijs/engine-javascript@1.17.6': + dependencies: + '@shikijs/types': 1.17.6 + oniguruma-to-js: 0.4.3 + + '@shikijs/engine-oniguruma@1.17.6': + dependencies: + '@shikijs/types': 1.17.6 + '@shikijs/vscode-textmate': 9.2.2 + + '@shikijs/types@1.17.6': + dependencies: + '@shikijs/vscode-textmate': 9.2.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@9.2.2': {} + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.6 + + '@types/cookie@0.6.0': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdx@2.0.13': {} + + '@types/ms@0.7.34': {} + + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 3.0.3 + + '@types/node@17.0.45': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/unist@2.0.11': {} + + '@types/unist@3.0.3': {} + + '@ungap/structured-clone@1.2.0': {} + + '@volar/kit@2.4.4(typescript@5.6.2)': + dependencies: + '@volar/language-service': 2.4.4 + '@volar/typescript': 2.4.4 + typesafe-path: 0.2.2 + typescript: 5.6.2 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + '@volar/language-core@2.4.4': + dependencies: + '@volar/source-map': 2.4.4 + + '@volar/language-server@2.4.4': + dependencies: + '@volar/language-core': 2.4.4 + '@volar/language-service': 2.4.4 + '@volar/typescript': 2.4.4 + path-browserify: 1.0.1 + request-light: 0.7.0 + vscode-languageserver: 9.0.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + '@volar/language-service@2.4.4': + dependencies: + '@volar/language-core': 2.4.4 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + + '@volar/source-map@2.4.4': {} + + '@volar/typescript@2.4.4': + dependencies: + '@volar/language-core': 2.4.4 + path-browserify: 1.0.1 + vscode-uri: 3.0.8 + + '@vscode/emmet-helper@2.9.3': + dependencies: + emmet: 2.4.7 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-uri: 2.1.2 + + '@vscode/l10n@0.0.18': {} + + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.1 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-query@5.3.1: {} + + array-iterate@2.0.1: {} + + ast-types@0.16.1: + dependencies: + tslib: 2.7.0 + + astring@1.9.0: {} + + astro-expressive-code@0.35.6(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)): + dependencies: + astro: 4.15.5(rollup@4.21.3)(typescript@5.6.2) + rehype-expressive-code: 0.35.6 + + astro-integration-kit@0.14.0(astro@4.15.5(rollup@4.21.3)(typescript@5.6.2)): + dependencies: + astro: 4.15.5(rollup@4.21.3)(typescript@5.6.2) + pathe: 1.1.2 + recast: 0.23.9 + + astro@4.15.5(rollup@4.21.3)(typescript@5.6.2): + dependencies: + '@astrojs/compiler': 2.10.3 + '@astrojs/internal-helpers': 0.4.1 + '@astrojs/markdown-remark': 5.2.0 + '@astrojs/telemetry': 3.1.0 + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/types': 7.25.6 + '@oslojs/encoding': 0.4.1 + '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@types/babel__core': 7.20.5 + '@types/cookie': 0.6.0 + acorn: 8.12.1 + aria-query: 5.3.1 + axobject-query: 4.1.0 + boxen: 7.1.1 + ci-info: 4.0.0 + clsx: 2.1.1 + common-ancestor-path: 1.0.1 + cookie: 0.6.0 + cssesc: 3.0.0 + debug: 4.3.7 + deterministic-object-hash: 2.0.2 + devalue: 5.0.0 + diff: 5.2.0 + dlv: 1.1.3 + dset: 3.1.4 + es-module-lexer: 1.5.4 + esbuild: 0.21.5 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + fastq: 1.17.1 + flattie: 1.1.1 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + html-escaper: 3.0.3 + http-cache-semantics: 4.1.1 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.11 + magicast: 0.3.5 + micromatch: 4.0.8 + mrmime: 2.0.0 + neotraverse: 0.6.18 + ora: 8.1.0 + p-limit: 6.1.0 + p-queue: 8.0.1 + preferred-pm: 4.0.0 + prompts: 2.4.2 + rehype: 13.0.1 + semver: 7.6.3 + shiki: 1.17.6 + string-width: 7.2.0 + strip-ansi: 7.1.0 + tinyexec: 0.3.0 + tsconfck: 3.1.3(typescript@5.6.2) + unist-util-visit: 5.0.0 + vfile: 6.0.3 + vite: 5.4.5 + vitefu: 1.0.2(vite@5.4.5) + which-pm: 3.0.0 + xxhash-wasm: 1.0.2 + yargs-parser: 21.1.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.3(zod@3.23.8) + zod-to-ts: 1.2.0(typescript@5.6.2)(zod@3.23.8) + optionalDependencies: + sharp: 0.33.5 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - typescript + + axobject-query@4.1.0: {} + + b4a@1.6.6: {} + + bail@2.0.2: {} + + bare-events@2.4.2: + optional: true + + bare-fs@2.3.5: + dependencies: + bare-events: 2.4.2 + bare-path: 2.1.3 + bare-stream: 2.3.0 + optional: true + + bare-os@2.4.4: + optional: true + + bare-path@2.1.3: + dependencies: + bare-os: 2.4.4 + optional: true + + bare-stream@2.3.0: + dependencies: + b4a: 1.6.6 + streamx: 2.20.1 + optional: true + + base-64@1.0.0: {} + + base64-js@1.5.1: {} + + bcp-47-match@2.0.3: {} + + bcp-47@2.1.0: + dependencies: + is-alphabetical: 2.0.1 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + + binary-extensions@2.3.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + boolbase@1.0.0: {} + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001660 + electron-to-chromium: 1.5.22 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + camelcase@7.0.1: {} + + caniuse-lite@1.0.30001660: {} + + ccount@2.0.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@5.3.0: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@1.1.4: {} + + ci-info@4.0.0: {} + + cli-boxes@3.0.0: {} + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@2.9.2: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + comma-separated-tokens@2.0.3: {} + + common-ancestor-path@1.0.1: {} + + convert-source-map@2.0.0: {} + + cookie@0.6.0: {} + + css-selector-parser@3.0.5: {} + + cssesc@3.0.0: {} + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + dequal@2.0.3: {} + + detect-libc@2.0.3: {} + + deterministic-object-hash@2.0.2: + dependencies: + base-64: 1.0.0 + + devalue@5.0.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff@5.2.0: {} + + direction@2.0.1: {} + + dlv@1.1.3: {} + + dset@3.1.4: {} + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.22: {} + + emmet@2.4.7: + dependencies: + '@emmetio/abbreviation': 2.3.3 + '@emmetio/css-abbreviation': 2.1.8 + + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + entities@4.5.0: {} + + es-module-lexer@1.5.4: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@5.0.0: {} + + esprima@4.0.1: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.5 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.9.0 + source-map: 0.7.4 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.3 + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + eventemitter3@5.0.1: {} + + expand-template@2.0.3: {} + + expressive-code@0.35.6: + dependencies: + '@expressive-code/core': 0.35.6 + '@expressive-code/plugin-frames': 0.35.6 + '@expressive-code/plugin-shiki': 0.35.6 + '@expressive-code/plugin-text-markers': 0.35.6 + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-uri@3.0.1: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up-simple@1.0.0: {} + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-yarn-workspace-root2@1.2.16: + dependencies: + micromatch: 4.0.8 + pkg-dir: 4.2.0 + + flattie@1.1.1: {} + + fs-constants@1.0.0: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.2.0: {} + + github-from-package@0.0.0: {} + + github-slugger@2.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + globals@11.12.0: {} + + graceful-fs@4.2.11: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + has-flag@3.0.0: {} + + hast-util-embedded@3.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-is-element: 3.0.0 + + hast-util-from-html@2.0.2: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.3 + vfile-message: 4.0.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.3 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-has-property@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-body-ok-link@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-phrasing@3.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-has-property: 3.0.0 + hast-util-is-body-ok-link: 3.0.0 + hast-util-is-element: 3.0.0 + + hast-util-raw@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-select@6.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.0.5 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.0 + hast-util-whitespace: 3.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-html@9.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.8 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + hastscript@9.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + html-escaper@3.0.3: {} + + html-void-elements@3.0.0: {} + + html-whitespace-sensitive-tag-names@3.0.0: {} + + http-cache-semantics@4.1.1: {} + + ieee754@1.2.1: {} + + import-meta-resolve@4.1.0: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.4: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.3.2: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-decimal@2.0.1: {} + + is-docker@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@2.0.0: {} + + is-number@7.0.0: {} + + is-plain-obj@4.1.0: {} + + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + + is-unicode-supported@1.3.0: {} + + is-unicode-supported@2.1.0: {} + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@2.5.2: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + jsonc-parser@2.3.1: {} + + jsonc-parser@3.3.1: {} + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + load-yaml-file@0.2.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash@4.17.21: {} + + log-symbols@6.0.0: + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + + longest-streak@3.1.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + magicast@0.3.5: + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + source-map-js: 1.2.1 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.3: {} + + mdast-util-definitions@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + + mdast-util-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.3: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.1 + mdast-util-mdx-jsx: 3.1.3 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + merge2@1.4.1: {} + + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-directive@3.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.1: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.2 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.1 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.2: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.3 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.7 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mimic-function@5.0.1: {} + + mimic-response@3.1.0: {} + + minimist@1.2.8: {} + + mkdirp-classic@0.5.3: {} + + mrmime@2.0.0: {} + + ms@2.1.3: {} + + muggle-string@0.4.1: {} + + nanoid@3.3.7: {} + + napi-build-utils@1.0.2: {} + + neotraverse@0.6.18: {} + + nlcst-to-string@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + + node-abi@3.67.0: + dependencies: + semver: 7.6.3 + + node-addon-api@6.1.0: {} + + node-releases@2.0.18: {} + + normalize-path@3.0.0: {} + + not@0.1.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + oniguruma-to-js@0.4.3: + dependencies: + regex: 4.3.2 + + ora@8.1.0: + dependencies: + chalk: 5.3.0 + cli-cursor: 5.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@6.1.0: + dependencies: + yocto-queue: 1.1.1 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-queue@8.0.1: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.2 + + p-timeout@6.1.2: {} + + p-try@2.2.0: {} + + pagefind@1.1.1: + optionalDependencies: + '@pagefind/darwin-arm64': 1.1.1 + '@pagefind/darwin-x64': 1.1.1 + '@pagefind/linux-arm64': 1.1.1 + '@pagefind/linux-x64': 1.1.1 + '@pagefind/windows-x64': 1.1.1 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.11 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-latin@7.0.0: + dependencies: + '@types/nlcst': 2.0.3 + '@types/unist': 3.0.3 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.3 + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + pathe@1.1.2: {} + + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.1.0: {} + + picomatch@2.3.1: {} + + pify@4.0.1: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + postcss-nested@6.2.0(postcss@8.4.45): + dependencies: + postcss: 8.4.45 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.4.45: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 + + prebuild-install@7.1.2: + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.67.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + + preferred-pm@4.0.0: + dependencies: + find-up-simple: 1.0.0 + find-yarn-workspace-root2: 1.2.16 + which-pm: 3.0.0 + + prettier@2.8.7: + optional: true + + prismjs@1.29.0: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + property-information@6.5.0: {} + + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + queue-microtask@1.2.3: {} + + queue-tick@1.0.1: {} + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + recast@0.23.9: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.7.0 + + regex@4.3.2: {} + + rehype-expressive-code@0.35.6: + dependencies: + expressive-code: 0.35.6 + + rehype-format@5.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-phrasing: 3.0.1 + hast-util-whitespace: 3.0.0 + html-whitespace-sensitive-tag-names: 3.0.0 + rehype-minify-whitespace: 6.0.0 + unist-util-visit-parents: 6.0.1 + + rehype-minify-whitespace@6.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-whitespace: 3.0.0 + unist-util-is: 6.0.0 + + rehype-parse@9.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.2 + unified: 11.0.5 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.4 + vfile: 6.0.3 + + rehype-stringify@10.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.2 + unified: 11.0.5 + + rehype@13.0.1: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.5 + + remark-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.1 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + vfile: 6.0.3 + + remark-smartypants@3.0.2: + dependencies: + retext: 9.0.0 + retext-smartypants: 6.1.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.5 + + request-light@0.5.8: {} + + request-light@0.7.0: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + retext-latin@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.5 + + retext-smartypants@6.1.1: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 + + retext-stringify@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 + + retext@9.0.0: + dependencies: + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 + + reusify@1.0.4: {} + + rollup@4.21.3: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.3 + '@rollup/rollup-android-arm64': 4.21.3 + '@rollup/rollup-darwin-arm64': 4.21.3 + '@rollup/rollup-darwin-x64': 4.21.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.3 + '@rollup/rollup-linux-arm-musleabihf': 4.21.3 + '@rollup/rollup-linux-arm64-gnu': 4.21.3 + '@rollup/rollup-linux-arm64-musl': 4.21.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.3 + '@rollup/rollup-linux-riscv64-gnu': 4.21.3 + '@rollup/rollup-linux-s390x-gnu': 4.21.3 + '@rollup/rollup-linux-x64-gnu': 4.21.3 + '@rollup/rollup-linux-x64-musl': 4.21.3 + '@rollup/rollup-win32-arm64-msvc': 4.21.3 + '@rollup/rollup-win32-ia32-msvc': 4.21.3 + '@rollup/rollup-win32-x64-msvc': 4.21.3 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.2.1: {} + + sax@1.4.1: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + semver@6.3.1: {} + + semver@7.6.3: {} + + sharp@0.32.6: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + node-addon-api: 6.1.0 + prebuild-install: 7.1.2 + semver: 7.6.3 + simple-get: 4.0.1 + tar-fs: 3.0.6 + tunnel-agent: 0.6.0 + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + + shiki@1.17.6: + dependencies: + '@shikijs/core': 1.17.6 + '@shikijs/engine-javascript': 1.17.6 + '@shikijs/engine-oniguruma': 1.17.6 + '@shikijs/types': 1.17.6 + '@shikijs/vscode-textmate': 9.2.2 + '@types/hast': 3.0.4 + + signal-exit@4.1.0: {} + + simple-concat@1.0.1: {} + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + source-map-js@1.2.1: {} + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + sprintf-js@1.0.3: {} + + stdin-discarder@0.2.2: {} + + stream-replace-string@2.0.0: {} + + streamx@2.20.1: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + text-decoder: 1.2.0 + optionalDependencies: + bare-events: 2.4.2 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.4.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom-string@1.0.0: {} + + strip-bom@3.0.0: {} + + strip-json-comments@2.0.1: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.8: + dependencies: + inline-style-parser: 0.2.4 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + tar-fs@2.1.1: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + + tar-fs@3.0.6: + dependencies: + pump: 3.0.2 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 2.3.5 + bare-path: 2.1.3 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + tar-stream@3.1.7: + dependencies: + b4a: 1.6.6 + fast-fifo: 1.3.2 + streamx: 2.20.1 + + text-decoder@1.2.0: + dependencies: + b4a: 1.6.6 + + tiny-invariant@1.3.3: {} + + tinyexec@0.3.0: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + tsconfck@3.1.3(typescript@5.6.2): + optionalDependencies: + typescript: 5.6.2 + + tslib@2.7.0: {} + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + type-fest@2.19.0: {} + + typesafe-path@0.2.2: {} + + typescript-auto-import-cache@0.3.3: + dependencies: + semver: 7.6.3 + + typescript@5.6.2: {} + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-modify-children@4.0.0: + dependencies: + '@types/unist': 3.0.3 + array-iterate: 2.0.1 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-visit: 5.0.0 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-children@3.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 + + util-deprecate@1.0.2: {} + + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + + vite@5.4.5: + dependencies: + esbuild: 0.21.5 + postcss: 8.4.45 + rollup: 4.21.3 + optionalDependencies: + fsevents: 2.3.3 + + vitefu@1.0.2(vite@5.4.5): + optionalDependencies: + vite: 5.4.5 + + volar-service-css@0.0.61(@volar/language-service@2.4.4): + dependencies: + vscode-css-languageservice: 6.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.4 + + volar-service-emmet@0.0.61(@volar/language-service@2.4.4): + dependencies: + '@emmetio/css-parser': 0.4.0 + '@emmetio/html-matcher': 1.3.0 + '@vscode/emmet-helper': 2.9.3 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.4 + + volar-service-html@0.0.61(@volar/language-service@2.4.4): + dependencies: + vscode-html-languageservice: 5.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.4 + + volar-service-prettier@0.0.61(@volar/language-service@2.4.4): + dependencies: + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.4 + + volar-service-typescript-twoslash-queries@0.0.61(@volar/language-service@2.4.4): + dependencies: + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.4 + + volar-service-typescript@0.0.61(@volar/language-service@2.4.4): + dependencies: + path-browserify: 1.0.1 + semver: 7.6.3 + typescript-auto-import-cache: 0.3.3 + vscode-languageserver-textdocument: 1.0.12 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.4.4 + + volar-service-yaml@0.0.61(@volar/language-service@2.4.4): + dependencies: + vscode-uri: 3.0.8 + yaml-language-server: 1.15.0 + optionalDependencies: + '@volar/language-service': 2.4.4 + + vscode-css-languageservice@6.3.1: + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-html-languageservice@5.3.1: + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-json-languageservice@4.1.8: + dependencies: + jsonc-parser: 3.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + + vscode-jsonrpc@6.0.0: {} + + vscode-jsonrpc@8.2.0: {} + + vscode-languageserver-protocol@3.16.0: + dependencies: + vscode-jsonrpc: 6.0.0 + vscode-languageserver-types: 3.16.0 + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-textdocument@1.0.12: {} + + vscode-languageserver-types@3.16.0: {} + + vscode-languageserver-types@3.17.5: {} + + vscode-languageserver@7.0.0: + dependencies: + vscode-languageserver-protocol: 3.16.0 + + vscode-languageserver@9.0.1: + dependencies: + vscode-languageserver-protocol: 3.17.5 + + vscode-nls@5.2.0: {} + + vscode-uri@2.1.2: {} + + vscode-uri@3.0.8: {} + + web-namespaces@2.0.1: {} + + which-pm-runs@1.1.0: {} + + which-pm@3.0.0: + dependencies: + load-yaml-file: 0.2.0 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + xxhash-wasm@1.0.2: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml-language-server@1.15.0: + dependencies: + ajv: 8.17.1 + lodash: 4.17.21 + request-light: 0.5.8 + vscode-json-languageservice: 4.1.8 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.12 + vscode-languageserver-types: 3.17.5 + vscode-nls: 5.2.0 + vscode-uri: 3.0.8 + yaml: 2.2.2 + optionalDependencies: + prettier: 2.8.7 + + yaml@2.2.2: {} + + yaml@2.5.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@1.1.1: {} + + zod-to-json-schema@3.23.3(zod@3.23.8): + dependencies: + zod: 3.23.8 + + zod-to-ts@1.2.0(typescript@5.6.2)(zod@3.23.8): + dependencies: + typescript: 5.6.2 + zod: 3.23.8 + + zod@3.23.8: {} + + zwitch@2.0.4: {} diff --git a/public/CNAME b/public/CNAME new file mode 100644 index 000000000..8005f2314 --- /dev/null +++ b/public/CNAME @@ -0,0 +1 @@ +gin-gonic.com \ No newline at end of file diff --git a/static/comment.js b/public/comment.js similarity index 100% rename from static/comment.js rename to public/comment.js diff --git a/static/favicons/favicon.ico b/public/favicon.ico similarity index 100% rename from static/favicons/favicon.ico rename to public/favicon.ico diff --git a/static/favicons/android-chrome-192x192.png b/public/favicons/android-chrome-192x192.png similarity index 100% rename from static/favicons/android-chrome-192x192.png rename to public/favicons/android-chrome-192x192.png diff --git a/static/favicons/android-chrome-512x512.png b/public/favicons/android-chrome-512x512.png similarity index 100% rename from static/favicons/android-chrome-512x512.png rename to public/favicons/android-chrome-512x512.png diff --git a/static/favicons/apple-touch-icon.png b/public/favicons/apple-touch-icon.png similarity index 100% rename from static/favicons/apple-touch-icon.png rename to public/favicons/apple-touch-icon.png diff --git a/static/favicons/browserconfig.xml b/public/favicons/browserconfig.xml similarity index 100% rename from static/favicons/browserconfig.xml rename to public/favicons/browserconfig.xml diff --git a/static/favicons/favicon-16x16.png b/public/favicons/favicon-16x16.png similarity index 100% rename from static/favicons/favicon-16x16.png rename to public/favicons/favicon-16x16.png diff --git a/static/favicons/favicon-32x32.png b/public/favicons/favicon-32x32.png similarity index 100% rename from static/favicons/favicon-32x32.png rename to public/favicons/favicon-32x32.png diff --git a/public/favicons/favicon.ico b/public/favicons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6e8ab1f8fe46e2adf5c584f5a23bf140a6e69685 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/static/favicons/mstile-150x150.png b/public/favicons/mstile-150x150.png similarity index 100% rename from static/favicons/mstile-150x150.png rename to public/favicons/mstile-150x150.png diff --git a/static/favicons/safari-pinned-tab.svg b/public/favicons/safari-pinned-tab.svg similarity index 100% rename from static/favicons/safari-pinned-tab.svg rename to public/favicons/safari-pinned-tab.svg diff --git a/static/favicons/site.webmanifest b/public/favicons/site.webmanifest similarity index 100% rename from static/favicons/site.webmanifest rename to public/favicons/site.webmanifest diff --git a/public/go.mod b/public/go.mod new file mode 100644 index 000000000..0e69b2a75 --- /dev/null +++ b/public/go.mod @@ -0,0 +1,9 @@ +module github.com/gin-gonic/website + +go 1.22.2 + +require ( + github.com/google/docsy v0.9.2-0.20240426161215-e9eca0fcb3b5 // indirect + github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7 // indirect + github.com/twbs/bootstrap v5.3.3+incompatible // indirect +) diff --git a/public/go.sum b/public/go.sum new file mode 100644 index 000000000..9b580b446 --- /dev/null +++ b/public/go.sum @@ -0,0 +1,12 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7 h1:2aWEKCRLqQ9nPyXaz4/IYtRrDr3PzEiX0DUSUr2/EDs= +github.com/FortAwesome/Font-Awesome v0.0.0-20240402185447-c0f460dca7f7/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v4.7.0+incompatible h1:3trjm7NtX5NXlju1AxSWSzedDMq2hsfH78Qtqrc8EgY= +github.com/FortAwesome/Font-Awesome v4.7.0+incompatible/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.9.1 h1:+jqges1YCd+yHeuZ1BUvD8V8mEGVtPxULg5j/vaJ984= +github.com/google/docsy v0.9.1/go.mod h1:saOqKEUOn07Bc0orM/JdIF3VkOanHta9LU5Y53bwN2U= +github.com/google/docsy v0.9.2-0.20240426161215-e9eca0fcb3b5 h1:EDs9FRTZ75agHdnMeO3HjfqJV10jKpdsM6XEARy/FsM= +github.com/google/docsy v0.9.2-0.20240426161215-e9eca0fcb3b5/go.mod h1:c0nIAqmRTOuJ01F85U/wJPQtc3Zj9N58Kea9bOT2AJc= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ= +github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/src/assets/gin.png b/src/assets/gin.png new file mode 100644 index 0000000000000000000000000000000000000000..df3999718a7946283150da3f0568506752ba69d5 GIT binary patch literal 88471 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

<(2@Hv;7 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 + + Radix tree based routing, small memory foot print. No reflection. Predictable API performance. + + + An incoming HTTP request can be handled by a chain of middleware and the final action. For example: Logger, Authorization, GZIP and finally post a message in the DB. + + + Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! + + + Gin can parse and validate the JSON of a request, checking, for example, the existence of required values. + + + Organize your routes better. Authorization required vs non required, different API versions. In addition, groups can be nested infinitely without degrading performance. + + + Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, middleware can write them to a log file, to a database and send them through the network. + + + Gin provides an easy to use API for JSON, XML and HTML rendering. + + + Creating new middleware is so easy, just check out the sample code. + + \ No newline at end of file diff --git a/content/fa/blog/_index.md b/src/content/docs/es/blog/index.md similarity index 86% rename from content/fa/blog/_index.md rename to src/content/docs/es/blog/index.md index bfe08e93d..07fd81571 100644 --- a/content/fa/blog/_index.md +++ b/src/content/docs/es/blog/index.md @@ -1,9 +1,8 @@ --- title: "Blog" linkTitle: "Blog" -menu: - main: - weight: 30 +sidebar: + order: 30 --- diff --git a/content/es/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/es/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/es/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/es/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/es/blog/releases/release13.md b/src/content/docs/es/blog/releases/release13.md similarity index 100% rename from content/es/blog/releases/release13.md rename to src/content/docs/es/blog/releases/release13.md diff --git a/content/es/blog/releases/release14.md b/src/content/docs/es/blog/releases/release14.md similarity index 100% rename from content/es/blog/releases/release14.md rename to src/content/docs/es/blog/releases/release14.md diff --git a/content/es/blog/releases/release15.md b/src/content/docs/es/blog/releases/release15.md similarity index 100% rename from content/es/blog/releases/release15.md rename to src/content/docs/es/blog/releases/release15.md diff --git a/content/es/blog/releases/release16.md b/src/content/docs/es/blog/releases/release16.md similarity index 100% rename from content/es/blog/releases/release16.md rename to src/content/docs/es/blog/releases/release16.md diff --git a/content/es/docs/benchmarks/_index.md b/src/content/docs/es/docs/benchmarks/index.md similarity index 99% rename from content/es/docs/benchmarks/_index.md rename to src/content/docs/es/docs/benchmarks/index.md index b514d2099..73cceab90 100644 --- a/content/es/docs/benchmarks/_index.md +++ b/src/content/docs/es/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "Benchmarks" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin usa una versión personalizada de [HttpRouter](https://github.com/julienschmidt/httprouter) diff --git a/content/es/docs/deployment/_index.md b/src/content/docs/es/docs/deployment/index.md similarity index 97% rename from content/es/docs/deployment/_index.md rename to src/content/docs/es/docs/deployment/index.md index 5e77d94eb..40135b23e 100644 --- a/content/es/docs/deployment/_index.md +++ b/src/content/docs/es/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "Despliegue" -draft: false -weight: 6 + +sidebar: + order: 6 --- Los proyectos en Gin pueden ser desplegados fácilmente en cualquier proveedor en la nube. diff --git a/content/es/docs/examples/ascii-json.md b/src/content/docs/es/docs/examples/ascii-json.md similarity index 97% rename from content/es/docs/examples/ascii-json.md rename to src/content/docs/es/docs/examples/ascii-json.md index 5927cc3f3..89bd3f832 100644 --- a/content/es/docs/examples/ascii-json.md +++ b/src/content/docs/es/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- Uso de AsciiJSON para generar respuestas JSON únicamente con caracteres ASCII y escape de caracteres no-ASCII. diff --git a/content/es/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/es/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/es/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/es/docs/examples/bind-body-into-dirrerent-structs.md index 5c111dfb9..028b3282e 100644 --- a/content/es/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/es/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "Vincular el cuerpo de un request en distintos tipos de structs" -draft: false + --- El método común para vincular el cuerpo de un request emplea `c.Request.Body` pero presenta diff --git a/content/es/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/es/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/es/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/es/docs/examples/bind-form-data-request-with-custom-struct.md index 0d4380157..aa68ca52b 100644 --- a/content/es/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/es/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "Vincular una petición form-data con un struct personalizado" -draft: false + --- El siguiente es el ejemplo para un struct personalizado: diff --git a/content/es/docs/examples/bind-html-checkbox.md b/src/content/docs/es/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/es/docs/examples/bind-html-checkbox.md rename to src/content/docs/es/docs/examples/bind-html-checkbox.md index 9ceece3c9..2b0acfb01 100644 --- a/content/es/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/es/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "Vincular checkboxes html" -draft: false + --- Revise la [información detallada](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) diff --git a/content/es/docs/examples/bind-query-or-post.md b/src/content/docs/es/docs/examples/bind-query-or-post.md similarity index 98% rename from content/es/docs/examples/bind-query-or-post.md rename to src/content/docs/es/docs/examples/bind-query-or-post.md index 6053c1009..aa4c29454 100644 --- a/content/es/docs/examples/bind-query-or-post.md +++ b/src/content/docs/es/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "Vincular parámetros get o data Post" -draft: false + --- Revise la [información detallada](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292). diff --git a/content/es/docs/examples/bind-single-binary-with-template.md b/src/content/docs/es/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/es/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/es/docs/examples/bind-single-binary-with-template.md index 6675a83a9..fa2b0c7db 100644 --- a/content/es/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/es/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "Crear un ejecutable individual con templates" -draft: false + --- Puede crear un servidor en un solo binario que contenga templates usando [go-assets](https://github.com/jessevdk/go-assets). diff --git a/content/es/docs/examples/bind-uri.md b/src/content/docs/es/docs/examples/bind-uri.md similarity index 98% rename from content/es/docs/examples/bind-uri.md rename to src/content/docs/es/docs/examples/bind-uri.md index bca67448f..5d99350b4 100644 --- a/content/es/docs/examples/bind-uri.md +++ b/src/content/docs/es/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "Vincular un Uri" -draft: false + --- Revise la [información detallada](https://github.com/gin-gonic/gin/issues/846). diff --git a/content/es/docs/examples/binding-and-validation.md b/src/content/docs/es/docs/examples/binding-and-validation.md similarity index 99% rename from content/es/docs/examples/binding-and-validation.md rename to src/content/docs/es/docs/examples/binding-and-validation.md index 774d7a360..91bdc00de 100644 --- a/content/es/docs/examples/binding-and-validation.md +++ b/src/content/docs/es/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "Vincular y validar un Modelo" -draft: false + --- Para vincular el cuerpo de un request en un tipo, puede hacerse el vínculo a un modelo. Actualmente se soporta el vínculo a JSON, XML, YAML y valores estandar para formularios (foo=bar&boo=baz). diff --git a/content/es/docs/examples/controlling-log-output-coloring.md b/src/content/docs/es/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/es/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/es/docs/examples/controlling-log-output-coloring.md index c0904ae8b..f62e9bb13 100644 --- a/content/es/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/es/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "Controlar el color del texto del Log en cónsola" -draft: false + --- Por defecto la la salida en cónsola puede tener color, dependiendo del TTY detectado. diff --git a/content/es/docs/examples/cookie.md b/src/content/docs/es/docs/examples/cookie.md similarity index 97% rename from content/es/docs/examples/cookie.md rename to src/content/docs/es/docs/examples/cookie.md index 9c1f1fa2b..82e377ceb 100644 --- a/content/es/docs/examples/cookie.md +++ b/src/content/docs/es/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "Crear y obtener una cookie" -draft: false + --- ```go diff --git a/content/es/docs/examples/custom-http-config.md b/src/content/docs/es/docs/examples/custom-http-config.md similarity index 97% rename from content/es/docs/examples/custom-http-config.md rename to src/content/docs/es/docs/examples/custom-http-config.md index 05b544669..a61d08e79 100644 --- a/content/es/docs/examples/custom-http-config.md +++ b/src/content/docs/es/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "Configuración personalizada HTTP" -draft: false + --- Se puede utilizar `http.ListenAndServe()` directamente, como se muestra: diff --git a/content/es/docs/examples/custom-log-format.md b/src/content/docs/es/docs/examples/custom-log-format.md similarity index 98% rename from content/es/docs/examples/custom-log-format.md rename to src/content/docs/es/docs/examples/custom-log-format.md index 976599220..12711aaf0 100644 --- a/content/es/docs/examples/custom-log-format.md +++ b/src/content/docs/es/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "Personalizar formato de Logs" -draft: false + --- For example: diff --git a/content/es/docs/examples/custom-middleware.md b/src/content/docs/es/docs/examples/custom-middleware.md similarity index 98% rename from content/es/docs/examples/custom-middleware.md rename to src/content/docs/es/docs/examples/custom-middleware.md index 45266d215..0ad0b4447 100644 --- a/content/es/docs/examples/custom-middleware.md +++ b/src/content/docs/es/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "Personalizar un Middleware" -draft: false + --- ```go diff --git a/content/es/docs/examples/custom-validators.md b/src/content/docs/es/docs/examples/custom-validators.md similarity index 99% rename from content/es/docs/examples/custom-validators.md rename to src/content/docs/es/docs/examples/custom-validators.md index 2b8ef48a2..8d4b170dc 100644 --- a/content/es/docs/examples/custom-validators.md +++ b/src/content/docs/es/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "Personalizar Validaciones" -draft: false + --- Es posible registrar validaciones personalizadas como puede verse en el [código de ejemplo](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations). diff --git a/content/es/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/es/docs/examples/define-format-for-the-log-of-routes.md similarity index 98% rename from content/es/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/es/docs/examples/define-format-for-the-log-of-routes.md index 6f7105dbd..487ed467e 100644 --- a/content/es/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/es/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "Definir el formato para el log de rutas" -draft: false + --- El log de rutas por defecto es: diff --git a/content/es/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/es/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/es/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/es/docs/examples/goroutines-inside-a-middleware.md index 0f27de56b..8a43a09e0 100644 --- a/content/es/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/es/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "Goroutines dentro de un middleware" -draft: false + --- Cuando se inicia una goroutine dentro de un middleware o un handler, **NO SE DEBE** utilizar el context dentro de él, debe emplearse una copia de lectura. diff --git a/content/es/docs/examples/graceful-restart-or-stop.md b/src/content/docs/es/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/es/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/es/docs/examples/graceful-restart-or-stop.md index 763f3e854..a91dad8e6 100644 --- a/content/es/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/es/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "Apagado o reinicio controlado del servidor web" -draft: false + --- Estas son algunas formas de reiniciar o detener el servidor web controladamente. diff --git a/content/es/docs/examples/grouping-routes.md b/src/content/docs/es/docs/examples/grouping-routes.md similarity index 97% rename from content/es/docs/examples/grouping-routes.md rename to src/content/docs/es/docs/examples/grouping-routes.md index ad5754e82..33f65749c 100644 --- a/content/es/docs/examples/grouping-routes.md +++ b/src/content/docs/es/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "Grouping routes" -draft: false + --- ```go diff --git a/content/es/docs/examples/html-rendering.md b/src/content/docs/es/docs/examples/html-rendering.md similarity index 99% rename from content/es/docs/examples/html-rendering.md rename to src/content/docs/es/docs/examples/html-rendering.md index c7b50da78..2b3127092 100644 --- a/content/es/docs/examples/html-rendering.md +++ b/src/content/docs/es/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "Representación de HTML" -draft: false + --- Using LoadHTMLGlob() or LoadHTMLFiles() diff --git a/content/es/docs/examples/http-method.md b/src/content/docs/es/docs/examples/http-method.md similarity index 98% rename from content/es/docs/examples/http-method.md rename to src/content/docs/es/docs/examples/http-method.md index 3597f4ffb..34e755b7a 100644 --- a/content/es/docs/examples/http-method.md +++ b/src/content/docs/es/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "Uso de un método específico de HTTP" -draft: false + --- ```go diff --git a/content/es/docs/examples/http2-server-push.md b/src/content/docs/es/docs/examples/http2-server-push.md similarity index 98% rename from content/es/docs/examples/http2-server-push.md rename to src/content/docs/es/docs/examples/http2-server-push.md index 2ffda0094..521b6d009 100644 --- a/content/es/docs/examples/http2-server-push.md +++ b/src/content/docs/es/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP2 server push" -draft: false + --- http.Pusher sólo es compatible con versiones **go1.8+ en adelante**. Véase el [blog de golang](https://blog.golang.org/h2push) para información detallada. diff --git a/content/es/docs/examples/_index.md b/src/content/docs/es/docs/examples/index.md similarity index 78% rename from content/es/docs/examples/_index.md rename to src/content/docs/es/docs/examples/index.md index 292a7ba78..2fb403419 100644 --- a/content/es/docs/examples/_index.md +++ b/src/content/docs/es/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "Ejemplos" -draft: false -weight: 6 + +sidebar: + order: 6 --- Sección con la lista de ejemplos para el uso del API. diff --git a/content/es/docs/examples/jsonp.md b/src/content/docs/es/docs/examples/jsonp.md similarity index 97% rename from content/es/docs/examples/jsonp.md rename to src/content/docs/es/docs/examples/jsonp.md index 2a05c314d..2d82c3054 100644 --- a/content/es/docs/examples/jsonp.md +++ b/src/content/docs/es/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- Uso de JSONP para realizar una petición de datos desde un servidor en un dominio diferente diff --git a/content/es/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/es/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/es/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/es/docs/examples/map-as-querystring-or-postform.md index f08b806dc..9468104eb 100644 --- a/content/es/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/es/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "Map a partir de una cadena de parámetros GET o parámetros de un formulario POST" -draft: false + --- ```sh diff --git a/content/es/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/es/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/es/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/es/docs/examples/multipart-urlencoded-binding.md index ea81e68cb..99d4bc594 100644 --- a/content/es/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/es/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Vincular formularios Multipart/Urlencoded" -draft: false + --- ```go diff --git a/content/es/docs/examples/multipart-urlencoded-form.md b/src/content/docs/es/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/es/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/es/docs/examples/multipart-urlencoded-form.md index 5b4b45866..3a15a5e6c 100644 --- a/content/es/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/es/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Formulario Multipart/Urlencoded" -draft: false + --- ```go diff --git a/content/es/docs/examples/multiple-template.md b/src/content/docs/es/docs/examples/multiple-template.md similarity index 95% rename from content/es/docs/examples/multiple-template.md rename to src/content/docs/es/docs/examples/multiple-template.md index c8dfdc3c6..cbbdffd8e 100644 --- a/content/es/docs/examples/multiple-template.md +++ b/src/content/docs/es/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "Multiplantillas" -draft: false + --- Gin permite por defecto el úso de sólo una html.Template. Puede revisar [un interpretador multi plantilas](https://github.com/gin-contrib/multitemplate) para emplear características como `block template` de go 1.6. diff --git a/content/es/docs/examples/only-bind-query-string.md b/src/content/docs/es/docs/examples/only-bind-query-string.md similarity index 98% rename from content/es/docs/examples/only-bind-query-string.md rename to src/content/docs/es/docs/examples/only-bind-query-string.md index dd377bf2c..9c6e48308 100644 --- a/content/es/docs/examples/only-bind-query-string.md +++ b/src/content/docs/es/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "Vincular únicamente un parámetros GET" -draft: false + --- La función `ShouldBindQuery` sólo vincula parámetros GET y excluye los datos POST. Véase la [información detallada](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). diff --git a/content/es/docs/examples/param-in-path.md b/src/content/docs/es/docs/examples/param-in-path.md similarity index 98% rename from content/es/docs/examples/param-in-path.md rename to src/content/docs/es/docs/examples/param-in-path.md index 4d99312cb..efd67bd2e 100644 --- a/content/es/docs/examples/param-in-path.md +++ b/src/content/docs/es/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "Parámetros en rutas" -draft: false + --- ```go diff --git a/content/es/docs/examples/pure-json.md b/src/content/docs/es/docs/examples/pure-json.md similarity index 98% rename from content/es/docs/examples/pure-json.md rename to src/content/docs/es/docs/examples/pure-json.md index e879e8503..30bd67c04 100644 --- a/content/es/docs/examples/pure-json.md +++ b/src/content/docs/es/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- Usualmente, JSON sustituye carácteres especiales HTML con sus entidades unicode. Por ejemplo `<` se convierte a `\u003c`. Si se requiere condificar este tipo de caracteres literalmente, se puede utilizar PureJSON. Esta característica no está disponible en Go 1.6 o versiones inferiores. diff --git a/content/es/docs/examples/query-and-post-form.md b/src/content/docs/es/docs/examples/query-and-post-form.md similarity index 97% rename from content/es/docs/examples/query-and-post-form.md rename to src/content/docs/es/docs/examples/query-and-post-form.md index 3a6631798..78e0eb652 100644 --- a/content/es/docs/examples/query-and-post-form.md +++ b/src/content/docs/es/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "Formulario POST y parámetros GET en URL" -draft: false + --- ```sh diff --git a/content/es/docs/examples/querystring-param.md b/src/content/docs/es/docs/examples/querystring-param.md similarity index 97% rename from content/es/docs/examples/querystring-param.md rename to src/content/docs/es/docs/examples/querystring-param.md index d583a01c0..546dbad01 100644 --- a/content/es/docs/examples/querystring-param.md +++ b/src/content/docs/es/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "Parámetros GET en URL" -draft: false + --- ```go diff --git a/content/es/docs/examples/redirects.md b/src/content/docs/es/docs/examples/redirects.md similarity index 98% rename from content/es/docs/examples/redirects.md rename to src/content/docs/es/docs/examples/redirects.md index c8ede1c6a..ee2c28dd4 100644 --- a/content/es/docs/examples/redirects.md +++ b/src/content/docs/es/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "Redirección" -draft: false + --- Emitir una redirección HTTP es sencillo. Son soportadas las rutas internas o externas. diff --git a/content/es/docs/examples/rendering.md b/src/content/docs/es/docs/examples/rendering.md similarity index 99% rename from content/es/docs/examples/rendering.md rename to src/content/docs/es/docs/examples/rendering.md index d8f7af21e..60cbb2e1a 100644 --- a/content/es/docs/examples/rendering.md +++ b/src/content/docs/es/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "Procesamiento de XML/JSON/YAML/ProtoBuf" -draft: false + --- ```go diff --git a/content/es/docs/examples/run-multiple-service.md b/src/content/docs/es/docs/examples/run-multiple-service.md similarity index 98% rename from content/es/docs/examples/run-multiple-service.md rename to src/content/docs/es/docs/examples/run-multiple-service.md index 16d042f3b..109e0fc05 100644 --- a/content/es/docs/examples/run-multiple-service.md +++ b/src/content/docs/es/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "Ejecutar múltiples servicios a la vez" -draft: false + --- Véase la [pregunta](https://github.com/gin-gonic/gin/issues/346) e intente el siguiente ejemplo: diff --git a/content/es/docs/examples/secure-json.md b/src/content/docs/es/docs/examples/secure-json.md similarity index 97% rename from content/es/docs/examples/secure-json.md rename to src/content/docs/es/docs/examples/secure-json.md index cc86e613e..5221d0845 100644 --- a/content/es/docs/examples/secure-json.md +++ b/src/content/docs/es/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "Uso de SecureJSON" -draft: false + --- Usando SecureJSON para evitar el secuestro de JSON. Por defecto se antepone `"while(1),"` al cuerpo de respuesta si la estructura dada son valores de array. diff --git a/content/es/docs/examples/security-headers.md b/src/content/docs/es/docs/examples/security-headers.md similarity index 99% rename from content/es/docs/examples/security-headers.md rename to src/content/docs/es/docs/examples/security-headers.md index 7f06f31a1..fa0ee9e34 100644 --- a/content/es/docs/examples/security-headers.md +++ b/src/content/docs/es/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "Encabezados de seguridad" -draft: false + --- Es importante utilizar cabeceras de seguridad para proteger su aplicación web de vulnerabilidades de seguridad comunes. Este ejemplo le muestra cómo añadir cabeceras de seguridad a su aplicación Gin y también cómo evitar ataques relacionados con Host Header Injection (SSRF, Open Redirection). diff --git a/content/es/docs/examples/serving-data-from-reader.md b/src/content/docs/es/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/es/docs/examples/serving-data-from-reader.md rename to src/content/docs/es/docs/examples/serving-data-from-reader.md index 1408f204f..8dbed958b 100644 --- a/content/es/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/es/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "Retornando data a partir de un reader" -draft: false + --- ```go diff --git a/content/es/docs/examples/serving-static-files.md b/src/content/docs/es/docs/examples/serving-static-files.md similarity index 95% rename from content/es/docs/examples/serving-static-files.md rename to src/content/docs/es/docs/examples/serving-static-files.md index b90ecbfbd..608e3896a 100644 --- a/content/es/docs/examples/serving-static-files.md +++ b/src/content/docs/es/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "Sirviendo archivos estáticos" -draft: false + --- ```go diff --git a/content/es/docs/examples/support-lets-encrypt.md b/src/content/docs/es/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/es/docs/examples/support-lets-encrypt.md rename to src/content/docs/es/docs/examples/support-lets-encrypt.md index d6b8daa5a..4f6449b39 100644 --- a/content/es/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/es/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Soporte de certificados Let's Encrypt" -draft: false + --- Ejemplo para servidores HTTPS 1-line LetsEncrypt HTTPS. diff --git a/content/es/docs/examples/upload-file/_index.md b/src/content/docs/es/docs/examples/upload-file/index.md similarity index 87% rename from content/es/docs/examples/upload-file/_index.md rename to src/content/docs/es/docs/examples/upload-file/index.md index b5dfaaea3..67d8d1f99 100644 --- a/content/es/docs/examples/upload-file/_index.md +++ b/src/content/docs/es/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "Subir archivos" -draft: false + --- La sección enumera el uso de la API para subir archivos. diff --git a/content/es/docs/examples/upload-file/multiple-file.md b/src/content/docs/es/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/es/docs/examples/upload-file/multiple-file.md rename to src/content/docs/es/docs/examples/upload-file/multiple-file.md index bab10fdd2..acc0715ea 100644 --- a/content/es/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/es/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "Múltiples archivos" -draft: false + --- Vea el código de [ejemplo detallado](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple). diff --git a/content/es/docs/examples/upload-file/single-file.md b/src/content/docs/es/docs/examples/upload-file/single-file.md similarity index 99% rename from content/es/docs/examples/upload-file/single-file.md rename to src/content/docs/es/docs/examples/upload-file/single-file.md index 9149ff391..02d8d7474 100644 --- a/content/es/docs/examples/upload-file/single-file.md +++ b/src/content/docs/es/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "Subir un archivo individual" -draft: false + --- Issue de referencia [#774](https://github.com/gin-gonic/gin/issues/774) y código [detallado de ejemplo](https://github.com/gin-gonic/examples/tree/master/upload-file/single). diff --git a/content/es/docs/examples/using-basicauth-middleware.md b/src/content/docs/es/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/es/docs/examples/using-basicauth-middleware.md rename to src/content/docs/es/docs/examples/using-basicauth-middleware.md index c0e79ff90..35a72c25e 100644 --- a/content/es/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/es/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "Uso del middleware BasicAuth" -draft: false + --- ```go diff --git a/content/es/docs/examples/using-middleware.md b/src/content/docs/es/docs/examples/using-middleware.md similarity index 98% rename from content/es/docs/examples/using-middleware.md rename to src/content/docs/es/docs/examples/using-middleware.md index 310fc2caa..4796fc68b 100644 --- a/content/es/docs/examples/using-middleware.md +++ b/src/content/docs/es/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "Usando middleware" -draft: false + --- ```go diff --git a/content/es/docs/examples/without-middleware.md b/src/content/docs/es/docs/examples/without-middleware.md similarity index 94% rename from content/es/docs/examples/without-middleware.md rename to src/content/docs/es/docs/examples/without-middleware.md index 2de79ef3c..274162597 100644 --- a/content/es/docs/examples/without-middleware.md +++ b/src/content/docs/es/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "Usar Gin sin los middleware por defecto" -draft: false + --- Utilice diff --git a/content/es/docs/examples/write-log.md b/src/content/docs/es/docs/examples/write-log.md similarity index 98% rename from content/es/docs/examples/write-log.md rename to src/content/docs/es/docs/examples/write-log.md index 6cd2d4c0e..be6ab31f0 100644 --- a/content/es/docs/examples/write-log.md +++ b/src/content/docs/es/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "Como registrar un Log en un archivo" -draft: false + --- ```go diff --git a/content/es/docs/faq/_index.md b/src/content/docs/es/docs/faq/index.md similarity index 86% rename from content/es/docs/faq/_index.md rename to src/content/docs/es/docs/faq/index.md index 05ccaee0f..da14005b0 100644 --- a/content/es/docs/faq/_index.md +++ b/src/content/docs/es/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO: Se registrarán las preguntas frecuentes de la sección para [issues de GitHub](https://github.com/gin-gonic/gin/issues). diff --git a/content/es/docs/features/_index.md b/src/content/docs/es/docs/features/index.md similarity index 93% rename from content/es/docs/features/_index.md rename to src/content/docs/es/docs/features/index.md index c9a789e8c..0c4bc3e1c 100644 --- a/content/es/docs/features/_index.md +++ b/src/content/docs/es/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "Características" -draft: false -weight: 4 + +sidebar: + order: 4 --- ## Gin versión 1 estable ofrece: diff --git a/content/es/docs/_index.md b/src/content/docs/es/docs/index.md similarity index 94% rename from content/es/docs/_index.md rename to src/content/docs/es/docs/index.md index 536c60212..173d2390f 100644 --- a/content/es/docs/_index.md +++ b/src/content/docs/es/docs/index.md @@ -1,10 +1,8 @@ --- title: "Documentación" linkTitle: "Documentación" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## ¿Qué es Gin? diff --git a/content/es/docs/introduction/_index.md b/src/content/docs/es/docs/introduction/index.md similarity index 98% rename from content/es/docs/introduction/_index.md rename to src/content/docs/es/docs/introduction/index.md index 190e9b79b..fd4393e6d 100644 --- a/content/es/docs/introduction/_index.md +++ b/src/content/docs/es/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "Introducción" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin es un framework para desarrollo web escrito en Go (Golang). Cuenta con una API tipo martini, con un rendimiento mucho mayor, hasta 40 veces más rápido gracias a [httprouter](https://github.com/julienschmidt/httprouter). Si necesitas rendimiento y productividad amarás a Gin. diff --git a/content/es/docs/jsoniter/_index.md b/src/content/docs/es/docs/jsoniter/index.md similarity index 93% rename from content/es/docs/jsoniter/_index.md rename to src/content/docs/es/docs/jsoniter/index.md index 788faf6d3..6d65596b2 100644 --- a/content/es/docs/jsoniter/_index.md +++ b/src/content/docs/es/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- ## Go Build con [jsoniter](https://github.com/json-iterator/go) diff --git a/content/es/docs/quickstart/_index.md b/src/content/docs/es/docs/quickstart/index.md similarity index 98% rename from content/es/docs/quickstart/_index.md rename to src/content/docs/es/docs/quickstart/index.md index 743004adf..565ada410 100644 --- a/content/es/docs/quickstart/_index.md +++ b/src/content/docs/es/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "Inicio Rápido" -draft: false -weight: 2 + +sidebar: + order: 2 --- En este inicio rápido, captaremos información y aprenderemos por medio de porciones de código: diff --git a/content/es/docs/testing/_index.md b/src/content/docs/es/docs/testing/index.md similarity index 98% rename from content/es/docs/testing/_index.md rename to src/content/docs/es/docs/testing/index.md index 31ff24fe6..b481c6e38 100644 --- a/content/es/docs/testing/_index.md +++ b/src/content/docs/es/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "Testing en Gin" -draft: false -weight: 7 + +sidebar: + order: 7 --- ## ¿Cómo escribir casos de prueba en Gin? diff --git a/content/es/docs/users/_index.md b/src/content/docs/es/docs/users/index.md similarity index 97% rename from content/es/docs/users/_index.md rename to src/content/docs/es/docs/users/index.md index d909d69f9..07d8f9fd7 100644 --- a/content/es/docs/users/_index.md +++ b/src/content/docs/es/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "Usuarios" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### Lista de proyectos fantásticos que usan [Gin](https://github.com/gin-gonic/gin) web framework: diff --git a/src/content/docs/es/index.mdx b/src/content/docs/es/index.mdx new file mode 100644 index 000000000..c220d13bc --- /dev/null +++ b/src/content/docs/es/index.mdx @@ -0,0 +1,61 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: Claramente, el framework más rápido para desarrollo web en Go. + image: + file: ../../../assets/gin.png + actions: + - text: Ver Más + link: /es/docs/ + icon: right-arrow + - text: Descargar + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from "@astrojs/starlight/components"; + +## ¿Qué es Gin? + +Gin es un framework para desarrollo web escrito en Golang. Cuenta con una API tipo martini con un rendimiento mucho mayor, hasta 40 veces más rápido. Si necesitas rendimiento y productividad amarás a Gin. + + + + Enrutamiento basado en Radix tree, poco consumo de memoria. Sin reflection. + Rendimiento predecible del API. + + + Una petición entrante HTTP puede ser manejada por diversos middleware + encadenados y la acción final. Ejemplo: Logger, Authorization, GZIP y por + úlitmo guardar el mensaje en la BD. + + + Gin puede recibir y recuperarse de un panic ocurrido durante una petición + HTTP. Así tu servidor estará siempre disponible. También es posible hacer un + reporte del panic, por ejemplo ¡a Sentry! + + + Gin permite analizar y validar datos JSON en una petición, y por ejemplo, + revisar la existencia de datos requeridos. + + + Organiza mejor tus rutas: Rutas con autorización vs rutas públicas, + versiones diferentes de API. Adicionalmente los grupos de rutas pueden + anidarse ilimitadamente sin afectar el rendimiento. + + + Gin ofrece una conveniente forma de recopilar los errores ocurridos durante + una petición HTTP. Un middleware puede incluso registrarlos en un archivo de + logs, la BD o enviarlos por la red. + + + Gin cuenta con una API fácil de usar para el render de JSON, XML y HTML. + + + Crear un middleware nuevo es muy sencillo. Sólo debes revisar los códigos de + ejemplo. + + diff --git a/content/en/blog/_index.md b/src/content/docs/fa/blog/index.md similarity index 86% rename from content/en/blog/_index.md rename to src/content/docs/fa/blog/index.md index bfe08e93d..07fd81571 100644 --- a/content/en/blog/_index.md +++ b/src/content/docs/fa/blog/index.md @@ -1,9 +1,8 @@ --- title: "Blog" linkTitle: "Blog" -menu: - main: - weight: 30 +sidebar: + order: 30 --- diff --git a/content/fa/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/fa/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/fa/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/fa/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/fa/blog/releases/release13.md b/src/content/docs/fa/blog/releases/release13.md similarity index 100% rename from content/fa/blog/releases/release13.md rename to src/content/docs/fa/blog/releases/release13.md diff --git a/content/fa/blog/releases/release14.md b/src/content/docs/fa/blog/releases/release14.md similarity index 100% rename from content/fa/blog/releases/release14.md rename to src/content/docs/fa/blog/releases/release14.md diff --git a/content/fa/blog/releases/release15.md b/src/content/docs/fa/blog/releases/release15.md similarity index 100% rename from content/fa/blog/releases/release15.md rename to src/content/docs/fa/blog/releases/release15.md diff --git a/content/fa/blog/releases/release16.md b/src/content/docs/fa/blog/releases/release16.md similarity index 100% rename from content/fa/blog/releases/release16.md rename to src/content/docs/fa/blog/releases/release16.md diff --git a/content/fa/docs/benchmarks/_index.md b/src/content/docs/fa/docs/benchmarks/index.md similarity index 99% rename from content/fa/docs/benchmarks/_index.md rename to src/content/docs/fa/docs/benchmarks/index.md index 4154952d9..b5a8b975a 100644 --- a/content/fa/docs/benchmarks/_index.md +++ b/src/content/docs/fa/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "بنچ مارک ها" -draft: false -weight: 3 + +sidebar: + order: 3 --- جین از یک نسخه سفارشی از [HttpRouter](https://github.com/julienschmidt/httprouter) استفاده میکند. diff --git a/content/fa/docs/deployment/_index.md b/src/content/docs/fa/docs/deployment/index.md similarity index 98% rename from content/fa/docs/deployment/_index.md rename to src/content/docs/fa/docs/deployment/index.md index a6df76d0e..885a80a08 100644 --- a/content/fa/docs/deployment/_index.md +++ b/src/content/docs/fa/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "دیپلوی" -draft: false -weight: 6 + +sidebar: + order: 6 --- جین به راحتی میتواند روی هر فضای ابری دیپلوی شود. diff --git a/content/en/docs/examples/ascii-json.md b/src/content/docs/fa/docs/examples/ascii-json.md similarity index 97% rename from content/en/docs/examples/ascii-json.md rename to src/content/docs/fa/docs/examples/ascii-json.md index 82ab48d2a..7e2d2b0d0 100644 --- a/content/en/docs/examples/ascii-json.md +++ b/src/content/docs/fa/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- Using AsciiJSON to Generates ASCII-only JSON with escaped non-ASCII characters. diff --git a/content/tr/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/fa/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/tr/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/fa/docs/examples/bind-body-into-dirrerent-structs.md index c685ccaba..138179eea 100644 --- a/content/tr/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/fa/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "Try to bind body into different structs" -draft: false + --- The normal methods for binding request body consumes `c.Request.Body` and they diff --git a/content/en/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/fa/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/en/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/fa/docs/examples/bind-form-data-request-with-custom-struct.md index 2882e8656..92ab2f4b8 100644 --- a/content/en/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/fa/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "Bind form-data request with custom struct" -draft: false + --- The follow example using custom struct: diff --git a/content/en/docs/examples/bind-html-checkbox.md b/src/content/docs/fa/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/en/docs/examples/bind-html-checkbox.md rename to src/content/docs/fa/docs/examples/bind-html-checkbox.md index ae63e1f60..4b1ee65ef 100644 --- a/content/en/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/fa/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "Bind html checkboxes" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) diff --git a/content/fa/docs/examples/bind-query-or-post.md b/src/content/docs/fa/docs/examples/bind-query-or-post.md similarity index 98% rename from content/fa/docs/examples/bind-query-or-post.md rename to src/content/docs/fa/docs/examples/bind-query-or-post.md index 7ebbe739c..9912d908a 100644 --- a/content/fa/docs/examples/bind-query-or-post.md +++ b/src/content/docs/fa/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "Bind query string or post data" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292). diff --git a/content/en/docs/examples/bind-single-binary-with-template.md b/src/content/docs/fa/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/en/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/fa/docs/examples/bind-single-binary-with-template.md index 36f0bb212..09e8b02fc 100644 --- a/content/en/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/fa/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "Build a single binary with templates" -draft: false + --- ## Use the third-party package diff --git a/content/fa/docs/examples/bind-uri.md b/src/content/docs/fa/docs/examples/bind-uri.md similarity index 98% rename from content/fa/docs/examples/bind-uri.md rename to src/content/docs/fa/docs/examples/bind-uri.md index 743074b69..b2092e977 100644 --- a/content/fa/docs/examples/bind-uri.md +++ b/src/content/docs/fa/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "Bind Uri" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/846). diff --git a/content/en/docs/examples/binding-and-validation.md b/src/content/docs/fa/docs/examples/binding-and-validation.md similarity index 99% rename from content/en/docs/examples/binding-and-validation.md rename to src/content/docs/fa/docs/examples/binding-and-validation.md index 41a564a3e..40684022c 100644 --- a/content/en/docs/examples/binding-and-validation.md +++ b/src/content/docs/fa/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "Model binding and validation" -draft: false + --- To bind a request body into a type, use model binding. We currently support binding of JSON, XML, YAML and standard form values (foo=bar&boo=baz). diff --git a/content/tr/docs/examples/controlling-log-output-coloring.md b/src/content/docs/fa/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/tr/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/fa/docs/examples/controlling-log-output-coloring.md index 81f27efe9..c0973a85a 100644 --- a/content/tr/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/fa/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "Controlling Log output coloring" -draft: false + --- By default, logs output on console should be colorized depending on the detected TTY. diff --git a/content/tr/docs/examples/cookie.md b/src/content/docs/fa/docs/examples/cookie.md similarity index 97% rename from content/tr/docs/examples/cookie.md rename to src/content/docs/fa/docs/examples/cookie.md index 231473ca5..090e66354 100644 --- a/content/tr/docs/examples/cookie.md +++ b/src/content/docs/fa/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "Set and get a cookie" -draft: false + --- ```go diff --git a/content/fa/docs/examples/custom-http-config.md b/src/content/docs/fa/docs/examples/custom-http-config.md similarity index 97% rename from content/fa/docs/examples/custom-http-config.md rename to src/content/docs/fa/docs/examples/custom-http-config.md index f4c0d9d95..e8b921b73 100644 --- a/content/fa/docs/examples/custom-http-config.md +++ b/src/content/docs/fa/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "Custom HTTP configuration" -draft: false + --- Use `http.ListenAndServe()` directly, like this: diff --git a/content/en/docs/examples/custom-log-format.md b/src/content/docs/fa/docs/examples/custom-log-format.md similarity index 98% rename from content/en/docs/examples/custom-log-format.md rename to src/content/docs/fa/docs/examples/custom-log-format.md index f9ea8b6a7..6d6450341 100644 --- a/content/en/docs/examples/custom-log-format.md +++ b/src/content/docs/fa/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "Custom log file" -draft: false + --- For example: diff --git a/content/fa/docs/examples/custom-middleware.md b/src/content/docs/fa/docs/examples/custom-middleware.md similarity index 97% rename from content/fa/docs/examples/custom-middleware.md rename to src/content/docs/fa/docs/examples/custom-middleware.md index dd7407b07..8de8438b0 100644 --- a/content/fa/docs/examples/custom-middleware.md +++ b/src/content/docs/fa/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "Custom Middleware" -draft: false + --- ```go diff --git a/content/tr/docs/examples/custom-validators.md b/src/content/docs/fa/docs/examples/custom-validators.md similarity index 99% rename from content/tr/docs/examples/custom-validators.md rename to src/content/docs/fa/docs/examples/custom-validators.md index f777436cc..114de29af 100644 --- a/content/tr/docs/examples/custom-validators.md +++ b/src/content/docs/fa/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "Custom validators" -draft: false + --- It is also possible to register custom validators. See the [example code](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations). diff --git a/content/zh-tw/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/fa/docs/examples/define-format-for-the-log-of-routes.md similarity index 98% rename from content/zh-tw/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/fa/docs/examples/define-format-for-the-log-of-routes.md index 6cfdaa68f..44bd991a9 100644 --- a/content/zh-tw/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/fa/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "Define format for the log of routes" -draft: false + --- The default log of routes is: diff --git a/content/fa/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/fa/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/fa/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/fa/docs/examples/goroutines-inside-a-middleware.md index 122593a1b..f3a6b10d6 100644 --- a/content/fa/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/fa/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "Goroutines inside a middleware" -draft: false + --- When starting new Goroutines inside a middleware or handler, you **SHOULD NOT** use the original context inside it, you have to use a read-only copy. diff --git a/content/fa/docs/examples/graceful-restart-or-stop.md b/src/content/docs/fa/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/fa/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/fa/docs/examples/graceful-restart-or-stop.md index 87ca178c2..633ad5324 100644 --- a/content/fa/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/fa/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "Graceful restart or stop" -draft: false + --- Do you want to graceful restart or stop your web server? diff --git a/content/zh-tw/docs/examples/grouping-routes.md b/src/content/docs/fa/docs/examples/grouping-routes.md similarity index 97% rename from content/zh-tw/docs/examples/grouping-routes.md rename to src/content/docs/fa/docs/examples/grouping-routes.md index a480aa325..c7f7a7245 100644 --- a/content/zh-tw/docs/examples/grouping-routes.md +++ b/src/content/docs/fa/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "Grouping routes" -draft: false + --- ```go diff --git a/content/en/docs/examples/html-rendering.md b/src/content/docs/fa/docs/examples/html-rendering.md similarity index 99% rename from content/en/docs/examples/html-rendering.md rename to src/content/docs/fa/docs/examples/html-rendering.md index cfa8e825a..787248795 100644 --- a/content/en/docs/examples/html-rendering.md +++ b/src/content/docs/fa/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "HTML rendering" -draft: false + --- Using LoadHTMLGlob() or LoadHTMLFiles() diff --git a/content/fa/docs/examples/http-method.md b/src/content/docs/fa/docs/examples/http-method.md similarity index 97% rename from content/fa/docs/examples/http-method.md rename to src/content/docs/fa/docs/examples/http-method.md index 6678e155f..b8d41d696 100644 --- a/content/fa/docs/examples/http-method.md +++ b/src/content/docs/fa/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "Using HTTP method" -draft: false + --- ```go diff --git a/content/fa/docs/examples/http2-server-push.md b/src/content/docs/fa/docs/examples/http2-server-push.md similarity index 98% rename from content/fa/docs/examples/http2-server-push.md rename to src/content/docs/fa/docs/examples/http2-server-push.md index 00bbd12d8..192d22a45 100644 --- a/content/fa/docs/examples/http2-server-push.md +++ b/src/content/docs/fa/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP2 server push" -draft: false + --- http.Pusher is supported only **go1.8+**. See the [golang blog](https://blog.golang.org/h2push) for detail information. diff --git a/content/fa/docs/examples/_index.md b/src/content/docs/fa/docs/examples/index.md similarity index 70% rename from content/fa/docs/examples/_index.md rename to src/content/docs/fa/docs/examples/index.md index 50f228be0..c371f9c5f 100644 --- a/content/fa/docs/examples/_index.md +++ b/src/content/docs/fa/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "مثال ها" -draft: false -weight: 6 + +sidebar: + order: 6 --- لیست مثال ها. diff --git a/content/fa/docs/examples/jsonp.md b/src/content/docs/fa/docs/examples/jsonp.md similarity index 97% rename from content/fa/docs/examples/jsonp.md rename to src/content/docs/fa/docs/examples/jsonp.md index 63c7dc551..bc4439a44 100644 --- a/content/fa/docs/examples/jsonp.md +++ b/src/content/docs/fa/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- Using JSONP to request data from a server in a different domain. Add callback to response body if the query parameter callback exists. diff --git a/content/en/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/fa/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/en/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/fa/docs/examples/map-as-querystring-or-postform.md index fa733e2ef..5ed88b0b5 100644 --- a/content/en/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/fa/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "Map as querystring or postform parameters" -draft: false + --- ```sh diff --git a/content/fa/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/fa/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/fa/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/fa/docs/examples/multipart-urlencoded-binding.md index 767fc6576..73fee286a 100644 --- a/content/fa/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/fa/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded binding" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/multipart-urlencoded-form.md b/src/content/docs/fa/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/zh-tw/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/fa/docs/examples/multipart-urlencoded-form.md index 774662b1e..04eab2373 100644 --- a/content/zh-tw/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/fa/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded form" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/multiple-template.md b/src/content/docs/fa/docs/examples/multiple-template.md similarity index 94% rename from content/zh-tw/docs/examples/multiple-template.md rename to src/content/docs/fa/docs/examples/multiple-template.md index 0bcf46858..28b58c213 100644 --- a/content/zh-tw/docs/examples/multiple-template.md +++ b/src/content/docs/fa/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "Multitemplate" -draft: false + --- Gin allow by default use only one html.Template. Check [a multitemplate render](https://github.com/gin-contrib/multitemplate) for using features like go 1.6 `block template`. diff --git a/content/en/docs/examples/only-bind-query-string.md b/src/content/docs/fa/docs/examples/only-bind-query-string.md similarity index 98% rename from content/en/docs/examples/only-bind-query-string.md rename to src/content/docs/fa/docs/examples/only-bind-query-string.md index d6d4e33cc..bdd6c174e 100644 --- a/content/en/docs/examples/only-bind-query-string.md +++ b/src/content/docs/fa/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "Only bind query string" -draft: false + --- `ShouldBindQuery` function only binds the query params and not the post data. See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). diff --git a/content/fa/docs/examples/param-in-path.md b/src/content/docs/fa/docs/examples/param-in-path.md similarity index 98% rename from content/fa/docs/examples/param-in-path.md rename to src/content/docs/fa/docs/examples/param-in-path.md index 6e29a59c7..b0a4a3b68 100644 --- a/content/fa/docs/examples/param-in-path.md +++ b/src/content/docs/fa/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "Parameters in path" -draft: false + --- ```go diff --git a/content/fa/docs/examples/pure-json.md b/src/content/docs/fa/docs/examples/pure-json.md similarity index 98% rename from content/fa/docs/examples/pure-json.md rename to src/content/docs/fa/docs/examples/pure-json.md index d91f905ef..5fbf8bfc1 100644 --- a/content/fa/docs/examples/pure-json.md +++ b/src/content/docs/fa/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- Normally, JSON replaces special HTML characters with their unicode entities, e.g. `<` becomes `\u003c`. If you want to encode such characters literally, you can use PureJSON instead. diff --git a/content/zh-tw/docs/examples/query-and-post-form.md b/src/content/docs/fa/docs/examples/query-and-post-form.md similarity index 97% rename from content/zh-tw/docs/examples/query-and-post-form.md rename to src/content/docs/fa/docs/examples/query-and-post-form.md index 0d7b18e51..5c8e6d21e 100644 --- a/content/zh-tw/docs/examples/query-and-post-form.md +++ b/src/content/docs/fa/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "Query and post form" -draft: false + --- ```sh diff --git a/content/fa/docs/examples/querystring-param.md b/src/content/docs/fa/docs/examples/querystring-param.md similarity index 97% rename from content/fa/docs/examples/querystring-param.md rename to src/content/docs/fa/docs/examples/querystring-param.md index bcf8b55f2..cba891746 100644 --- a/content/fa/docs/examples/querystring-param.md +++ b/src/content/docs/fa/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "Query string parameters" -draft: false + --- ```go diff --git a/content/fa/docs/examples/redirects.md b/src/content/docs/fa/docs/examples/redirects.md similarity index 98% rename from content/fa/docs/examples/redirects.md rename to src/content/docs/fa/docs/examples/redirects.md index f7d823eca..e62a9952e 100644 --- a/content/fa/docs/examples/redirects.md +++ b/src/content/docs/fa/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "Redirects" -draft: false + --- Issuing a HTTP redirect is easy. Both internal and external locations are supported. diff --git a/content/en/docs/examples/rendering.md b/src/content/docs/fa/docs/examples/rendering.md similarity index 99% rename from content/en/docs/examples/rendering.md rename to src/content/docs/fa/docs/examples/rendering.md index a9fa75b5f..c9c705c65 100644 --- a/content/en/docs/examples/rendering.md +++ b/src/content/docs/fa/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "XML/JSON/YAML/ProtoBuf rendering" -draft: false + --- ```go diff --git a/content/tr/docs/examples/run-multiple-service.md b/src/content/docs/fa/docs/examples/run-multiple-service.md similarity index 98% rename from content/tr/docs/examples/run-multiple-service.md rename to src/content/docs/fa/docs/examples/run-multiple-service.md index ebe6223a0..0dba2ab95 100644 --- a/content/tr/docs/examples/run-multiple-service.md +++ b/src/content/docs/fa/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "Run multiple service" -draft: false + --- See the [question](https://github.com/gin-gonic/gin/issues/346) and try the following example: diff --git a/content/tr/docs/examples/secure-json.md b/src/content/docs/fa/docs/examples/secure-json.md similarity index 97% rename from content/tr/docs/examples/secure-json.md rename to src/content/docs/fa/docs/examples/secure-json.md index 9f5642167..82e63a4c4 100644 --- a/content/tr/docs/examples/secure-json.md +++ b/src/content/docs/fa/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- Using SecureJSON to prevent json hijacking. Default prepends `"while(1),"` to response body if the given struct is array values. diff --git a/content/en/docs/examples/security-headers.md b/src/content/docs/fa/docs/examples/security-headers.md similarity index 99% rename from content/en/docs/examples/security-headers.md rename to src/content/docs/fa/docs/examples/security-headers.md index 80e11fa88..9fa537894 100644 --- a/content/en/docs/examples/security-headers.md +++ b/src/content/docs/fa/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "Security Headers" -draft: false + --- It's important to use security headers to protect your web application from common security vulnerabilities. This example shows you how to add security headers to your Gin application and also how to avoid Host Header Injection related attacks (SSRF, Open Redirection). diff --git a/content/tr/docs/examples/serving-data-from-reader.md b/src/content/docs/fa/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/tr/docs/examples/serving-data-from-reader.md rename to src/content/docs/fa/docs/examples/serving-data-from-reader.md index f5546a8c6..614db12ce 100644 --- a/content/tr/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/fa/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "Serving data from reader" -draft: false + --- ```go diff --git a/content/tr/docs/examples/serving-static-files.md b/src/content/docs/fa/docs/examples/serving-static-files.md similarity index 95% rename from content/tr/docs/examples/serving-static-files.md rename to src/content/docs/fa/docs/examples/serving-static-files.md index e296ead02..bda67da07 100644 --- a/content/tr/docs/examples/serving-static-files.md +++ b/src/content/docs/fa/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "Serving static files" -draft: false + --- ```go diff --git a/content/tr/docs/examples/support-lets-encrypt.md b/src/content/docs/fa/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/tr/docs/examples/support-lets-encrypt.md rename to src/content/docs/fa/docs/examples/support-lets-encrypt.md index c66288e87..841c1a7f9 100644 --- a/content/tr/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/fa/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Support Let's Encrypt" -draft: false + --- example for 1-line LetsEncrypt HTTPS servers. diff --git a/content/fa/docs/examples/upload-file/_index.md b/src/content/docs/fa/docs/examples/upload-file/index.md similarity index 84% rename from content/fa/docs/examples/upload-file/_index.md rename to src/content/docs/fa/docs/examples/upload-file/index.md index 1810e3253..d0ff99e85 100644 --- a/content/fa/docs/examples/upload-file/_index.md +++ b/src/content/docs/fa/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "Upload files" -draft: false + --- The section lists upload file api usage. diff --git a/content/tr/docs/examples/upload-file/multiple-file.md b/src/content/docs/fa/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/tr/docs/examples/upload-file/multiple-file.md rename to src/content/docs/fa/docs/examples/upload-file/multiple-file.md index 912472dd3..185b7b5f6 100644 --- a/content/tr/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/fa/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "Multiple files" -draft: false + --- See the detail [example code](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple). diff --git a/content/fa/docs/examples/upload-file/single-file.md b/src/content/docs/fa/docs/examples/upload-file/single-file.md similarity index 98% rename from content/fa/docs/examples/upload-file/single-file.md rename to src/content/docs/fa/docs/examples/upload-file/single-file.md index 22ac899f8..5fe274dc7 100644 --- a/content/fa/docs/examples/upload-file/single-file.md +++ b/src/content/docs/fa/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "Single file" -draft: false + --- References issue [#774](https://github.com/gin-gonic/gin/issues/774) and detail [example code](https://github.com/gin-gonic/examples/tree/master/upload-file/single). diff --git a/content/fa/docs/examples/using-basicauth-middleware.md b/src/content/docs/fa/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/fa/docs/examples/using-basicauth-middleware.md rename to src/content/docs/fa/docs/examples/using-basicauth-middleware.md index 318aca232..cc68db4a0 100644 --- a/content/fa/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/fa/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "Using BasicAuth middleware" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/using-middleware.md b/src/content/docs/fa/docs/examples/using-middleware.md similarity index 98% rename from content/zh-tw/docs/examples/using-middleware.md rename to src/content/docs/fa/docs/examples/using-middleware.md index 2a3159cc3..5fc4154db 100644 --- a/content/zh-tw/docs/examples/using-middleware.md +++ b/src/content/docs/fa/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "Using middleware" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/without-middleware.md b/src/content/docs/fa/docs/examples/without-middleware.md similarity index 93% rename from content/zh-tw/docs/examples/without-middleware.md rename to src/content/docs/fa/docs/examples/without-middleware.md index ce7b81fbb..6ef54bda0 100644 --- a/content/zh-tw/docs/examples/without-middleware.md +++ b/src/content/docs/fa/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "Without middleware by default" -draft: false + --- Use diff --git a/content/en/docs/examples/write-log.md b/src/content/docs/fa/docs/examples/write-log.md similarity index 97% rename from content/en/docs/examples/write-log.md rename to src/content/docs/fa/docs/examples/write-log.md index 261b8d26a..759423de4 100644 --- a/content/en/docs/examples/write-log.md +++ b/src/content/docs/fa/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "How to write log file" -draft: false + --- ```go diff --git a/content/pt/docs/faq/_index.md b/src/content/docs/fa/docs/faq/index.md similarity index 79% rename from content/pt/docs/faq/_index.md rename to src/content/docs/fa/docs/faq/index.md index 389d1432a..ad348f11f 100644 --- a/content/pt/docs/faq/_index.md +++ b/src/content/docs/fa/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO: record some frequently asked question from GitHub Issue tab. diff --git a/content/fa/docs/features/_index.md b/src/content/docs/fa/docs/features/index.md similarity index 94% rename from content/fa/docs/features/_index.md rename to src/content/docs/fa/docs/features/index.md index 45facf683..8014b6e54 100644 --- a/content/fa/docs/features/_index.md +++ b/src/content/docs/fa/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "امکانات" -draft: false -weight: 4 + +sidebar: + order: 4 --- ## امکانات نسخه پایدار 1 جین : diff --git a/content/fa/docs/_index.md b/src/content/docs/fa/docs/index.md similarity index 96% rename from content/fa/docs/_index.md rename to src/content/docs/fa/docs/index.md index 09ab9d8ce..426d02268 100644 --- a/content/fa/docs/_index.md +++ b/src/content/docs/fa/docs/index.md @@ -1,10 +1,8 @@ --- title: "اسناد" linkTitle: "اسناد/" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## Gin چیست ؟ diff --git a/content/fa/docs/introduction/_index.md b/src/content/docs/fa/docs/introduction/index.md similarity index 97% rename from content/fa/docs/introduction/_index.md rename to src/content/docs/fa/docs/introduction/index.md index a5a328b11..dd2e3e121 100755 --- a/content/fa/docs/introduction/_index.md +++ b/src/content/docs/fa/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "مقدمه" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin یک فریم ورک وب ساخته شده با Go است که امکاناتی مانند martini دارد (یکی دیگر از فریم ورک های وب گو) ولی با کارایی بالاتر چیزی حدود 40 برابر سریع تر با تشکر از [httprouter](https://github.com/iamAmirrezaSaki/website.git).اگه به عملکرد فوق العاده ایی نیاز دارید عاشق Gin می شوید. diff --git a/content/fa/docs/jsoniter/_index.md b/src/content/docs/fa/docs/jsoniter/index.md similarity index 93% rename from content/fa/docs/jsoniter/_index.md rename to src/content/docs/fa/docs/jsoniter/index.md index 349040067..242b2987a 100644 --- a/content/fa/docs/jsoniter/_index.md +++ b/src/content/docs/fa/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- ## [jsoniter](https://github.com/json-iterator/go) diff --git a/content/fa/docs/quickstart/_index.md b/src/content/docs/fa/docs/quickstart/index.md similarity index 98% rename from content/fa/docs/quickstart/_index.md rename to src/content/docs/fa/docs/quickstart/index.md index f3f411fe0..36d2fd4fd 100644 --- a/content/fa/docs/quickstart/_index.md +++ b/src/content/docs/fa/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "شروع سریع" -draft: false -weight: 2 + +sidebar: + order: 2 --- در اینجا ما اطلاعاتی را در کدها دریافت میکنیم و همچنین یاد میگیریم که : diff --git a/content/fa/docs/testing/_index.md b/src/content/docs/fa/docs/testing/index.md similarity index 98% rename from content/fa/docs/testing/_index.md rename to src/content/docs/fa/docs/testing/index.md index 766982b44..40ec4d3a6 100644 --- a/content/fa/docs/testing/_index.md +++ b/src/content/docs/fa/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "تست" -draft: false -weight: 7 + +sidebar: + order: 7 --- ## چگونه در gin تست بنویسیم ؟ diff --git a/content/fa/docs/users/_index.md b/src/content/docs/fa/docs/users/index.md similarity index 97% rename from content/fa/docs/users/_index.md rename to src/content/docs/fa/docs/users/index.md index 6056d5c94..bd3f67a87 100644 --- a/content/fa/docs/users/_index.md +++ b/src/content/docs/fa/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "کاربران" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### لیستی عالی از پروژه های ساخته شده با [Gin](https://github.com/gin-gonic/gin): diff --git a/src/content/docs/fa/index.mdx b/src/content/docs/fa/index.mdx new file mode 100644 index 000000000..f591364c5 --- /dev/null +++ b/src/content/docs/fa/index.mdx @@ -0,0 +1,54 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: The fastest full-featured web framework for Go. Crystal clear. + image: + file: ../../../assets/gin.png + actions: + - text: Read the docs + link: /fa/docs/ + icon: right-arrow + - text: Download + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## Gin چیست? + +جین یک فریم ورک وبه که با زبان گو ساخته شده. + +.جین یک فریم ورک شبیه به مارتینه(یکی دیگه از وب فریم ورک های گو) ولی با پرفورمنس بهتر . چیزی حدود 40 برار سریع تر + +اگه شما نیازمند پرفورمنس و کارایی بالا(بهره بری بالا) هستید عاشق جین میشید. + + + + Radix tree based routing(مسیریابی مبتنی بر درخت ردیکس), small memory foot print. No reflection(بدون تامل). Predictable API performance. + + + An incoming HTTP request can be handled by a chain of middleware and the final action. For example: Logger, Authorization, GZIP and finally post a message in the DB. + + + Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! + + + Gin can parse and validate the JSON of a request, checking, for example, the existence of required values. + + + Organize your routes better. Authorization required vs non required, different API versions. In addition, groups can be nested infinitely without degrading performance. + + + Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, middleware can write them to a log file, to a database and send them through the network. + + + Gin provides an easy to use API for JSON, XML and HTML rendering. + + + Creating new middleware is so easy, just check out the sample code. + + \ No newline at end of file diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx new file mode 100644 index 000000000..19d7f4b82 --- /dev/null +++ b/src/content/docs/index.mdx @@ -0,0 +1,61 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: The fastest full-featured web framework for Go. Crystal clear. + image: + file: ../../assets/gin.png + actions: + - text: Read the docs + link: /en/docs/ + icon: right-arrow + - text: Download + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## What is Gin? + +Gin is a web framework written in Golang. It features a Martini-like API, but with performance up to 40 times faster than Martini. If you need performance and productivity, you will love Gin. + + + + Radix tree based routing, small memory foot print. No reflection. Predictable API performance. + + + An incoming HTTP request can be handled by a chain of middleware and the final action. For example: Logger, Authorization, GZIP and finally post a message in the DB. + + + Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! + + + Gin can parse and validate the JSON of a request, checking, for example, the existence of required values. + + + Organize your routes better. Authorization required vs non required, different API versions. In addition, groups can be nested infinitely without degrading performance. + + + Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, middleware can write them to a log file, to a database and send them through the network. + + + Gin provides an easy to use API for JSON, XML and HTML rendering. + + + Creating new middleware is so easy, just check out the sample code. + + + +## How to use Gin? + +We provide API usage [examples](https://github.com/gin-gonic/examples) and list some publicly known [Gin users](/en/docs/users). + +## How to contribute to Gin? + +* Help people on the discussion forums +* Tell us your success stories using Gin +* Tell us how we can improve Gin and help us do it +* Contribute to an existing library \ No newline at end of file diff --git a/content/ja/blog/_index.md b/src/content/docs/ja/blog/index.md similarity index 90% rename from content/ja/blog/_index.md rename to src/content/docs/ja/blog/index.md index 0d5fcbf40..e01b20dce 100644 --- a/content/ja/blog/_index.md +++ b/src/content/docs/ja/blog/index.md @@ -1,9 +1,8 @@ --- title: "ブログ" linkTitle: "ブログ" -menu: - main: - weight: 30 +sidebar: + order: 30 --- diff --git a/content/ja/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/ja/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/ja/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/ja/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/ja/blog/releases/release13.md b/src/content/docs/ja/blog/releases/release13.md similarity index 100% rename from content/ja/blog/releases/release13.md rename to src/content/docs/ja/blog/releases/release13.md diff --git a/content/ja/blog/releases/release14.md b/src/content/docs/ja/blog/releases/release14.md similarity index 100% rename from content/ja/blog/releases/release14.md rename to src/content/docs/ja/blog/releases/release14.md diff --git a/content/ja/blog/releases/release15.md b/src/content/docs/ja/blog/releases/release15.md similarity index 100% rename from content/ja/blog/releases/release15.md rename to src/content/docs/ja/blog/releases/release15.md diff --git a/content/ja/docs/benchmarks/_index.md b/src/content/docs/ja/docs/benchmarks/index.md similarity index 99% rename from content/ja/docs/benchmarks/_index.md rename to src/content/docs/ja/docs/benchmarks/index.md index 0dd8d5135..029d5f56d 100644 --- a/content/ja/docs/benchmarks/_index.md +++ b/src/content/docs/ja/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "ベンチマーク" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin は [HttpRouter](https://github.com/julienschmidt/httprouter) をカスタムしたバージョンを利用しています。 diff --git a/content/ja/docs/deployment/_index.md b/src/content/docs/ja/docs/deployment/index.md similarity index 98% rename from content/ja/docs/deployment/_index.md rename to src/content/docs/ja/docs/deployment/index.md index fe487c3db..53e55fc7e 100644 --- a/content/ja/docs/deployment/_index.md +++ b/src/content/docs/ja/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "Deployment" -draft: false -weight: 6 + +sidebar: + order: 6 --- Ginのプロジェクトはあらゆるクラウドサービス上に簡単にデプロイできます。 diff --git a/content/ja/docs/examples/ascii-json.md b/src/content/docs/ja/docs/examples/ascii-json.md similarity index 97% rename from content/ja/docs/examples/ascii-json.md rename to src/content/docs/ja/docs/examples/ascii-json.md index 5c8a75979..cfb04242f 100644 --- a/content/ja/docs/examples/ascii-json.md +++ b/src/content/docs/ja/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- AsciiJSON メソッドを使うことで、ASCII 文字列以外をエスケープした diff --git a/content/ja/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/ja/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/ja/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/ja/docs/examples/bind-body-into-dirrerent-structs.md index bfd17bf6f..593e4cd05 100644 --- a/content/ja/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/ja/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "body を異なる構造体にバインドするには" -draft: false + --- 通常のリクエスト本文をバインドするメソッドたちは、`c.Request.Body` を消費します。よってそれらのメソッドは複数回呼び出すことができません。 diff --git a/content/ja/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/ja/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/ja/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/ja/docs/examples/bind-form-data-request-with-custom-struct.md index 34d83fb5b..f7900823c 100644 --- a/content/ja/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/ja/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "フォーム投稿されたリクエストを構造体にバインドする" -draft: false + --- 下記のサンプルコードは、カスタム構造体を使っています。 diff --git a/content/ja/docs/examples/bind-html-checkbox.md b/src/content/docs/ja/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/ja/docs/examples/bind-html-checkbox.md rename to src/content/docs/ja/docs/examples/bind-html-checkbox.md index 20bc88be6..6b9ee36c9 100644 --- a/content/ja/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/ja/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "HTMLチェックボックスをバインドする" -draft: false + --- [詳細な情報](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) はこちら。 diff --git a/content/ja/docs/examples/bind-query-or-post.md b/src/content/docs/ja/docs/examples/bind-query-or-post.md similarity index 98% rename from content/ja/docs/examples/bind-query-or-post.md rename to src/content/docs/ja/docs/examples/bind-query-or-post.md index 7e96cf9ca..4400bcc57 100644 --- a/content/ja/docs/examples/bind-query-or-post.md +++ b/src/content/docs/ja/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "クエリ文字列あるいはポストされたデータをバインドする" -draft: false + --- [詳細](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292) はこちら。 diff --git a/content/ja/docs/examples/bind-single-binary-with-template.md b/src/content/docs/ja/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/ja/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/ja/docs/examples/bind-single-binary-with-template.md index 07ebfa937..c3afa7d7f 100644 --- a/content/ja/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/ja/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "テンプレートを含めた1つのバイナリをビルドする" -draft: false + --- [go-assets](https://github.com/jessevdk/go-assets) を利用することで、サーバーアプリケーションを、テンプレートを含む1つのバイナリにまとめることができます。 diff --git a/content/ja/docs/examples/bind-uri.md b/src/content/docs/ja/docs/examples/bind-uri.md similarity index 98% rename from content/ja/docs/examples/bind-uri.md rename to src/content/docs/ja/docs/examples/bind-uri.md index dc28f0702..b51626248 100644 --- a/content/ja/docs/examples/bind-uri.md +++ b/src/content/docs/ja/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "URLをバインドする" -draft: false + --- [詳細](https://github.com/gin-gonic/gin/issues/846) はこちら。 diff --git a/content/ja/docs/examples/binding-and-validation.md b/src/content/docs/ja/docs/examples/binding-and-validation.md similarity index 99% rename from content/ja/docs/examples/binding-and-validation.md rename to src/content/docs/ja/docs/examples/binding-and-validation.md index 71697056f..7baa1d050 100644 --- a/content/ja/docs/examples/binding-and-validation.md +++ b/src/content/docs/ja/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "モデルへのバインディングとバリデーションする" -draft: false + --- リクエストボディをある型にバインドするには、モデルへのバインディングを利用してください。Gin は今のところ JSON, XML, YAML と標準的なフォームの値(foo=bar&boo=baz)をサポートしています。 diff --git a/content/ja/docs/examples/controlling-log-output-coloring.md b/src/content/docs/ja/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/ja/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/ja/docs/examples/controlling-log-output-coloring.md index c69272c14..556f9bb1c 100644 --- a/content/ja/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/ja/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "ログ出力の色付けを制御する" -draft: false + --- デフォルトでは、ログ出力は検出された TTY に応じて色付けされます。 diff --git a/content/ja/docs/examples/cookie.md b/src/content/docs/ja/docs/examples/cookie.md similarity index 97% rename from content/ja/docs/examples/cookie.md rename to src/content/docs/ja/docs/examples/cookie.md index fcbc27f0f..638d28558 100644 --- a/content/ja/docs/examples/cookie.md +++ b/src/content/docs/ja/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "cookieの設定と取得" -draft: false + --- ```go diff --git a/content/ja/docs/examples/custom-http-config.md b/src/content/docs/ja/docs/examples/custom-http-config.md similarity index 97% rename from content/ja/docs/examples/custom-http-config.md rename to src/content/docs/ja/docs/examples/custom-http-config.md index 730ad1862..870d7f670 100644 --- a/content/ja/docs/examples/custom-http-config.md +++ b/src/content/docs/ja/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "カスタム HTTP 設定" -draft: false + --- 以下のように `http.ListenAndServe()` を直接使ってください。 diff --git a/content/ja/docs/examples/custom-log-format.md b/src/content/docs/ja/docs/examples/custom-log-format.md similarity index 98% rename from content/ja/docs/examples/custom-log-format.md rename to src/content/docs/ja/docs/examples/custom-log-format.md index 07c3abd8c..7e17f736b 100644 --- a/content/ja/docs/examples/custom-log-format.md +++ b/src/content/docs/ja/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "カスタムログファイル" -draft: false + --- 例: diff --git a/content/ja/docs/examples/custom-middleware.md b/src/content/docs/ja/docs/examples/custom-middleware.md similarity index 98% rename from content/ja/docs/examples/custom-middleware.md rename to src/content/docs/ja/docs/examples/custom-middleware.md index aa5d7ec99..a553491ff 100644 --- a/content/ja/docs/examples/custom-middleware.md +++ b/src/content/docs/ja/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "カスタムミドルウェア" -draft: false + --- ```go diff --git a/content/ja/docs/examples/custom-validators.md b/src/content/docs/ja/docs/examples/custom-validators.md similarity index 99% rename from content/ja/docs/examples/custom-validators.md rename to src/content/docs/ja/docs/examples/custom-validators.md index 460df4516..d7a7466b4 100644 --- a/content/ja/docs/examples/custom-validators.md +++ b/src/content/docs/ja/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "カスタムバリデーション" -draft: false + --- カスタムしたバリデーションを使用することもできます。[サンプルコード](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations) も見てみてください。 diff --git a/content/ja/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/ja/docs/examples/define-format-for-the-log-of-routes.md similarity index 99% rename from content/ja/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/ja/docs/examples/define-format-for-the-log-of-routes.md index 172441891..183cedd4c 100644 --- a/content/ja/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/ja/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "ルーティングログのフォーマットを定義する" -draft: false + --- デフォルトのルーティングログは以下のようになります。 diff --git a/content/ja/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/ja/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/ja/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/ja/docs/examples/goroutines-inside-a-middleware.md index 8123cadc0..013c07163 100644 --- a/content/ja/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/ja/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "ミドルウェア内の Goroutine" -draft: false + --- 新しい goroutine をミドルウェアやハンドラー内で生成する場合、goroutine の内部でオリジナルの context を **使用しないでください**。読み込み用のコピーを使ってください。 diff --git a/content/ja/docs/examples/graceful-restart-or-stop.md b/src/content/docs/ja/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/ja/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/ja/docs/examples/graceful-restart-or-stop.md index 3cf526c4a..86b998af8 100644 --- a/content/ja/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/ja/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "graceful restart と stop" -draft: false + --- graceful restart と stop をしたいですか? diff --git a/content/ja/docs/examples/grouping-routes.md b/src/content/docs/ja/docs/examples/grouping-routes.md similarity index 97% rename from content/ja/docs/examples/grouping-routes.md rename to src/content/docs/ja/docs/examples/grouping-routes.md index 5cf449e75..ac9c06c02 100644 --- a/content/ja/docs/examples/grouping-routes.md +++ b/src/content/docs/ja/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "ルーティングをグループ化する" -draft: false + --- ```go diff --git a/content/ja/docs/examples/html-rendering.md b/src/content/docs/ja/docs/examples/html-rendering.md similarity index 99% rename from content/ja/docs/examples/html-rendering.md rename to src/content/docs/ja/docs/examples/html-rendering.md index 6fb9576c0..10768fae0 100644 --- a/content/ja/docs/examples/html-rendering.md +++ b/src/content/docs/ja/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "HTML をレンダリングする" -draft: false + --- LoadHTMLGlob() あるいは LoadHTMLFiles() メソッドを使用してください。 diff --git a/content/ja/docs/examples/http-method.md b/src/content/docs/ja/docs/examples/http-method.md similarity index 98% rename from content/ja/docs/examples/http-method.md rename to src/content/docs/ja/docs/examples/http-method.md index 1697c3582..4fac17962 100644 --- a/content/ja/docs/examples/http-method.md +++ b/src/content/docs/ja/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "GET,POST,PUT,PATCH,DELETE,OPTIONS メソッドを使う" -draft: false + --- ```go diff --git a/content/ja/docs/examples/http2-server-push.md b/src/content/docs/ja/docs/examples/http2-server-push.md similarity index 98% rename from content/ja/docs/examples/http2-server-push.md rename to src/content/docs/ja/docs/examples/http2-server-push.md index fb3f7e2c7..b6fad27e9 100644 --- a/content/ja/docs/examples/http2-server-push.md +++ b/src/content/docs/ja/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP/2 サーバープッシュ" -draft: false + --- http.Pusher は **go1.8+** 以降でのみサポートしています。 詳細な情報は [golang blog](https://blog.golang.org/h2push) を見てください。 diff --git a/content/ja/docs/examples/_index.md b/src/content/docs/ja/docs/examples/index.md similarity index 84% rename from content/ja/docs/examples/_index.md rename to src/content/docs/ja/docs/examples/index.md index ecb11cf4b..ae97f0d4f 100644 --- a/content/ja/docs/examples/_index.md +++ b/src/content/docs/ja/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "APIの使い方のサンプル" -draft: false -weight: 6 + +sidebar: + order: 6 --- このセクションでは APIの使い方のサンプルを挙げます。 diff --git a/content/ja/docs/examples/jsonp.md b/src/content/docs/ja/docs/examples/jsonp.md similarity index 97% rename from content/ja/docs/examples/jsonp.md rename to src/content/docs/ja/docs/examples/jsonp.md index dae73ed0e..df51ec131 100644 --- a/content/ja/docs/examples/jsonp.md +++ b/src/content/docs/ja/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP をレンダリングする" -draft: false + --- JSONP を使うことで、別のドメインのサーバーからレスポンスを受け取ることができます。callback をクエリ文字列に指定することで、レスポンスに callback を追加します。 diff --git a/content/ja/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/ja/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/ja/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/ja/docs/examples/map-as-querystring-or-postform.md index 68c6db17b..7bdda1b86 100644 --- a/content/ja/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/ja/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "クエリ文字列やフォーム投稿によるパラメータをマッピングする" -draft: false + --- ```sh diff --git a/content/ja/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/ja/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/ja/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/ja/docs/examples/multipart-urlencoded-binding.md index 1c3f85dd0..e50521516 100644 --- a/content/ja/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/ja/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded されたデータをバインドする" -draft: false + --- ```go diff --git a/content/ja/docs/examples/multipart-urlencoded-form.md b/src/content/docs/ja/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/ja/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/ja/docs/examples/multipart-urlencoded-form.md index d4f4527eb..ea82458b8 100644 --- a/content/ja/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/ja/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded フォーム" -draft: false + --- ```go diff --git a/content/ja/docs/examples/multiple-template.md b/src/content/docs/ja/docs/examples/multiple-template.md similarity index 95% rename from content/ja/docs/examples/multiple-template.md rename to src/content/docs/ja/docs/examples/multiple-template.md index 749c2767d..bad43f9eb 100644 --- a/content/ja/docs/examples/multiple-template.md +++ b/src/content/docs/ja/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "複数のテンプレート" -draft: false + --- Gin はデフォルトでは、1つの html.Template しか使用できません。 diff --git a/content/ja/docs/examples/only-bind-query-string.md b/src/content/docs/ja/docs/examples/only-bind-query-string.md similarity index 98% rename from content/ja/docs/examples/only-bind-query-string.md rename to src/content/docs/ja/docs/examples/only-bind-query-string.md index 47c524dc0..db458ef69 100644 --- a/content/ja/docs/examples/only-bind-query-string.md +++ b/src/content/docs/ja/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "クエリ文字列のみバインドする" -draft: false + --- `ShouldBindQuery` 関数はクエリ文字列のみをバインドし、POSTデータをバインドしません。[詳細](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017) はこちら。 diff --git a/content/ja/docs/examples/param-in-path.md b/src/content/docs/ja/docs/examples/param-in-path.md similarity index 98% rename from content/ja/docs/examples/param-in-path.md rename to src/content/docs/ja/docs/examples/param-in-path.md index 8a50fa341..fe9e178b0 100644 --- a/content/ja/docs/examples/param-in-path.md +++ b/src/content/docs/ja/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "パスに含まれるパラメータ" -draft: false + --- ```go diff --git a/content/ja/docs/examples/pure-json.md b/src/content/docs/ja/docs/examples/pure-json.md similarity index 98% rename from content/ja/docs/examples/pure-json.md rename to src/content/docs/ja/docs/examples/pure-json.md index 2cc0d7adf..d5bf9cc60 100644 --- a/content/ja/docs/examples/pure-json.md +++ b/src/content/docs/ja/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- 通常、JSON メソッドは `<` のようなHTML 文字を `\u003c` のような Unicode に置き換えます。 diff --git a/content/ja/docs/examples/query-and-post-form.md b/src/content/docs/ja/docs/examples/query-and-post-form.md similarity index 97% rename from content/ja/docs/examples/query-and-post-form.md rename to src/content/docs/ja/docs/examples/query-and-post-form.md index 59be66288..82db6daf5 100644 --- a/content/ja/docs/examples/query-and-post-form.md +++ b/src/content/docs/ja/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "フォーム投稿によるクエリ文字列" -draft: false + --- ```sh diff --git a/content/ja/docs/examples/querystring-param.md b/src/content/docs/ja/docs/examples/querystring-param.md similarity index 98% rename from content/ja/docs/examples/querystring-param.md rename to src/content/docs/ja/docs/examples/querystring-param.md index 71409666e..271300336 100644 --- a/content/ja/docs/examples/querystring-param.md +++ b/src/content/docs/ja/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "クエリ文字列のパラメータ" -draft: false + --- ```go diff --git a/content/ja/docs/examples/redirects.md b/src/content/docs/ja/docs/examples/redirects.md similarity index 98% rename from content/ja/docs/examples/redirects.md rename to src/content/docs/ja/docs/examples/redirects.md index f4617c4ad..056b74820 100644 --- a/content/ja/docs/examples/redirects.md +++ b/src/content/docs/ja/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "リダイレクト" -draft: false + --- HTTP リダイレクトするのは簡単です。内部パス、外部URL両方のリダイレクトに対応しています。 diff --git a/content/ja/docs/examples/rendering.md b/src/content/docs/ja/docs/examples/rendering.md similarity index 99% rename from content/ja/docs/examples/rendering.md rename to src/content/docs/ja/docs/examples/rendering.md index b44dfbcdb..ccd0394d8 100644 --- a/content/ja/docs/examples/rendering.md +++ b/src/content/docs/ja/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "XML, JSON, YAML, ProtoBuf をレンダリングする" -draft: false + --- ```go diff --git a/content/ja/docs/examples/run-multiple-service.md b/src/content/docs/ja/docs/examples/run-multiple-service.md similarity index 99% rename from content/ja/docs/examples/run-multiple-service.md rename to src/content/docs/ja/docs/examples/run-multiple-service.md index 77d82e755..7cb113c08 100644 --- a/content/ja/docs/examples/run-multiple-service.md +++ b/src/content/docs/ja/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "Gin を使って複数のサービスを稼働させる" -draft: false + --- [issue](https://github.com/gin-gonic/gin/issues/346) を見て、以下のサンプルコードを試してみてください。 diff --git a/content/ja/docs/examples/secure-json.md b/src/content/docs/ja/docs/examples/secure-json.md similarity index 97% rename from content/ja/docs/examples/secure-json.md rename to src/content/docs/ja/docs/examples/secure-json.md index 3669a52f3..0b65dca8e 100644 --- a/content/ja/docs/examples/secure-json.md +++ b/src/content/docs/ja/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- SecureJSON メソッドを使うことで、JSON ハイジャックを防げます。与えられた構造体が Array であれば、 diff --git a/content/ja/docs/examples/security-headers.md b/src/content/docs/ja/docs/examples/security-headers.md similarity index 99% rename from content/ja/docs/examples/security-headers.md rename to src/content/docs/ja/docs/examples/security-headers.md index 521eeeef2..fa5d348ea 100644 --- a/content/ja/docs/examples/security-headers.md +++ b/src/content/docs/ja/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "セキュリティ・ヘッダ" -draft: false + --- セキュリティヘッダの使用は、一般的なセキュリティの脆弱性からウェブアプリケーションを守るために重要です。この例では、Gin アプリケーションにセキュリティヘッダーを追加する方法と、ホストヘッダーインジェクションに関連する攻撃(SSRF、Open Redirection)を回避する方法を示します。 diff --git a/content/ja/docs/examples/serving-data-from-reader.md b/src/content/docs/ja/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/ja/docs/examples/serving-data-from-reader.md rename to src/content/docs/ja/docs/examples/serving-data-from-reader.md index 94e99811e..0abac2721 100644 --- a/content/ja/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/ja/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "io.Reader からのデータを返す" -draft: false + --- ```go diff --git a/content/ja/docs/examples/serving-static-files.md b/src/content/docs/ja/docs/examples/serving-static-files.md similarity index 96% rename from content/ja/docs/examples/serving-static-files.md rename to src/content/docs/ja/docs/examples/serving-static-files.md index 55a728101..57d80fa76 100644 --- a/content/ja/docs/examples/serving-static-files.md +++ b/src/content/docs/ja/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "静的ファイルを返す" -draft: false + --- ```go diff --git a/content/ja/docs/examples/support-lets-encrypt.md b/src/content/docs/ja/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/ja/docs/examples/support-lets-encrypt.md rename to src/content/docs/ja/docs/examples/support-lets-encrypt.md index a5a5dfadc..2451acae3 100644 --- a/content/ja/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/ja/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Let's Encrypt のサポート" -draft: false + --- 1行の Let's Encrypt HTTPS サーバーのサンプルコードです。 diff --git a/content/ja/docs/examples/upload-file/_index.md b/src/content/docs/ja/docs/examples/upload-file/index.md similarity index 91% rename from content/ja/docs/examples/upload-file/_index.md rename to src/content/docs/ja/docs/examples/upload-file/index.md index 982d95955..ed7b6105b 100644 --- a/content/ja/docs/examples/upload-file/_index.md +++ b/src/content/docs/ja/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "ファイルアップロード" -draft: false + --- このセクションではファイルのアップロードAPIの使い方を列挙します。 diff --git a/content/ja/docs/examples/upload-file/multiple-file.md b/src/content/docs/ja/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/ja/docs/examples/upload-file/multiple-file.md rename to src/content/docs/ja/docs/examples/upload-file/multiple-file.md index dccd25d0d..4033edb60 100644 --- a/content/ja/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/ja/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "複数のファイル" -draft: false + --- 詳細は [サンプルコード](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple) 参照のこと. diff --git a/content/ja/docs/examples/upload-file/single-file.md b/src/content/docs/ja/docs/examples/upload-file/single-file.md similarity index 99% rename from content/ja/docs/examples/upload-file/single-file.md rename to src/content/docs/ja/docs/examples/upload-file/single-file.md index e393e8465..11d5baae6 100644 --- a/content/ja/docs/examples/upload-file/single-file.md +++ b/src/content/docs/ja/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "単一のファイル" -draft: false + --- issue [#774](https://github.com/gin-gonic/gin/issues/774) と、詳細は [サンプルコード](https://github.com/gin-gonic/examples/tree/master/upload-file/single) 参照。 diff --git a/content/ja/docs/examples/using-basicauth-middleware.md b/src/content/docs/ja/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/ja/docs/examples/using-basicauth-middleware.md rename to src/content/docs/ja/docs/examples/using-basicauth-middleware.md index db0c110e4..e0ec502f5 100644 --- a/content/ja/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/ja/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "BasicAuth ミドルウェアを使う" -draft: false + --- ```go diff --git a/content/ja/docs/examples/using-middleware.md b/src/content/docs/ja/docs/examples/using-middleware.md similarity index 99% rename from content/ja/docs/examples/using-middleware.md rename to src/content/docs/ja/docs/examples/using-middleware.md index f43ca6b08..9995e8763 100644 --- a/content/ja/docs/examples/using-middleware.md +++ b/src/content/docs/ja/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "ミドルウェアを利用する" -draft: false + --- ```go diff --git a/content/ja/docs/examples/without-middleware.md b/src/content/docs/ja/docs/examples/without-middleware.md similarity index 96% rename from content/ja/docs/examples/without-middleware.md rename to src/content/docs/ja/docs/examples/without-middleware.md index 2dff9b652..517eeef29 100644 --- a/content/ja/docs/examples/without-middleware.md +++ b/src/content/docs/ja/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "デフォルトで設定されるミドルウェアがない空の Gin を作成する" -draft: false + --- ```go diff --git a/content/ja/docs/examples/write-log.md b/src/content/docs/ja/docs/examples/write-log.md similarity index 98% rename from content/ja/docs/examples/write-log.md rename to src/content/docs/ja/docs/examples/write-log.md index 793f78198..5f3e56909 100644 --- a/content/ja/docs/examples/write-log.md +++ b/src/content/docs/ja/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "ログファイルへ書き込むには" -draft: false + --- ```go diff --git a/content/ja/docs/faq/_index.md b/src/content/docs/ja/docs/faq/index.md similarity index 78% rename from content/ja/docs/faq/_index.md rename to src/content/docs/ja/docs/faq/index.md index bfec22d8b..20f2e9fe8 100644 --- a/content/ja/docs/faq/_index.md +++ b/src/content/docs/ja/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO: Github の Issue でよく聞かれる質問を書く diff --git a/content/ja/docs/features/_index.md b/src/content/docs/ja/docs/features/index.md similarity index 94% rename from content/ja/docs/features/_index.md rename to src/content/docs/ja/docs/features/index.md index 58eed7860..9318e97b4 100644 --- a/content/ja/docs/features/_index.md +++ b/src/content/docs/ja/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "機能" -draft: false -weight: 4 + +sidebar: + order: 4 --- #### Gin v1 の安定性 diff --git a/content/ja/docs/_index.md b/src/content/docs/ja/docs/index.md similarity index 96% rename from content/ja/docs/_index.md rename to src/content/docs/ja/docs/index.md index f410d7114..aeca095d2 100644 --- a/content/ja/docs/_index.md +++ b/src/content/docs/ja/docs/index.md @@ -1,10 +1,8 @@ --- title: "ドキュメント" linkTitle: "ドキュメント" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## Gin ってなに? diff --git a/content/ja/docs/introduction/_index.md b/src/content/docs/ja/docs/introduction/index.md similarity index 99% rename from content/ja/docs/introduction/_index.md rename to src/content/docs/ja/docs/introduction/index.md index 98b1b6385..fb777aa45 100644 --- a/content/ja/docs/introduction/_index.md +++ b/src/content/docs/ja/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "まず始めに" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin は Golang で書かれた Web アプリケーションフレームワークです。martini に似たAPIを持ちながら、httprouter のおかげでそれより40倍以上も速いパフォーマンスがあります。良いパフォーマンスと生産性が必要であれば、Gin が好きになれるでしょう。 diff --git a/content/ja/docs/jsoniter/_index.md b/src/content/docs/ja/docs/jsoniter/index.md similarity index 94% rename from content/ja/docs/jsoniter/_index.md rename to src/content/docs/ja/docs/jsoniter/index.md index 21bc826f6..da2e4be2c 100644 --- a/content/ja/docs/jsoniter/_index.md +++ b/src/content/docs/ja/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- ## [jsoniter](https://github.com/json-iterator/go) でビルドする diff --git a/content/ja/docs/quickstart/_index.md b/src/content/docs/ja/docs/quickstart/index.md similarity index 98% rename from content/ja/docs/quickstart/_index.md rename to src/content/docs/ja/docs/quickstart/index.md index 505733b47..28fbcf271 100644 --- a/content/ja/docs/quickstart/_index.md +++ b/src/content/docs/ja/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "クイックスタート" -draft: false -weight: 2 + +sidebar: + order: 2 --- このクイックスタートでは、コードの集まりからの洞察を収集し、どのようにするかを学びます。 diff --git a/content/ja/docs/testing/_index.md b/src/content/docs/ja/docs/testing/index.md similarity index 98% rename from content/ja/docs/testing/_index.md rename to src/content/docs/ja/docs/testing/index.md index f88ce81a4..a79a42a9d 100644 --- a/content/ja/docs/testing/_index.md +++ b/src/content/docs/ja/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "テスト" -draft: false -weight: 7 + +sidebar: + order: 7 --- ##### Gin でテストコードを書くには diff --git a/content/ja/docs/users/_index.md b/src/content/docs/ja/docs/users/index.md similarity index 97% rename from content/ja/docs/users/_index.md rename to src/content/docs/ja/docs/users/index.md index 1b3b53ac1..6fb8465e2 100644 --- a/content/ja/docs/users/_index.md +++ b/src/content/docs/ja/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "Gin のユーザー" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### [Gin](https://github.com/gin-gonic/gin) を利用している素晴らしいプロジェクト一覧。 diff --git a/src/content/docs/ja/index.mdx b/src/content/docs/ja/index.mdx new file mode 100644 index 000000000..f8da26e77 --- /dev/null +++ b/src/content/docs/ja/index.mdx @@ -0,0 +1,53 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: Go 言語のためのフル機能の最速 Web フレームワーク。水晶のようにクリア。 + image: + file: ../../../assets/gin.png + actions: + - text: 詳しく見る + link: /ja/docs/ + icon: right-arrow + - text: Download + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## Ginとは何か + +Gin は、Golang で書かれた Web フレームワークです。 martini に似た API を持ちながら、非常に優れたパフォーマンスを発揮し、最大で40倍高速であることが特徴です。 性能と優れた生産性が必要なら、きっと Gin が好きになれるでしょう。 + + + + 基数木(redix tree)を元にしたルーティング、小さなメモリフットプリント、リフレクションなし、予測可能な API 性能などの特徴があります。 + + + 受信したHTTPリクエストをミドルウェアのチェーンと最終的なアクションによりハンドリングできます。たとえば、ロガー、認証、GZIP、さらに DB へのメッセージのポストなどが可能です。 + + + Gin は、HTTP リクエスト中に発生した panic をキャッチし、回復することが可能です。これにより、サーバーが常に利用可能な状態になります。さらに、この panic を Sentry などに報告することもできます。 + + + Gin はリクエストの JSON をパース・検証できます。たとえば、必須の値が存在するかどうかをチェックできます。 + + + ルートを上手く組織化しましょう。認証が必要なページと必要のないページ、異なるバージョンの API などを区別できます。さらに、各グループは性能劣化なしに無制限にネストできます。 + + + Gin は HTTP リクエスト中に発生したすべてのエラーを収集する便利な手段を提供します。最終的に、ミドルウェアによって、ログファイルへの書き込み、データベースへの格納、ネットワーク越しの送信などが行われます。 + + + Gin は JSON、XML、HTML のレンダリングのための簡単に使える API を提供します。 + + + 新しいミドルウェアの作成は非常に簡単です。サンプルコードを見てみてください。 + + + + + diff --git a/content/es/blog/_index.md b/src/content/docs/ko-kr/blog/index.md similarity index 86% rename from content/es/blog/_index.md rename to src/content/docs/ko-kr/blog/index.md index bfe08e93d..07fd81571 100644 --- a/content/es/blog/_index.md +++ b/src/content/docs/ko-kr/blog/index.md @@ -1,9 +1,8 @@ --- title: "Blog" linkTitle: "Blog" -menu: - main: - weight: 30 +sidebar: + order: 30 --- diff --git a/content/ko-kr/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/ko-kr/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/ko-kr/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/ko-kr/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/ko-kr/blog/releases/release13.md b/src/content/docs/ko-kr/blog/releases/release13.md similarity index 100% rename from content/ko-kr/blog/releases/release13.md rename to src/content/docs/ko-kr/blog/releases/release13.md diff --git a/content/ko-kr/blog/releases/release14.md b/src/content/docs/ko-kr/blog/releases/release14.md similarity index 100% rename from content/ko-kr/blog/releases/release14.md rename to src/content/docs/ko-kr/blog/releases/release14.md diff --git a/content/ko-kr/blog/releases/release15.md b/src/content/docs/ko-kr/blog/releases/release15.md similarity index 100% rename from content/ko-kr/blog/releases/release15.md rename to src/content/docs/ko-kr/blog/releases/release15.md diff --git a/content/ko-kr/docs/benchmarks/_index.md b/src/content/docs/ko-kr/docs/benchmarks/index.md similarity index 99% rename from content/ko-kr/docs/benchmarks/_index.md rename to src/content/docs/ko-kr/docs/benchmarks/index.md index f1ce2a5c8..ad3f250d1 100644 --- a/content/ko-kr/docs/benchmarks/_index.md +++ b/src/content/docs/ko-kr/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "벤치마크" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin은 [HttpRouter](https://github.com/julienschmidt/httprouter)을 커스텀 한 버전을 사용합니다. diff --git a/content/ko-kr/docs/deployment/_index.md b/src/content/docs/ko-kr/docs/deployment/index.md similarity index 97% rename from content/ko-kr/docs/deployment/_index.md rename to src/content/docs/ko-kr/docs/deployment/index.md index 9b650deaf..bc76791da 100644 --- a/content/ko-kr/docs/deployment/_index.md +++ b/src/content/docs/ko-kr/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "배포" -draft: false -weight: 6 + +sidebar: + order: 6 --- Gin 프로젝트는 모든 클라우드 제공 업체에 쉽게 배포 할 수 있습니다. diff --git a/content/ko-kr/docs/examples/ascii-json.md b/src/content/docs/ko-kr/docs/examples/ascii-json.md similarity index 97% rename from content/ko-kr/docs/examples/ascii-json.md rename to src/content/docs/ko-kr/docs/examples/ascii-json.md index 64e7205cc..dcdd5bb2c 100644 --- a/content/ko-kr/docs/examples/ascii-json.md +++ b/src/content/docs/ko-kr/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- 이스케이프 된 비 ASCII character를 AsciiJSON을 사용하여 ASCII 전용 JSON을 생성합니다 diff --git a/content/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md index f99f476be..37e5ad19e 100644 --- a/content/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/ko-kr/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "body를 다른 구조체에 바인드 하기" -draft: false + --- 일반적인 body 바인딩 메소드는 `c.Request.Body`를 소모합니다. diff --git a/content/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md index 5dd47cd31..b2d0c6ec1 100644 --- a/content/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/ko-kr/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "양식 데이터 리퀘스트를 구조체에 바인드 하기" -draft: false + --- 아래의 예제는 사용자 정의 구조체를 사용합니다: diff --git a/content/ko-kr/docs/examples/bind-html-checkbox.md b/src/content/docs/ko-kr/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/ko-kr/docs/examples/bind-html-checkbox.md rename to src/content/docs/ko-kr/docs/examples/bind-html-checkbox.md index 4a6a2ce2f..06f615a8b 100644 --- a/content/ko-kr/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/ko-kr/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "html 체크박스를 바인드 하기" -draft: false + --- [자세한 정보](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092)를 확인 하세요. diff --git a/content/ko-kr/docs/examples/bind-query-or-post.md b/src/content/docs/ko-kr/docs/examples/bind-query-or-post.md similarity index 98% rename from content/ko-kr/docs/examples/bind-query-or-post.md rename to src/content/docs/ko-kr/docs/examples/bind-query-or-post.md index fbcc43197..048f65f6a 100644 --- a/content/ko-kr/docs/examples/bind-query-or-post.md +++ b/src/content/docs/ko-kr/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "쿼리 문자열 혹은 post 데이터를 바인드하기" -draft: false + --- [자세한 정보](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292)를 확인하세요. diff --git a/content/ko-kr/docs/examples/bind-single-binary-with-template.md b/src/content/docs/ko-kr/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/ko-kr/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/ko-kr/docs/examples/bind-single-binary-with-template.md index 99c109e99..fa93cacd5 100644 --- a/content/ko-kr/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/ko-kr/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "템플릿을 포함한 단일 바이너리 빌드" -draft: false + --- [go-assets](https://github.com/jessevdk/go-assets)를 사용하여 템플릿을 포함한 단일 바이너리로 서버를 만들 수 있습니다. diff --git a/content/ko-kr/docs/examples/bind-uri.md b/src/content/docs/ko-kr/docs/examples/bind-uri.md similarity index 98% rename from content/ko-kr/docs/examples/bind-uri.md rename to src/content/docs/ko-kr/docs/examples/bind-uri.md index cf5408e4c..27cb7be8a 100644 --- a/content/ko-kr/docs/examples/bind-uri.md +++ b/src/content/docs/ko-kr/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "URI를 바인드하기" -draft: false + --- [자세한 정보](https://github.com/gin-gonic/gin/issues/846)를 확인하세요. diff --git a/content/ko-kr/docs/examples/binding-and-validation.md b/src/content/docs/ko-kr/docs/examples/binding-and-validation.md similarity index 99% rename from content/ko-kr/docs/examples/binding-and-validation.md rename to src/content/docs/ko-kr/docs/examples/binding-and-validation.md index 9fd744dbf..f23de115c 100644 --- a/content/ko-kr/docs/examples/binding-and-validation.md +++ b/src/content/docs/ko-kr/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "모델 바인딩과 유효성 검사" -draft: false + --- 리퀘스트 바디를 바인딩하려면 모델 바인딩을 사용하세요. 현재 JSON, XML, YAML 및 표준 form values (foo=bar&boo=baz) 바인딩을 지원합니다. diff --git a/content/ko-kr/docs/examples/controlling-log-output-coloring.md b/src/content/docs/ko-kr/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/ko-kr/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/ko-kr/docs/examples/controlling-log-output-coloring.md index bed56dd70..42a3c0f61 100644 --- a/content/ko-kr/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/ko-kr/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "로그 출력 색상 설정" -draft: false + --- 기본적으로, 출력되는 로그의 색상은 감지된 TTY에 따라 지정 됩니다. diff --git a/content/ko-kr/docs/examples/cookie.md b/src/content/docs/ko-kr/docs/examples/cookie.md similarity index 97% rename from content/ko-kr/docs/examples/cookie.md rename to src/content/docs/ko-kr/docs/examples/cookie.md index b2baf5db8..45426b873 100644 --- a/content/ko-kr/docs/examples/cookie.md +++ b/src/content/docs/ko-kr/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "쿠키의 설정 및 가져오기" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/custom-http-config.md b/src/content/docs/ko-kr/docs/examples/custom-http-config.md similarity index 97% rename from content/ko-kr/docs/examples/custom-http-config.md rename to src/content/docs/ko-kr/docs/examples/custom-http-config.md index d73de58af..1aef51c79 100644 --- a/content/ko-kr/docs/examples/custom-http-config.md +++ b/src/content/docs/ko-kr/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "HTTP 구성 사용자 정의" -draft: false + --- 아래와 같이 직접 `http.ListenAndServe()` 를 사용하세요: diff --git a/content/ko-kr/docs/examples/custom-log-format.md b/src/content/docs/ko-kr/docs/examples/custom-log-format.md similarity index 98% rename from content/ko-kr/docs/examples/custom-log-format.md rename to src/content/docs/ko-kr/docs/examples/custom-log-format.md index 80513f959..f6654cf3d 100644 --- a/content/ko-kr/docs/examples/custom-log-format.md +++ b/src/content/docs/ko-kr/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "로그 파일 사용자 정의" -draft: false + --- 예제: diff --git a/content/ko-kr/docs/examples/custom-middleware.md b/src/content/docs/ko-kr/docs/examples/custom-middleware.md similarity index 98% rename from content/ko-kr/docs/examples/custom-middleware.md rename to src/content/docs/ko-kr/docs/examples/custom-middleware.md index 9c2afe1ea..a965e8ea0 100644 --- a/content/ko-kr/docs/examples/custom-middleware.md +++ b/src/content/docs/ko-kr/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "커스텀 미들웨어" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/custom-validators.md b/src/content/docs/ko-kr/docs/examples/custom-validators.md similarity index 99% rename from content/ko-kr/docs/examples/custom-validators.md rename to src/content/docs/ko-kr/docs/examples/custom-validators.md index 84899c543..a6f0e53eb 100644 --- a/content/ko-kr/docs/examples/custom-validators.md +++ b/src/content/docs/ko-kr/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "커스텀 유효성 검사" -draft: false + --- 커스텀 유효성 검사를 사용 할 수도있습니다. [예제 코드](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations)를 확인하세요. diff --git a/content/ko-kr/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/ko-kr/docs/examples/define-format-for-the-log-of-routes.md similarity index 99% rename from content/ko-kr/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/ko-kr/docs/examples/define-format-for-the-log-of-routes.md index 1210c602e..7308b4e52 100644 --- a/content/ko-kr/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/ko-kr/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "라우트의 로그 형식을 정의" -draft: false + --- 라우트의 기본 로그는 다음과 같습니다: diff --git a/content/ko-kr/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/ko-kr/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/ko-kr/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/ko-kr/docs/examples/goroutines-inside-a-middleware.md index d5277d4e3..cca82848f 100644 --- a/content/ko-kr/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/ko-kr/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "미들웨어 내부의 Go루틴" -draft: false + --- 미들웨어 혹은 핸들러 내부에서 새로운 Go루틴을 시작하려면, 기존의 context를 **사용해서는 안됩니다.** 읽기 전용으로 복사해서 사용해야 합니다. diff --git a/content/ko-kr/docs/examples/graceful-restart-or-stop.md b/src/content/docs/ko-kr/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/ko-kr/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/ko-kr/docs/examples/graceful-restart-or-stop.md index f314cb948..76db99cad 100644 --- a/content/ko-kr/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/ko-kr/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "Graceful 재시작과 정지" -draft: false + --- 웹 서버를 graceful 재시작 혹은 정지를 하고 싶습니까? diff --git a/content/ko-kr/docs/examples/grouping-routes.md b/src/content/docs/ko-kr/docs/examples/grouping-routes.md similarity index 96% rename from content/ko-kr/docs/examples/grouping-routes.md rename to src/content/docs/ko-kr/docs/examples/grouping-routes.md index 36e77973b..41792adfc 100644 --- a/content/ko-kr/docs/examples/grouping-routes.md +++ b/src/content/docs/ko-kr/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "라우트 그룹화" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/html-rendering.md b/src/content/docs/ko-kr/docs/examples/html-rendering.md similarity index 99% rename from content/ko-kr/docs/examples/html-rendering.md rename to src/content/docs/ko-kr/docs/examples/html-rendering.md index 858da069b..6e9215340 100644 --- a/content/ko-kr/docs/examples/html-rendering.md +++ b/src/content/docs/ko-kr/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "HTML 랜더링" -draft: false + --- LoadHTMLGlob() 혹은 LoadHTMLFiles()를 사용합니다. diff --git a/content/ko-kr/docs/examples/http-method.md b/src/content/docs/ko-kr/docs/examples/http-method.md similarity index 98% rename from content/ko-kr/docs/examples/http-method.md rename to src/content/docs/ko-kr/docs/examples/http-method.md index c139b839f..9f7f54f91 100644 --- a/content/ko-kr/docs/examples/http-method.md +++ b/src/content/docs/ko-kr/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "HTTP 메소드 사용" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/http2-server-push.md b/src/content/docs/ko-kr/docs/examples/http2-server-push.md similarity index 98% rename from content/ko-kr/docs/examples/http2-server-push.md rename to src/content/docs/ko-kr/docs/examples/http2-server-push.md index ec44bfba8..47a5736a4 100644 --- a/content/ko-kr/docs/examples/http2-server-push.md +++ b/src/content/docs/ko-kr/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP2 서버 푸시" -draft: false + --- http.Pusher는 **go1.8 이상**에서만 지원됩니다. 자세한 정보는 [Go언어 블로그](https://blog.golang.org/h2push)에서 확인하세요. diff --git a/content/ko-kr/docs/examples/_index.md b/src/content/docs/ko-kr/docs/examples/index.md similarity index 75% rename from content/ko-kr/docs/examples/_index.md rename to src/content/docs/ko-kr/docs/examples/index.md index de0236e9f..e115857d3 100644 --- a/content/ko-kr/docs/examples/_index.md +++ b/src/content/docs/ko-kr/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "예제" -draft: false -weight: 6 + +sidebar: + order: 6 --- 이 장에는 API 사용법이 있습니다. diff --git a/content/ko-kr/docs/examples/jsonp.md b/src/content/docs/ko-kr/docs/examples/jsonp.md similarity index 97% rename from content/ko-kr/docs/examples/jsonp.md rename to src/content/docs/ko-kr/docs/examples/jsonp.md index dfc434acc..cdf973c9a 100644 --- a/content/ko-kr/docs/examples/jsonp.md +++ b/src/content/docs/ko-kr/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- JSONP를 사용하여 다른 도메인의 서버에 요청하고 데이터를 받아올 수 있습니다. 조회 매개변수 콜백이 존재하는 경우 응답 본문에 콜백을 추가하세요. diff --git a/content/ko-kr/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/ko-kr/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/ko-kr/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/ko-kr/docs/examples/map-as-querystring-or-postform.md index b7bb2adcb..bd42376e7 100644 --- a/content/ko-kr/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/ko-kr/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "쿼리 문자열 혹은 POST 폼의 파라미터에 매핑" -draft: false + --- ```sh diff --git a/content/ko-kr/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/ko-kr/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/ko-kr/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/ko-kr/docs/examples/multipart-urlencoded-binding.md index 10fb44370..1e3c8bbee 100644 --- a/content/ko-kr/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/ko-kr/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded 바인딩" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/multipart-urlencoded-form.md b/src/content/docs/ko-kr/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/ko-kr/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/ko-kr/docs/examples/multipart-urlencoded-form.md index 366ad38b3..9d82a28ee 100644 --- a/content/ko-kr/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/ko-kr/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded 양식" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/multiple-template.md b/src/content/docs/ko-kr/docs/examples/multiple-template.md similarity index 95% rename from content/ko-kr/docs/examples/multiple-template.md rename to src/content/docs/ko-kr/docs/examples/multiple-template.md index b301e06b3..d496c0b05 100644 --- a/content/ko-kr/docs/examples/multiple-template.md +++ b/src/content/docs/ko-kr/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "다중 템플릿" -draft: false + --- Gin은 기본적으로 하나의 html.Template만 사용하도록 허용합니다. Go 1.6의 `block template`와 같은 기능을 사용 하려면 [다중 템플릿 렌더(multitemplate)](https://github.com/gin-contrib/multitemplate)를 확인하세요. diff --git a/content/ko-kr/docs/examples/only-bind-query-string.md b/src/content/docs/ko-kr/docs/examples/only-bind-query-string.md similarity index 98% rename from content/ko-kr/docs/examples/only-bind-query-string.md rename to src/content/docs/ko-kr/docs/examples/only-bind-query-string.md index b611a6462..9734b394b 100644 --- a/content/ko-kr/docs/examples/only-bind-query-string.md +++ b/src/content/docs/ko-kr/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "쿼리 문자열만 바인딩하기" -draft: false + --- `ShouldBindQuery` 함수는 POST 데이터가 아닌 쿼리 파라미터만 바인딩 합니다. [자세한 정보](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017)를 확인 하세요. diff --git a/content/ko-kr/docs/examples/param-in-path.md b/src/content/docs/ko-kr/docs/examples/param-in-path.md similarity index 98% rename from content/ko-kr/docs/examples/param-in-path.md rename to src/content/docs/ko-kr/docs/examples/param-in-path.md index 5056093c1..17837685a 100644 --- a/content/ko-kr/docs/examples/param-in-path.md +++ b/src/content/docs/ko-kr/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "경로를 포함한 파라미터" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/pure-json.md b/src/content/docs/ko-kr/docs/examples/pure-json.md similarity index 98% rename from content/ko-kr/docs/examples/pure-json.md rename to src/content/docs/ko-kr/docs/examples/pure-json.md index c79d58e67..3c91ab830 100644 --- a/content/ko-kr/docs/examples/pure-json.md +++ b/src/content/docs/ko-kr/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- 일반적으로 JSON은 `<`와 같은 HTML문자를 `\u003c`처럼 유니코드로 변환 합니다. diff --git a/content/ko-kr/docs/examples/query-and-post-form.md b/src/content/docs/ko-kr/docs/examples/query-and-post-form.md similarity index 97% rename from content/ko-kr/docs/examples/query-and-post-form.md rename to src/content/docs/ko-kr/docs/examples/query-and-post-form.md index b75a62fe5..ffe2ec004 100644 --- a/content/ko-kr/docs/examples/query-and-post-form.md +++ b/src/content/docs/ko-kr/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "POST 양식 쿼리" -draft: false + --- ```sh diff --git a/content/ko-kr/docs/examples/querystring-param.md b/src/content/docs/ko-kr/docs/examples/querystring-param.md similarity index 97% rename from content/ko-kr/docs/examples/querystring-param.md rename to src/content/docs/ko-kr/docs/examples/querystring-param.md index 929fd362b..05f15f0fc 100644 --- a/content/ko-kr/docs/examples/querystring-param.md +++ b/src/content/docs/ko-kr/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "쿼리 문자열 파라미터" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/redirects.md b/src/content/docs/ko-kr/docs/examples/redirects.md similarity index 98% rename from content/ko-kr/docs/examples/redirects.md rename to src/content/docs/ko-kr/docs/examples/redirects.md index 7953fb2fd..a87b5334b 100644 --- a/content/ko-kr/docs/examples/redirects.md +++ b/src/content/docs/ko-kr/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "리디렉션" -draft: false + --- HTTP 리다이렉트 하는 것은 간단합니다. 내부와 외부위치를 모두 지원합니다. diff --git a/content/ko-kr/docs/examples/rendering.md b/src/content/docs/ko-kr/docs/examples/rendering.md similarity index 99% rename from content/ko-kr/docs/examples/rendering.md rename to src/content/docs/ko-kr/docs/examples/rendering.md index 01ed56122..f2e71ff95 100644 --- a/content/ko-kr/docs/examples/rendering.md +++ b/src/content/docs/ko-kr/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "XML/JSON/YAML/ProtoBuf 랜더링" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/run-multiple-service.md b/src/content/docs/ko-kr/docs/examples/run-multiple-service.md similarity index 98% rename from content/ko-kr/docs/examples/run-multiple-service.md rename to src/content/docs/ko-kr/docs/examples/run-multiple-service.md index 9d3640c3b..96fb46db9 100644 --- a/content/ko-kr/docs/examples/run-multiple-service.md +++ b/src/content/docs/ko-kr/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "여러 개의 서비스를 실행하기" -draft: false + --- 이 [질문](https://github.com/gin-gonic/gin/issues/346)을 보고, 다음 예제를 실행해 보세요: diff --git a/content/ko-kr/docs/examples/secure-json.md b/src/content/docs/ko-kr/docs/examples/secure-json.md similarity index 98% rename from content/ko-kr/docs/examples/secure-json.md rename to src/content/docs/ko-kr/docs/examples/secure-json.md index d5ab5e628..50adc830c 100644 --- a/content/ko-kr/docs/examples/secure-json.md +++ b/src/content/docs/ko-kr/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- json 하이재킹을 방지하기 위해 SecureJSON를 사용합니다. diff --git a/content/ko-kr/docs/examples/security-headers.md b/src/content/docs/ko-kr/docs/examples/security-headers.md similarity index 99% rename from content/ko-kr/docs/examples/security-headers.md rename to src/content/docs/ko-kr/docs/examples/security-headers.md index cd308b6d5..fd0b0fc3c 100644 --- a/content/ko-kr/docs/examples/security-headers.md +++ b/src/content/docs/ko-kr/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "보안 헤더" -draft: false + --- 일반적인 보안 취약점으로부터 웹 애플리케이션을 보호하려면 보안 헤더를 사용하는 것이 중요합니다. 이 예에서는 Gin 애플리케이션에 보안 헤더를 추가하는 방법과 호스트 헤더 인젝션 관련 공격(SSRF, 오픈 리디렉션)을 방지하는 방법을 설명합니다. diff --git a/content/ko-kr/docs/examples/serving-data-from-reader.md b/src/content/docs/ko-kr/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/ko-kr/docs/examples/serving-data-from-reader.md rename to src/content/docs/ko-kr/docs/examples/serving-data-from-reader.md index 62c880b69..b038ed088 100644 --- a/content/ko-kr/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/ko-kr/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "Reader로 데이터 반환" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/serving-static-files.md b/src/content/docs/ko-kr/docs/examples/serving-static-files.md similarity index 96% rename from content/ko-kr/docs/examples/serving-static-files.md rename to src/content/docs/ko-kr/docs/examples/serving-static-files.md index 34038711b..a5717ce07 100644 --- a/content/ko-kr/docs/examples/serving-static-files.md +++ b/src/content/docs/ko-kr/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "정적 파일 반환" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/support-lets-encrypt.md b/src/content/docs/ko-kr/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/ko-kr/docs/examples/support-lets-encrypt.md rename to src/content/docs/ko-kr/docs/examples/support-lets-encrypt.md index 504f527ac..cdb181203 100644 --- a/content/ko-kr/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/ko-kr/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Let's Encrypt 지원" -draft: false + --- 한 줄의 LetsEncrypt HTTPS 서버의 샘플입니다. diff --git a/content/ko-kr/docs/examples/upload-file/_index.md b/src/content/docs/ko-kr/docs/examples/upload-file/index.md similarity index 88% rename from content/ko-kr/docs/examples/upload-file/_index.md rename to src/content/docs/ko-kr/docs/examples/upload-file/index.md index 54188ba21..1136def88 100644 --- a/content/ko-kr/docs/examples/upload-file/_index.md +++ b/src/content/docs/ko-kr/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "파일 업로드" -draft: false + --- 이 장에는 파일 업로드 API 사용법이 있습니다. diff --git a/content/ko-kr/docs/examples/upload-file/multiple-file.md b/src/content/docs/ko-kr/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/ko-kr/docs/examples/upload-file/multiple-file.md rename to src/content/docs/ko-kr/docs/examples/upload-file/multiple-file.md index e1c64aea7..19b4708a7 100644 --- a/content/ko-kr/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/ko-kr/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "여러 파일" -draft: false + --- 자세한 내용은 [예제 코드](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple)를 확인하세요. diff --git a/content/ko-kr/docs/examples/upload-file/single-file.md b/src/content/docs/ko-kr/docs/examples/upload-file/single-file.md similarity index 99% rename from content/ko-kr/docs/examples/upload-file/single-file.md rename to src/content/docs/ko-kr/docs/examples/upload-file/single-file.md index 38bf32eba..887dd1a88 100644 --- a/content/ko-kr/docs/examples/upload-file/single-file.md +++ b/src/content/docs/ko-kr/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "단일 파일" -draft: false + --- 이슈 [#774](https://github.com/gin-gonic/gin/issues/774) 혹은 자세한 [예제 코드](https://github.com/gin-gonic/examples/tree/master/upload-file/single)를 확인하세요. diff --git a/content/ko-kr/docs/examples/using-basicauth-middleware.md b/src/content/docs/ko-kr/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/ko-kr/docs/examples/using-basicauth-middleware.md rename to src/content/docs/ko-kr/docs/examples/using-basicauth-middleware.md index 934a7f769..5ebcd1241 100644 --- a/content/ko-kr/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/ko-kr/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "기본인증(BasicAuth) 미들웨어 사용하기" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/using-middleware.md b/src/content/docs/ko-kr/docs/examples/using-middleware.md similarity index 98% rename from content/ko-kr/docs/examples/using-middleware.md rename to src/content/docs/ko-kr/docs/examples/using-middleware.md index ee033e2c2..e6f25e5e1 100644 --- a/content/ko-kr/docs/examples/using-middleware.md +++ b/src/content/docs/ko-kr/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "미들웨어를 사용하기" -draft: false + --- ```go diff --git a/content/ko-kr/docs/examples/without-middleware.md b/src/content/docs/ko-kr/docs/examples/without-middleware.md similarity index 95% rename from content/ko-kr/docs/examples/without-middleware.md rename to src/content/docs/ko-kr/docs/examples/without-middleware.md index b95ea10f4..a18fc1c45 100644 --- a/content/ko-kr/docs/examples/without-middleware.md +++ b/src/content/docs/ko-kr/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "기본 미들웨어를 포함하지 않는 방법" -draft: false + --- 이렇게 사용하세요. diff --git a/content/ko-kr/docs/examples/write-log.md b/src/content/docs/ko-kr/docs/examples/write-log.md similarity index 98% rename from content/ko-kr/docs/examples/write-log.md rename to src/content/docs/ko-kr/docs/examples/write-log.md index 29ec5aaa0..c281e154e 100644 --- a/content/ko-kr/docs/examples/write-log.md +++ b/src/content/docs/ko-kr/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "로그 파일을 작성하는 방법" -draft: false + --- ```go diff --git a/content/ko-kr/docs/faq/_index.md b/src/content/docs/ko-kr/docs/faq/index.md similarity index 79% rename from content/ko-kr/docs/faq/_index.md rename to src/content/docs/ko-kr/docs/faq/index.md index 9ca05977e..25dd07af0 100644 --- a/content/ko-kr/docs/faq/_index.md +++ b/src/content/docs/ko-kr/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO: GitHub 이슈탭에서 자주 받는 질문을 정리하기. diff --git a/content/ko-kr/docs/features/_index.md b/src/content/docs/ko-kr/docs/features/index.md similarity index 93% rename from content/ko-kr/docs/features/_index.md rename to src/content/docs/ko-kr/docs/features/index.md index dbe4e034f..6974af41b 100644 --- a/content/ko-kr/docs/features/_index.md +++ b/src/content/docs/ko-kr/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "기능" -draft: false -weight: 4 + +sidebar: + order: 4 --- ## Gin v1 안정판의 기능: diff --git a/content/ko-kr/docs/_index.md b/src/content/docs/ko-kr/docs/index.md similarity index 95% rename from content/ko-kr/docs/_index.md rename to src/content/docs/ko-kr/docs/index.md index ae381b000..461f7eccf 100644 --- a/content/ko-kr/docs/_index.md +++ b/src/content/docs/ko-kr/docs/index.md @@ -1,10 +1,8 @@ --- title: "문서" linkTitle: "문서" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## Gin 이란? diff --git a/content/ko-kr/docs/introduction/_index.md b/src/content/docs/ko-kr/docs/introduction/index.md similarity index 98% rename from content/ko-kr/docs/introduction/_index.md rename to src/content/docs/ko-kr/docs/introduction/index.md index c7cc25163..5834a7272 100644 --- a/content/ko-kr/docs/introduction/_index.md +++ b/src/content/docs/ko-kr/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "소개" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin은 Go로 작성된 웹 프레임워크입니다. Martini와 비슷한 API를 제공하지만, [httprouter](https://github.com/julienschmidt/httprouter) 덕분에 최대 40배 빠른 성능을 제공합니다. 만약 뛰어난 생산성과 퍼포먼스가 필요하다면, Gin을 좋아하게 될 것입니다. diff --git a/content/ko-kr/docs/jsoniter/_index.md b/src/content/docs/ko-kr/docs/jsoniter/index.md similarity index 93% rename from content/ko-kr/docs/jsoniter/_index.md rename to src/content/docs/ko-kr/docs/jsoniter/index.md index e31960011..aac91af91 100644 --- a/content/ko-kr/docs/jsoniter/_index.md +++ b/src/content/docs/ko-kr/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- ## [jsoniter](https://github.com/json-iterator/go)로 빌드하기 diff --git a/content/ko-kr/docs/quickstart/_index.md b/src/content/docs/ko-kr/docs/quickstart/index.md similarity index 98% rename from content/ko-kr/docs/quickstart/_index.md rename to src/content/docs/ko-kr/docs/quickstart/index.md index 3fe43137b..708d50bb2 100644 --- a/content/ko-kr/docs/quickstart/_index.md +++ b/src/content/docs/ko-kr/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "퀵 스타트" -draft: false -weight: 2 + +sidebar: + order: 2 --- 이 퀵 스타트에서는, 코드에서 통찰력을 얻고 어떤 식으로 할지 배울 것입니다: diff --git a/content/ko-kr/docs/testing/_index.md b/src/content/docs/ko-kr/docs/testing/index.md similarity index 98% rename from content/ko-kr/docs/testing/_index.md rename to src/content/docs/ko-kr/docs/testing/index.md index 3771fee31..dfc2641d3 100644 --- a/content/ko-kr/docs/testing/_index.md +++ b/src/content/docs/ko-kr/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "테스트" -draft: false -weight: 7 + +sidebar: + order: 7 --- ## Gin의 테스트 케이스를 작성하는 방법은? diff --git a/content/ko-kr/docs/users/_index.md b/src/content/docs/ko-kr/docs/users/index.md similarity index 97% rename from content/ko-kr/docs/users/_index.md rename to src/content/docs/ko-kr/docs/users/index.md index 96c12ee36..fbb3031f1 100644 --- a/content/ko-kr/docs/users/_index.md +++ b/src/content/docs/ko-kr/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "Gin을 사용하는 곳" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### [Gin](https://github.com/gin-gonic/gin) 웹 프레임워크를 사용한 멋진 프로젝트 목록: diff --git a/src/content/docs/ko-kr/index.mdx b/src/content/docs/ko-kr/index.mdx new file mode 100644 index 000000000..4ce67991e --- /dev/null +++ b/src/content/docs/ko-kr/index.mdx @@ -0,0 +1,51 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: The fastest full-featured web framework for Go. Crystal clear. + image: + file: ../../../assets/gin.png + actions: + - text: Learn More + link: /ko-kr/docs/ + icon: right-arrow + - text: Download + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## What is Gin? + +Gin is a web framework written in Golang. It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity, you will love Gin. + + + + Radix tree based routing, small memory foot print. No reflection. Predictable API performance. + + + A incoming HTTP request can be handled by a chain of middlewares and the final action. For example: Logger, Authorization, GZIP and finally post a message in the DB. + + + Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example! + + + Gin can parse and validate the JSON of a request, checking for example the existence of required values. + + + Organize your routes better. Authorization required vs non required, different API versions. In addition, the groups can be nested unlimitedly without degrading performance. + + + Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, a middleware can write them to a log file, to a database and send them through the network. + + + Gin provides an easy to use API for JSON, XML and HTML rendering. + + + Creating a new middleware is so easy, just check out the sample codes. + + + diff --git a/content/pt/blog/_index.md b/src/content/docs/pt/blog/index.md similarity index 87% rename from content/pt/blog/_index.md rename to src/content/docs/pt/blog/index.md index 92284e573..abfaf1a4d 100644 --- a/content/pt/blog/_index.md +++ b/src/content/docs/pt/blog/index.md @@ -1,9 +1,8 @@ --- title: "Blogue" linkTitle: "Blogue" -menu: - main: - weight: 30 +sidebar: + order: 30 --- diff --git a/content/pt/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/pt/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/pt/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/pt/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/pt/blog/releases/release13.md b/src/content/docs/pt/blog/releases/release13.md similarity index 100% rename from content/pt/blog/releases/release13.md rename to src/content/docs/pt/blog/releases/release13.md diff --git a/content/pt/blog/releases/release14.md b/src/content/docs/pt/blog/releases/release14.md similarity index 100% rename from content/pt/blog/releases/release14.md rename to src/content/docs/pt/blog/releases/release14.md diff --git a/content/pt/blog/releases/release15.md b/src/content/docs/pt/blog/releases/release15.md similarity index 100% rename from content/pt/blog/releases/release15.md rename to src/content/docs/pt/blog/releases/release15.md diff --git a/content/pt/blog/releases/release16.md b/src/content/docs/pt/blog/releases/release16.md similarity index 100% rename from content/pt/blog/releases/release16.md rename to src/content/docs/pt/blog/releases/release16.md diff --git a/content/pt/docs/benchmarks/_index.md b/src/content/docs/pt/docs/benchmarks/index.md similarity index 99% rename from content/pt/docs/benchmarks/_index.md rename to src/content/docs/pt/docs/benchmarks/index.md index ee0d1c3f3..d79c36760 100644 --- a/content/pt/docs/benchmarks/_index.md +++ b/src/content/docs/pt/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "Analises Comparativas" -draft: false -weight: 3 + +sidebar: + order: 3 --- A Gin usa uma versão personalizada da [`HttpRouter`](https://github.com/julienschmidt/httprouter). diff --git a/content/pt/docs/deployment/_index.md b/src/content/docs/pt/docs/deployment/index.md similarity index 98% rename from content/pt/docs/deployment/_index.md rename to src/content/docs/pt/docs/deployment/index.md index 23c4d1abe..d88f7f968 100644 --- a/content/pt/docs/deployment/_index.md +++ b/src/content/docs/pt/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "Implementação em Produção" -draft: false -weight: 6 + +sidebar: + order: 6 --- Os projetos de Gin podem ser implementados em produção facilmente em qualquer provedor da nuvem. diff --git a/content/pt/docs/examples/ascii-json.md b/src/content/docs/pt/docs/examples/ascii-json.md similarity index 97% rename from content/pt/docs/examples/ascii-json.md rename to src/content/docs/pt/docs/examples/ascii-json.md index 6c531ff92..43342827d 100644 --- a/content/pt/docs/examples/ascii-json.md +++ b/src/content/docs/pt/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- Usando a `AsciiJSON` para gerar JSON de apenas ASCII com caracteres que não são ASCII escapados: diff --git a/content/pt/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/pt/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/pt/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/pt/docs/examples/bind-body-into-dirrerent-structs.md index 1e342054d..e8b0f38d0 100644 --- a/content/pt/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/pt/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "Tentar vincular o corpo à diferentes estruturas" -draft: false + --- Os métodos normais para vincular o corpo da requisição consumem a `c.Request.Body` e não podem ser chamados várias vezes: diff --git a/content/pt/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/pt/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/pt/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/pt/docs/examples/bind-form-data-request-with-custom-struct.md index 6e56a42c5..47391edeb 100644 --- a/content/pt/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/pt/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "Vincular a requisição de dados de formulário com a estrutura personalizada" -draft: false + --- O seguinte exemplo usando estrutura personalizada: diff --git a/content/pt/docs/examples/bind-html-checkbox.md b/src/content/docs/pt/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/pt/docs/examples/bind-html-checkbox.md rename to src/content/docs/pt/docs/examples/bind-html-checkbox.md index 0593b92d9..0d63e3624 100644 --- a/content/pt/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/pt/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "Vincular caixas de confirmações de HTML" -draft: false + --- Consulte a [informação detalhada](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092): diff --git a/content/pt/docs/examples/bind-query-or-post.md b/src/content/docs/pt/docs/examples/bind-query-or-post.md similarity index 98% rename from content/pt/docs/examples/bind-query-or-post.md rename to src/content/docs/pt/docs/examples/bind-query-or-post.md index 685e002e8..6286c7342 100644 --- a/content/pt/docs/examples/bind-query-or-post.md +++ b/src/content/docs/pt/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "Vincular a sequência de caracteres de consulta ou publicar dados" -draft: false + --- Consulte a [informação detalhada](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292): diff --git a/content/pt/docs/examples/bind-single-binary-with-template.md b/src/content/docs/pt/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/pt/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/pt/docs/examples/bind-single-binary-with-template.md index 28cda90d2..65d708b98 100644 --- a/content/pt/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/pt/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "Construir um único binário com modelos de marcação" -draft: false + --- ## Usar o pacote de terceiro diff --git a/content/pt/docs/examples/bind-uri.md b/src/content/docs/pt/docs/examples/bind-uri.md similarity index 98% rename from content/pt/docs/examples/bind-uri.md rename to src/content/docs/pt/docs/examples/bind-uri.md index c6b64022a..880823238 100644 --- a/content/pt/docs/examples/bind-uri.md +++ b/src/content/docs/pt/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "Vincular a URI" -draft: false + --- Consulte a [informação detalhada](https://github.com/gin-gonic/gin/issues/846): diff --git a/content/pt/docs/examples/binding-and-validation.md b/src/content/docs/pt/docs/examples/binding-and-validation.md similarity index 99% rename from content/pt/docs/examples/binding-and-validation.md rename to src/content/docs/pt/docs/examples/binding-and-validation.md index 573a9fb75..a983e9cb5 100644 --- a/content/pt/docs/examples/binding-and-validation.md +++ b/src/content/docs/pt/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "Vinculação de Modelo e Validação" -draft: false + --- Para vincular uma corpo de requisição à um tipo, use a vinculação de modelo. Nós atualmente suportamos a vinculação de JSON, XML, YAML e valores de formulário padrão (foo=bar&boo=baz). diff --git a/content/pt/docs/examples/controlling-log-output-coloring.md b/src/content/docs/pt/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/pt/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/pt/docs/examples/controlling-log-output-coloring.md index 6fd71a8df..7ede1eaab 100644 --- a/content/pt/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/pt/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "Controlando a Colorização da Saída de Registo" -draft: false + --- Por padrão, a saída de registos na consola deveria ser colorida dependendo do TTY detetado. diff --git a/content/pt/docs/examples/cookie.md b/src/content/docs/pt/docs/examples/cookie.md similarity index 97% rename from content/pt/docs/examples/cookie.md rename to src/content/docs/pt/docs/examples/cookie.md index 36536e3dc..507c53feb 100644 --- a/content/pt/docs/examples/cookie.md +++ b/src/content/docs/pt/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "Definir e Recuperar um Cookie" -draft: false + --- ```go diff --git a/content/pt/docs/examples/custom-http-config.md b/src/content/docs/pt/docs/examples/custom-http-config.md similarity index 97% rename from content/pt/docs/examples/custom-http-config.md rename to src/content/docs/pt/docs/examples/custom-http-config.md index 20462e80e..224f73e29 100644 --- a/content/pt/docs/examples/custom-http-config.md +++ b/src/content/docs/pt/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "Configuração de HTTP Personalizada" -draft: false + --- Usar o `http.ListenAndServe()` diretamente, desta maneira: diff --git a/content/pt/docs/examples/custom-log-format.md b/src/content/docs/pt/docs/examples/custom-log-format.md similarity index 98% rename from content/pt/docs/examples/custom-log-format.md rename to src/content/docs/pt/docs/examples/custom-log-format.md index ddb156218..175c5e263 100644 --- a/content/pt/docs/examples/custom-log-format.md +++ b/src/content/docs/pt/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "Ficheiro de Registo Personalizado" -draft: false + --- Por exemplo: diff --git a/content/pt/docs/examples/custom-middleware.md b/src/content/docs/pt/docs/examples/custom-middleware.md similarity index 98% rename from content/pt/docs/examples/custom-middleware.md rename to src/content/docs/pt/docs/examples/custom-middleware.md index 9f8adede5..cfc637d3d 100644 --- a/content/pt/docs/examples/custom-middleware.md +++ b/src/content/docs/pt/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "Intermediário Personalizado" -draft: false + --- ```go diff --git a/content/pt/docs/examples/custom-validators.md b/src/content/docs/pt/docs/examples/custom-validators.md similarity index 99% rename from content/pt/docs/examples/custom-validators.md rename to src/content/docs/pt/docs/examples/custom-validators.md index b9360a0b6..eaec97ffb 100644 --- a/content/pt/docs/examples/custom-validators.md +++ b/src/content/docs/pt/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "Validadores Personalizados" -draft: false + --- Também é possível registar validadores personalizados. Consulte o [código de exemplo](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations): diff --git a/content/pt/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/pt/docs/examples/define-format-for-the-log-of-routes.md similarity index 98% rename from content/pt/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/pt/docs/examples/define-format-for-the-log-of-routes.md index 03bcc56ea..5fed784f5 100644 --- a/content/pt/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/pt/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "Definir o Formato para o Registo de Rotas" -draft: false + --- O registo padrão de rotas é: diff --git a/content/pt/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/pt/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/pt/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/pt/docs/examples/goroutines-inside-a-middleware.md index 0b5c16c46..aa303d4a8 100644 --- a/content/pt/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/pt/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "Rotinas de Go dentro dum Intermediário" -draft: false + --- Quando começares novas rotinas de Go dentro dum intermediário ou manipulador, **NÃO DEVERIAS** usar o contexto original dentro dele, tens que usar uma cópia de apenas leitura. diff --git a/content/pt/docs/examples/graceful-restart-or-stop.md b/src/content/docs/pt/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/pt/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/pt/docs/examples/graceful-restart-or-stop.md index 25facd28e..6e1e7690d 100644 --- a/content/pt/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/pt/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "Reinicialização ou Interrupção Graciosa" -draft: false + --- Queres reiniciar ou parar graciosamente o teu servidor de web? diff --git a/content/pt/docs/examples/grouping-routes.md b/src/content/docs/pt/docs/examples/grouping-routes.md similarity index 97% rename from content/pt/docs/examples/grouping-routes.md rename to src/content/docs/pt/docs/examples/grouping-routes.md index 0b5dc634d..5d1c0d092 100644 --- a/content/pt/docs/examples/grouping-routes.md +++ b/src/content/docs/pt/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "Agrupamento de Rotas" -draft: false + --- ```go diff --git a/content/pt/docs/examples/html-rendering.md b/src/content/docs/pt/docs/examples/html-rendering.md similarity index 99% rename from content/pt/docs/examples/html-rendering.md rename to src/content/docs/pt/docs/examples/html-rendering.md index 98d309d02..b36c22c3e 100644 --- a/content/pt/docs/examples/html-rendering.md +++ b/src/content/docs/pt/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "Interpretação do HTML" -draft: false + --- Usando `LoadHTMLGlob()` ou `LoadHTMLFiles()`: diff --git a/content/pt/docs/examples/http-method.md b/src/content/docs/pt/docs/examples/http-method.md similarity index 98% rename from content/pt/docs/examples/http-method.md rename to src/content/docs/pt/docs/examples/http-method.md index 88ef8980d..7a648f10f 100644 --- a/content/pt/docs/examples/http-method.md +++ b/src/content/docs/pt/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "Usando o Método de HTTP" -draft: false + --- ```go diff --git a/content/pt/docs/examples/http2-server-push.md b/src/content/docs/pt/docs/examples/http2-server-push.md similarity index 98% rename from content/pt/docs/examples/http2-server-push.md rename to src/content/docs/pt/docs/examples/http2-server-push.md index c0d038685..f2268ad0f 100644 --- a/content/pt/docs/examples/http2-server-push.md +++ b/src/content/docs/pt/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "Impulso do Servidor de HTTP2" -draft: false + --- `http.Pusher` é suportado apenas versão **1.8+** de Go. Consulte o [blogue da Golang](https://blog.golang.org/h2push) por informação detalhada: diff --git a/content/pt/docs/examples/_index.md b/src/content/docs/pt/docs/examples/index.md similarity index 71% rename from content/pt/docs/examples/_index.md rename to src/content/docs/pt/docs/examples/index.md index da7fd042f..1fe74c9e2 100644 --- a/content/pt/docs/examples/_index.md +++ b/src/content/docs/pt/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "Exemplos" -draft: false -weight: 6 + +sidebar: + order: 6 --- A seção lista o uso da API. diff --git a/content/pt/docs/examples/jsonp.md b/src/content/docs/pt/docs/examples/jsonp.md similarity index 97% rename from content/pt/docs/examples/jsonp.md rename to src/content/docs/pt/docs/examples/jsonp.md index 07a3dc4db..adc58d020 100644 --- a/content/pt/docs/examples/jsonp.md +++ b/src/content/docs/pt/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- Usando JSONP para pedir dados dum servidor num domínio diferente. Adicione a função de resposta ao corpo da resposta se a função de resposta do parâmetro da consulta existir: diff --git a/content/pt/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/pt/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/pt/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/pt/docs/examples/map-as-querystring-or-postform.md index b405229ca..d679aa0db 100644 --- a/content/pt/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/pt/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "Mapa como Sequência de Caracteres de Consulta ou Parâmetros de Formulário de Publicação" -draft: false + --- ```sh diff --git a/content/pt/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/pt/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/pt/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/pt/docs/examples/multipart-urlencoded-binding.md index 92aed40cb..f0d86ce15 100644 --- a/content/pt/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/pt/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Vínculo de Várias Partes / URL Codificada" -draft: false + --- ```go diff --git a/content/pt/docs/examples/multipart-urlencoded-form.md b/src/content/docs/pt/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/pt/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/pt/docs/examples/multipart-urlencoded-form.md index ed0fb72b2..2914f0a4d 100644 --- a/content/pt/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/pt/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Formulário de Várias Partes / URL Codificada" -draft: false + --- ```go diff --git a/content/pt/docs/examples/multiple-template.md b/src/content/docs/pt/docs/examples/multiple-template.md similarity index 94% rename from content/pt/docs/examples/multiple-template.md rename to src/content/docs/pt/docs/examples/multiple-template.md index e14d1aa2c..2a8ad5edd 100644 --- a/content/pt/docs/examples/multiple-template.md +++ b/src/content/docs/pt/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "Vários Modelos de Marcação" -draft: false + --- A Gin permite por padrão usar apenas um `html.Template`. Consulte [um interpretador de vários modelos de marcação] para usares funcionalidades como `block template` de Go 1.6. diff --git a/content/pt/docs/examples/only-bind-query-string.md b/src/content/docs/pt/docs/examples/only-bind-query-string.md similarity index 98% rename from content/pt/docs/examples/only-bind-query-string.md rename to src/content/docs/pt/docs/examples/only-bind-query-string.md index 384011d47..daffb70c7 100644 --- a/content/pt/docs/examples/only-bind-query-string.md +++ b/src/content/docs/pt/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "Vincular Apenas a Sequência de Caracteres de Consulta" -draft: false + --- A função `ShouldBindQuery` apenas vincula os parâmetros de consulta e não os dados da publicação. Consulte a [informação detalhada](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017): diff --git a/content/pt/docs/examples/param-in-path.md b/src/content/docs/pt/docs/examples/param-in-path.md similarity index 98% rename from content/pt/docs/examples/param-in-path.md rename to src/content/docs/pt/docs/examples/param-in-path.md index e3b21b75d..316bbadce 100644 --- a/content/pt/docs/examples/param-in-path.md +++ b/src/content/docs/pt/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "Parâmetros no Caminho" -draft: false + --- ```go diff --git a/content/pt/docs/examples/pure-json.md b/src/content/docs/pt/docs/examples/pure-json.md similarity index 98% rename from content/pt/docs/examples/pure-json.md rename to src/content/docs/pt/docs/examples/pure-json.md index 52ec5b46a..ea16e85ee 100644 --- a/content/pt/docs/examples/pure-json.md +++ b/src/content/docs/pt/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- Normalmente, a JSON substitui os caracteres de HTML especiais com suas entidades de unicode, por exemplo, `<` torna-se `\u003c`. Se quiseres codificar tais caracteres literalmente, podes usar PureJSON. Esta funcionalidade está indisponível na Go 1.6 para baixo: diff --git a/content/pt/docs/examples/query-and-post-form.md b/src/content/docs/pt/docs/examples/query-and-post-form.md similarity index 97% rename from content/pt/docs/examples/query-and-post-form.md rename to src/content/docs/pt/docs/examples/query-and-post-form.md index d50f68258..e82f52184 100644 --- a/content/pt/docs/examples/query-and-post-form.md +++ b/src/content/docs/pt/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "Consulta e Formulário de Publicação" -draft: false + --- ```sh diff --git a/content/pt/docs/examples/querystring-param.md b/src/content/docs/pt/docs/examples/querystring-param.md similarity index 97% rename from content/pt/docs/examples/querystring-param.md rename to src/content/docs/pt/docs/examples/querystring-param.md index 3f1dc302f..b2bd8a563 100644 --- a/content/pt/docs/examples/querystring-param.md +++ b/src/content/docs/pt/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "Parâmetros da Sequência de Consulta" -draft: false + --- ```go diff --git a/content/pt/docs/examples/redirects.md b/src/content/docs/pt/docs/examples/redirects.md similarity index 98% rename from content/pt/docs/examples/redirects.md rename to src/content/docs/pt/docs/examples/redirects.md index 5212c4000..eb86cba11 100644 --- a/content/pt/docs/examples/redirects.md +++ b/src/content/docs/pt/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "Redirecionamentos" -draft: false + --- Emitir um redirecionamento de HTTP é fácil. Ambas localizações internas e externas são suportadas: diff --git a/content/pt/docs/examples/rendering.md b/src/content/docs/pt/docs/examples/rendering.md similarity index 99% rename from content/pt/docs/examples/rendering.md rename to src/content/docs/pt/docs/examples/rendering.md index d5ca12bd1..8dcc31c85 100644 --- a/content/pt/docs/examples/rendering.md +++ b/src/content/docs/pt/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "Interpretação de XML/JSON/YAML/ProtoBuf" -draft: false + --- ```go diff --git a/content/pt/docs/examples/run-multiple-service.md b/src/content/docs/pt/docs/examples/run-multiple-service.md similarity index 98% rename from content/pt/docs/examples/run-multiple-service.md rename to src/content/docs/pt/docs/examples/run-multiple-service.md index 49375e3f8..5eba59d62 100644 --- a/content/pt/docs/examples/run-multiple-service.md +++ b/src/content/docs/pt/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "Executar Vários Serviços" -draft: false + --- Consulte a [questão](https://github.com/gin-gonic/gin/issues/346) e tente seguinte exemplo: diff --git a/content/pt/docs/examples/secure-json.md b/src/content/docs/pt/docs/examples/secure-json.md similarity index 97% rename from content/pt/docs/examples/secure-json.md rename to src/content/docs/pt/docs/examples/secure-json.md index 7a4cc3372..518d2df4b 100644 --- a/content/pt/docs/examples/secure-json.md +++ b/src/content/docs/pt/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- Usando SecureJSON para impedir o sequestro do JSON. Por padrão adiciona `"while(1)"` no início do corpo da resposta se a dada estrutura for valores de arranjo: diff --git a/content/pt/docs/examples/security-headers.md b/src/content/docs/pt/docs/examples/security-headers.md similarity index 99% rename from content/pt/docs/examples/security-headers.md rename to src/content/docs/pt/docs/examples/security-headers.md index 15f75f58d..37f103360 100644 --- a/content/pt/docs/examples/security-headers.md +++ b/src/content/docs/pt/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "Cabeçalhos de segurança" -draft: false + --- É importante utilizar cabeçalhos de segurança para proteger a sua aplicação Web de vulnerabilidades de segurança comuns. Este exemplo mostra-lhe como adicionar cabeçalhos de segurança à sua aplicação Gin e também como evitar ataques relacionados com a injeção de cabeçalhos de anfitrião (SSRF, Open Redirection). diff --git a/content/pt/docs/examples/serving-data-from-reader.md b/src/content/docs/pt/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/pt/docs/examples/serving-data-from-reader.md rename to src/content/docs/pt/docs/examples/serving-data-from-reader.md index af79e780a..5af74e461 100644 --- a/content/pt/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/pt/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "Servir os Dados a partir do Leitor" -draft: false + --- ```go diff --git a/content/pt/docs/examples/serving-static-files.md b/src/content/docs/pt/docs/examples/serving-static-files.md similarity index 96% rename from content/pt/docs/examples/serving-static-files.md rename to src/content/docs/pt/docs/examples/serving-static-files.md index 4d1917cb8..4c9ba2348 100644 --- a/content/pt/docs/examples/serving-static-files.md +++ b/src/content/docs/pt/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "Servir os Ficheiros Estáticos" -draft: false + --- ```go diff --git a/content/pt/docs/examples/support-lets-encrypt.md b/src/content/docs/pt/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/pt/docs/examples/support-lets-encrypt.md rename to src/content/docs/pt/docs/examples/support-lets-encrypt.md index 63209f021..6fe1fee9a 100644 --- a/content/pt/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/pt/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Suportar Let's Encrypt" -draft: false + --- Exemplo para servidores de HTTP LetsEncrypt de uma linha: diff --git a/content/pt/docs/examples/upload-file/_index.md b/src/content/docs/pt/docs/examples/upload-file/index.md similarity index 87% rename from content/pt/docs/examples/upload-file/_index.md rename to src/content/docs/pt/docs/examples/upload-file/index.md index 6f1e84de4..d6d11e9f5 100644 --- a/content/pt/docs/examples/upload-file/_index.md +++ b/src/content/docs/pt/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "Carregar Ficheiros" -draft: false + --- A seção lista o uso da API de carregamento de ficheiro. diff --git a/content/pt/docs/examples/upload-file/multiple-file.md b/src/content/docs/pt/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/pt/docs/examples/upload-file/multiple-file.md rename to src/content/docs/pt/docs/examples/upload-file/multiple-file.md index 26050147d..6e37537d6 100644 --- a/content/pt/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/pt/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "Vários Ficheiros" -draft: false + --- Consulte o [código de exemplo](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple) detalhado. diff --git a/content/pt/docs/examples/upload-file/single-file.md b/src/content/docs/pt/docs/examples/upload-file/single-file.md similarity index 99% rename from content/pt/docs/examples/upload-file/single-file.md rename to src/content/docs/pt/docs/examples/upload-file/single-file.md index 7314c09e6..0f32d1447 100644 --- a/content/pt/docs/examples/upload-file/single-file.md +++ b/src/content/docs/pt/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "Único Ficheiro" -draft: false + --- Consulte a questão [#774](https://github.com/gin-gonic/gin/issues/774) e [exemplo de código](https://github.com/gin-gonic/examples/tree/master/upload-file/single) detalhado. diff --git a/content/pt/docs/examples/using-basicauth-middleware.md b/src/content/docs/pt/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/pt/docs/examples/using-basicauth-middleware.md rename to src/content/docs/pt/docs/examples/using-basicauth-middleware.md index 13ffc5602..e58e16e50 100644 --- a/content/pt/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/pt/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "Usar o Intermediário de BasicAuth" -draft: false + --- ```go diff --git a/content/pt/docs/examples/using-middleware.md b/src/content/docs/pt/docs/examples/using-middleware.md similarity index 98% rename from content/pt/docs/examples/using-middleware.md rename to src/content/docs/pt/docs/examples/using-middleware.md index db9a819d9..ff0db3bd2 100644 --- a/content/pt/docs/examples/using-middleware.md +++ b/src/content/docs/pt/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "Usar Intermediário" -draft: false + --- ```go diff --git a/content/pt/docs/examples/without-middleware.md b/src/content/docs/pt/docs/examples/without-middleware.md similarity index 93% rename from content/pt/docs/examples/without-middleware.md rename to src/content/docs/pt/docs/examples/without-middleware.md index 8f3256f70..f7a04231c 100644 --- a/content/pt/docs/examples/without-middleware.md +++ b/src/content/docs/pt/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "Sem Intermediário por Padrão" -draft: false + --- Use: diff --git a/content/pt/docs/examples/write-log.md b/src/content/docs/pt/docs/examples/write-log.md similarity index 98% rename from content/pt/docs/examples/write-log.md rename to src/content/docs/pt/docs/examples/write-log.md index d43b5e597..1a3b4620b 100644 --- a/content/pt/docs/examples/write-log.md +++ b/src/content/docs/pt/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "Como Escrever Ficheiro de Registo" -draft: false + --- ```go diff --git a/content/en/docs/faq/_index.md b/src/content/docs/pt/docs/faq/index.md similarity index 79% rename from content/en/docs/faq/_index.md rename to src/content/docs/pt/docs/faq/index.md index 389d1432a..ad348f11f 100644 --- a/content/en/docs/faq/_index.md +++ b/src/content/docs/pt/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO: record some frequently asked question from GitHub Issue tab. diff --git a/content/pt/docs/features/_index.md b/src/content/docs/pt/docs/features/index.md similarity index 93% rename from content/pt/docs/features/_index.md rename to src/content/docs/pt/docs/features/index.md index bbd47ea0d..0b33c56e5 100644 --- a/content/pt/docs/features/_index.md +++ b/src/content/docs/pt/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "Características" -draft: false -weight: 4 + +sidebar: + order: 4 --- ## Gin v1 estável apresenta: diff --git a/content/pt/docs/_index.md b/src/content/docs/pt/docs/index.md similarity index 94% rename from content/pt/docs/_index.md rename to src/content/docs/pt/docs/index.md index 93ced4fff..18d8af67d 100644 --- a/content/pt/docs/_index.md +++ b/src/content/docs/pt/docs/index.md @@ -1,10 +1,8 @@ --- title: "Documentação" linkTitle: "Documentação" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## O que é a Gin? diff --git a/content/pt/docs/introduction/_index.md b/src/content/docs/pt/docs/introduction/index.md similarity index 98% rename from content/pt/docs/introduction/_index.md rename to src/content/docs/pt/docs/introduction/index.md index e5c490425..1e17268ea 100644 --- a/content/pt/docs/introduction/_index.md +++ b/src/content/docs/pt/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "Introdução" -draft: false -weight: 1 + +sidebar: + order: 1 --- A Gin é uma abstração de web escrita em Go (Golang). Ela apresenta uma API parecida com a Martini com desempenho muito melhor, acima de 40 vezes mais rápida graças ao [`httprouter`](https://github.com/julienschmidt/httprouter). Se precisares de desempenho e excelente produtividade, amarás a Gin. diff --git a/content/pt/docs/jsoniter/_index.md b/src/content/docs/pt/docs/jsoniter/index.md similarity index 93% rename from content/pt/docs/jsoniter/_index.md rename to src/content/docs/pt/docs/jsoniter/index.md index 666e2a837..a4a5338b6 100644 --- a/content/pt/docs/jsoniter/_index.md +++ b/src/content/docs/pt/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- ### Construir com o [`jsoniter`](https://github.com/json-iterator/go) diff --git a/content/pt/docs/quickstart/_index.md b/src/content/docs/pt/docs/quickstart/index.md similarity index 98% rename from content/pt/docs/quickstart/_index.md rename to src/content/docs/pt/docs/quickstart/index.md index dcf21f27d..971235c88 100644 --- a/content/pt/docs/quickstart/_index.md +++ b/src/content/docs/pt/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "Introdução Rápida" -draft: false -weight: 2 + +sidebar: + order: 2 --- Nesta introdução rápida, recolheremos entendimentos a partir de segmentos de código e aprenderemos a como: diff --git a/content/pt/docs/testing/_index.md b/src/content/docs/pt/docs/testing/index.md similarity index 98% rename from content/pt/docs/testing/_index.md rename to src/content/docs/pt/docs/testing/index.md index 645d71baf..23408d673 100644 --- a/content/pt/docs/testing/_index.md +++ b/src/content/docs/pt/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "Testagem" -draft: false -weight: 7 + +sidebar: + order: 7 --- ## Como escrever um caso de teste para Gin? diff --git a/content/pt/docs/users/_index.md b/src/content/docs/pt/docs/users/index.md similarity index 97% rename from content/pt/docs/users/_index.md rename to src/content/docs/pt/docs/users/index.md index d3994a534..ca260bca7 100644 --- a/content/pt/docs/users/_index.md +++ b/src/content/docs/pt/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "Utilizadores" -draft: false -weight: 8 + +sidebar: + order: 8 --- #### Uma lista projetos incríveis usando a abstração de web [Gin](https://github.com/gin-gonic/gin): diff --git a/src/content/docs/pt/index.mdx b/src/content/docs/pt/index.mdx new file mode 100644 index 000000000..045be261b --- /dev/null +++ b/src/content/docs/pt/index.mdx @@ -0,0 +1,50 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: A mais rápida e completa abstração de web em Go. Transparente. + image: + file: ../../../assets/gin.png + actions: + - text: Aprenda mais + link: /pt/docs/ + icon: right-arrow + - text: Descarregar + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## O que é a Gin? + +A Gin é uma abstração de web escrita em Golang. Ela apresenta uma API parecida com a Martini, mais com desempenho mais alto, 40 vezes mais rápida do que a Martini. Se precisas de desempenho e produtividade, amarás a Gin. + + + + Árvore de roteamento baseada em Radix, pouco consumo de memória. Sem reflexão. Desempenho de API previsível. + + + Uma requisição futura de HTTP pode ser manipulada por uma cadeia de intermediários e pela ação final. Por exemplo: Registador, Autorização, GZIP e finalmente publicar uma mensagem na BD. + + + A Gin pode capturar um pânico que ocorreu durante uma requisição de HTTP e recuperá-lo. Deste maneira, o teu servidor estará sempre disponível. Também é possível informar este pânico ao Sentry por exemplo! + + + A Gin pode analisar e validar o JSON de uma requisição, verificando, por exemplo, a existência de valores obrigatórios. + + + Organiza melhor as tuas rotas. Autorização obrigatória vs não obrigatória, diferentes versões de API. Além disso, grupos podem ser encaixados infinitamente sem a degradação do desempenho. + + + A Gin fornece uma maneira conveniente de coletar todos os erros ocorridos durante uma requisição de HTTP. Eventualmente, o intermediário pode escrevê-los em um ficheiro de registo, em uma base de dados e enviá-los através da rede. + + + A Gin fornece uma API fácil de utilizar para interpretação de JSON, XML e HTML. + + + A criação de um novo intermediário é tão fácil, apenas consulte o código de exemplo. + + diff --git a/src/content/docs/ru/blog/index.md b/src/content/docs/ru/blog/index.md new file mode 100644 index 000000000..07fd81571 --- /dev/null +++ b/src/content/docs/ru/blog/index.md @@ -0,0 +1,12 @@ +--- +title: "Blog" +linkTitle: "Blog" +sidebar: + order: 30 +--- + + +This is the **blog** section. It has two categories: News and Releases. + +Files in these directories will be listed in reverse chronological order. + diff --git a/content/ru/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/ru/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/ru/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/ru/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/ru/blog/releases/release13.md b/src/content/docs/ru/blog/releases/release13.md similarity index 100% rename from content/ru/blog/releases/release13.md rename to src/content/docs/ru/blog/releases/release13.md diff --git a/content/ru/blog/releases/release14.md b/src/content/docs/ru/blog/releases/release14.md similarity index 100% rename from content/ru/blog/releases/release14.md rename to src/content/docs/ru/blog/releases/release14.md diff --git a/content/ru/blog/releases/release15.md b/src/content/docs/ru/blog/releases/release15.md similarity index 100% rename from content/ru/blog/releases/release15.md rename to src/content/docs/ru/blog/releases/release15.md diff --git a/content/ru/blog/releases/release16.md b/src/content/docs/ru/blog/releases/release16.md similarity index 100% rename from content/ru/blog/releases/release16.md rename to src/content/docs/ru/blog/releases/release16.md diff --git a/content/ru/docs/benchmarks/_index.md b/src/content/docs/ru/docs/benchmarks/index.md similarity index 99% rename from content/ru/docs/benchmarks/_index.md rename to src/content/docs/ru/docs/benchmarks/index.md index c512f9258..64e565706 100644 --- a/content/ru/docs/benchmarks/_index.md +++ b/src/content/docs/ru/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "Контрольные показатели" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin использует пользовательскую версию [HttpRouter](https://github.com/julienschmidt/httprouter). diff --git a/content/ru/docs/deployment/_index.md b/src/content/docs/ru/docs/deployment/index.md similarity index 99% rename from content/ru/docs/deployment/_index.md rename to src/content/docs/ru/docs/deployment/index.md index ac691d84a..6d3537fb0 100644 --- a/content/ru/docs/deployment/_index.md +++ b/src/content/docs/ru/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "Deployment" -draft: false -weight: 6 + +sidebar: + order: 6 --- Проекты Gin могут быть легко развернуты на любом облачном провайдере. diff --git a/content/ru/docs/examples/ascii-json.md b/src/content/docs/ru/docs/examples/ascii-json.md similarity index 94% rename from content/ru/docs/examples/ascii-json.md rename to src/content/docs/ru/docs/examples/ascii-json.md index 9eb014880..38f4c350a 100644 --- a/content/ru/docs/examples/ascii-json.md +++ b/src/content/docs/ru/docs/examples/ascii-json.md @@ -1,5 +1,5 @@ --- -название: "AsciiJSON" +title: "AsciiJSON" черновик: false --- diff --git a/content/ru/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/ru/docs/examples/bind-body-into-dirrerent-structs.md similarity index 95% rename from content/ru/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/ru/docs/examples/bind-body-into-dirrerent-structs.md index 008769777..0a1cfbf41 100644 --- a/content/ru/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/ru/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- -название: "Попытайтесь связать тело в разных структурах" -draft: false +title: "Попытайтесь связать тело в разных структурах" + --- Обычные методы для связывания тела запроса (request body) потребляют `c.Request.Body` и их diff --git a/content/ru/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/ru/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 91% rename from content/ru/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/ru/docs/examples/bind-form-data-request-with-custom-struct.md index 4567d90ee..357a7d0be 100644 --- a/content/ru/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/ru/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,5 +1,5 @@ --- -название: "Связывание запроса формы-данных с пользовательской структурой" +title: "Связывание запроса формы-данных с пользовательской структурой" черновик: false --- diff --git a/content/ru/docs/examples/bind-html-checkbox.md b/src/content/docs/ru/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/ru/docs/examples/bind-html-checkbox.md rename to src/content/docs/ru/docs/examples/bind-html-checkbox.md index 8950b1699..458be46fb 100644 --- a/content/ru/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/ru/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "Привязка html-флажков" -draft: false + --- Смотрите [подробную информацию](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) diff --git a/content/ru/docs/examples/bind-query-or-post.md b/src/content/docs/ru/docs/examples/bind-query-or-post.md similarity index 100% rename from content/ru/docs/examples/bind-query-or-post.md rename to src/content/docs/ru/docs/examples/bind-query-or-post.md diff --git a/content/ru/docs/examples/bind-single-binary-with-template.md b/src/content/docs/ru/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/ru/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/ru/docs/examples/bind-single-binary-with-template.md index a01a567c7..23c2c8319 100644 --- a/content/ru/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/ru/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "Создание единого бинарного файла с помощью шаблонов" -draft: false + --- ## Использование стороннего пакета diff --git a/content/ru/docs/examples/bind-uri.md b/src/content/docs/ru/docs/examples/bind-uri.md similarity index 92% rename from content/ru/docs/examples/bind-uri.md rename to src/content/docs/ru/docs/examples/bind-uri.md index 654911691..9054fe811 100644 --- a/content/ru/docs/examples/bind-uri.md +++ b/src/content/docs/ru/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- -Заголовок: "Связывание Uri" -draft: false +title: "Связывание Uri" + --- Смотрите [подробную информацию](https://github.com/gin-gonic/gin/issues/846). diff --git a/content/ru/docs/examples/binding-and-validation.md b/src/content/docs/ru/docs/examples/binding-and-validation.md similarity index 98% rename from content/ru/docs/examples/binding-and-validation.md rename to src/content/docs/ru/docs/examples/binding-and-validation.md index 2f7d35e62..75b60ceca 100644 --- a/content/ru/docs/examples/binding-and-validation.md +++ b/src/content/docs/ru/docs/examples/binding-and-validation.md @@ -1,5 +1,5 @@ --- -Заголовок: "Связывание и проверка моделей" +title: "Связывание и проверка моделей" черновик: false --- diff --git a/content/ru/docs/examples/controlling-log-output-coloring.md b/src/content/docs/ru/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/ru/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/ru/docs/examples/controlling-log-output-coloring.md index 248c10818..7bbe1fe0c 100644 --- a/content/ru/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/ru/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "Управление раскраской вывода журнала" -draft: false + --- По умолчанию логи, выводимые на консоль, должны быть окрашены в зависимости от обнаруженного TTY. diff --git a/content/ru/docs/examples/cookie.md b/src/content/docs/ru/docs/examples/cookie.md similarity index 87% rename from content/ru/docs/examples/cookie.md rename to src/content/docs/ru/docs/examples/cookie.md index 7cf85e3ca..dba1ce64c 100644 --- a/content/ru/docs/examples/cookie.md +++ b/src/content/docs/ru/docs/examples/cookie.md @@ -1,5 +1,5 @@ --- -Название: "Установка и получение cookie" +title: "Установка и получение cookie" черновик: false --- diff --git a/content/ru/docs/examples/custom-http-config.md b/src/content/docs/ru/docs/examples/custom-http-config.md similarity index 85% rename from content/ru/docs/examples/custom-http-config.md rename to src/content/docs/ru/docs/examples/custom-http-config.md index b6f84b975..209b6cb85 100644 --- a/content/ru/docs/examples/custom-http-config.md +++ b/src/content/docs/ru/docs/examples/custom-http-config.md @@ -1,5 +1,5 @@ --- -Название: "Пользовательская конфигурация HTTP" +title: "Пользовательская конфигурация HTTP" черновик: false --- diff --git a/content/ru/docs/examples/custom-log-format.md b/src/content/docs/ru/docs/examples/custom-log-format.md similarity index 92% rename from content/ru/docs/examples/custom-log-format.md rename to src/content/docs/ru/docs/examples/custom-log-format.md index 00613371b..63d80fa6c 100644 --- a/content/ru/docs/examples/custom-log-format.md +++ b/src/content/docs/ru/docs/examples/custom-log-format.md @@ -1,5 +1,5 @@ --- -Название: "Пользовательский файл журнала" +title: "Пользовательский файл журнала" черновик: false --- diff --git a/src/content/docs/ru/docs/examples/custom-middleware.md b/src/content/docs/ru/docs/examples/custom-middleware.md new file mode 100644 index 000000000..8ee5b41cc --- /dev/null +++ b/src/content/docs/ru/docs/examples/custom-middleware.md @@ -0,0 +1,43 @@ +--- +title: "Custom Middleware" +черновик: false +--- + +```go +func Logger() gin.HandlerFunc { + return func(c *gin.Context) { + t := time.Now() + + // Set example variable + c.Set("example", "12345") + + // before request + + c.Next() + + // after request + latency := time.Since(t) + log.Print(latency) + + // access the status we are sending + status := c.Writer.Status() + log.Println(status) + } +} + +func main() { + r := gin.New() + r.Use(Logger()) + + r.GET("/test", func(c *gin.Context) { + example := c.MustGet("example").(string) + + // it would print: "12345" + log.Println(example) + }) + + // Listen and serve on 0.0.0.0:8080 + r.Run(":8080") +} +``` + diff --git a/content/ru/docs/examples/custom-validators.md b/src/content/docs/ru/docs/examples/custom-validators.md similarity index 95% rename from content/ru/docs/examples/custom-validators.md rename to src/content/docs/ru/docs/examples/custom-validators.md index 53790bf18..9d1abb931 100644 --- a/content/ru/docs/examples/custom-validators.md +++ b/src/content/docs/ru/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- -название: "Пользовательские валидаторы" -draft: false +title: "Пользовательские валидаторы" + --- Также можно зарегистрировать пользовательские валидаторы. Смотрите [пример кода](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations). diff --git a/content/ru/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/ru/docs/examples/define-format-for-the-log-of-routes.md similarity index 99% rename from content/ru/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/ru/docs/examples/define-format-for-the-log-of-routes.md index 9941d3033..51ee703bb 100644 --- a/content/ru/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/ru/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "Определить формат для журнала маршрутов" -draft: false + --- diff --git a/content/ru/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/ru/docs/examples/goroutines-inside-a-middleware.md similarity index 92% rename from content/ru/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/ru/docs/examples/goroutines-inside-a-middleware.md index da91a0ea4..1081c4025 100644 --- a/content/ru/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/ru/docs/examples/goroutines-inside-a-middleware.md @@ -1,5 +1,5 @@ --- -Заголовок: "Гороутины внутри промежуточного ПО" +title: "Гороутины внутри промежуточного ПО" черновик: false --- diff --git a/content/ru/docs/examples/graceful-restart-or-stop.md b/src/content/docs/ru/docs/examples/graceful-restart-or-stop.md similarity index 96% rename from content/ru/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/ru/docs/examples/graceful-restart-or-stop.md index 2f5caca7b..af8d3bd2b 100644 --- a/content/ru/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/ru/docs/examples/graceful-restart-or-stop.md @@ -1,5 +1,5 @@ --- -Заголовок: "Благодатный перезапуск или остановка" +title: "Благодатный перезапуск или остановка" черновик: false --- diff --git a/content/ru/docs/examples/grouping-routes.md b/src/content/docs/ru/docs/examples/grouping-routes.md similarity index 86% rename from content/ru/docs/examples/grouping-routes.md rename to src/content/docs/ru/docs/examples/grouping-routes.md index 6e23d2e6a..582959c23 100644 --- a/content/ru/docs/examples/grouping-routes.md +++ b/src/content/docs/ru/docs/examples/grouping-routes.md @@ -1,5 +1,5 @@ --- -Заголовок: "Группировка маршрутов" +title: "Группировка маршрутов" черновик: false --- diff --git a/content/ru/docs/examples/html-rendering.md b/src/content/docs/ru/docs/examples/html-rendering.md similarity index 97% rename from content/ru/docs/examples/html-rendering.md rename to src/content/docs/ru/docs/examples/html-rendering.md index d489dda4e..8e07402bc 100644 --- a/content/ru/docs/examples/html-rendering.md +++ b/src/content/docs/ru/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- -Заголовок: "HTML-рендеринг" -draft: false +title: "HTML-рендеринг" + --- Использование LoadHTMLGlob() или LoadHTMLFiles() diff --git a/content/ru/docs/examples/http-method.md b/src/content/docs/ru/docs/examples/http-method.md similarity index 87% rename from content/ru/docs/examples/http-method.md rename to src/content/docs/ru/docs/examples/http-method.md index de7199323..e0e72c2d2 100644 --- a/content/ru/docs/examples/http-method.md +++ b/src/content/docs/ru/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- -Заголовок: "Использование метода HTTP" -draft: false +title: "Использование метода HTTP" + --- ```go diff --git a/content/ru/docs/examples/http2-server-push.md b/src/content/docs/ru/docs/examples/http2-server-push.md similarity index 96% rename from content/ru/docs/examples/http2-server-push.md rename to src/content/docs/ru/docs/examples/http2-server-push.md index 22130a359..4120c2ae8 100644 --- a/content/ru/docs/examples/http2-server-push.md +++ b/src/content/docs/ru/docs/examples/http2-server-push.md @@ -1,5 +1,5 @@ --- -Заголовок: "HTTP2 server push" +title: "HTTP2 server push" черновик: false --- diff --git a/content/ru/docs/examples/_index.md b/src/content/docs/ru/docs/examples/index.md similarity index 77% rename from content/ru/docs/examples/_index.md rename to src/content/docs/ru/docs/examples/index.md index df13529a2..9e574e105 100644 --- a/content/ru/docs/examples/_index.md +++ b/src/content/docs/ru/docs/examples/index.md @@ -1,5 +1,5 @@ --- -название: "Примеры" +title: "Примеры" черновик: false вес: 6 --- diff --git a/content/ru/docs/examples/jsonp.md b/src/content/docs/ru/docs/examples/jsonp.md similarity index 95% rename from content/ru/docs/examples/jsonp.md rename to src/content/docs/ru/docs/examples/jsonp.md index b5c75a17c..38eb76beb 100644 --- a/content/ru/docs/examples/jsonp.md +++ b/src/content/docs/ru/docs/examples/jsonp.md @@ -1,5 +1,5 @@ --- -Заголовок: "JSONP" +title: "JSONP" черновик: false --- diff --git a/src/content/docs/ru/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/ru/docs/examples/map-as-querystring-or-postform.md new file mode 100644 index 000000000..c964477bf --- /dev/null +++ b/src/content/docs/ru/docs/examples/map-as-querystring-or-postform.md @@ -0,0 +1,31 @@ +--- +title: "Структура данных Map виде строки запроса или параметров постформы" + +--- + +```sh +POST /post?ids[a]=1234&ids[b]=hello HTTP/1.1 +Content-Type: application/x-www-form-urlencoded + +names[first]=thinkerou&names[second]=tianou +``` + +```go +func main() { + router := gin.Default() + + router.POST("/post", func(c *gin.Context) { + + ids := c.QueryMap("ids") + names := c.PostFormMap("names") + + fmt.Printf("ids: %v; names: %v", ids, names) + }) + router.Run(":8080") +} +``` + +```sh +ids: map[b:hello a:1234], names: map[second:tianou first:thinkerou] +``` + diff --git a/content/ru/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/ru/docs/examples/multipart-urlencoded-binding.md similarity index 92% rename from content/ru/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/ru/docs/examples/multipart-urlencoded-binding.md index 1486ec109..c62b6195e 100644 --- a/content/ru/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/ru/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- -Заголовок: "Связка Multipart/Urlencoded" -draft: false +title: "Связка Multipart/Urlencoded" + --- ```go diff --git a/src/content/docs/ru/docs/examples/multipart-urlencoded-form.md b/src/content/docs/ru/docs/examples/multipart-urlencoded-form.md new file mode 100644 index 000000000..61940f99f --- /dev/null +++ b/src/content/docs/ru/docs/examples/multipart-urlencoded-form.md @@ -0,0 +1,23 @@ +--- +title: "Форма Multipart/Urlencoded" + +--- + +```go +func main() { + router := gin.Default() + + router.POST("/form_post", func(c *gin.Context) { + message := c.PostForm("message") + nick := c.DefaultPostForm("nick", "anonymous") + + c.JSON(200, gin.H{ + "status": "posted", + "message": message, + "nick": nick, + }) + }) + router.Run(":8080") +} +``` + diff --git a/content/ru/docs/examples/multiple-template.md b/src/content/docs/ru/docs/examples/multiple-template.md similarity index 83% rename from content/ru/docs/examples/multiple-template.md rename to src/content/docs/ru/docs/examples/multiple-template.md index 6f3f0b3ea..f451e4c00 100644 --- a/content/ru/docs/examples/multiple-template.md +++ b/src/content/docs/ru/docs/examples/multiple-template.md @@ -1,5 +1,5 @@ --- -Заголовок: "Несколько HTML темплейтов" +title: "Несколько HTML темплейтов" черновик: false --- diff --git a/content/ru/docs/examples/only-bind-query-string.md b/src/content/docs/ru/docs/examples/only-bind-query-string.md similarity index 88% rename from content/ru/docs/examples/only-bind-query-string.md rename to src/content/docs/ru/docs/examples/only-bind-query-string.md index ffae2c6fc..e156a6a9a 100644 --- a/content/ru/docs/examples/only-bind-query-string.md +++ b/src/content/docs/ru/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- -Заголовок: "Только связывание строки запроса" -draft: false +title: "Только связывание строки запроса" + --- Функция `ShouldBindQuery` связывает только параметры запроса, но не данные поста. См. [подробную информацию](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). diff --git a/content/ru/docs/examples/param-in-path.md b/src/content/docs/ru/docs/examples/param-in-path.md similarity index 92% rename from content/ru/docs/examples/param-in-path.md rename to src/content/docs/ru/docs/examples/param-in-path.md index 4cecad160..38f1abdaa 100644 --- a/content/ru/docs/examples/param-in-path.md +++ b/src/content/docs/ru/docs/examples/param-in-path.md @@ -1,5 +1,5 @@ --- -Заголовок: "Параметры в path" +title: "Параметры в path" черновик: false --- diff --git a/content/ru/docs/examples/pure-json.md b/src/content/docs/ru/docs/examples/pure-json.md similarity index 96% rename from content/ru/docs/examples/pure-json.md rename to src/content/docs/ru/docs/examples/pure-json.md index cf2b94346..63dbc37c2 100644 --- a/content/ru/docs/examples/pure-json.md +++ b/src/content/docs/ru/docs/examples/pure-json.md @@ -1,5 +1,5 @@ --- -Заголовок: "PureJSON" +title: "PureJSON" черновик: false --- diff --git a/src/content/docs/ru/docs/examples/query-and-post-form.md b/src/content/docs/ru/docs/examples/query-and-post-form.md new file mode 100644 index 000000000..07eb8fead --- /dev/null +++ b/src/content/docs/ru/docs/examples/query-and-post-form.md @@ -0,0 +1,32 @@ +--- +title: "Форма для запросов и сообщений" + +--- + +```sh +POST /post?id=1234&page=1 HTTP/1.1 +Content-Type: application/x-www-form-urlencoded + +name=manu&message=this_is_great +``` + +```go +func main() { + router := gin.Default() + + router.POST("/post", func(c *gin.Context) { + + id := c.Query("id") + page := c.DefaultQuery("page", "0") + name := c.PostForm("name") + message := c.PostForm("message") + + fmt.Printf("id: %s; page: %s; name: %s; message: %s", id, page, name, message) + }) + router.Run(":8080") +} +``` + +```sh +id: 1234; page: 1; name: manu; message: this_is_great +``` diff --git a/src/content/docs/ru/docs/examples/querystring-param.md b/src/content/docs/ru/docs/examples/querystring-param.md new file mode 100644 index 000000000..4aa91718c --- /dev/null +++ b/src/content/docs/ru/docs/examples/querystring-param.md @@ -0,0 +1,20 @@ +--- +title: "Параметры строки запроса" + +--- + +```go +func main() { + router := gin.Default() + + // Query string parameters are parsed using the existing underlying request object. + // The request responds to a url matching: /welcome?firstname=Jane&lastname=Doe + router.GET("/welcome", func(c *gin.Context) { + firstname := c.DefaultQuery("firstname", "Guest") + lastname := c.Query("lastname") // shortcut for c.Request.URL.Query().Get("lastname") + + c.String(http.StatusOK, "Hello %s %s", firstname, lastname) + }) + router.Run(":8080") +} +``` diff --git a/content/ru/docs/examples/redirects.md b/src/content/docs/ru/docs/examples/redirects.md similarity index 94% rename from content/ru/docs/examples/redirects.md rename to src/content/docs/ru/docs/examples/redirects.md index a941d5c4d..56b15e672 100644 --- a/content/ru/docs/examples/redirects.md +++ b/src/content/docs/ru/docs/examples/redirects.md @@ -1,5 +1,5 @@ --- -Заголовок: "Перенаправления" +title: "Перенаправления" черновик: false --- diff --git a/content/ru/docs/examples/rendering.md b/src/content/docs/ru/docs/examples/rendering.md similarity index 95% rename from content/ru/docs/examples/rendering.md rename to src/content/docs/ru/docs/examples/rendering.md index 1bb3e6844..f93de6dc9 100644 --- a/content/ru/docs/examples/rendering.md +++ b/src/content/docs/ru/docs/examples/rendering.md @@ -1,5 +1,5 @@ --- -Заголовок: "Рендеринг XML/JSON/YAML/ProtoBuf" +title: "Рендеринг XML/JSON/YAML/ProtoBuf" черновик: false --- diff --git a/content/ru/docs/examples/run-multiple-service.md b/src/content/docs/ru/docs/examples/run-multiple-service.md similarity index 94% rename from content/ru/docs/examples/run-multiple-service.md rename to src/content/docs/ru/docs/examples/run-multiple-service.md index 2c581c247..2232e067c 100644 --- a/content/ru/docs/examples/run-multiple-service.md +++ b/src/content/docs/ru/docs/examples/run-multiple-service.md @@ -1,5 +1,5 @@ --- -название: "Запустить несколько сервисов" +title: "Запустить несколько сервисов" черновик: false --- diff --git a/content/ru/docs/examples/secure-json.md b/src/content/docs/ru/docs/examples/secure-json.md similarity index 95% rename from content/ru/docs/examples/secure-json.md rename to src/content/docs/ru/docs/examples/secure-json.md index 56ab23230..1e97333ef 100644 --- a/content/ru/docs/examples/secure-json.md +++ b/src/content/docs/ru/docs/examples/secure-json.md @@ -1,5 +1,5 @@ --- -название: "SecureJSON" +title: "SecureJSON" черновик: false --- diff --git a/content/ru/docs/examples/security-headers.md b/src/content/docs/ru/docs/examples/security-headers.md similarity index 97% rename from content/ru/docs/examples/security-headers.md rename to src/content/docs/ru/docs/examples/security-headers.md index c6092216f..6bf4aa6d9 100644 --- a/content/ru/docs/examples/security-headers.md +++ b/src/content/docs/ru/docs/examples/security-headers.md @@ -1,5 +1,5 @@ --- -название: "Заголовки безопасности" +title: "Заголовки безопасности" черновик: false --- diff --git a/src/content/docs/ru/docs/examples/serving-data-from-reader.md b/src/content/docs/ru/docs/examples/serving-data-from-reader.md new file mode 100644 index 000000000..2bb891b53 --- /dev/null +++ b/src/content/docs/ru/docs/examples/serving-data-from-reader.md @@ -0,0 +1,28 @@ +--- +title: "Манипуляция данных от читателя" + +--- + +```go +func main() { + router := gin.Default() + router.GET("/someDataFromReader", func(c *gin.Context) { + response, err := http.Get("https://raw.githubusercontent.com/gin-gonic/logo/master/color.png") + if err != nil || response.StatusCode != http.StatusOK { + c.Status(http.StatusServiceUnavailable) + return + } + + reader := response.Body + contentLength := response.ContentLength + contentType := response.Header.Get("Content-Type") + + extraHeaders := map[string]string{ + "Content-Disposition": `attachment; filename="gopher.png"`, + } + + c.DataFromReader(http.StatusOK, contentLength, contentType, reader, extraHeaders) + }) + router.Run(":8080") +} +``` diff --git a/src/content/docs/ru/docs/examples/serving-static-files.md b/src/content/docs/ru/docs/examples/serving-static-files.md new file mode 100644 index 000000000..c6985e613 --- /dev/null +++ b/src/content/docs/ru/docs/examples/serving-static-files.md @@ -0,0 +1,16 @@ +--- +title: "Использование статических файлов" + +--- + +```go +func main() { + router := gin.Default() + router.Static("/assets", "./assets") + router.StaticFS("/more_static", http.Dir("my_file_system")) + router.StaticFile("/favicon.ico", "./resources/favicon.ico") + + // Listen and serve on 0.0.0.0:8080 + router.Run(":8080") +} +``` diff --git a/content/ru/docs/examples/support-lets-encrypt.md b/src/content/docs/ru/docs/examples/support-lets-encrypt.md similarity index 94% rename from content/ru/docs/examples/support-lets-encrypt.md rename to src/content/docs/ru/docs/examples/support-lets-encrypt.md index c7812db31..6452bb654 100644 --- a/content/ru/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/ru/docs/examples/support-lets-encrypt.md @@ -1,5 +1,5 @@ --- -Заголовок: "Поддержка Let's Encrypt" +title: "Поддержка Let's Encrypt" черновик: false --- diff --git a/content/ru/docs/examples/upload-file/_index.md b/src/content/docs/ru/docs/examples/upload-file/index.md similarity index 64% rename from content/ru/docs/examples/upload-file/_index.md rename to src/content/docs/ru/docs/examples/upload-file/index.md index 442a9edb9..dc2930ade 100644 --- a/content/ru/docs/examples/upload-file/_index.md +++ b/src/content/docs/ru/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- -название: "Загрузить файлы" -draft: false +title: "Загрузить файлы" + --- Раздел содержит список использования api загрузки файлов. diff --git a/content/ru/docs/examples/upload-file/multiple-file.md b/src/content/docs/ru/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/ru/docs/examples/upload-file/multiple-file.md rename to src/content/docs/ru/docs/examples/upload-file/multiple-file.md index d3b486079..e89e10f46 100644 --- a/content/ru/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/ru/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "Multiple files" -draft: false + --- Смотрите подробности [пример кода](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple). diff --git a/content/ru/docs/examples/upload-file/single-file.md b/src/content/docs/ru/docs/examples/upload-file/single-file.md similarity index 99% rename from content/ru/docs/examples/upload-file/single-file.md rename to src/content/docs/ru/docs/examples/upload-file/single-file.md index 7c84d6e34..158d84160 100644 --- a/content/ru/docs/examples/upload-file/single-file.md +++ b/src/content/docs/ru/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "Single file" -draft: false + --- Ссылки на проблему [#774](https://github.com/gin-gonic/gin/issues/774) и деталь [пример кода](https://github.com/gin-gonic/examples/tree/master/upload-file/single). diff --git a/content/ru/docs/examples/using-basicauth-middleware.md b/src/content/docs/ru/docs/examples/using-basicauth-middleware.md similarity index 91% rename from content/ru/docs/examples/using-basicauth-middleware.md rename to src/content/docs/ru/docs/examples/using-basicauth-middleware.md index 6b83d49c9..a1faa44e2 100644 --- a/content/ru/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/ru/docs/examples/using-basicauth-middleware.md @@ -1,5 +1,5 @@ --- -Заголовок: "Использование промежуточного ПО BasicAuth" +title: "Использование промежуточного ПО BasicAuth" черновик: false --- diff --git a/content/ru/docs/examples/using-middleware.md b/src/content/docs/ru/docs/examples/using-middleware.md similarity index 93% rename from content/ru/docs/examples/using-middleware.md rename to src/content/docs/ru/docs/examples/using-middleware.md index 00e1e4147..9f9a0b7ce 100644 --- a/content/ru/docs/examples/using-middleware.md +++ b/src/content/docs/ru/docs/examples/using-middleware.md @@ -1,5 +1,5 @@ --- -Заголовок: "Использование промежуточного ПО" +title: "Использование промежуточного ПО" черновик: false --- diff --git a/content/ru/docs/examples/without-middleware.md b/src/content/docs/ru/docs/examples/without-middleware.md similarity index 62% rename from content/ru/docs/examples/without-middleware.md rename to src/content/docs/ru/docs/examples/without-middleware.md index e4884ecaa..0cd958f42 100644 --- a/content/ru/docs/examples/without-middleware.md +++ b/src/content/docs/ru/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- -Заголовок: "Без промежуточного ПО по умолчанию" -draft: false +title: "Без промежуточного ПО по умолчанию" + --- Используйте diff --git a/src/content/docs/ru/docs/examples/write-log.md b/src/content/docs/ru/docs/examples/write-log.md new file mode 100644 index 000000000..2e04a57be --- /dev/null +++ b/src/content/docs/ru/docs/examples/write-log.md @@ -0,0 +1,25 @@ +--- +title: "Как записать файл журнала" + +--- + +```go +func main() { + // Disable Console Color, you don't need console color when writing the logs to file. + gin.DisableConsoleColor() + + // Logging to a file. + f, _ := os.Create("gin.log") + gin.DefaultWriter = io.MultiWriter(f) + + // Use the following code if you need to write the logs to file and console at the same time. + // gin.DefaultWriter = io.MultiWriter(f, os.Stdout) + + router := gin.Default() + router.GET("/ping", func(c *gin.Context) { + c.String(200, "pong") + }) + +    router.Run(":8080") +} +``` diff --git a/content/ru/docs/faq/_index.md b/src/content/docs/ru/docs/faq/index.md similarity index 86% rename from content/ru/docs/faq/_index.md rename to src/content/docs/ru/docs/faq/index.md index 1e0345a1a..9328e6b56 100644 --- a/content/ru/docs/faq/_index.md +++ b/src/content/docs/ru/docs/faq/index.md @@ -1,5 +1,5 @@ --- -Заголовок: "FAQ" +title: "FAQ" черновик: false вес: 9 --- diff --git a/content/ru/docs/features/_index.md b/src/content/docs/ru/docs/features/index.md similarity index 92% rename from content/ru/docs/features/_index.md rename to src/content/docs/ru/docs/features/index.md index 08607d579..2f76e08aa 100644 --- a/content/ru/docs/features/_index.md +++ b/src/content/docs/ru/docs/features/index.md @@ -1,5 +1,5 @@ --- -Заголовок: "Особенности" +title: "Особенности" черновик: false вес: 4 --- diff --git a/content/ru/docs/_index.md b/src/content/docs/ru/docs/index.md similarity index 96% rename from content/ru/docs/_index.md rename to src/content/docs/ru/docs/index.md index b9876b7d0..8adac4d20 100644 --- a/content/ru/docs/_index.md +++ b/src/content/docs/ru/docs/index.md @@ -1,5 +1,5 @@ --- -название: "Документация" +title: "Документация" linkTitle: "Документация" вес: 20 menu: diff --git a/content/ru/docs/introduction/_index.md b/src/content/docs/ru/docs/introduction/index.md similarity index 98% rename from content/ru/docs/introduction/_index.md rename to src/content/docs/ru/docs/introduction/index.md index 1e93bee72..3fe50bf37 100644 --- a/content/ru/docs/introduction/_index.md +++ b/src/content/docs/ru/docs/introduction/index.md @@ -1,5 +1,5 @@ --- -Заголовок: "Введение" +title: "Введение" черновик: false вес: 1 --- diff --git a/content/ru/docs/jsoniter/_index.md b/src/content/docs/ru/docs/jsoniter/index.md similarity index 92% rename from content/ru/docs/jsoniter/_index.md rename to src/content/docs/ru/docs/jsoniter/index.md index 0d88e1de7..12896069a 100644 --- a/content/ru/docs/jsoniter/_index.md +++ b/src/content/docs/ru/docs/jsoniter/index.md @@ -1,5 +1,5 @@ --- -название: "Jsoniter" +title: "Jsoniter" черновик: false вес: 5 --- diff --git a/content/ru/docs/quickstart/_index.md b/src/content/docs/ru/docs/quickstart/index.md similarity index 97% rename from content/ru/docs/quickstart/_index.md rename to src/content/docs/ru/docs/quickstart/index.md index 080171f06..301b2224e 100644 --- a/content/ru/docs/quickstart/_index.md +++ b/src/content/docs/ru/docs/quickstart/index.md @@ -1,5 +1,5 @@ --- -название: "Быстрый старт" +title: "Быстрый старт" черновик: false вес: 2 --- diff --git a/content/ru/docs/testing/_index.md b/src/content/docs/ru/docs/testing/index.md similarity index 97% rename from content/ru/docs/testing/_index.md rename to src/content/docs/ru/docs/testing/index.md index f175db7e2..a7fbdc7d6 100644 --- a/content/ru/docs/testing/_index.md +++ b/src/content/docs/ru/docs/testing/index.md @@ -1,5 +1,5 @@ --- -название: "Тестирование" +title: "Тестирование" черновик: false вес: 7 --- diff --git a/content/ru/docs/users/_index.md b/src/content/docs/ru/docs/users/index.md similarity index 97% rename from content/ru/docs/users/_index.md rename to src/content/docs/ru/docs/users/index.md index c3c973b91..4b3e43ce0 100644 --- a/content/ru/docs/users/_index.md +++ b/src/content/docs/ru/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "Users" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### Awesome project lists using [Gin](https://github.com/gin-gonic/gin) web framework: diff --git a/src/content/docs/ru/index.mdx b/src/content/docs/ru/index.mdx new file mode 100644 index 000000000..0b519b008 --- /dev/null +++ b/src/content/docs/ru/index.mdx @@ -0,0 +1,50 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: Самый быстрый полнофункциональный веб-фреймворк для Go. Кристально чистый. + image: + file: ../../../assets/gin.png + actions: + - text: Подробнее + link: /ru/docs/ + icon: right-arrow + - text: Скачать + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## Что такое Gin? + +Gin - это веб-фреймворк, написанный на языке Golang. В нем реализован API, похожий на Martini, но производительность в 40 раз выше, чем у Martini. Если вам нужна производительность и продуктивность, Gin вам понравится. + + + + Маршрутизация на основе радиксного дерева, малый объем памяти. Никаких отражений. Предсказуемая производительность API. + + + Входящий HTTP-запрос может быть обработан цепочкой промежуточного ПО (Middleware) и конечным действием. Например: Логгер, авторизация, GZIP и, наконец, публикация сообщения в БД. + + + Gin может поймать панику, возникшую во время HTTP-запроса, и восстановить ее. Таким образом, ваш сервер будет всегда доступен. Также можно сообщить об этой панике, например, в Sentry! + + + Gin может анализировать и проверять JSON-запросы, например, на наличие необходимых значений. + + + Организуйте свои маршруты лучше. Требуется и не требуется авторизация, разные версии API. Кроме того, группы могут быть вложены бесконечно без снижения производительности. + + + Gin обеспечивает удобный способ сбора всех ошибок, возникших во время HTTP-запроса. В конечном итоге промежуточное ПО (Middleware) может записывать их в файл журнала, в базу данных и отправлять через сеть. + + + Gin предоставляет простой в использовании API для рендеринга JSON, XML и HTML. + + + Создать новое промежуточное программное обеспечение очень просто, просто посмотрите пример кода. + + \ No newline at end of file diff --git a/src/content/docs/tr/blog/index.md b/src/content/docs/tr/blog/index.md new file mode 100644 index 000000000..07fd81571 --- /dev/null +++ b/src/content/docs/tr/blog/index.md @@ -0,0 +1,12 @@ +--- +title: "Blog" +linkTitle: "Blog" +sidebar: + order: 30 +--- + + +This is the **blog** section. It has two categories: News and Releases. + +Files in these directories will be listed in reverse chronological order. + diff --git a/content/tr/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/tr/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/tr/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/tr/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/tr/blog/releases/release13.md b/src/content/docs/tr/blog/releases/release13.md similarity index 100% rename from content/tr/blog/releases/release13.md rename to src/content/docs/tr/blog/releases/release13.md diff --git a/content/tr/blog/releases/release14.md b/src/content/docs/tr/blog/releases/release14.md similarity index 100% rename from content/tr/blog/releases/release14.md rename to src/content/docs/tr/blog/releases/release14.md diff --git a/content/tr/blog/releases/release15.md b/src/content/docs/tr/blog/releases/release15.md similarity index 100% rename from content/tr/blog/releases/release15.md rename to src/content/docs/tr/blog/releases/release15.md diff --git a/content/tr/blog/releases/release16.md b/src/content/docs/tr/blog/releases/release16.md similarity index 100% rename from content/tr/blog/releases/release16.md rename to src/content/docs/tr/blog/releases/release16.md diff --git a/content/tr/docs/benchmarks/_index.md b/src/content/docs/tr/docs/benchmarks/index.md similarity index 99% rename from content/tr/docs/benchmarks/_index.md rename to src/content/docs/tr/docs/benchmarks/index.md index 3f5ef0df1..58af0d148 100644 --- a/content/tr/docs/benchmarks/_index.md +++ b/src/content/docs/tr/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "Kalite Testleri" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin, [HttpRouter](https://github.com/julienschmidt/httprouter)'ın özel bir sürümünü kullanır diff --git a/content/tr/docs/deployment/_index.md b/src/content/docs/tr/docs/deployment/index.md similarity index 98% rename from content/tr/docs/deployment/_index.md rename to src/content/docs/tr/docs/deployment/index.md index 51539a786..feeb7277b 100644 --- a/content/tr/docs/deployment/_index.md +++ b/src/content/docs/tr/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "Deploy etme" -draft: false -weight: 6 + +sidebar: + order: 6 --- Gin projeleri herhangi bir bulut sağlayıcısına kolayca deploy edilebilir. diff --git a/content/tr/docs/examples/ascii-json.md b/src/content/docs/tr/docs/examples/ascii-json.md similarity index 97% rename from content/tr/docs/examples/ascii-json.md rename to src/content/docs/tr/docs/examples/ascii-json.md index 82ab48d2a..7e2d2b0d0 100644 --- a/content/tr/docs/examples/ascii-json.md +++ b/src/content/docs/tr/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- Using AsciiJSON to Generates ASCII-only JSON with escaped non-ASCII characters. diff --git a/content/zh-tw/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/tr/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/zh-tw/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/tr/docs/examples/bind-body-into-dirrerent-structs.md index c685ccaba..138179eea 100644 --- a/content/zh-tw/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/tr/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "Try to bind body into different structs" -draft: false + --- The normal methods for binding request body consumes `c.Request.Body` and they diff --git a/content/tr/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/tr/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/tr/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/tr/docs/examples/bind-form-data-request-with-custom-struct.md index 2882e8656..92ab2f4b8 100644 --- a/content/tr/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/tr/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "Bind form-data request with custom struct" -draft: false + --- The follow example using custom struct: diff --git a/content/tr/docs/examples/bind-html-checkbox.md b/src/content/docs/tr/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/tr/docs/examples/bind-html-checkbox.md rename to src/content/docs/tr/docs/examples/bind-html-checkbox.md index ae63e1f60..4b1ee65ef 100644 --- a/content/tr/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/tr/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "Bind html checkboxes" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) diff --git a/content/tr/docs/examples/bind-query-or-post.md b/src/content/docs/tr/docs/examples/bind-query-or-post.md similarity index 98% rename from content/tr/docs/examples/bind-query-or-post.md rename to src/content/docs/tr/docs/examples/bind-query-or-post.md index 7ebbe739c..9912d908a 100644 --- a/content/tr/docs/examples/bind-query-or-post.md +++ b/src/content/docs/tr/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "Bind query string or post data" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292). diff --git a/content/fa/docs/examples/bind-single-binary-with-template.md b/src/content/docs/tr/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/fa/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/tr/docs/examples/bind-single-binary-with-template.md index 36f0bb212..09e8b02fc 100644 --- a/content/fa/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/tr/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "Build a single binary with templates" -draft: false + --- ## Use the third-party package diff --git a/content/tr/docs/examples/bind-uri.md b/src/content/docs/tr/docs/examples/bind-uri.md similarity index 98% rename from content/tr/docs/examples/bind-uri.md rename to src/content/docs/tr/docs/examples/bind-uri.md index 743074b69..b2092e977 100644 --- a/content/tr/docs/examples/bind-uri.md +++ b/src/content/docs/tr/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "Bind Uri" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/846). diff --git a/content/tr/docs/examples/binding-and-validation.md b/src/content/docs/tr/docs/examples/binding-and-validation.md similarity index 99% rename from content/tr/docs/examples/binding-and-validation.md rename to src/content/docs/tr/docs/examples/binding-and-validation.md index 41a564a3e..40684022c 100644 --- a/content/tr/docs/examples/binding-and-validation.md +++ b/src/content/docs/tr/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "Model binding and validation" -draft: false + --- To bind a request body into a type, use model binding. We currently support binding of JSON, XML, YAML and standard form values (foo=bar&boo=baz). diff --git a/content/en/docs/examples/controlling-log-output-coloring.md b/src/content/docs/tr/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/en/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/tr/docs/examples/controlling-log-output-coloring.md index 81f27efe9..c0973a85a 100644 --- a/content/en/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/tr/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "Controlling Log output coloring" -draft: false + --- By default, logs output on console should be colorized depending on the detected TTY. diff --git a/content/en/docs/examples/cookie.md b/src/content/docs/tr/docs/examples/cookie.md similarity index 97% rename from content/en/docs/examples/cookie.md rename to src/content/docs/tr/docs/examples/cookie.md index 231473ca5..090e66354 100644 --- a/content/en/docs/examples/cookie.md +++ b/src/content/docs/tr/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "Set and get a cookie" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/custom-http-config.md b/src/content/docs/tr/docs/examples/custom-http-config.md similarity index 97% rename from content/zh-tw/docs/examples/custom-http-config.md rename to src/content/docs/tr/docs/examples/custom-http-config.md index e9a679361..42de78314 100644 --- a/content/zh-tw/docs/examples/custom-http-config.md +++ b/src/content/docs/tr/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "Custom HTTP configuration" -draft: false + --- Use `http.ListenAndServe()` directly, like this: diff --git a/content/tr/docs/examples/custom-log-format.md b/src/content/docs/tr/docs/examples/custom-log-format.md similarity index 98% rename from content/tr/docs/examples/custom-log-format.md rename to src/content/docs/tr/docs/examples/custom-log-format.md index f9ea8b6a7..6d6450341 100644 --- a/content/tr/docs/examples/custom-log-format.md +++ b/src/content/docs/tr/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "Custom log file" -draft: false + --- For example: diff --git a/content/zh-tw/docs/examples/custom-middleware.md b/src/content/docs/tr/docs/examples/custom-middleware.md similarity index 97% rename from content/zh-tw/docs/examples/custom-middleware.md rename to src/content/docs/tr/docs/examples/custom-middleware.md index dd7407b07..8de8438b0 100644 --- a/content/zh-tw/docs/examples/custom-middleware.md +++ b/src/content/docs/tr/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "Custom Middleware" -draft: false + --- ```go diff --git a/content/en/docs/examples/custom-validators.md b/src/content/docs/tr/docs/examples/custom-validators.md similarity index 99% rename from content/en/docs/examples/custom-validators.md rename to src/content/docs/tr/docs/examples/custom-validators.md index f777436cc..114de29af 100644 --- a/content/en/docs/examples/custom-validators.md +++ b/src/content/docs/tr/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "Custom validators" -draft: false + --- It is also possible to register custom validators. See the [example code](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations). diff --git a/content/en/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/tr/docs/examples/define-format-for-the-log-of-routes.md similarity index 98% rename from content/en/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/tr/docs/examples/define-format-for-the-log-of-routes.md index 6cfdaa68f..44bd991a9 100644 --- a/content/en/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/tr/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "Define format for the log of routes" -draft: false + --- The default log of routes is: diff --git a/content/en/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/tr/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/en/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/tr/docs/examples/goroutines-inside-a-middleware.md index 122593a1b..f3a6b10d6 100644 --- a/content/en/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/tr/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "Goroutines inside a middleware" -draft: false + --- When starting new Goroutines inside a middleware or handler, you **SHOULD NOT** use the original context inside it, you have to use a read-only copy. diff --git a/content/tr/docs/examples/graceful-restart-or-stop.md b/src/content/docs/tr/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/tr/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/tr/docs/examples/graceful-restart-or-stop.md index 87ca178c2..633ad5324 100644 --- a/content/tr/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/tr/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "Graceful restart or stop" -draft: false + --- Do you want to graceful restart or stop your web server? diff --git a/content/tr/docs/examples/grouping-routes.md b/src/content/docs/tr/docs/examples/grouping-routes.md similarity index 97% rename from content/tr/docs/examples/grouping-routes.md rename to src/content/docs/tr/docs/examples/grouping-routes.md index a480aa325..c7f7a7245 100644 --- a/content/tr/docs/examples/grouping-routes.md +++ b/src/content/docs/tr/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "Grouping routes" -draft: false + --- ```go diff --git a/content/fa/docs/examples/html-rendering.md b/src/content/docs/tr/docs/examples/html-rendering.md similarity index 99% rename from content/fa/docs/examples/html-rendering.md rename to src/content/docs/tr/docs/examples/html-rendering.md index cfa8e825a..787248795 100644 --- a/content/fa/docs/examples/html-rendering.md +++ b/src/content/docs/tr/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "HTML rendering" -draft: false + --- Using LoadHTMLGlob() or LoadHTMLFiles() diff --git a/content/tr/docs/examples/http-method.md b/src/content/docs/tr/docs/examples/http-method.md similarity index 97% rename from content/tr/docs/examples/http-method.md rename to src/content/docs/tr/docs/examples/http-method.md index 6678e155f..b8d41d696 100644 --- a/content/tr/docs/examples/http-method.md +++ b/src/content/docs/tr/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "Using HTTP method" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/http2-server-push.md b/src/content/docs/tr/docs/examples/http2-server-push.md similarity index 98% rename from content/zh-tw/docs/examples/http2-server-push.md rename to src/content/docs/tr/docs/examples/http2-server-push.md index 00bbd12d8..192d22a45 100644 --- a/content/zh-tw/docs/examples/http2-server-push.md +++ b/src/content/docs/tr/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP2 server push" -draft: false + --- http.Pusher is supported only **go1.8+**. See the [golang blog](https://blog.golang.org/h2push) for detail information. diff --git a/content/tr/docs/examples/_index.md b/src/content/docs/tr/docs/examples/index.md similarity index 75% rename from content/tr/docs/examples/_index.md rename to src/content/docs/tr/docs/examples/index.md index c25460175..f6a04601e 100644 --- a/content/tr/docs/examples/_index.md +++ b/src/content/docs/tr/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "Örnekler" -draft: false -weight: 6 + +sidebar: + order: 6 --- Bu bölüm, api kullanımını listeler. diff --git a/content/en/docs/examples/jsonp.md b/src/content/docs/tr/docs/examples/jsonp.md similarity index 97% rename from content/en/docs/examples/jsonp.md rename to src/content/docs/tr/docs/examples/jsonp.md index 63c7dc551..bc4439a44 100644 --- a/content/en/docs/examples/jsonp.md +++ b/src/content/docs/tr/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- Using JSONP to request data from a server in a different domain. Add callback to response body if the query parameter callback exists. diff --git a/content/zh-tw/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/tr/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/zh-tw/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/tr/docs/examples/map-as-querystring-or-postform.md index fa733e2ef..5ed88b0b5 100644 --- a/content/zh-tw/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/tr/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "Map as querystring or postform parameters" -draft: false + --- ```sh diff --git a/content/en/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/tr/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/en/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/tr/docs/examples/multipart-urlencoded-binding.md index 767fc6576..73fee286a 100644 --- a/content/en/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/tr/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded binding" -draft: false + --- ```go diff --git a/content/tr/docs/examples/multipart-urlencoded-form.md b/src/content/docs/tr/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/tr/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/tr/docs/examples/multipart-urlencoded-form.md index 774662b1e..04eab2373 100644 --- a/content/tr/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/tr/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded form" -draft: false + --- ```go diff --git a/content/fa/docs/examples/multiple-template.md b/src/content/docs/tr/docs/examples/multiple-template.md similarity index 94% rename from content/fa/docs/examples/multiple-template.md rename to src/content/docs/tr/docs/examples/multiple-template.md index 0bcf46858..28b58c213 100644 --- a/content/fa/docs/examples/multiple-template.md +++ b/src/content/docs/tr/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "Multitemplate" -draft: false + --- Gin allow by default use only one html.Template. Check [a multitemplate render](https://github.com/gin-contrib/multitemplate) for using features like go 1.6 `block template`. diff --git a/content/zh-tw/docs/examples/only-bind-query-string.md b/src/content/docs/tr/docs/examples/only-bind-query-string.md similarity index 98% rename from content/zh-tw/docs/examples/only-bind-query-string.md rename to src/content/docs/tr/docs/examples/only-bind-query-string.md index d6d4e33cc..bdd6c174e 100644 --- a/content/zh-tw/docs/examples/only-bind-query-string.md +++ b/src/content/docs/tr/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "Only bind query string" -draft: false + --- `ShouldBindQuery` function only binds the query params and not the post data. See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). diff --git a/content/tr/docs/examples/param-in-path.md b/src/content/docs/tr/docs/examples/param-in-path.md similarity index 98% rename from content/tr/docs/examples/param-in-path.md rename to src/content/docs/tr/docs/examples/param-in-path.md index 6e29a59c7..b0a4a3b68 100644 --- a/content/tr/docs/examples/param-in-path.md +++ b/src/content/docs/tr/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "Parameters in path" -draft: false + --- ```go diff --git a/content/en/docs/examples/pure-json.md b/src/content/docs/tr/docs/examples/pure-json.md similarity index 98% rename from content/en/docs/examples/pure-json.md rename to src/content/docs/tr/docs/examples/pure-json.md index d91f905ef..5fbf8bfc1 100644 --- a/content/en/docs/examples/pure-json.md +++ b/src/content/docs/tr/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- Normally, JSON replaces special HTML characters with their unicode entities, e.g. `<` becomes `\u003c`. If you want to encode such characters literally, you can use PureJSON instead. diff --git a/content/en/docs/examples/query-and-post-form.md b/src/content/docs/tr/docs/examples/query-and-post-form.md similarity index 97% rename from content/en/docs/examples/query-and-post-form.md rename to src/content/docs/tr/docs/examples/query-and-post-form.md index 0d7b18e51..5c8e6d21e 100644 --- a/content/en/docs/examples/query-and-post-form.md +++ b/src/content/docs/tr/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "Query and post form" -draft: false + --- ```sh diff --git a/content/zh-tw/docs/examples/querystring-param.md b/src/content/docs/tr/docs/examples/querystring-param.md similarity index 97% rename from content/zh-tw/docs/examples/querystring-param.md rename to src/content/docs/tr/docs/examples/querystring-param.md index bcf8b55f2..cba891746 100644 --- a/content/zh-tw/docs/examples/querystring-param.md +++ b/src/content/docs/tr/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "Query string parameters" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/redirects.md b/src/content/docs/tr/docs/examples/redirects.md similarity index 98% rename from content/zh-tw/docs/examples/redirects.md rename to src/content/docs/tr/docs/examples/redirects.md index f7d823eca..e62a9952e 100644 --- a/content/zh-tw/docs/examples/redirects.md +++ b/src/content/docs/tr/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "Redirects" -draft: false + --- Issuing a HTTP redirect is easy. Both internal and external locations are supported. diff --git a/content/fa/docs/examples/rendering.md b/src/content/docs/tr/docs/examples/rendering.md similarity index 99% rename from content/fa/docs/examples/rendering.md rename to src/content/docs/tr/docs/examples/rendering.md index a9fa75b5f..c9c705c65 100644 --- a/content/fa/docs/examples/rendering.md +++ b/src/content/docs/tr/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "XML/JSON/YAML/ProtoBuf rendering" -draft: false + --- ```go diff --git a/content/fa/docs/examples/run-multiple-service.md b/src/content/docs/tr/docs/examples/run-multiple-service.md similarity index 98% rename from content/fa/docs/examples/run-multiple-service.md rename to src/content/docs/tr/docs/examples/run-multiple-service.md index ebe6223a0..0dba2ab95 100644 --- a/content/fa/docs/examples/run-multiple-service.md +++ b/src/content/docs/tr/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "Run multiple service" -draft: false + --- See the [question](https://github.com/gin-gonic/gin/issues/346) and try the following example: diff --git a/content/zh-tw/docs/examples/secure-json.md b/src/content/docs/tr/docs/examples/secure-json.md similarity index 97% rename from content/zh-tw/docs/examples/secure-json.md rename to src/content/docs/tr/docs/examples/secure-json.md index 9f5642167..82e63a4c4 100644 --- a/content/zh-tw/docs/examples/secure-json.md +++ b/src/content/docs/tr/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- Using SecureJSON to prevent json hijacking. Default prepends `"while(1),"` to response body if the given struct is array values. diff --git a/content/tr/docs/examples/security-headers.md b/src/content/docs/tr/docs/examples/security-headers.md similarity index 99% rename from content/tr/docs/examples/security-headers.md rename to src/content/docs/tr/docs/examples/security-headers.md index 89dabcce9..aa767aa02 100644 --- a/content/tr/docs/examples/security-headers.md +++ b/src/content/docs/tr/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "Güvenlik Üst Bilgileri" -draft: false + --- Web uygulamanızı yaygın güvenlik açıklarından korumak için güvenlik başlıklarını kullanmak önemlidir. Bu örnek, Gin uygulamanıza güvenlik başlıklarını nasıl ekleyeceğinizi ve ayrıca Host Header Injection ile ilgili saldırılardan (SSRF, Open Redirection) nasıl kaçınacağınızı gösterir. diff --git a/content/fa/docs/examples/serving-data-from-reader.md b/src/content/docs/tr/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/fa/docs/examples/serving-data-from-reader.md rename to src/content/docs/tr/docs/examples/serving-data-from-reader.md index f5546a8c6..614db12ce 100644 --- a/content/fa/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/tr/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "Serving data from reader" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/serving-static-files.md b/src/content/docs/tr/docs/examples/serving-static-files.md similarity index 95% rename from content/zh-tw/docs/examples/serving-static-files.md rename to src/content/docs/tr/docs/examples/serving-static-files.md index e296ead02..bda67da07 100644 --- a/content/zh-tw/docs/examples/serving-static-files.md +++ b/src/content/docs/tr/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "Serving static files" -draft: false + --- ```go diff --git a/content/fa/docs/examples/support-lets-encrypt.md b/src/content/docs/tr/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/fa/docs/examples/support-lets-encrypt.md rename to src/content/docs/tr/docs/examples/support-lets-encrypt.md index c66288e87..841c1a7f9 100644 --- a/content/fa/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/tr/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Support Let's Encrypt" -draft: false + --- example for 1-line LetsEncrypt HTTPS servers. diff --git a/content/tr/docs/examples/upload-file/_index.md b/src/content/docs/tr/docs/examples/upload-file/index.md similarity index 84% rename from content/tr/docs/examples/upload-file/_index.md rename to src/content/docs/tr/docs/examples/upload-file/index.md index 1810e3253..d0ff99e85 100644 --- a/content/tr/docs/examples/upload-file/_index.md +++ b/src/content/docs/tr/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "Upload files" -draft: false + --- The section lists upload file api usage. diff --git a/content/fa/docs/examples/upload-file/multiple-file.md b/src/content/docs/tr/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/fa/docs/examples/upload-file/multiple-file.md rename to src/content/docs/tr/docs/examples/upload-file/multiple-file.md index 912472dd3..185b7b5f6 100644 --- a/content/fa/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/tr/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "Multiple files" -draft: false + --- See the detail [example code](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple). diff --git a/content/tr/docs/examples/upload-file/single-file.md b/src/content/docs/tr/docs/examples/upload-file/single-file.md similarity index 98% rename from content/tr/docs/examples/upload-file/single-file.md rename to src/content/docs/tr/docs/examples/upload-file/single-file.md index 22ac899f8..5fe274dc7 100644 --- a/content/tr/docs/examples/upload-file/single-file.md +++ b/src/content/docs/tr/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "Single file" -draft: false + --- References issue [#774](https://github.com/gin-gonic/gin/issues/774) and detail [example code](https://github.com/gin-gonic/examples/tree/master/upload-file/single). diff --git a/content/zh-tw/docs/examples/using-basicauth-middleware.md b/src/content/docs/tr/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/zh-tw/docs/examples/using-basicauth-middleware.md rename to src/content/docs/tr/docs/examples/using-basicauth-middleware.md index 318aca232..cc68db4a0 100644 --- a/content/zh-tw/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/tr/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "Using BasicAuth middleware" -draft: false + --- ```go diff --git a/content/tr/docs/examples/using-middleware.md b/src/content/docs/tr/docs/examples/using-middleware.md similarity index 98% rename from content/tr/docs/examples/using-middleware.md rename to src/content/docs/tr/docs/examples/using-middleware.md index 2a3159cc3..5fc4154db 100644 --- a/content/tr/docs/examples/using-middleware.md +++ b/src/content/docs/tr/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "Using middleware" -draft: false + --- ```go diff --git a/content/tr/docs/examples/without-middleware.md b/src/content/docs/tr/docs/examples/without-middleware.md similarity index 93% rename from content/tr/docs/examples/without-middleware.md rename to src/content/docs/tr/docs/examples/without-middleware.md index ce7b81fbb..6ef54bda0 100644 --- a/content/tr/docs/examples/without-middleware.md +++ b/src/content/docs/tr/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "Without middleware by default" -draft: false + --- Use diff --git a/content/fa/docs/examples/write-log.md b/src/content/docs/tr/docs/examples/write-log.md similarity index 97% rename from content/fa/docs/examples/write-log.md rename to src/content/docs/tr/docs/examples/write-log.md index 261b8d26a..759423de4 100644 --- a/content/fa/docs/examples/write-log.md +++ b/src/content/docs/tr/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "How to write log file" -draft: false + --- ```go diff --git a/content/tr/docs/faq/_index.md b/src/content/docs/tr/docs/faq/index.md similarity index 79% rename from content/tr/docs/faq/_index.md rename to src/content/docs/tr/docs/faq/index.md index 389d1432a..ad348f11f 100644 --- a/content/tr/docs/faq/_index.md +++ b/src/content/docs/tr/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO: record some frequently asked question from GitHub Issue tab. diff --git a/content/tr/docs/features/_index.md b/src/content/docs/tr/docs/features/index.md similarity index 93% rename from content/tr/docs/features/_index.md rename to src/content/docs/tr/docs/features/index.md index ad7e314cb..86a795f2b 100644 --- a/content/tr/docs/features/_index.md +++ b/src/content/docs/tr/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "Özellikler" -draft: false -weight: 4 + +sidebar: + order: 4 --- ## Gin v1 sabit özellikler: diff --git a/content/tr/docs/_index.md b/src/content/docs/tr/docs/index.md similarity index 95% rename from content/tr/docs/_index.md rename to src/content/docs/tr/docs/index.md index fc8c8ed68..b851e012f 100644 --- a/content/tr/docs/_index.md +++ b/src/content/docs/tr/docs/index.md @@ -1,10 +1,8 @@ --- title: "Dokümantasyon" linkTitle: "Dokümantasyon" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## Gin nedir? diff --git a/content/tr/docs/introduction/_index.md b/src/content/docs/tr/docs/introduction/index.md similarity index 98% rename from content/tr/docs/introduction/_index.md rename to src/content/docs/tr/docs/introduction/index.md index c96e8defd..4d21ea37a 100644 --- a/content/tr/docs/introduction/_index.md +++ b/src/content/docs/tr/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "Giriş" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin, Go (Golang) ile yazılmış bir web çerçevesidir. Martini benzeri bir API'ye sahiptir ama [httprouter](https://github.com/julienschmidt/httprouter) sayesinde 40 kata kadar daha hızlı, çok daha iyi performansa sahiptir. Performansa ve iyi üretkenliğe ihtiyacınız varsa, Gin'i seveceksiniz. diff --git a/content/tr/docs/jsoniter/_index.md b/src/content/docs/tr/docs/jsoniter/index.md similarity index 93% rename from content/tr/docs/jsoniter/_index.md rename to src/content/docs/tr/docs/jsoniter/index.md index 0072f703a..75a568536 100644 --- a/content/tr/docs/jsoniter/_index.md +++ b/src/content/docs/tr/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- ## [jsoniter](https://github.com/json-iterator/go) ile oluşturun diff --git a/content/tr/docs/quickstart/_index.md b/src/content/docs/tr/docs/quickstart/index.md similarity index 98% rename from content/tr/docs/quickstart/_index.md rename to src/content/docs/tr/docs/quickstart/index.md index 0c72603e2..ffa471f19 100644 --- a/content/tr/docs/quickstart/_index.md +++ b/src/content/docs/tr/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "Hızlı Başlangıç" -draft: false -weight: 2 + +sidebar: + order: 2 --- Bu hızlı başlangıçta, kod parçacıklarından içgörüler toplayacağız ve aşağıda belirtilen adımları nasıl yapacağımızı öğreneceğiz: diff --git a/content/tr/docs/testing/_index.md b/src/content/docs/tr/docs/testing/index.md similarity index 98% rename from content/tr/docs/testing/_index.md rename to src/content/docs/tr/docs/testing/index.md index fcb04a896..64893560a 100644 --- a/content/tr/docs/testing/_index.md +++ b/src/content/docs/tr/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "Test" -draft: false -weight: 7 + +sidebar: + order: 7 --- ## Gin için nasıl test yazılır? diff --git a/content/tr/docs/users/_index.md b/src/content/docs/tr/docs/users/index.md similarity index 97% rename from content/tr/docs/users/_index.md rename to src/content/docs/tr/docs/users/index.md index 2ea96ac86..e11409c54 100644 --- a/content/tr/docs/users/_index.md +++ b/src/content/docs/tr/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "Kullanıcılar" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### [Gin](https://github.com/gin-gonic/gin) web çerçevesini kullanan harika proje listeleri: diff --git a/src/content/docs/tr/index.mdx b/src/content/docs/tr/index.mdx new file mode 100644 index 000000000..145e0882c --- /dev/null +++ b/src/content/docs/tr/index.mdx @@ -0,0 +1,50 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: Go ile yazılmış, en hızlı, tam teşekküllü ve kristal berraklığında bir web çerçevesi. + image: + file: ../../../assets/gin.png + actions: + - text: Daha Fazla Öğren + link: /tr/docs/ + icon: right-arrow + - text: İndir + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## Gin nedir?? + +Gin, Golang'da yazılmış bir web çerçevesidir. Martini benzeri bir API'ye sahiptir, ancak performans açısından Martini'den 40 kata kadar daha hızlıdır. Performans ve üretkenliğe ihtiyacınız varsa Gin'i seveceksiniz. + + + + Radix ağacı tabanlı routing, küçük bellek ayak izi. Reflection yok. Öngörülebilir API performansı. + + + Gelen bir HTTP isteği, bir middleware zinciri ve son eylem tarafından işlenebilir. Örneğin: Logger, Authorization, GZIP ve son olarak veritabanına bir mesaj gönderin. + + + Gin, bir HTTP isteği sırasında oluşan bir paniği yakalayabilir ve düzeltebilir. Bu şekilde sunucunuz her zaman çalışacaktır. Ayrıca bir paniği Sentry'ye bildirmek de mümkündür. + + + Gin, bir isteğin JSON'ını ayrıştırabilir ve doğrulayabilir. Örneğin gerekli değerlerin varlığını kontrol edebilir. + + + Routelarınızı daha iyi düzenleyin. Authorization gerektiren veya gerektirmeyen, farklı API sürümlerini kolayca düzenleyin. Ayrıca, gruplar performansı düşürmeden sınırsız olarak iç içe yerleştirilebilir. + + + Gin, bir HTTP isteği sırasında meydana gelen tüm hataları toplamak için uygun bir yol sağlar. Sonunda, middleware bunları bir log dosyasına veya bir veritabanına yazabilir ve ağ üzerinden gönderebilir. + + + Gin, JSON, XML ve HTML işleme için kullanımı kolay bir API sağlar. + + + Yeni middleware oluşturmak çok kolaydır, sadece örnek kodları inceleyin. + + \ No newline at end of file diff --git a/src/content/docs/zh-cn/blog/index.md b/src/content/docs/zh-cn/blog/index.md new file mode 100644 index 000000000..07fd81571 --- /dev/null +++ b/src/content/docs/zh-cn/blog/index.md @@ -0,0 +1,12 @@ +--- +title: "Blog" +linkTitle: "Blog" +sidebar: + order: 30 +--- + + +This is the **blog** section. It has two categories: News and Releases. + +Files in these directories will be listed in reverse chronological order. + diff --git a/content/zh-cn/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/zh-cn/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/zh-cn/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/zh-cn/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/zh-cn/blog/releases/release13.md b/src/content/docs/zh-cn/blog/releases/release13.md similarity index 100% rename from content/zh-cn/blog/releases/release13.md rename to src/content/docs/zh-cn/blog/releases/release13.md diff --git a/content/zh-cn/blog/releases/release14.md b/src/content/docs/zh-cn/blog/releases/release14.md similarity index 100% rename from content/zh-cn/blog/releases/release14.md rename to src/content/docs/zh-cn/blog/releases/release14.md diff --git a/content/zh-cn/blog/releases/release15.md b/src/content/docs/zh-cn/blog/releases/release15.md similarity index 100% rename from content/zh-cn/blog/releases/release15.md rename to src/content/docs/zh-cn/blog/releases/release15.md diff --git a/content/zh-cn/docs/benchmarks/_index.md b/src/content/docs/zh-cn/docs/benchmarks/index.md similarity index 99% rename from content/zh-cn/docs/benchmarks/_index.md rename to src/content/docs/zh-cn/docs/benchmarks/index.md index 01befee0a..70e53bc8c 100644 --- a/content/zh-cn/docs/benchmarks/_index.md +++ b/src/content/docs/zh-cn/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "基准测试" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin 使用了自定义版本的 [HttpRouter](https://github.com/julienschmidt/httprouter) diff --git a/content/zh-cn/docs/deployment/_index.md b/src/content/docs/zh-cn/docs/deployment/index.md similarity index 97% rename from content/zh-cn/docs/deployment/_index.md rename to src/content/docs/zh-cn/docs/deployment/index.md index b21a73cb1..896eed491 100644 --- a/content/zh-cn/docs/deployment/_index.md +++ b/src/content/docs/zh-cn/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "部署" -draft: false -weight: 6 + +sidebar: + order: 6 --- Gin 项目可以轻松部署在任何云提供商上。 diff --git a/content/zh-cn/docs/examples/ascii-json.md b/src/content/docs/zh-cn/docs/examples/ascii-json.md similarity index 97% rename from content/zh-cn/docs/examples/ascii-json.md rename to src/content/docs/zh-cn/docs/examples/ascii-json.md index cf4f4ee27..5694fb12d 100644 --- a/content/zh-cn/docs/examples/ascii-json.md +++ b/src/content/docs/zh-cn/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- 使用 AsciiJSON 生成具有转义的非 ASCII 字符的 ASCII-only JSON。 diff --git a/content/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md index 12ae2352b..1375acca2 100644 --- a/content/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/zh-cn/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "将 request body 绑定到不同的结构体中" -draft: false + --- 一般通过调用 `c.Request.Body` 方法绑定数据,但不能多次调用这个方法。 diff --git a/content/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md index cc69d2ccd..872f6e3ca 100644 --- a/content/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/zh-cn/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "绑定表单数据至自定义结构体" -draft: false + --- 以下示例使用自定义结构体: diff --git a/content/zh-cn/docs/examples/bind-html-checkbox.md b/src/content/docs/zh-cn/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/zh-cn/docs/examples/bind-html-checkbox.md rename to src/content/docs/zh-cn/docs/examples/bind-html-checkbox.md index 7585a646c..7507c4366 100644 --- a/content/zh-cn/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/zh-cn/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "绑定 HTML 复选框" -draft: false + --- 参见[详细信息](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) diff --git a/content/zh-cn/docs/examples/bind-query-or-post.md b/src/content/docs/zh-cn/docs/examples/bind-query-or-post.md similarity index 98% rename from content/zh-cn/docs/examples/bind-query-or-post.md rename to src/content/docs/zh-cn/docs/examples/bind-query-or-post.md index 6e2496a50..3692e9834 100644 --- a/content/zh-cn/docs/examples/bind-query-or-post.md +++ b/src/content/docs/zh-cn/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "绑定查询字符串或表单数据" -draft: false + --- 查看[详细信息](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292)。 diff --git a/content/zh-cn/docs/examples/bind-single-binary-with-template.md b/src/content/docs/zh-cn/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/zh-cn/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/zh-cn/docs/examples/bind-single-binary-with-template.md index ebcce3e94..acbc1e514 100644 --- a/content/zh-cn/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/zh-cn/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "静态资源嵌入" -draft: false + --- 你可以使用 [go-assets](https://github.com/jessevdk/go-assets) 将静态资源打包到可执行文件中。 diff --git a/content/zh-cn/docs/examples/bind-uri.md b/src/content/docs/zh-cn/docs/examples/bind-uri.md similarity index 98% rename from content/zh-cn/docs/examples/bind-uri.md rename to src/content/docs/zh-cn/docs/examples/bind-uri.md index aaeca42b7..c22910673 100644 --- a/content/zh-cn/docs/examples/bind-uri.md +++ b/src/content/docs/zh-cn/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "绑定 Uri" -draft: false + --- 查看[详细信息](https://github.com/gin-gonic/gin/issues/846). diff --git a/content/zh-cn/docs/examples/binding-and-validation.md b/src/content/docs/zh-cn/docs/examples/binding-and-validation.md similarity index 99% rename from content/zh-cn/docs/examples/binding-and-validation.md rename to src/content/docs/zh-cn/docs/examples/binding-and-validation.md index fae0de8c9..a4a0c1a8b 100644 --- a/content/zh-cn/docs/examples/binding-and-validation.md +++ b/src/content/docs/zh-cn/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "模型绑定和验证" -draft: false + --- 要将请求体绑定到结构体中,使用模型绑定。 Gin目前支持JSON、XML、YAML和标准表单值的绑定(foo=bar&boo=baz)。 diff --git a/content/zh-cn/docs/examples/controlling-log-output-coloring.md b/src/content/docs/zh-cn/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/zh-cn/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/zh-cn/docs/examples/controlling-log-output-coloring.md index 5d8788a33..ce1edc126 100644 --- a/content/zh-cn/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/zh-cn/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "控制日志输出颜色" -draft: false + --- 根据检测到的 TTY,控制台的日志输出默认是有颜色的。 diff --git a/content/zh-cn/docs/examples/cookie.md b/src/content/docs/zh-cn/docs/examples/cookie.md similarity index 97% rename from content/zh-cn/docs/examples/cookie.md rename to src/content/docs/zh-cn/docs/examples/cookie.md index 0f7bb56ac..4a2b2b874 100644 --- a/content/zh-cn/docs/examples/cookie.md +++ b/src/content/docs/zh-cn/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "设置和获取 Cookie" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/custom-http-config.md b/src/content/docs/zh-cn/docs/examples/custom-http-config.md similarity index 97% rename from content/zh-cn/docs/examples/custom-http-config.md rename to src/content/docs/zh-cn/docs/examples/custom-http-config.md index bd0a2775f..1d43616d2 100644 --- a/content/zh-cn/docs/examples/custom-http-config.md +++ b/src/content/docs/zh-cn/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "自定义 HTTP 配置" -draft: false + --- 直接使用 `http.ListenAndServe()`,如下所示: diff --git a/content/zh-cn/docs/examples/custom-log-format.md b/src/content/docs/zh-cn/docs/examples/custom-log-format.md similarity index 98% rename from content/zh-cn/docs/examples/custom-log-format.md rename to src/content/docs/zh-cn/docs/examples/custom-log-format.md index 10ad03a1b..53b2a2269 100644 --- a/content/zh-cn/docs/examples/custom-log-format.md +++ b/src/content/docs/zh-cn/docs/examples/custom-log-format.md @@ -1,6 +1,6 @@ --- title: "自定义日志文件" -draft: false + --- 示例: diff --git a/content/zh-cn/docs/examples/custom-middleware.md b/src/content/docs/zh-cn/docs/examples/custom-middleware.md similarity index 97% rename from content/zh-cn/docs/examples/custom-middleware.md rename to src/content/docs/zh-cn/docs/examples/custom-middleware.md index 608be9498..c16a2c7fb 100644 --- a/content/zh-cn/docs/examples/custom-middleware.md +++ b/src/content/docs/zh-cn/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "自定义中间件" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/custom-validators.md b/src/content/docs/zh-cn/docs/examples/custom-validators.md similarity index 99% rename from content/zh-cn/docs/examples/custom-validators.md rename to src/content/docs/zh-cn/docs/examples/custom-validators.md index 568704b02..b16f8fa9d 100644 --- a/content/zh-cn/docs/examples/custom-validators.md +++ b/src/content/docs/zh-cn/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "自定义验证器" -draft: false + --- 注册自定义验证器,查看[示例代码](https://github.com/gin-gonic/examples/tree/master/struct-lvl-validations). diff --git a/content/zh-cn/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/zh-cn/docs/examples/define-format-for-the-log-of-routes.md similarity index 98% rename from content/zh-cn/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/zh-cn/docs/examples/define-format-for-the-log-of-routes.md index 9112801fe..5a0ba67ea 100644 --- a/content/zh-cn/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/zh-cn/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "定义路由日志的格式" -draft: false + --- 默认的路由日志格式: diff --git a/content/zh-cn/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/zh-cn/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/zh-cn/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/zh-cn/docs/examples/goroutines-inside-a-middleware.md index f5d367be8..0a6eba2a5 100644 --- a/content/zh-cn/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/zh-cn/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "在中间件中使用 Goroutine" -draft: false + --- 当在中间件或 handler 中启动新的 Goroutine 时,**不能**使用原始的上下文,必须使用只读副本。 diff --git a/content/zh-cn/docs/examples/graceful-restart-or-stop.md b/src/content/docs/zh-cn/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/zh-cn/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/zh-cn/docs/examples/graceful-restart-or-stop.md index 11d2cb789..fb5ddb8ed 100644 --- a/content/zh-cn/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/zh-cn/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "优雅地重启或停止" -draft: false + --- 你想优雅地重启或停止 web 服务器吗?有一些方法可以做到这一点。 diff --git a/content/zh-cn/docs/examples/grouping-routes.md b/src/content/docs/zh-cn/docs/examples/grouping-routes.md similarity index 97% rename from content/zh-cn/docs/examples/grouping-routes.md rename to src/content/docs/zh-cn/docs/examples/grouping-routes.md index 8df0d145a..d0b1d8600 100644 --- a/content/zh-cn/docs/examples/grouping-routes.md +++ b/src/content/docs/zh-cn/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "路由组" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/html-rendering.md b/src/content/docs/zh-cn/docs/examples/html-rendering.md similarity index 99% rename from content/zh-cn/docs/examples/html-rendering.md rename to src/content/docs/zh-cn/docs/examples/html-rendering.md index a648697c5..875fa1efe 100644 --- a/content/zh-cn/docs/examples/html-rendering.md +++ b/src/content/docs/zh-cn/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "HTML 渲染" -draft: false + --- 使用 LoadHTMLGlob() 或者 LoadHTMLFiles() diff --git a/content/zh-cn/docs/examples/http-method.md b/src/content/docs/zh-cn/docs/examples/http-method.md similarity index 97% rename from content/zh-cn/docs/examples/http-method.md rename to src/content/docs/zh-cn/docs/examples/http-method.md index 31ec65a2c..1960d38b4 100644 --- a/content/zh-cn/docs/examples/http-method.md +++ b/src/content/docs/zh-cn/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "使用 HTTP 方法" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/http2-server-push.md b/src/content/docs/zh-cn/docs/examples/http2-server-push.md similarity index 98% rename from content/zh-cn/docs/examples/http2-server-push.md rename to src/content/docs/zh-cn/docs/examples/http2-server-push.md index bd24d4478..272211993 100644 --- a/content/zh-cn/docs/examples/http2-server-push.md +++ b/src/content/docs/zh-cn/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP2 server 推送" -draft: false + --- http.Pusher 仅支持 **go1.8+**。 更多信息,请查阅 [golang blog](https://blog.golang.org/h2push)。 diff --git a/content/zh-cn/docs/examples/_index.md b/src/content/docs/zh-cn/docs/examples/index.md similarity index 71% rename from content/zh-cn/docs/examples/_index.md rename to src/content/docs/zh-cn/docs/examples/index.md index 3d51b25b6..74b3c6615 100644 --- a/content/zh-cn/docs/examples/_index.md +++ b/src/content/docs/zh-cn/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "示例" -draft: false -weight: 6 + +sidebar: + order: 6 --- 该节列出了 api 的用法。 diff --git a/content/zh-cn/docs/examples/jsonp.md b/src/content/docs/zh-cn/docs/examples/jsonp.md similarity index 97% rename from content/zh-cn/docs/examples/jsonp.md rename to src/content/docs/zh-cn/docs/examples/jsonp.md index e418dc218..2bd6ca098 100644 --- a/content/zh-cn/docs/examples/jsonp.md +++ b/src/content/docs/zh-cn/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- 使用 JSONP 向不同域的服务器请求数据。如果查询参数存在回调,则将回调添加到响应体中。 diff --git a/content/zh-cn/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/zh-cn/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/zh-cn/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/zh-cn/docs/examples/map-as-querystring-or-postform.md index c4907a091..39846852c 100644 --- a/content/zh-cn/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/zh-cn/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "映射查询字符串或表单参数" -draft: false + --- ```sh diff --git a/content/zh-cn/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/zh-cn/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/zh-cn/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/zh-cn/docs/examples/multipart-urlencoded-binding.md index 1f2ceb48a..d90bfb9c7 100644 --- a/content/zh-cn/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/zh-cn/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded 绑定" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/multipart-urlencoded-form.md b/src/content/docs/zh-cn/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/zh-cn/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/zh-cn/docs/examples/multipart-urlencoded-form.md index 0daac79b2..fab25a289 100644 --- a/content/zh-cn/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/zh-cn/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded 表单" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/multiple-template.md b/src/content/docs/zh-cn/docs/examples/multiple-template.md similarity index 93% rename from content/zh-cn/docs/examples/multiple-template.md rename to src/content/docs/zh-cn/docs/examples/multiple-template.md index 9e7e7120f..0a5ca8721 100644 --- a/content/zh-cn/docs/examples/multiple-template.md +++ b/src/content/docs/zh-cn/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "多模板" -draft: false + --- Gin 默认允许只使用一个 html 模板。 查看[多模板渲染](https://github.com/gin-contrib/multitemplate) 以使用 go 1.6 `block template` 等功能。 diff --git a/content/zh-cn/docs/examples/only-bind-query-string.md b/src/content/docs/zh-cn/docs/examples/only-bind-query-string.md similarity index 98% rename from content/zh-cn/docs/examples/only-bind-query-string.md rename to src/content/docs/zh-cn/docs/examples/only-bind-query-string.md index 99a392bc4..091811510 100644 --- a/content/zh-cn/docs/examples/only-bind-query-string.md +++ b/src/content/docs/zh-cn/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "只绑定 url 查询字符串" -draft: false + --- `ShouldBindQuery` 函数只绑定 url 查询参数而忽略 post 数据。参阅[详细信息](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). diff --git a/content/zh-cn/docs/examples/param-in-path.md b/src/content/docs/zh-cn/docs/examples/param-in-path.md similarity index 97% rename from content/zh-cn/docs/examples/param-in-path.md rename to src/content/docs/zh-cn/docs/examples/param-in-path.md index 3e710c813..f1e1ebfd4 100644 --- a/content/zh-cn/docs/examples/param-in-path.md +++ b/src/content/docs/zh-cn/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "路由参数" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/pure-json.md b/src/content/docs/zh-cn/docs/examples/pure-json.md similarity index 97% rename from content/zh-cn/docs/examples/pure-json.md rename to src/content/docs/zh-cn/docs/examples/pure-json.md index c634f70d7..edd1042d8 100644 --- a/content/zh-cn/docs/examples/pure-json.md +++ b/src/content/docs/zh-cn/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- 通常,JSON 使用 unicode 替换特殊 HTML 字符,例如 < 变为 \ u003c。如果要按字面对这些字符进行编码,则可以使用 PureJSON。Go 1.6 及更低版本无法使用此功能。 diff --git a/content/zh-cn/docs/examples/query-and-post-form.md b/src/content/docs/zh-cn/docs/examples/query-and-post-form.md similarity index 97% rename from content/zh-cn/docs/examples/query-and-post-form.md rename to src/content/docs/zh-cn/docs/examples/query-and-post-form.md index 3893085af..3262d599b 100644 --- a/content/zh-cn/docs/examples/query-and-post-form.md +++ b/src/content/docs/zh-cn/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "Query 和 post form" -draft: false + --- ```sh diff --git a/content/zh-cn/docs/examples/querystring-param.md b/src/content/docs/zh-cn/docs/examples/querystring-param.md similarity index 97% rename from content/zh-cn/docs/examples/querystring-param.md rename to src/content/docs/zh-cn/docs/examples/querystring-param.md index 0dc252880..d56d57ff6 100644 --- a/content/zh-cn/docs/examples/querystring-param.md +++ b/src/content/docs/zh-cn/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "查询字符串参数" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/redirects.md b/src/content/docs/zh-cn/docs/examples/redirects.md similarity index 98% rename from content/zh-cn/docs/examples/redirects.md rename to src/content/docs/zh-cn/docs/examples/redirects.md index 5f6c243f7..a675dfb50 100644 --- a/content/zh-cn/docs/examples/redirects.md +++ b/src/content/docs/zh-cn/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "重定向" -draft: false + --- HTTP 重定向很容易。 内部、外部重定向均支持。 diff --git a/content/zh-cn/docs/examples/rendering.md b/src/content/docs/zh-cn/docs/examples/rendering.md similarity index 99% rename from content/zh-cn/docs/examples/rendering.md rename to src/content/docs/zh-cn/docs/examples/rendering.md index 83e49f39e..f7d432cb6 100644 --- a/content/zh-cn/docs/examples/rendering.md +++ b/src/content/docs/zh-cn/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "XML/JSON/YAML/ProtoBuf 渲染" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/run-multiple-service.md b/src/content/docs/zh-cn/docs/examples/run-multiple-service.md similarity index 98% rename from content/zh-cn/docs/examples/run-multiple-service.md rename to src/content/docs/zh-cn/docs/examples/run-multiple-service.md index a4f32c2c8..f36cd7bbc 100644 --- a/content/zh-cn/docs/examples/run-multiple-service.md +++ b/src/content/docs/zh-cn/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "运行多个服务" -draft: false + --- 请参阅 [issues](https://github.com/gin-gonic/gin/issues/346) 并尝试以下示例: diff --git a/content/zh-cn/docs/examples/secure-json.md b/src/content/docs/zh-cn/docs/examples/secure-json.md similarity index 97% rename from content/zh-cn/docs/examples/secure-json.md rename to src/content/docs/zh-cn/docs/examples/secure-json.md index a85559976..bb3fb627d 100644 --- a/content/zh-cn/docs/examples/secure-json.md +++ b/src/content/docs/zh-cn/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- 使用 SecureJSON 防止 json 劫持。如果给定的结构是数组值,则默认预置 `"while(1),"` 到响应体。 diff --git a/content/zh-cn/docs/examples/security-headers.md b/src/content/docs/zh-cn/docs/examples/security-headers.md similarity index 99% rename from content/zh-cn/docs/examples/security-headers.md rename to src/content/docs/zh-cn/docs/examples/security-headers.md index d3cf79085..7d5bebf39 100644 --- a/content/zh-cn/docs/examples/security-headers.md +++ b/src/content/docs/zh-cn/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "安全页眉" -draft: false + --- 使用安全标头保护网络应用程序免受常见安全漏洞的攻击非常重要。本示例将向您展示如何在 Gin 应用程序中添加安全标头,以及如何避免与主机标头注入相关的攻击(SSRF、开放重定向)。 diff --git a/content/zh-cn/docs/examples/serving-data-from-reader.md b/src/content/docs/zh-cn/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/zh-cn/docs/examples/serving-data-from-reader.md rename to src/content/docs/zh-cn/docs/examples/serving-data-from-reader.md index 2f0baadbd..0687affbf 100644 --- a/content/zh-cn/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/zh-cn/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "从 reader 读取数据" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/serving-static-files.md b/src/content/docs/zh-cn/docs/examples/serving-static-files.md similarity index 96% rename from content/zh-cn/docs/examples/serving-static-files.md rename to src/content/docs/zh-cn/docs/examples/serving-static-files.md index d96099df0..d4144fe8d 100644 --- a/content/zh-cn/docs/examples/serving-static-files.md +++ b/src/content/docs/zh-cn/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "静态文件服务" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/support-lets-encrypt.md b/src/content/docs/zh-cn/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/zh-cn/docs/examples/support-lets-encrypt.md rename to src/content/docs/zh-cn/docs/examples/support-lets-encrypt.md index 54707824a..a23659754 100644 --- a/content/zh-cn/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/zh-cn/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "支持 Let's Encrypt" -draft: false + --- 一行代码支持 LetsEncrypt HTTPS servers 示例。 diff --git a/content/zh-cn/docs/examples/upload-file/_index.md b/src/content/docs/zh-cn/docs/examples/upload-file/index.md similarity index 85% rename from content/zh-cn/docs/examples/upload-file/_index.md rename to src/content/docs/zh-cn/docs/examples/upload-file/index.md index 4cc95382b..2891e15f3 100644 --- a/content/zh-cn/docs/examples/upload-file/_index.md +++ b/src/content/docs/zh-cn/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "上传文件" -draft: false + --- 本节列出了上传图片的 api 用法。 diff --git a/content/zh-cn/docs/examples/upload-file/multiple-file.md b/src/content/docs/zh-cn/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/zh-cn/docs/examples/upload-file/multiple-file.md rename to src/content/docs/zh-cn/docs/examples/upload-file/multiple-file.md index 3196c76a8..0c1662d2c 100644 --- a/content/zh-cn/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/zh-cn/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "多文件" -draft: false + --- 查看详细[示例代码](https://github.com/gin-gonic/examples/tree/master/upload-file/multiple). diff --git a/content/zh-cn/docs/examples/upload-file/single-file.md b/src/content/docs/zh-cn/docs/examples/upload-file/single-file.md similarity index 98% rename from content/zh-cn/docs/examples/upload-file/single-file.md rename to src/content/docs/zh-cn/docs/examples/upload-file/single-file.md index d0c6ed594..c76477921 100644 --- a/content/zh-cn/docs/examples/upload-file/single-file.md +++ b/src/content/docs/zh-cn/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "单文件" -draft: false + --- 参考 issue [#774](https://github.com/gin-gonic/gin/issues/774) 和详细[示例代码](https://github.com/gin-gonic/examples/tree/master/upload-file/single). diff --git a/content/zh-cn/docs/examples/using-basicauth-middleware.md b/src/content/docs/zh-cn/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/zh-cn/docs/examples/using-basicauth-middleware.md rename to src/content/docs/zh-cn/docs/examples/using-basicauth-middleware.md index e0aad8033..97d25144d 100644 --- a/content/zh-cn/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/zh-cn/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "使用 BasicAuth 中间件" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/using-middleware.md b/src/content/docs/zh-cn/docs/examples/using-middleware.md similarity index 98% rename from content/zh-cn/docs/examples/using-middleware.md rename to src/content/docs/zh-cn/docs/examples/using-middleware.md index 3d2ab1b47..ae4043d4e 100644 --- a/content/zh-cn/docs/examples/using-middleware.md +++ b/src/content/docs/zh-cn/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "使用中间件" -draft: false + --- ```go diff --git a/content/zh-cn/docs/examples/without-middleware.md b/src/content/docs/zh-cn/docs/examples/without-middleware.md similarity index 92% rename from content/zh-cn/docs/examples/without-middleware.md rename to src/content/docs/zh-cn/docs/examples/without-middleware.md index 17ebcbb64..792b7c135 100644 --- a/content/zh-cn/docs/examples/without-middleware.md +++ b/src/content/docs/zh-cn/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "不使用默认的中间件" -draft: false + --- 使用 diff --git a/content/zh-cn/docs/examples/write-log.md b/src/content/docs/zh-cn/docs/examples/write-log.md similarity index 97% rename from content/zh-cn/docs/examples/write-log.md rename to src/content/docs/zh-cn/docs/examples/write-log.md index 133c7fa94..59a260269 100644 --- a/content/zh-cn/docs/examples/write-log.md +++ b/src/content/docs/zh-cn/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "如何记录日志" -draft: false + --- ```go diff --git a/content/zh-cn/docs/faq/_index.md b/src/content/docs/zh-cn/docs/faq/index.md similarity index 77% rename from content/zh-cn/docs/faq/_index.md rename to src/content/docs/zh-cn/docs/faq/index.md index 8ceb3210a..feac4626c 100644 --- a/content/zh-cn/docs/faq/_index.md +++ b/src/content/docs/zh-cn/docs/faq/index.md @@ -1,7 +1,8 @@ --- title: "FAQ" -draft: false -weight: 9 + +sidebar: + order: 9 --- TODO:记录 GitHub Issue 中的一些常见问题。 diff --git a/content/zh-cn/docs/features/_index.md b/src/content/docs/zh-cn/docs/features/index.md similarity index 91% rename from content/zh-cn/docs/features/_index.md rename to src/content/docs/zh-cn/docs/features/index.md index 561e5a135..ddf4d7826 100644 --- a/content/zh-cn/docs/features/_index.md +++ b/src/content/docs/zh-cn/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "特性" -draft: false -weight: 4 + +sidebar: + order: 4 --- ##### Gin v1 稳定的特性: diff --git a/content/zh-cn/docs/_index.md b/src/content/docs/zh-cn/docs/index.md similarity index 93% rename from content/zh-cn/docs/_index.md rename to src/content/docs/zh-cn/docs/index.md index 186c58595..f80e90657 100644 --- a/content/zh-cn/docs/_index.md +++ b/src/content/docs/zh-cn/docs/index.md @@ -1,10 +1,8 @@ --- title: "文档" linkTitle: "文档" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## Gin 是什么? diff --git a/content/zh-cn/docs/introduction/_index.md b/src/content/docs/zh-cn/docs/introduction/index.md similarity index 98% rename from content/zh-cn/docs/introduction/_index.md rename to src/content/docs/zh-cn/docs/introduction/index.md index 9fb679eb4..e8938ffcb 100644 --- a/content/zh-cn/docs/introduction/_index.md +++ b/src/content/docs/zh-cn/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "介绍" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API,性能要好得多,多亏了 [httprouter](https://github.com/julienschmidt/httprouter),速度提高了 40 倍。 如果您需要性能和良好的生产力,您一定会喜欢 Gin。 diff --git a/content/zh-cn/docs/jsoniter/_index.md b/src/content/docs/zh-cn/docs/jsoniter/index.md similarity index 92% rename from content/zh-cn/docs/jsoniter/_index.md rename to src/content/docs/zh-cn/docs/jsoniter/index.md index 29580cc1e..3d4e88d84 100644 --- a/content/zh-cn/docs/jsoniter/_index.md +++ b/src/content/docs/zh-cn/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- #### 使用 [jsoniter](https://github.com/json-iterator/go) 编译 diff --git a/content/zh-cn/docs/quickstart/_index.md b/src/content/docs/zh-cn/docs/quickstart/index.md similarity index 98% rename from content/zh-cn/docs/quickstart/_index.md rename to src/content/docs/zh-cn/docs/quickstart/index.md index ba76a0d02..ae770aff3 100644 --- a/content/zh-cn/docs/quickstart/_index.md +++ b/src/content/docs/zh-cn/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "快速入门" -draft: false -weight: 2 + +sidebar: + order: 2 --- ## 要求 diff --git a/content/zh-cn/docs/testing/_index.md b/src/content/docs/zh-cn/docs/testing/index.md similarity index 98% rename from content/zh-cn/docs/testing/_index.md rename to src/content/docs/zh-cn/docs/testing/index.md index afa66e6aa..feff75e91 100644 --- a/content/zh-cn/docs/testing/_index.md +++ b/src/content/docs/zh-cn/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "测试" -draft: false -weight: 7 + +sidebar: + order: 7 --- ##### 怎样编写 Gin 的测试用例 diff --git a/content/zh-cn/docs/users/_index.md b/src/content/docs/zh-cn/docs/users/index.md similarity index 97% rename from content/zh-cn/docs/users/_index.md rename to src/content/docs/zh-cn/docs/users/index.md index 0a7ecc649..4269424ec 100644 --- a/content/zh-cn/docs/users/_index.md +++ b/src/content/docs/zh-cn/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "用户" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### 使用 [Gin](https://github.com/gin-gonic/gin) web 框架的知名项目: diff --git a/src/content/docs/zh-cn/index.mdx b/src/content/docs/zh-cn/index.mdx new file mode 100644 index 000000000..bde3f0a3c --- /dev/null +++ b/src/content/docs/zh-cn/index.mdx @@ -0,0 +1,51 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: Go语言最快的全功能Web框架。晶莹剔透。 + image: + file: ../../../assets/gin.png + actions: + - text: 了解更多 + link: /zh-cn/docs/ + icon: right-arrow + - text: 下载 + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## 什么是Gin? + +Gin是一个使用Go语言开发的Web框架。 它提供类似Martini的API,但性能更佳,速度提升高达40倍。 如果你是性能和高效的追求者, 你会爱上 Gin。 + + + + 基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能。 + + + 传入的 HTTP 请求可以由一系列中间件和最终操作来处理。例如:Logger,Authorization,GZIP,最终操作 DB。 + + + Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic! + + + Gin 可以解析并验证请求的 JSON,例如检查所需值的存在。 + + + Gin帮助您更好地组织您的路由,例如,按照需要授权和不需要授权和不同API版本进行分组。此外,路由分组可以无限嵌套而不降低性能。 + + + Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送。 + + + Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API。 + + + 新建一个中间件非常简单,去查看[示例代码](https://gin-gonic.com/zh-cn/docs/examples/using-middleware/)吧。 + + + \ No newline at end of file diff --git a/src/content/docs/zh-tw/blog/index.md b/src/content/docs/zh-tw/blog/index.md new file mode 100644 index 000000000..07fd81571 --- /dev/null +++ b/src/content/docs/zh-tw/blog/index.md @@ -0,0 +1,12 @@ +--- +title: "Blog" +linkTitle: "Blog" +sidebar: + order: 30 +--- + + +This is the **blog** section. It has two categories: News and Releases. + +Files in these directories will be listed in reverse chronological order. + diff --git a/content/zh-tw/blog/news/how-to-build-one-effective-middleware.md b/src/content/docs/zh-tw/blog/news/how-to-build-one-effective-middleware.md similarity index 100% rename from content/zh-tw/blog/news/how-to-build-one-effective-middleware.md rename to src/content/docs/zh-tw/blog/news/how-to-build-one-effective-middleware.md diff --git a/content/zh-tw/blog/releases/release13.md b/src/content/docs/zh-tw/blog/releases/release13.md similarity index 100% rename from content/zh-tw/blog/releases/release13.md rename to src/content/docs/zh-tw/blog/releases/release13.md diff --git a/content/zh-tw/blog/releases/release14.md b/src/content/docs/zh-tw/blog/releases/release14.md similarity index 100% rename from content/zh-tw/blog/releases/release14.md rename to src/content/docs/zh-tw/blog/releases/release14.md diff --git a/content/zh-tw/blog/releases/release15.md b/src/content/docs/zh-tw/blog/releases/release15.md similarity index 100% rename from content/zh-tw/blog/releases/release15.md rename to src/content/docs/zh-tw/blog/releases/release15.md diff --git a/content/zh-tw/docs/benchmarks/_index.md b/src/content/docs/zh-tw/docs/benchmarks/index.md similarity index 99% rename from content/zh-tw/docs/benchmarks/_index.md rename to src/content/docs/zh-tw/docs/benchmarks/index.md index dabba65c8..1cbdba620 100644 --- a/content/zh-tw/docs/benchmarks/_index.md +++ b/src/content/docs/zh-tw/docs/benchmarks/index.md @@ -1,7 +1,8 @@ --- title: "效能評估" -draft: false -weight: 3 + +sidebar: + order: 3 --- Gin 使用自訂版本的 [HttpRouter](https://github.com/julienschmidt/httprouter) diff --git a/content/zh-tw/docs/deployment/_index.md b/src/content/docs/zh-tw/docs/deployment/index.md similarity index 97% rename from content/zh-tw/docs/deployment/_index.md rename to src/content/docs/zh-tw/docs/deployment/index.md index 93066dc31..e9dc87004 100644 --- a/content/zh-tw/docs/deployment/_index.md +++ b/src/content/docs/zh-tw/docs/deployment/index.md @@ -1,7 +1,8 @@ --- title: "部署" -draft: false -weight: 6 + +sidebar: + order: 6 --- Gin 專案可以輕鬆部署到任意雲主機商。 diff --git a/content/zh-tw/docs/examples/ascii-json.md b/src/content/docs/zh-tw/docs/examples/ascii-json.md similarity index 97% rename from content/zh-tw/docs/examples/ascii-json.md rename to src/content/docs/zh-tw/docs/examples/ascii-json.md index 82ab48d2a..7e2d2b0d0 100644 --- a/content/zh-tw/docs/examples/ascii-json.md +++ b/src/content/docs/zh-tw/docs/examples/ascii-json.md @@ -1,6 +1,6 @@ --- title: "AsciiJSON" -draft: false + --- Using AsciiJSON to Generates ASCII-only JSON with escaped non-ASCII characters. diff --git a/content/en/docs/examples/bind-body-into-dirrerent-structs.md b/src/content/docs/zh-tw/docs/examples/bind-body-into-dirrerent-structs.md similarity index 99% rename from content/en/docs/examples/bind-body-into-dirrerent-structs.md rename to src/content/docs/zh-tw/docs/examples/bind-body-into-dirrerent-structs.md index c685ccaba..138179eea 100644 --- a/content/en/docs/examples/bind-body-into-dirrerent-structs.md +++ b/src/content/docs/zh-tw/docs/examples/bind-body-into-dirrerent-structs.md @@ -1,6 +1,6 @@ --- title: "Try to bind body into different structs" -draft: false + --- The normal methods for binding request body consumes `c.Request.Body` and they diff --git a/content/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md b/src/content/docs/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md similarity index 99% rename from content/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md rename to src/content/docs/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md index a6a04815e..73f522675 100644 --- a/content/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md +++ b/src/content/docs/zh-tw/docs/examples/bind-form-data-request-with-custom-struct.md @@ -1,6 +1,6 @@ --- title: "Bind form-data request with custom struct" -draft: false + --- The follow example using custom struct: diff --git a/content/zh-tw/docs/examples/bind-html-checkbox.md b/src/content/docs/zh-tw/docs/examples/bind-html-checkbox.md similarity index 98% rename from content/zh-tw/docs/examples/bind-html-checkbox.md rename to src/content/docs/zh-tw/docs/examples/bind-html-checkbox.md index ae63e1f60..4b1ee65ef 100644 --- a/content/zh-tw/docs/examples/bind-html-checkbox.md +++ b/src/content/docs/zh-tw/docs/examples/bind-html-checkbox.md @@ -1,6 +1,6 @@ --- title: "Bind html checkboxes" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/129#issuecomment-124260092) diff --git a/content/zh-tw/docs/examples/bind-query-or-post.md b/src/content/docs/zh-tw/docs/examples/bind-query-or-post.md similarity index 98% rename from content/zh-tw/docs/examples/bind-query-or-post.md rename to src/content/docs/zh-tw/docs/examples/bind-query-or-post.md index 7ebbe739c..9912d908a 100644 --- a/content/zh-tw/docs/examples/bind-query-or-post.md +++ b/src/content/docs/zh-tw/docs/examples/bind-query-or-post.md @@ -1,6 +1,6 @@ --- title: "Bind query string or post data" -draft: false + --- See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-264681292). diff --git a/content/zh-tw/docs/examples/bind-single-binary-with-template.md b/src/content/docs/zh-tw/docs/examples/bind-single-binary-with-template.md similarity index 98% rename from content/zh-tw/docs/examples/bind-single-binary-with-template.md rename to src/content/docs/zh-tw/docs/examples/bind-single-binary-with-template.md index 018e05816..3f79dc8ac 100644 --- a/content/zh-tw/docs/examples/bind-single-binary-with-template.md +++ b/src/content/docs/zh-tw/docs/examples/bind-single-binary-with-template.md @@ -1,6 +1,6 @@ --- title: "Build a single binary with templates" -draft: false + --- You can build a server into a single binary containing templates by using [go-assets][]. diff --git a/content/zh-tw/docs/examples/bind-uri.md b/src/content/docs/zh-tw/docs/examples/bind-uri.md similarity index 98% rename from content/zh-tw/docs/examples/bind-uri.md rename to src/content/docs/zh-tw/docs/examples/bind-uri.md index ec1211cb7..e4f1257ce 100644 --- a/content/zh-tw/docs/examples/bind-uri.md +++ b/src/content/docs/zh-tw/docs/examples/bind-uri.md @@ -1,6 +1,6 @@ --- title: "Bind Uri" -draft: false + --- 查看[詳細訊息](https://github.com/gin-gonic/gin/issues/846). diff --git a/content/zh-tw/docs/examples/binding-and-validation.md b/src/content/docs/zh-tw/docs/examples/binding-and-validation.md similarity index 99% rename from content/zh-tw/docs/examples/binding-and-validation.md rename to src/content/docs/zh-tw/docs/examples/binding-and-validation.md index a45fa875f..2de4465da 100644 --- a/content/zh-tw/docs/examples/binding-and-validation.md +++ b/src/content/docs/zh-tw/docs/examples/binding-and-validation.md @@ -1,6 +1,6 @@ --- title: "Model binding and validation" -draft: false + --- To bind a request body into a type, use model binding. We currently support binding of JSON, XML, YAML and standard form values (foo=bar&boo=baz). diff --git a/content/zh-tw/docs/examples/controlling-log-output-coloring.md b/src/content/docs/zh-tw/docs/examples/controlling-log-output-coloring.md similarity index 98% rename from content/zh-tw/docs/examples/controlling-log-output-coloring.md rename to src/content/docs/zh-tw/docs/examples/controlling-log-output-coloring.md index 2edb50591..8d0e834c8 100644 --- a/content/zh-tw/docs/examples/controlling-log-output-coloring.md +++ b/src/content/docs/zh-tw/docs/examples/controlling-log-output-coloring.md @@ -1,6 +1,6 @@ --- title: "Controlling Log output coloring" -draft: false + --- By default, logs output on console should be colorized depending on the detected TTY. diff --git a/content/zh-tw/docs/examples/cookie.md b/src/content/docs/zh-tw/docs/examples/cookie.md similarity index 97% rename from content/zh-tw/docs/examples/cookie.md rename to src/content/docs/zh-tw/docs/examples/cookie.md index 231473ca5..090e66354 100644 --- a/content/zh-tw/docs/examples/cookie.md +++ b/src/content/docs/zh-tw/docs/examples/cookie.md @@ -1,6 +1,6 @@ --- title: "Set and get a cookie" -draft: false + --- ```go diff --git a/content/en/docs/examples/custom-http-config.md b/src/content/docs/zh-tw/docs/examples/custom-http-config.md similarity index 97% rename from content/en/docs/examples/custom-http-config.md rename to src/content/docs/zh-tw/docs/examples/custom-http-config.md index e9a679361..42de78314 100644 --- a/content/en/docs/examples/custom-http-config.md +++ b/src/content/docs/zh-tw/docs/examples/custom-http-config.md @@ -1,6 +1,6 @@ --- title: "Custom HTTP configuration" -draft: false + --- Use `http.ListenAndServe()` directly, like this: diff --git a/content/en/docs/examples/custom-middleware.md b/src/content/docs/zh-tw/docs/examples/custom-middleware.md similarity index 97% rename from content/en/docs/examples/custom-middleware.md rename to src/content/docs/zh-tw/docs/examples/custom-middleware.md index dd7407b07..8de8438b0 100644 --- a/content/en/docs/examples/custom-middleware.md +++ b/src/content/docs/zh-tw/docs/examples/custom-middleware.md @@ -1,6 +1,6 @@ --- title: "Custom Middleware" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/custom-validators.md b/src/content/docs/zh-tw/docs/examples/custom-validators.md similarity index 99% rename from content/zh-tw/docs/examples/custom-validators.md rename to src/content/docs/zh-tw/docs/examples/custom-validators.md index f69372982..c95126f7e 100644 --- a/content/zh-tw/docs/examples/custom-validators.md +++ b/src/content/docs/zh-tw/docs/examples/custom-validators.md @@ -1,6 +1,6 @@ --- title: "Custom validators" -draft: false + --- It is also possible to register custom validators. See the [example code](examples/custom-validation/server.go). diff --git a/content/tr/docs/examples/define-format-for-the-log-of-routes.md b/src/content/docs/zh-tw/docs/examples/define-format-for-the-log-of-routes.md similarity index 98% rename from content/tr/docs/examples/define-format-for-the-log-of-routes.md rename to src/content/docs/zh-tw/docs/examples/define-format-for-the-log-of-routes.md index 6cfdaa68f..44bd991a9 100644 --- a/content/tr/docs/examples/define-format-for-the-log-of-routes.md +++ b/src/content/docs/zh-tw/docs/examples/define-format-for-the-log-of-routes.md @@ -1,6 +1,6 @@ --- title: "Define format for the log of routes" -draft: false + --- The default log of routes is: diff --git a/content/zh-tw/docs/examples/goroutines-inside-a-middleware.md b/src/content/docs/zh-tw/docs/examples/goroutines-inside-a-middleware.md similarity index 98% rename from content/zh-tw/docs/examples/goroutines-inside-a-middleware.md rename to src/content/docs/zh-tw/docs/examples/goroutines-inside-a-middleware.md index 122593a1b..f3a6b10d6 100644 --- a/content/zh-tw/docs/examples/goroutines-inside-a-middleware.md +++ b/src/content/docs/zh-tw/docs/examples/goroutines-inside-a-middleware.md @@ -1,6 +1,6 @@ --- title: "Goroutines inside a middleware" -draft: false + --- When starting new Goroutines inside a middleware or handler, you **SHOULD NOT** use the original context inside it, you have to use a read-only copy. diff --git a/content/zh-tw/docs/examples/graceful-restart-or-stop.md b/src/content/docs/zh-tw/docs/examples/graceful-restart-or-stop.md similarity index 99% rename from content/zh-tw/docs/examples/graceful-restart-or-stop.md rename to src/content/docs/zh-tw/docs/examples/graceful-restart-or-stop.md index 5b87a0621..2d4b7f650 100644 --- a/content/zh-tw/docs/examples/graceful-restart-or-stop.md +++ b/src/content/docs/zh-tw/docs/examples/graceful-restart-or-stop.md @@ -1,6 +1,6 @@ --- title: "Graceful restart or stop" -draft: false + --- Do you want to graceful restart or stop your web server? diff --git a/content/en/docs/examples/grouping-routes.md b/src/content/docs/zh-tw/docs/examples/grouping-routes.md similarity index 97% rename from content/en/docs/examples/grouping-routes.md rename to src/content/docs/zh-tw/docs/examples/grouping-routes.md index a480aa325..c7f7a7245 100644 --- a/content/en/docs/examples/grouping-routes.md +++ b/src/content/docs/zh-tw/docs/examples/grouping-routes.md @@ -1,6 +1,6 @@ --- title: "Grouping routes" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/html-rendering.md b/src/content/docs/zh-tw/docs/examples/html-rendering.md similarity index 99% rename from content/zh-tw/docs/examples/html-rendering.md rename to src/content/docs/zh-tw/docs/examples/html-rendering.md index df2e1450a..a73658af3 100644 --- a/content/zh-tw/docs/examples/html-rendering.md +++ b/src/content/docs/zh-tw/docs/examples/html-rendering.md @@ -1,6 +1,6 @@ --- title: "HTML rendering" -draft: false + --- Using LoadHTMLGlob() or LoadHTMLFiles() diff --git a/content/zh-tw/docs/examples/http-method.md b/src/content/docs/zh-tw/docs/examples/http-method.md similarity index 98% rename from content/zh-tw/docs/examples/http-method.md rename to src/content/docs/zh-tw/docs/examples/http-method.md index f4b681991..f55d155ee 100644 --- a/content/zh-tw/docs/examples/http-method.md +++ b/src/content/docs/zh-tw/docs/examples/http-method.md @@ -1,6 +1,6 @@ --- title: "Using HTTP method" -draft: false + --- ```go diff --git a/content/tr/docs/examples/http2-server-push.md b/src/content/docs/zh-tw/docs/examples/http2-server-push.md similarity index 98% rename from content/tr/docs/examples/http2-server-push.md rename to src/content/docs/zh-tw/docs/examples/http2-server-push.md index 00bbd12d8..192d22a45 100644 --- a/content/tr/docs/examples/http2-server-push.md +++ b/src/content/docs/zh-tw/docs/examples/http2-server-push.md @@ -1,6 +1,6 @@ --- title: "HTTP2 server push" -draft: false + --- http.Pusher is supported only **go1.8+**. See the [golang blog](https://blog.golang.org/h2push) for detail information. diff --git a/content/zh-tw/docs/examples/_index.md b/src/content/docs/zh-tw/docs/examples/index.md similarity index 75% rename from content/zh-tw/docs/examples/_index.md rename to src/content/docs/zh-tw/docs/examples/index.md index 172163f92..02ff94794 100644 --- a/content/zh-tw/docs/examples/_index.md +++ b/src/content/docs/zh-tw/docs/examples/index.md @@ -1,7 +1,8 @@ --- title: "範例" -draft: false -weight: 6 + +sidebar: + order: 6 --- 這個章節列出一些 API 使用方法。 diff --git a/content/tr/docs/examples/jsonp.md b/src/content/docs/zh-tw/docs/examples/jsonp.md similarity index 97% rename from content/tr/docs/examples/jsonp.md rename to src/content/docs/zh-tw/docs/examples/jsonp.md index 63c7dc551..bc4439a44 100644 --- a/content/tr/docs/examples/jsonp.md +++ b/src/content/docs/zh-tw/docs/examples/jsonp.md @@ -1,6 +1,6 @@ --- title: "JSONP" -draft: false + --- Using JSONP to request data from a server in a different domain. Add callback to response body if the query parameter callback exists. diff --git a/content/tr/docs/examples/map-as-querystring-or-postform.md b/src/content/docs/zh-tw/docs/examples/map-as-querystring-or-postform.md similarity index 97% rename from content/tr/docs/examples/map-as-querystring-or-postform.md rename to src/content/docs/zh-tw/docs/examples/map-as-querystring-or-postform.md index fa733e2ef..5ed88b0b5 100644 --- a/content/tr/docs/examples/map-as-querystring-or-postform.md +++ b/src/content/docs/zh-tw/docs/examples/map-as-querystring-or-postform.md @@ -1,6 +1,6 @@ --- title: "Map as querystring or postform parameters" -draft: false + --- ```sh diff --git a/content/zh-tw/docs/examples/multipart-urlencoded-binding.md b/src/content/docs/zh-tw/docs/examples/multipart-urlencoded-binding.md similarity index 98% rename from content/zh-tw/docs/examples/multipart-urlencoded-binding.md rename to src/content/docs/zh-tw/docs/examples/multipart-urlencoded-binding.md index 767fc6576..73fee286a 100644 --- a/content/zh-tw/docs/examples/multipart-urlencoded-binding.md +++ b/src/content/docs/zh-tw/docs/examples/multipart-urlencoded-binding.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded binding" -draft: false + --- ```go diff --git a/content/en/docs/examples/multipart-urlencoded-form.md b/src/content/docs/zh-tw/docs/examples/multipart-urlencoded-form.md similarity index 96% rename from content/en/docs/examples/multipart-urlencoded-form.md rename to src/content/docs/zh-tw/docs/examples/multipart-urlencoded-form.md index 774662b1e..04eab2373 100644 --- a/content/en/docs/examples/multipart-urlencoded-form.md +++ b/src/content/docs/zh-tw/docs/examples/multipart-urlencoded-form.md @@ -1,6 +1,6 @@ --- title: "Multipart/Urlencoded form" -draft: false + --- ```go diff --git a/content/en/docs/examples/multiple-template.md b/src/content/docs/zh-tw/docs/examples/multiple-template.md similarity index 94% rename from content/en/docs/examples/multiple-template.md rename to src/content/docs/zh-tw/docs/examples/multiple-template.md index 0bcf46858..28b58c213 100644 --- a/content/en/docs/examples/multiple-template.md +++ b/src/content/docs/zh-tw/docs/examples/multiple-template.md @@ -1,6 +1,6 @@ --- title: "Multitemplate" -draft: false + --- Gin allow by default use only one html.Template. Check [a multitemplate render](https://github.com/gin-contrib/multitemplate) for using features like go 1.6 `block template`. diff --git a/content/tr/docs/examples/only-bind-query-string.md b/src/content/docs/zh-tw/docs/examples/only-bind-query-string.md similarity index 98% rename from content/tr/docs/examples/only-bind-query-string.md rename to src/content/docs/zh-tw/docs/examples/only-bind-query-string.md index d6d4e33cc..bdd6c174e 100644 --- a/content/tr/docs/examples/only-bind-query-string.md +++ b/src/content/docs/zh-tw/docs/examples/only-bind-query-string.md @@ -1,6 +1,6 @@ --- title: "Only bind query string" -draft: false + --- `ShouldBindQuery` function only binds the query params and not the post data. See the [detail information](https://github.com/gin-gonic/gin/issues/742#issuecomment-315953017). diff --git a/content/en/docs/examples/param-in-path.md b/src/content/docs/zh-tw/docs/examples/param-in-path.md similarity index 98% rename from content/en/docs/examples/param-in-path.md rename to src/content/docs/zh-tw/docs/examples/param-in-path.md index 6e29a59c7..b0a4a3b68 100644 --- a/content/en/docs/examples/param-in-path.md +++ b/src/content/docs/zh-tw/docs/examples/param-in-path.md @@ -1,6 +1,6 @@ --- title: "Parameters in path" -draft: false + --- ```go diff --git a/content/tr/docs/examples/pure-json.md b/src/content/docs/zh-tw/docs/examples/pure-json.md similarity index 98% rename from content/tr/docs/examples/pure-json.md rename to src/content/docs/zh-tw/docs/examples/pure-json.md index d91f905ef..5fbf8bfc1 100644 --- a/content/tr/docs/examples/pure-json.md +++ b/src/content/docs/zh-tw/docs/examples/pure-json.md @@ -1,6 +1,6 @@ --- title: "PureJSON" -draft: false + --- Normally, JSON replaces special HTML characters with their unicode entities, e.g. `<` becomes `\u003c`. If you want to encode such characters literally, you can use PureJSON instead. diff --git a/content/tr/docs/examples/query-and-post-form.md b/src/content/docs/zh-tw/docs/examples/query-and-post-form.md similarity index 97% rename from content/tr/docs/examples/query-and-post-form.md rename to src/content/docs/zh-tw/docs/examples/query-and-post-form.md index 0d7b18e51..5c8e6d21e 100644 --- a/content/tr/docs/examples/query-and-post-form.md +++ b/src/content/docs/zh-tw/docs/examples/query-and-post-form.md @@ -1,6 +1,6 @@ --- title: "Query and post form" -draft: false + --- ```sh diff --git a/content/en/docs/examples/querystring-param.md b/src/content/docs/zh-tw/docs/examples/querystring-param.md similarity index 97% rename from content/en/docs/examples/querystring-param.md rename to src/content/docs/zh-tw/docs/examples/querystring-param.md index bcf8b55f2..cba891746 100644 --- a/content/en/docs/examples/querystring-param.md +++ b/src/content/docs/zh-tw/docs/examples/querystring-param.md @@ -1,6 +1,6 @@ --- title: "Query string parameters" -draft: false + --- ```go diff --git a/content/tr/docs/examples/redirects.md b/src/content/docs/zh-tw/docs/examples/redirects.md similarity index 98% rename from content/tr/docs/examples/redirects.md rename to src/content/docs/zh-tw/docs/examples/redirects.md index f7d823eca..e62a9952e 100644 --- a/content/tr/docs/examples/redirects.md +++ b/src/content/docs/zh-tw/docs/examples/redirects.md @@ -1,6 +1,6 @@ --- title: "Redirects" -draft: false + --- Issuing a HTTP redirect is easy. Both internal and external locations are supported. diff --git a/content/zh-tw/docs/examples/rendering.md b/src/content/docs/zh-tw/docs/examples/rendering.md similarity index 99% rename from content/zh-tw/docs/examples/rendering.md rename to src/content/docs/zh-tw/docs/examples/rendering.md index a9fa75b5f..c9c705c65 100644 --- a/content/zh-tw/docs/examples/rendering.md +++ b/src/content/docs/zh-tw/docs/examples/rendering.md @@ -1,6 +1,6 @@ --- title: "XML/JSON/YAML/ProtoBuf rendering" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/run-multiple-service.md b/src/content/docs/zh-tw/docs/examples/run-multiple-service.md similarity index 98% rename from content/zh-tw/docs/examples/run-multiple-service.md rename to src/content/docs/zh-tw/docs/examples/run-multiple-service.md index d933823e3..dd7e30efd 100644 --- a/content/zh-tw/docs/examples/run-multiple-service.md +++ b/src/content/docs/zh-tw/docs/examples/run-multiple-service.md @@ -1,6 +1,6 @@ --- title: "Run multiple service" -draft: false + --- See the [question](https://github.com/gin-gonic/gin/issues/346) and try the following example: diff --git a/content/en/docs/examples/secure-json.md b/src/content/docs/zh-tw/docs/examples/secure-json.md similarity index 97% rename from content/en/docs/examples/secure-json.md rename to src/content/docs/zh-tw/docs/examples/secure-json.md index 9f5642167..82e63a4c4 100644 --- a/content/en/docs/examples/secure-json.md +++ b/src/content/docs/zh-tw/docs/examples/secure-json.md @@ -1,6 +1,6 @@ --- title: "SecureJSON" -draft: false + --- Using SecureJSON to prevent json hijacking. Default prepends `"while(1),"` to response body if the given struct is array values. diff --git a/content/zh-tw/docs/examples/security-headers.md b/src/content/docs/zh-tw/docs/examples/security-headers.md similarity index 99% rename from content/zh-tw/docs/examples/security-headers.md rename to src/content/docs/zh-tw/docs/examples/security-headers.md index d3cf79085..7d5bebf39 100644 --- a/content/zh-tw/docs/examples/security-headers.md +++ b/src/content/docs/zh-tw/docs/examples/security-headers.md @@ -1,6 +1,6 @@ --- title: "安全页眉" -draft: false + --- 使用安全标头保护网络应用程序免受常见安全漏洞的攻击非常重要。本示例将向您展示如何在 Gin 应用程序中添加安全标头,以及如何避免与主机标头注入相关的攻击(SSRF、开放重定向)。 diff --git a/content/zh-tw/docs/examples/serving-data-from-reader.md b/src/content/docs/zh-tw/docs/examples/serving-data-from-reader.md similarity index 98% rename from content/zh-tw/docs/examples/serving-data-from-reader.md rename to src/content/docs/zh-tw/docs/examples/serving-data-from-reader.md index f5546a8c6..614db12ce 100644 --- a/content/zh-tw/docs/examples/serving-data-from-reader.md +++ b/src/content/docs/zh-tw/docs/examples/serving-data-from-reader.md @@ -1,6 +1,6 @@ --- title: "Serving data from reader" -draft: false + --- ```go diff --git a/content/en/docs/examples/serving-static-files.md b/src/content/docs/zh-tw/docs/examples/serving-static-files.md similarity index 95% rename from content/en/docs/examples/serving-static-files.md rename to src/content/docs/zh-tw/docs/examples/serving-static-files.md index e296ead02..bda67da07 100644 --- a/content/en/docs/examples/serving-static-files.md +++ b/src/content/docs/zh-tw/docs/examples/serving-static-files.md @@ -1,6 +1,6 @@ --- title: "Serving static files" -draft: false + --- ```go diff --git a/content/zh-tw/docs/examples/support-lets-encrypt.md b/src/content/docs/zh-tw/docs/examples/support-lets-encrypt.md similarity index 98% rename from content/zh-tw/docs/examples/support-lets-encrypt.md rename to src/content/docs/zh-tw/docs/examples/support-lets-encrypt.md index c66288e87..841c1a7f9 100644 --- a/content/zh-tw/docs/examples/support-lets-encrypt.md +++ b/src/content/docs/zh-tw/docs/examples/support-lets-encrypt.md @@ -1,6 +1,6 @@ --- title: "Support Let's Encrypt" -draft: false + --- example for 1-line LetsEncrypt HTTPS servers. diff --git a/content/zh-tw/docs/examples/upload-file/_index.md b/src/content/docs/zh-tw/docs/examples/upload-file/index.md similarity index 84% rename from content/zh-tw/docs/examples/upload-file/_index.md rename to src/content/docs/zh-tw/docs/examples/upload-file/index.md index 1810e3253..d0ff99e85 100644 --- a/content/zh-tw/docs/examples/upload-file/_index.md +++ b/src/content/docs/zh-tw/docs/examples/upload-file/index.md @@ -1,6 +1,6 @@ --- title: "Upload files" -draft: false + --- The section lists upload file api usage. diff --git a/content/zh-tw/docs/examples/upload-file/multiple-file.md b/src/content/docs/zh-tw/docs/examples/upload-file/multiple-file.md similarity index 98% rename from content/zh-tw/docs/examples/upload-file/multiple-file.md rename to src/content/docs/zh-tw/docs/examples/upload-file/multiple-file.md index 83db10a01..45760fa2d 100644 --- a/content/zh-tw/docs/examples/upload-file/multiple-file.md +++ b/src/content/docs/zh-tw/docs/examples/upload-file/multiple-file.md @@ -1,6 +1,6 @@ --- title: "Multiple files" -draft: false + --- See the detail [example code](examples/upload-file/multiple). diff --git a/content/zh-tw/docs/examples/upload-file/single-file.md b/src/content/docs/zh-tw/docs/examples/upload-file/single-file.md similarity index 98% rename from content/zh-tw/docs/examples/upload-file/single-file.md rename to src/content/docs/zh-tw/docs/examples/upload-file/single-file.md index 99f38f28e..cd7bd8fa8 100644 --- a/content/zh-tw/docs/examples/upload-file/single-file.md +++ b/src/content/docs/zh-tw/docs/examples/upload-file/single-file.md @@ -1,6 +1,6 @@ --- title: "Single file" -draft: false + --- References issue [#774](https://github.com/gin-gonic/gin/issues/774) and detail [example code](examples/upload-file/single). diff --git a/content/en/docs/examples/using-basicauth-middleware.md b/src/content/docs/zh-tw/docs/examples/using-basicauth-middleware.md similarity index 98% rename from content/en/docs/examples/using-basicauth-middleware.md rename to src/content/docs/zh-tw/docs/examples/using-basicauth-middleware.md index 318aca232..cc68db4a0 100644 --- a/content/en/docs/examples/using-basicauth-middleware.md +++ b/src/content/docs/zh-tw/docs/examples/using-basicauth-middleware.md @@ -1,6 +1,6 @@ --- title: "Using BasicAuth middleware" -draft: false + --- ```go diff --git a/content/en/docs/examples/using-middleware.md b/src/content/docs/zh-tw/docs/examples/using-middleware.md similarity index 98% rename from content/en/docs/examples/using-middleware.md rename to src/content/docs/zh-tw/docs/examples/using-middleware.md index 2a3159cc3..5fc4154db 100644 --- a/content/en/docs/examples/using-middleware.md +++ b/src/content/docs/zh-tw/docs/examples/using-middleware.md @@ -1,6 +1,6 @@ --- title: "Using middleware" -draft: false + --- ```go diff --git a/content/en/docs/examples/without-middleware.md b/src/content/docs/zh-tw/docs/examples/without-middleware.md similarity index 93% rename from content/en/docs/examples/without-middleware.md rename to src/content/docs/zh-tw/docs/examples/without-middleware.md index ce7b81fbb..6ef54bda0 100644 --- a/content/en/docs/examples/without-middleware.md +++ b/src/content/docs/zh-tw/docs/examples/without-middleware.md @@ -1,6 +1,6 @@ --- title: "Without middleware by default" -draft: false + --- Use diff --git a/content/zh-tw/docs/examples/write-log.md b/src/content/docs/zh-tw/docs/examples/write-log.md similarity index 97% rename from content/zh-tw/docs/examples/write-log.md rename to src/content/docs/zh-tw/docs/examples/write-log.md index 261b8d26a..759423de4 100644 --- a/content/zh-tw/docs/examples/write-log.md +++ b/src/content/docs/zh-tw/docs/examples/write-log.md @@ -1,6 +1,6 @@ --- title: "How to write log file" -draft: false + --- ```go diff --git a/src/content/docs/zh-tw/docs/faq/index.md b/src/content/docs/zh-tw/docs/faq/index.md new file mode 100644 index 000000000..ad348f11f --- /dev/null +++ b/src/content/docs/zh-tw/docs/faq/index.md @@ -0,0 +1,9 @@ +--- +title: "FAQ" + +sidebar: + order: 9 +--- + +TODO: record some frequently asked question from GitHub Issue tab. + diff --git a/content/zh-tw/docs/features/_index.md b/src/content/docs/zh-tw/docs/features/index.md similarity index 92% rename from content/zh-tw/docs/features/_index.md rename to src/content/docs/zh-tw/docs/features/index.md index b768bf872..c471f7f44 100644 --- a/content/zh-tw/docs/features/_index.md +++ b/src/content/docs/zh-tw/docs/features/index.md @@ -1,7 +1,8 @@ --- title: "特色" -draft: false -weight: 4 + +sidebar: + order: 4 --- ##### Gin v1 穩定功能 diff --git a/content/zh-tw/docs/_index.md b/src/content/docs/zh-tw/docs/index.md similarity index 93% rename from content/zh-tw/docs/_index.md rename to src/content/docs/zh-tw/docs/index.md index 3ab17ab71..4fd882caf 100644 --- a/content/zh-tw/docs/_index.md +++ b/src/content/docs/zh-tw/docs/index.md @@ -1,10 +1,8 @@ --- title: "文件" linkTitle: "文件" -weight: 20 -menu: - main: - weight: 20 +sidebar: + order: 1 --- ## Gin 是什麼? diff --git a/content/zh-tw/docs/introduction/_index.md b/src/content/docs/zh-tw/docs/introduction/index.md similarity index 98% rename from content/zh-tw/docs/introduction/_index.md rename to src/content/docs/zh-tw/docs/introduction/index.md index 138046bff..2ff71a640 100644 --- a/content/zh-tw/docs/introduction/_index.md +++ b/src/content/docs/zh-tw/docs/introduction/index.md @@ -1,7 +1,8 @@ --- title: "介紹" -draft: false -weight: 1 + +sidebar: + order: 1 --- Gin 是一個使用 Go (Golang) 寫的 Web 框架。它提供類似 Martini 的 API,但擁有更好的效能,感謝 [httprouter](https://github.com/julienschmidt/httprouter),速度快上了 40 倍。如果你需要效能和高生產力,你將會愛上 Gin。 diff --git a/content/zh-tw/docs/jsoniter/_index.md b/src/content/docs/zh-tw/docs/jsoniter/index.md similarity index 92% rename from content/zh-tw/docs/jsoniter/_index.md rename to src/content/docs/zh-tw/docs/jsoniter/index.md index c46530a73..abc91fd95 100644 --- a/content/zh-tw/docs/jsoniter/_index.md +++ b/src/content/docs/zh-tw/docs/jsoniter/index.md @@ -1,7 +1,8 @@ --- title: "Jsoniter" -draft: false -weight: 5 + +sidebar: + order: 5 --- #### Build with [jsoniter](https://github.com/json-iterator/go) diff --git a/content/zh-tw/docs/quickstart/_index.md b/src/content/docs/zh-tw/docs/quickstart/index.md similarity index 98% rename from content/zh-tw/docs/quickstart/_index.md rename to src/content/docs/zh-tw/docs/quickstart/index.md index d3df6ea73..166cfc4fe 100644 --- a/content/zh-tw/docs/quickstart/_index.md +++ b/src/content/docs/zh-tw/docs/quickstart/index.md @@ -1,7 +1,8 @@ --- title: "快速入門" -draft: false -weight: 2 + +sidebar: + order: 2 --- - [需求](#需求) diff --git a/content/zh-tw/docs/testing/_index.md b/src/content/docs/zh-tw/docs/testing/index.md similarity index 98% rename from content/zh-tw/docs/testing/_index.md rename to src/content/docs/zh-tw/docs/testing/index.md index b001ce108..eab2f8d7e 100644 --- a/content/zh-tw/docs/testing/_index.md +++ b/src/content/docs/zh-tw/docs/testing/index.md @@ -1,7 +1,8 @@ --- title: "測試" -draft: false -weight: 7 + +sidebar: + order: 7 --- ##### 如何為 Gin 寫測試案例? diff --git a/content/zh-tw/docs/users/_index.md b/src/content/docs/zh-tw/docs/users/index.md similarity index 97% rename from content/zh-tw/docs/users/_index.md rename to src/content/docs/zh-tw/docs/users/index.md index 4e088120a..18c9123be 100644 --- a/content/zh-tw/docs/users/_index.md +++ b/src/content/docs/zh-tw/docs/users/index.md @@ -1,7 +1,8 @@ --- title: "使用者" -draft: false -weight: 8 + +sidebar: + order: 8 --- ##### Awesome project lists using [Gin](https://github.com/gin-gonic/gin) web framework: diff --git a/src/content/docs/zh-tw/index.mdx b/src/content/docs/zh-tw/index.mdx new file mode 100644 index 000000000..40ccd24a3 --- /dev/null +++ b/src/content/docs/zh-tw/index.mdx @@ -0,0 +1,51 @@ +--- +title: Gin Web Framework +description: The fastest full-featured web framework for Go. Crystal clear. +template: splash +hero: + tagline: Go語言最快的全功能Web框架。晶瑩剔透。 + image: + file: ../../../assets/gin.png + actions: + - text: 了解更多 + link: /zh-tw/docs/ + icon: right-arrow + - text: 下載 + link: https://github.com/gin-gonic/gin/releases + icon: external + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + +## 什麼是Gin? + +Gin是一個使用Go語言開發的Web框架。 它提供類似Martini的API,但性能更佳,速度提升高達40倍。 如果你是性能和高效的追求者, 你會愛上 Gin。 + + + + 基於 Radix 樹的路由,小內存佔用。沒有反射。可預測的 API 性能。 + + + 傳入的 HTTP 請求可以由一系列中間件和最終操作來處理。例如:Logger,Authorization,GZIP,最終操作 DB。 + + + Gin 可以 catch 一個發生在 HTTP 請求中的 panic 並 recover 它。這樣,你的服務器將始終可用。例如,你可以向 Sentry 報告這個 panic! + + + Gin 可以解析並驗證請求的 JSON,例如檢查所需值的存在。 + + + Gin幫助您更好地組織您的路由,例如,按照需要授權和不需要授權和不同API版本進行分組。此外,路由分組可以無限嵌套而不降低性能。 + + + Gin 提供了一種方便的方法來收集 HTTP 請求期間發生的所有錯誤。最終,中間件可以將它們寫入日誌文件,數據庫並通過網絡發送。 + + + Gin 為 JSON,XML 和 HTML 渲染提供了易於使用的 API。 + + + 新建一個中間件非常簡單,去查看[示例代碼](https://gin-gonic.com/zh-tw/docs/examples/using-middleware/)吧。 + + + \ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 000000000..acef35f17 --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/src/styles/custom.css b/src/styles/custom.css new file mode 100644 index 000000000..871592f50 --- /dev/null +++ b/src/styles/custom.css @@ -0,0 +1,37 @@ +/* + +Add styles or override variables from the theme here. + +*/ + +:root, +::backdrop { + /* Colors (dark mode) */ + + --gin-blue: hsl(215, 69%, 52%); + + --sl-hue-blue: 215; + --sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%); + --sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%); + --sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%); + + --sl-color-accent-low: hsl(204, 54%, 20%); + --sl-color-accent: hsl(204, 100%, 60%); + --sl-color-accent-high: hsl(204, 100%, 85%); + + --sl-line-height: 1.75; + --sl-line-height-headings: 1.2; +} + +:root[data-theme='light'], +[data-theme='light'] ::backdrop { + /* Colours (light mode) */ + + --sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%); + --sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%); + --sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%); + + --sl-color-accent-high: hsl(215, 80%, 30%); + --sl-color-accent: hsl(215, 90%, 60%); + --sl-color-accent-low: hsl(215, 88%, 90%); +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..77da9dd00 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strict" +} \ No newline at end of file From 915c1e5e8d08b45cad4be552f2c843e01341a61b Mon Sep 17 00:00:00 2001 From: imlargo Date: Fri, 13 Sep 2024 15:35:10 -0500 Subject: [PATCH 2/3] update languaje labels --- astro.config.mjs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 3d9df13af..2b48584ed 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -31,35 +31,35 @@ export default defineConfig({ lang: 'es', }, "fa": { - label: "fa", + label: "Persian", lang: "fa", }, "ja": { - label: "ja", + label: "日本語", lang: "ja", }, "ko-kr": { - label: "ko-kr", + label: "한국어", lang: "ko-kr", }, "pt": { - label: "pt", + label: "Português", lang: "pt", }, "ru": { - label: "ru", + label: "Russian", lang: "ru", }, "tr": { - label: "tr", + label: "Turkish", lang: "tr", }, "zh-cn": { - label: "zh-cn", + label: "简体中文", lang: "zh-cn", }, "zh-tw": { - label: "zh-tw", + label: "繁體中文", lang: "zh-tw", }, }, From e1234b52d34fe084adbbcd2a192b6a0504e73c07 Mon Sep 17 00:00:00 2001 From: imlargo Date: Sat, 14 Sep 2024 09:16:04 -0500 Subject: [PATCH 3/3] add gitter link to socials --- astro.config.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/astro.config.mjs b/astro.config.mjs index 2b48584ed..0cd52785d 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -66,6 +66,7 @@ export default defineConfig({ social: { github: 'https://github.com/gin-gonic/gin', + gitter: "https://gitter.im/gin-gonic/gin" }, sidebar: [ {