diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4791b66df..312ba704b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -18,7 +18,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
ref: "master"
submodules: true
diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml
index 5f070a099..60492d7b8 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -17,7 +17,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Install linux dependencies
if: matrix.os == 'ubuntu-latest'
@@ -43,7 +43,7 @@ jobs:
go-version: [ 1.18, 1.19 ]
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v3
diff --git a/.github/workflows/check_docs.yml b/.github/workflows/check_docs.yml
index 0768f1970..29c9d4d7d 100644
--- a/.github/workflows/check_docs.yml
+++ b/.github/workflows/check_docs.yml
@@ -9,7 +9,7 @@ jobs:
if: github.repository == 'wailsapp/wails'
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v11.1
diff --git a/.github/workflows/generate-sponsor-image.yml b/.github/workflows/generate-sponsor-image.yml
index 5e2459c51..5f19b1059 100644
--- a/.github/workflows/generate-sponsor-image.yml
+++ b/.github/workflows/generate-sponsor-image.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'wailsapp/wails'
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Set node
uses: actions/setup-node@v2
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index caeba0d10..adda19dec 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -28,7 +28,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Install linux dependencies
if: matrix.os == 'ubuntu-latest'
diff --git a/.github/workflows/runtime.yml b/.github/workflows/runtime.yml
index 43cc5bdff..2c97b628b 100644
--- a/.github/workflows/runtime.yml
+++ b/.github/workflows/runtime.yml
@@ -10,7 +10,7 @@ jobs:
name: Rebuild the runtime
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- uses: actions/setup-node@v2
with:
node-version: 14.17.6
diff --git a/v2/cmd/wails/internal/version.txt b/v2/cmd/wails/internal/version.txt
index 6eaf89433..852700e11 100644
--- a/v2/cmd/wails/internal/version.txt
+++ b/v2/cmd/wails/internal/version.txt
@@ -1 +1 @@
-v2.0.0
\ No newline at end of file
+v2.1.0
\ No newline at end of file
diff --git a/v2/pkg/buildassets/build/README.md b/v2/pkg/buildassets/build/README.md
index c01ea3cb1..1ae2f677f 100644
--- a/v2/pkg/buildassets/build/README.md
+++ b/v2/pkg/buildassets/build/README.md
@@ -4,58 +4,32 @@ The build directory is used to house all the build files and assets for your app
The structure is:
- * bin - Output directory
- * dialog - Icons for dialogs
- * tray - Icons for the system tray
- * mac - MacOS specific files
- * linux - Linux specific files
- * windows - Windows specific files
-
-## Dialog Icons
-
-Place any PNG file in this directory to be able to use them in message dialogs.
-The files should have names in the following format: `name[-(light|dark)][2x].png`
-
-Examples:
-
-* `mypic.png` - Standard definition icon with ID `mypic`
-* `mypic-light.png` - Standard definition icon with ID `mypic`, used when system theme is light
-* `mypic-dark.png` - Standard definition icon with ID `mypic`, used when system theme is dark
-* `mypic2x.png` - High definition icon with ID `mypic`
-* `mypic-light2x.png` - High definition icon with ID `mypic`, used when system theme is light
-* `mypic-dark2x.png` - High definition icon with ID `mypic`, used when system theme is dark
-
-### Order of preference
-
-Icons are selected with the following order of preference:
-
-For High Definition displays:
-* name-(theme)2x.png
-* name2x.png
-* name-(theme).png
-* name.png
-
-For Standard Definition displays:
-* name-(theme).png
-* name.png
-
-## Tray
-
-Place any PNG file in this directory to be able to use them as tray icons.
-The name of the filename will be the ID to reference the image.
-
-Example:
-
-* `mypic.png` - May be referenced using `runtime.Tray.SetIcon("mypic")`
+* bin - Output directory
+* darwin - macOS specific files
+* windows - Windows specific files
## Mac
-The `darwin` directory holds files specific to Mac builds, such as `Info.plist`.
-These may be customised and used as part of the build. To return these files to the default state, simply delete them and
-build with the `-package` flag.
+The `darwin` directory holds files specific to Mac builds.
+These may be customised and used as part of the build. To return these files to the default state, simply delete them
+and
+build with `wails build`.
-## Windows
+The directory contains the following files:
-The `windows` directory contains the manifest and rc files used when building with the `-package` flag.
+- `Info.plist` - the main plist file used for Mac builds. It is used when building using `wails build`.
+- `Info.dev.plist` - same as the main plist file but used when building using `wails dev`.
+
+## Windows
+
+The `windows` directory contains the manifest and rc files used when building with `wails build`.
These may be customised for your application. To return these files to the default state, simply delete them and
-build with the `-package` flag.
\ No newline at end of file
+build with `wails build`.
+
+- `icon.ico` - The icon used for the application. This is used when building using `wails build`. If you wish to
+ use a different icon, simply replace this file with your own. If it is missing, a new `icon.ico` file
+ will be created using the `appicon.png` file in the build directory.
+- `installer/*` - The files used to create the Windows installer. These are used when building using `wails build`.
+- `info.json` - Application details used for Windows builds. The data here will be used by the Windows installer,
+ as well as the application itself (right click the exe -> properties -> details)
+- `wails.exe.manifest` - The main application manifest file.
\ No newline at end of file
diff --git a/website/docs/guides/signing.mdx b/website/docs/guides/signing.mdx
index 349ae123a..b2a060c5f 100644
--- a/website/docs/guides/signing.mdx
+++ b/website/docs/guides/signing.mdx
@@ -38,7 +38,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -125,7 +125,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -203,7 +203,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -351,7 +351,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
diff --git a/website/docs/reference/cli.mdx b/website/docs/reference/cli.mdx
index 9c6714aa4..8f3577e74 100644
--- a/website/docs/reference/cli.mdx
+++ b/website/docs/reference/cli.mdx
@@ -84,6 +84,10 @@ Example:
`wails build -clean -o myproject.exe`
+:::Info
+On Mac, the application will be bundled with `Info.plist`, not `Info.dev.plist`.
+:::
+
:::info UPX on Apple Silicon
There are [issues](https://github.com/upx/upx/issues/446) with using UPX with Apple Silicon.
diff --git a/website/docs/reference/options.mdx b/website/docs/reference/options.mdx
index daf9a1034..4f2b1227a 100644
--- a/website/docs/reference/options.mdx
+++ b/website/docs/reference/options.mdx
@@ -363,21 +363,6 @@ Indicates what value the `CSSDragProperty` style should have to drag the window.
Name: CSSDragValue
Type: `string`
-### ZoomFactor
-
-Name: ZoomFactor
-Type: `float64`
-
-This defines the zoom factor for the WebView2. This is the option matching the Edge user activated zoom in or out.
-
-### IsZoomControlEnabled
-
-Name: IsZoomControlEnabled
-Type: `bool`
-
-This enables the zoom factor to be changed by the user. Please note that the zoom factor can be set in the options while
-disallowing the user to change it at runtime (f.e. for a kiosk application or similar).
-
### Bind
A slice of struct instances defining methods that need to be bound to the frontend.
@@ -473,6 +458,21 @@ Important information about distribution of fixed version runtime:
Name: WebviewBrowserPath
Type: `string`
+### ZoomFactor
+
+Name: ZoomFactor
+Type: `float64`
+
+This defines the zoom factor for the WebView2. This is the option matching the Edge user activated zoom in or out.
+
+### IsZoomControlEnabled
+
+Name: IsZoomControlEnabled
+Type: `bool`
+
+This enables the zoom factor to be changed by the user. Please note that the zoom factor can be set in the options while
+disallowing the user to change it at runtime (f.e. for a kiosk application or similar).
+
#### Theme
Minimum Windows Version: Windows 10 2004/20H1
diff --git a/website/i18n/en/docusaurus-plugin-content-docs/version-v2.1.0.json b/website/i18n/en/docusaurus-plugin-content-docs/version-v2.1.0.json
new file mode 100644
index 000000000..f29e6b248
--- /dev/null
+++ b/website/i18n/en/docusaurus-plugin-content-docs/version-v2.1.0.json
@@ -0,0 +1,38 @@
+{
+ "version.label": {
+ "message": "v2.1.0",
+ "description": "The label for version v2.1.0"
+ },
+ "sidebar.docs.category.Getting Started": {
+ "message": "Getting Started",
+ "description": "The label for category Getting Started in sidebar docs"
+ },
+ "sidebar.docs.category.Reference": {
+ "message": "Reference",
+ "description": "The label for category Reference in sidebar docs"
+ },
+ "sidebar.docs.category.Runtime": {
+ "message": "Runtime",
+ "description": "The label for category Runtime in sidebar docs"
+ },
+ "sidebar.docs.category.Community": {
+ "message": "Community",
+ "description": "The label for category Community in sidebar docs"
+ },
+ "sidebar.docs.category.Showcase": {
+ "message": "Showcase",
+ "description": "The label for category Showcase in sidebar docs"
+ },
+ "sidebar.docs.category.Guides": {
+ "message": "Guides",
+ "description": "The label for category Guides in sidebar docs"
+ },
+ "sidebar.docs.category.Tutorials": {
+ "message": "Tutorials",
+ "description": "The label for category Tutorials in sidebar docs"
+ },
+ "sidebar.docs.link.Contributing": {
+ "message": "Contributing",
+ "description": "The label for link Contributing in sidebar docs, linking to /community-guide#ways-of-contributing"
+ }
+}
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/signing.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/signing.mdx
index 5bd36b110..168efa461 100644
--- a/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/signing.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/current/guides/signing.mdx
@@ -24,7 +24,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -107,7 +107,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -182,7 +182,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -327,7 +327,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0-rc.1/guides/signing.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0-rc.1/guides/signing.mdx
index 3e56f06c1..a5e4eaae3 100644
--- a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0-rc.1/guides/signing.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0-rc.1/guides/signing.mdx
@@ -106,7 +106,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -181,7 +181,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -326,7 +326,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx
index 3e56f06c1..a5e4eaae3 100644
--- a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.0.0/guides/signing.mdx
@@ -106,7 +106,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -181,7 +181,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -326,7 +326,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0.json
new file mode 100644
index 000000000..f29e6b248
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0.json
@@ -0,0 +1,38 @@
+{
+ "version.label": {
+ "message": "v2.1.0",
+ "description": "The label for version v2.1.0"
+ },
+ "sidebar.docs.category.Getting Started": {
+ "message": "Getting Started",
+ "description": "The label for category Getting Started in sidebar docs"
+ },
+ "sidebar.docs.category.Reference": {
+ "message": "Reference",
+ "description": "The label for category Reference in sidebar docs"
+ },
+ "sidebar.docs.category.Runtime": {
+ "message": "Runtime",
+ "description": "The label for category Runtime in sidebar docs"
+ },
+ "sidebar.docs.category.Community": {
+ "message": "Community",
+ "description": "The label for category Community in sidebar docs"
+ },
+ "sidebar.docs.category.Showcase": {
+ "message": "Showcase",
+ "description": "The label for category Showcase in sidebar docs"
+ },
+ "sidebar.docs.category.Guides": {
+ "message": "Guides",
+ "description": "The label for category Guides in sidebar docs"
+ },
+ "sidebar.docs.category.Tutorials": {
+ "message": "Tutorials",
+ "description": "The label for category Tutorials in sidebar docs"
+ },
+ "sidebar.docs.link.Contributing": {
+ "message": "Contributing",
+ "description": "The label for link Contributing in sidebar docs, linking to /community-guide#ways-of-contributing"
+ }
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/appendix/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/appendix/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/appendix/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/appendix/_category_.json
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/links.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/links.mdx
new file mode 100644
index 000000000..3f9ebf2fc
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/links.mdx
@@ -0,0 +1,26 @@
+---
+sidebar_position: 2
+---
+
+# Links
+
+This page serves as a list for community related links. Please submit a PR (click `Edit this page` at the bottom) to submit links.
+
+## Awesome Wails
+
+The [definitive list](https://github.com/wailsapp/awesome-wails) of links related to Wails.
+
+## Support Channels
+
+- [Gophers Slack Channel](https://gophers.slack.com/messages/CJ4P9F7MZ/)
+- [Gophers Slack Channel Invite](https://invite.slack.golangbridge.org/)
+- [Github Issues](https://github.com/wailsapp/wails/issues)
+- [v2 Beta Discussion Board](https://github.com/wailsapp/wails/discussions/828)
+
+## Social Media
+
+- [Twitter](https://twitter.com/wailsapp)
+- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054
+
+## Other Tutorials and Articles
+- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board)
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/_category_.json
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/emailit.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/emailit.mdx
similarity index 96%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/emailit.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/emailit.mdx
index 4a1ebe835..04150ba28 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/emailit.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/emailit.mdx
@@ -1,8 +1,10 @@
# EmailIt
+```mdx-code-block
+```
[EmailIt](https://github.com/raguay/EmailIt/) is a Wails 2 program that is a markdown based email sender only with nine notepads, scripts to manipulate the text, and templates. It also has a builtin [Node-Red](https://nodered.org/) server, scripts terminal, and the [ScriptBar](https://github.com/raguay/ScriptBarApp) program for displaying results from Node-Red or a script on your system. Documentation is very scarce, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/encrypteasy.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/encrypteasy.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/encrypteasy.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/encrypteasy.mdx
index 13c2d8345..7504950ea 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/encrypteasy.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/encrypteasy.mdx
@@ -1,9 +1,11 @@
# EncryptEasy
+```mdx-code-block
+```
**[EncryptEasy](https://www.encrypteasy.app) is a simple and easy to use PGP encryption tool, managing all your and your contacts keys. Encryption should be simple. Developed with Wails.**
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/filehound.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/filehound.mdx
new file mode 100644
index 000000000..134365aaf
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/filehound.mdx
@@ -0,0 +1,16 @@
+# FileHound Export Utility
+
+```mdx-code-block
+
+
+
+
+```
+
+[FileHound Export Utility](https://www.filehound.co.uk/) FileHound is a cloud document management platform made for secure file retention, business process automation and SmartCapture capabilities.
+
+The FileHound Export Utility allows FileHound Administrators the ability to run a secure document and data extraction tasks for alternative back-up and recovery purposes. This application will download all documents and/or meta data saved in FileHound based on the filters you choose. The metadata will be exported in both JSON and XML formats.
+
+Backend built with: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2
+
+Frontend with: Vue 2.6.11 Vuex 3.4.0 Typescript Tailwind 1.9.6
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/minecraftupdater.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
similarity index 74%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/minecraftupdater.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
index 11247339d..2f6c7c72b 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/minecraftupdater.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
@@ -1,10 +1,14 @@
# Minecraft Updater
+```mdx-code-block
+```
[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) is a utility tool to update and synchronize Minecraft mods for your userbase. It’s built using Wails2 and React with [antd](https://ant.design/) as frontend framework.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/modalfilemanager.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/modalfilemanager.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
index a7ae8c492..f8e2bcd66 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/modalfilemanager.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
@@ -1,11 +1,13 @@
# Modal File Manager
+```mdx-code-block
+```
[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/mollywallet.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/mollywallet.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/mollywallet.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/mollywallet.mdx
index 534b097ca..5d846d06d 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/mollywallet.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/mollywallet.mdx
@@ -1,8 +1,10 @@
# Molley Wallet
+```mdx-code-block
+```
[Molly Wallet](https://github.com/grvlle/constellation_wallet/) the official $DAG wallet of the Constellation Network. It'll let users interact with the Hypergraph Network in various ways, not limited to producing $DAG transactions.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/october.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/october.mdx
similarity index 96%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/october.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/october.mdx
index 889d2dd9e..66d634dc5 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/october.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/october.mdx
@@ -1,9 +1,11 @@
# October
+```mdx-code-block
+```
[October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io).
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/optimus.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/optimus.mdx
similarity index 93%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/optimus.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/optimus.mdx
index c3eb79507..4f87479d6 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/optimus.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/optimus.mdx
@@ -1,8 +1,10 @@
# Optimus
+```mdx-code-block
+```
[Optimus](https://github.com/splode/optimus) is a desktop image optimization application. It supports conversion and compression between WebP, JPEG, and PNG image formats.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/portfall.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/portfall.mdx
similarity index 92%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/portfall.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/portfall.mdx
index 4cc2c63c9..03e740f4c 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/portfall.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/portfall.mdx
@@ -1,8 +1,10 @@
# Portfall
+```mdx-code-block
+```
[Portfall](https://github.com/rekon-oss/portfall) - A desktop k8s port-forwarding portal for easy access to all your cluster UIs
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/restic-browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/restic-browser.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/restic-browser.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/restic-browser.mdx
index 1505ce07a..3646384ec 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/restic-browser.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/restic-browser.mdx
@@ -1,10 +1,12 @@
# Restic Browser
+```mdx-code-block
+```
[Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/riftshare.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/riftshare.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/riftshare.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/riftshare.mdx
index 5223e88cf..9928b4785 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/riftshare.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/riftshare.mdx
@@ -1,9 +1,11 @@
# RiftShare
+```mdx-code-block
+```
Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app)
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/scriptbar.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/scriptbar.mdx
similarity index 96%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/scriptbar.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/scriptbar.mdx
index aaa556f92..2ccb2acb4 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/scriptbar.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/scriptbar.mdx
@@ -1,8 +1,10 @@
# ScriptBar
+```mdx-code-block
+```
[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of the embedded [Node-Red](https://nodered.org) server in the [EmailIt](https://GitHub.com/raguay/EmailIt) application. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/surge.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/surge.mdx
similarity index 93%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/surge.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/surge.mdx
index 2d895dc29..c3b3fb4c0 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/surge.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/surge.mdx
@@ -1,8 +1,10 @@
# Surge
+```mdx-code-block
+```
[Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/wally.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wally.mdx
similarity index 95%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/wally.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wally.mdx
index 2a2498f40..7408aa585 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/wally.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wally.mdx
@@ -1,8 +1,10 @@
# Wally
+```mdx-code-block
+```
[Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/wombat.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wombat.mdx
similarity index 90%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/wombat.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wombat.mdx
index 54cedacea..f100c55e2 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/wombat.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wombat.mdx
@@ -1,8 +1,10 @@
# Wombat
+```mdx-code-block
+```
[Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/ytd.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/ytd.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/ytd.mdx
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/ytd.mdx
index 178ff0529..5db428f72 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/ytd.mdx
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/ytd.mdx
@@ -1,8 +1,10 @@
# Ytd
+```mdx-code-block
+```
[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/templates.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/templates.mdx
new file mode 100644
index 000000000..d7b068c42
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/community/templates.mdx
@@ -0,0 +1,56 @@
+---
+sidebar_position: 1
+---
+
+# テンプレート
+
+このページでは、コミュニティがサポートしているテンプレートを紹介しています。 このページに新たにテンプレートを含めたい場合は、このページの下側にある`このページを編集`をクリックして、プルリクエストを出してください。 独自テンプレートの作成方法については、[テンプレート](../guides/templates.mdx)ガイドをご覧ください。
+
+これらのテンプレートを使用するには、`wails init -n "プロジェクト名" -t [テンプレートのリンク[@バージョン]]`コマンドを実行してください。
+
+バージョンサフィックスが無い場合は、デフォルトで、メインブランチのコードテンプレートが使用されます。 バージョンサフィックスがある場合は、当該バージョンのタグに対応するコードテンプレートが使用されます。
+
+例: `wails init -n "プロジェクト名" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning 注意
+
+
+**Wailsプロジェクトでは、サードパーティ製テンプレートのメンテナンスは行っておらず、責任も負いません!**
+
+テンプレートについてよく分からない場合は、`package.json`および`wails.json`を確認し、どのようなスクリプトが実行されるのかや、どのようなパッケージがインストールされるのかを調べてください。
+
+:::
+
+
+## Vue
+
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - Wails template based on Vue ecology (Integrated TypeScript, Dark theme, Internationalization, Single page routing, TailwindCSS)
+- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - Viteを使用したVue 3 TypeScript (および機能を追加する手順)
+- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vite、Vuex、Vue Router、SaaS、ESLint + Prettier を使用した Vue 3 TypeScript
+
+## Angular
+
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - TypeScript、Sass、ホットリロード、コード分割、i18n を使用した Angular
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - reactjsを使用したテンプレート
+- [wails-react-template](https://github.com/flin7/wails-react-template) - ライブ開発をサポートしたReactの最小テンプレート
+- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - Next.js、TypeScript を使用したテンプレート
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - A template for React + TypeScript + Vite + TailwindCSS
+
+## Svelte
+
+- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - Svelteを使用したテンプレート
+- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - SvelteおよびViteを使用したテンプレート
+- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - TailwindCSS v3を含んだ、SvelteおよびViteを使用したテンプレート
+- [wails-sveltekit-template](https://github.com/h8gi/wails-sveltekit-template) - SvelteKitを使用したテンプレート
+
+## Elm
+
+- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - 関数型プログラミングと**高速な**ホットリロードを使ったGUIアプリ開発 :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Combine the powers :muscle: of Elm + Tailwind CSS + Wails! Hot reloading supported.
+
+## ピュアJavaScript (バニラ)
+
+- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - 基本的なJavaScript、HTML、CSSのみを含むテンプレート
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/building.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/building.mdx
new file mode 100644
index 000000000..dfab958b4
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# プロジェクトのコンパイル
+
+プロジェクトディレクトリ上で、`wails build`コマンドを実行しましょう。 そうすることで、プロジェクトがコンパイルされ、`build/bin`ディレクトリ内に本番配布用のバイナリが出力されます。
+
+バイナリを起動すると、デフォルト仕様のアプリを確認することができます:
+
+```mdx-code-block
+
+
+
+
+```
+
+コンパイルオプションについて詳しくは、[CLIリファレンス](../reference/cli.mdx#build)をご覧ください。
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/development.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/development.mdx
new file mode 100644
index 000000000..b26c3c546
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/development.mdx
@@ -0,0 +1,16 @@
+---
+sidebar_position: 5
+---
+
+# アプリの開発
+
+プロジェクトディレクトリのルート上で`wails dev`コマンドを実行すると、アプリを開発モードで起動することができます。 コマンドを実行すると下記の処理が実行されます:
+
+- アプリをビルドしたのち、起動する
+- Goのコードをフロントエンドにバインドし、Javascriptから呼び出せるようにする
+- Using the power of [Vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change
+- ブラウザからアプリを操作できるようにする[Webサーバ](http://localhost:34115)を立ち上げる。 これにより、任意のブラウザ拡張機能を利用できる。 JavascriptのコンソールからGoのコードを呼び出すこともできる
+
+アプリ開発を始めるときは、プロジェクトディレクトリ上で`wails dev`コマンドを実行しましょう。 詳しくは、[こちら](../reference/cli.mdx#dev)をご覧ください。
+
+近日中にチュートリアルを公開予定です。
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/firstproject.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/firstproject.mdx
new file mode 100644
index 000000000..8ce6453d7
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/firstproject.mdx
@@ -0,0 +1,130 @@
+---
+sidebar_position: 2
+---
+
+# プロジェクトの開始
+
+## プロジェクトの生成
+
+CLIのインストールが終わったら、`wails init`コマンドで新しいプロジェクトを生成しましょう。
+
+好きなフレームワークを選択してください:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Generate a Svelte project using Javascript with:
+
+ wails init -n myproject -t svelte
+
+If you would rather use Typescript:
+
+ wails init -n myproject -t svelte-ts
+
+
+
+ Generate a React project using Javascript with:
+
+ wails init -n myproject -t react
+
+If you would rather use Typescript:
+
+ wails init -n myproject -t react-ts
+
+
+
+ Generate a Vue project using Javascript with:
+
+ wails init -n myproject -t vue
+
+If you would rather use Typescript:
+
+ wails init -n myproject -t vue-ts
+
+
+
+ Generate a Preact project using Javascript with:
+
+ wails init -n myproject -t preact
+
+If you would rather use Typescript:
+
+ wails init -n myproject -t preact-ts
+
+
+
+ Generate a Lit project using Javascript with:
+
+ wails init -n myproject -t lit
+
+If you would rather use Typescript:
+
+ wails init -n myproject -t lit-ts
+
+
+
+ Generate a Vanilla project using Javascript with:
+
+ wails init -n myproject -t vanilla
+
+If you would rather use Typescript:
+
+ wails init -n myproject -t vanilla-ts
+
+
+
+```
+
+
+
+様々な機能やフレームワークを提供する[コミュニティテンプレート](../community/templates.mdx)を利用することもできます。
+
+プロジェクト生成時に使用可能なオプションを確認するには、`wails init -help`を実行してください。 詳しくは、[CLIリファレンス](../reference/cli.mdx#init)を参照してください。
+
+## プロジェクトのディレクトリ構成
+
+Wailsのプロジェクトディレクトリの構成は次のとおりです:
+
+```
+.
+├── build/
+│ ├── appicon.png
+│ ├── darwin/
+│ └── windows/
+├── frontend/
+├── go.mod
+├── go.sum
+├── main.go
+└── wails.json
+```
+
+### プロジェクトの構造
+
+- `/main.go` - アプリのメインコード
+- `/frontend/` - フロントエンドのプロジェクトディレクトリ
+- `/build/` - ビルドディレクトリ
+- `/build/appicon.png` - アプリアイコン
+- `/build/darwin/` - Mac固有のプロジェクトディレクトリ
+- `/build/windows/` - Windows固有のプロジェクトディレクトリ
+- `/wails.json` - プロジェクト構成ファイル
+- `/go.mod` - Goモジュール定義ファイル
+- `/go.sum` - Goモジュールチェックサムファイル
+
+`frontend`ディレクトリ内は、Wailsで決まったファイル構成等は無く、お好きなフロントエンドプロジェクトを配置することができます。
+
+`build`ディレクトリは、アプリのビルド時に使用されます。 この中のファイルは、ビルドの挙動をカスタマイズするために、適宜ファイル内容を書き換えることができます。 buildディレクトリ内のファイルを削除すると、デフォルトのファイルが再生成されます。
+
+`go.mod`のモジュール名は、最初は"changeme"になっています。 このモジュール名は、あなたのプロジェクトに適切な名前に変更しましょう。
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/installation.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/installation.mdx
new file mode 100644
index 000000000..1317c1ec4
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/installation.mdx
@@ -0,0 +1,79 @@
+---
+sidebar_position: 1
+---
+
+# インストール
+
+## サポートされているプラットフォーム
+
+- Windows 10/11 AMD64/ARM64
+- MacOS 10.13+ AMD64
+- MacOS 11.0+ ARM64
+- Linux AMD64/ARM64
+
+## 依存関係
+
+Wailsをインストールする前に、下記のものを導入しておく必要があります。
+
+- Go 1.18+
+- NPM (Node 15+)
+
+### Go
+
+Download Go from the [Go Downloads Page](https://go.dev/dl/).
+
+公式の[Goインストール手順](https://go.dev/doc/install)に従って、Goをインストールしてください。 その際、`PATH`環境変数に`~/go/bin`ディレクトリへのパスが含まれていることも確認してください。 それらが終わったら、ターミナルを再起動し、以下の確認をしてください:
+
+- Goが正しくインストールされているかを確認する: `go version`
+- "~/go/bin"のディレクトリパスがPATH環境変数に含まれているか確認する: `echo $PATH | grep go/bin`
+
+### NPM
+
+[Nodeダウンロードページ](https://nodejs.org/ja/download/)からNPMをダウンロードしてください。 最新版を利用することをお勧めします。なぜなら、私たちは最新版に対してテストを実施しているためです。
+
+`npm --version`を実行して、インストールが完了しているかを確認してください。
+
+## プラットフォーム固有の依存関係
+
+開発作業を行うプラットフォームによって、必要な依存関係が存在します:
+
+```mdx-code-block
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+ Wails requires that the xcode command line tools are installed. This can be
+ done by running xcode-select --install.
+
+
+ Wails requires that the WebView2 runtime is installed. Some Windows installations will already have this installed. You can check using the wails doctor command.
+
+
+ Linux required the standard gcc build tools plus libgtk3 and libwebkit. Rather than list a ton of commands for different distros, Wails can try to determine what the installation commands are for your specific distribution. Run wails doctor after installation to be shown how to install the dependencies. If your distro/package manager is not supported, please consult the Add Linux Distro guide.
+
+
+```
+
+## 任意の依存関係
+
+- [UPX](https://upx.github.io/)を導入することで、構築したアプリを圧縮できます。
+
+## Wailsのインストール
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`を実行して、Wails CLIをインストールしてください。
+
+## システムチェック
+
+`wails doctor`を実行すると、必要な依存関係が正しくインストールされているかを確認することができます。 正しくインストールされていない場合は、その内容をあなたにお知らせして、どうすれば解決できるかを教えてくれます。
+
+## `wails`コマンドが見つからないのですが?
+
+`wails`コマンドが見つからないとシステムに怒られた場合は、Goが、公式のGoインストール手順に従って導入されているかを確認してください。 コマンドが見つからないほとんどの理由は、あなたのホームディレクトリ配下にある`go/bin`ディレクトリのパスが、`PATH`環境変数に含まれていないからです。 また、インストールによって行われた環境変更を反映させるために、もともと開いていたコマンドプロンプト(ターミナル)がある場合はそれらをいったん閉じて、再度開きなおしてください。
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/application-development.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/application-development.mdx
new file mode 100644
index 000000000..a618076f1
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/application-development.mdx
@@ -0,0 +1,194 @@
+# Application Development
+
+There are no hard and fast rules for developing applications with Wails, but there are some basic guidelines.
+
+## Application Setup
+
+The pattern used by the default templates are that `main.go` is used for configuring and running the application, whilst `app.go` is used for defining the application logic.
+
+The `app.go` file will define a struct that has 2 methods which act as hooks into the main application:
+
+```go title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+```
+
+- The startup method is called as soon as Wails allocates the resources it needs and is a good place for creating resources, setting up event listeners and anything else the application needs at startup. It is given a `context.Context` which is usually saved in a struct field. This context is needed for calling the [runtime](../reference/runtime/intro.mdx). If this method returns an error, the application will terminate. In dev mode, the error will be output to the console.
+
+- The shutdown method will be called by Wails right at the end of the shutdown process. This is a good place to deallocate memory and perform any shutdown tasks.
+
+The `main.go` file generally consists of a single call to `wails.Run()`, which accepts the application configuration. The pattern used by the templates is that before the call to `wails.Run()`, an instance of the struct we defined in `app.go` is created and saved in a variable called `app`. This configuration is where we add our callbacks:
+
+```go {3,9,10} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+More information on application lifecycle hooks can be found [here](../howdoesitwork.mdx#application-lifecycle-callbacks).
+
+## Binding Methods
+
+It is likely that you will want to call Go methods from the frontend. This is normally done by adding public methods to the already defined struct in `app.go`:
+
+```go {16-18} title="app.go"
+type App struct {
+ ctx context.Context
+}
+
+func NewApp() *App {
+ return &App{}
+}
+
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+}
+
+func (a *App) shutdown(ctx context.Context) {
+}
+
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s!", name)
+}
+```
+
+In the main application configuration, the `Bind` key is where we can tell Wails what we want to bind:
+
+```go {11-13} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+This will bind all public methods in our `App` struct (it will never bind the startup and shutdown methods).
+
+### Dealing with context when binding multiple structs
+
+If you want to bind methods for multiple structs but want each struct to keep a reference to the context so that you can use the runtime functions, a good pattern is to pass the context from the `OnStartup` method to your struct instances :
+
+```go
+func main() {
+
+ app := NewApp()
+ otherStruct := NewOtherStruct()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: func(ctx context.Context){
+ app.SetContext(ctx)
+ otherStruct.SetContext(ctx)
+ },
+ OnShutdown: app.shutdown,
+ Bind: []interface{}{
+ app,
+ otherStruct
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+```
+
+More information on Binding can be found [here](../howdoesitwork.mdx#method-binding).
+
+## Application Menu
+
+Wails supports adding a menu to your application. This is done by passing a [Menu](../reference/menus.mdx#menu) struct to application config. It's common to use a method that returns a Menu, and even more common for that to be a method on the `App` struct used for the lifecycle hooks.
+
+```go {11} title="main.go"
+func main() {
+
+ app := NewApp()
+
+ err := wails.Run(&options.App{
+ Title: "My App",
+ Width: 800,
+ Height: 600,
+ OnStartup: app.startup,
+ OnShutdown: app.shutdown,
+ Menu: app.menu(),
+ Bind: []interface{}{
+ app,
+ },
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+```
+
+## Assets
+
+The great thing about the way Wails v2 handles assets is that it doesn't! The only thing you need to give Wails is an `embed.FS`. How you get to that is entirely up to you. You can use vanilla html/css/js files like the vanilla template. You could have some complicated build system, it doesn't matter.
+
+When `wails build` is run, it will check the `wails.json` project file at the project root. There are 2 keys in the project file that are read:
+
+- "frontend:install"
+- "frontend:build"
+
+The first, if given, will be executed in the `frontend` directory to install the node modules. The second, if given, will be executed in the `frontend` directory to build the frontend project.
+
+If these 2 keys aren't given, then Wails does absolutely nothing with the frontend. It is only expecting that `embed.FS`.
+
+### AssetsHandler
+
+A Wails v2 app can optionally define a `http.Handler` in the `options.App`, which allows hooking into the AssetServer to create files on the fly or process POST/PUT requests. GET requests are always first handled by the `assets` FS. If the FS doesn't find the requested file the request will be forwarded to the `http.Handler` for serving. Any requests other than GET will be directly processed by the `AssetsHandler` if specified. It's also possible to only use the `AssetsHandler` by specifiy `nil` as the `Assets` option.
+
+## Built in Dev Server
+
+Running `wails dev` will start the built in dev server which will start a file watcher in your project directory. By default, if any file changes, wails checks if it was an application file (default: `.go`, configurable with `-e` flag). If it was, then it will rebuild your application and relaunch it. If the changed file was in the assets, it will issue a reload after a short amount of time.
+
+The dev server uses a technique called "debouncing" which means it doesn't reload straight away, as there may be multiple files changed in a short amount of time. When a trigger occurs, it waits for a set amount of time before issuing a reload. If another trigger happens, it resets to the wait time again. By default this value is `100ms`. If this value doesn't work for your project, it can be configured using the `-debounce` flag. If used, this value will be saved to your project config and become the default.
+
+## External Dev Server
+
+Some frameworks come with their own live-reloading server, however they will not be able to take advantage of the Wails Go bindings. In this scenario, it is best to run a watcher script that rebuilds the project into the build directory, which Wails will be watching. For an example, see the default svelte template that uses [rollup](https://rollupjs.org/guide/en/). For [create-react-app](https://create-react-app.dev/), it's possible to use [this script](https://gist.github.com/int128/e0cdec598c5b3db728ff35758abdbafd) to achieve a similar result.
+
+## Go Module
+
+The default Wails templates generate a `go.mod` file that contains the module name "changeme". You should change this to something more appropriate after project generation.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/bleeding-edge.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/bleeding-edge.mdx
new file mode 100644
index 000000000..b81cc79dc
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/bleeding-edge.mdx
@@ -0,0 +1,55 @@
+# Bleeding Edge
+
+## Overview
+
+Wails is in constant development and new releases are regularly "tagged". This usually happens when all the newer code on `master` has been tested and confirmed working. If you need a bugfix or feature that has not yet made it to a release, it's possible to use the latest "bleeding edge" version using the following steps:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails/v2/cmd/wails`
+- `go install`
+
+NOTE: The directory that you cloned the project into will now be called "clonedir".
+
+The Wails CLI will now be at the very latest version.
+
+### Updating your project
+
+To update projects to use the latest version of the Wails library, update the project's `go.mod` and ensure the following line is at the bottom of the file:
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Example:
+
+On Windows: `replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
+
+On 'nix: `replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
+
+To revert to a stable version, run:
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
+
+## Testing a Branch
+
+If you want to test a branch, follow the instructions above, but ensure you switch the branch you want to test before installing:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git checkout -b branch-to-test --track origin/branch-to-test`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
+
+## Testing a PR
+
+If you want to test a PR, follow the instructions above, but ensure you fetch the PR and switch the branch before installing. Please replace `[IDofThePR]` with the ID of the PR shown on github.com:
+
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails`
+- `git fetch -u origin pull/[IDofThePR]/head:test/pr-[IDofThePR]`
+- `git checkout test/pr-[IDofThePR]`
+- `git reset --hard HEAD`
+- `cd v2/cmd/wails`
+- `go install`
+
+Make sure you [update your project](#updating-your-project) as described above.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/dynamic-assets.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/dynamic-assets.mdx
new file mode 100644
index 000000000..e4c199594
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/dynamic-assets.mdx
@@ -0,0 +1,134 @@
+# Dynamic Assets
+
+If you want to load or generate assets for your frontend dynamically, you can achieve that using the [AssetsHandler](../reference/options#assetshandler) option. The AssetsHandler is a generic `http.Handler` which will be called for any non GET request on the assets server and for GET requests which can not be served from the bundled assets because the file is not found.
+
+By installing a custom AssetsHandler, you can serve your own assets using a custom asset server.
+
+## Example
+
+In our example project, we will create a simple assets handler which will load files off disk:
+
+```go title=main.go {16-35,49}
+package main
+
+import (
+ "embed"
+ "fmt"
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+ "net/http"
+ "os"
+ "strings"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+type FileLoader struct {
+ http.Handler
+}
+
+func NewFileLoader() *FileLoader {
+ return &FileLoader{}
+}
+
+func (h *FileLoader) ServeHTTP(res http.ResponseWriter, req *http.Request) {
+ var err error
+ requestedFilename := strings.TrimPrefix(req.URL.Path, "/")
+ println("Requesting file:", requestedFilename)
+ fileData, err := os.ReadFile(requestedFilename)
+ if err != nil {
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte(fmt.Sprintf("Could not load file %s", requestedFilename)))
+ }
+
+ res.Write(fileData)
+}
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "helloworld",
+ Width: 1024,
+ Height: 768,
+ Assets: assets,
+ BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 255},
+ OnStartup: app.startup,
+ AssetsHandler: NewFileLoader(),
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+When we run the application in dev mode using `wails dev`, we will see the following output:
+
+```
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico'
+DEB | [ExternalAssetHandler] Loading 'http://localhost:3001/favicon.ico' failed, using AssetHandler
+Requesting file: favicon.ico
+```
+
+As you can see, the assets handler is called when the default assets server is unable to serve the `favicon.ico` file.
+
+If you right click the main application and select "inspect" to bring up the devtools, you can test this feature out by typing the following into the console:
+
+```
+let response = await fetch('does-not-exist.txt');
+```
+
+This will generate an error in the devtools. We can see that the error is what we expect, returned by our custom assets handler:
+
+```mdx-code-block
+
+
+
+```
+
+However, if we request `go.mod`, we will see the following output:
+
+```mdx-code-block
+
+
+
+```
+
+This technique can be used to load images directly into the page. If we updated our default vanilla template and replaced the logo image:
+
+```html
+
+```
+
+with:
+
+```html
+
+```
+
+Then we would see the following:
+
+```mdx-code-block
+
+
+
+```
+
+:::warning
+
+
+Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access to your filesystem.
+
+:::
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/frameless.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/frameless.mdx
new file mode 100644
index 000000000..a9370f36f
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/frameless.mdx
@@ -0,0 +1,85 @@
+# Frameless Applications
+
+Wails supports application that have no frames. This can be achieved by using the [frameless](../reference/options.mdx#frameless) field in [Application Options](../reference/options.mdx#application-options).
+
+Wails offers a simple solution for dragging the window: Any HTML element that has the CSS style `--wails-draggable:drag` will act as a "drag handle". This property applies to all child elements. If you need to indicate that a nested element should not drag, then use the attribute '--wails-draggable:no-drag' on that element.
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+For some projects, using a CSS variable may not be possible due to dynamic styling. In this case, you can use the `CSSDragProperty` and `CSSDragValue` application options to define a property and value that will be used to indicate draggable regions:
+
+```go title=main.go
+package main
+
+import (
+ "embed"
+
+ "github.com/wailsapp/wails/v2"
+ "github.com/wailsapp/wails/v2/pkg/options"
+)
+
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ // Create an instance of the app structure
+ app := NewApp()
+
+ // Create application with options
+ err := wails.Run(&options.App{
+ Title: "alwaysontop",
+ Width: 1024,
+ Height: 768,
+ Assets: assets,
+ Frameless: true,
+ CSSDragProperty: "widows",
+ CSSDragValue: "1",
+ Bind: []interface{}{
+ app,
+ },
+ })
+
+ if err != nil {
+ println("Error:", err)
+ }
+}
+```
+
+```html title=index.html
+
+
+
+
+
+ alwaysontop
+
+
+
+
+
+
+```
+
+:::info Fullscreen
+
+
+If you allow your application to go fullscreen, this drag functionality will be disabled.
+
+:::
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/frontend.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/frontend.mdx
new file mode 100644
index 000000000..29e442c5e
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/frontend.mdx
@@ -0,0 +1,75 @@
+# Frontend
+
+## Script Injection
+
+When Wails serves your `index.html`, by default, it will inject 2 script entries into the `` tag to load `/wails/ipc.js` and `/wails/runtime.js`. These files install the bindings and runtime respectively.
+
+The code below shows where these are injected by default:
+
+```html
+
+
+ injection example
+
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+
+```
+
+### Overriding Default Script Injection
+
+To provide more flexibility to developers, there is a meta tag that may be used to customise this behaviour:
+
+```html
+
+```
+
+The options are as follows:
+
+| 値 | Description |
+| ------------------- | ------------------------------------------------ |
+| noautoinjectruntime | Disable the autoinjection of `/wails/runtime.js` |
+| noautoinjectipc | Disable the autoinjection of `/wails/ipc.js` |
+| noautoinject | Disable all autoinjection of scripts |
+
+Multiple options may be used provided they are comma seperated.
+
+This code is perfectly valid and operates the same as the autoinjection version:
+
+```html
+
+
+
+ injection example
+
+
+
+
+
+
+
Please enter your name below 👇
+
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/ides.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/ides.mdx
new file mode 100644
index 000000000..7649030a2
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/ides.mdx
@@ -0,0 +1,128 @@
+# IDEs
+
+Wails aims to provide a great development experience. To that aim, we now support generating IDE specific configuration to provide smoother project setup.
+
+Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but aim to support other IDEs such as Goland.
+
+## Visual Studio Code
+
+```mdx-code-block
+
+
+
+```
+
+When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files. These files are placed into the `.vscode` directory and provide the correct configuration for debugging your application.
+
+The 2 files generated are `tasks.json` and `launch.json`. Below are the files generated for the default vanilla project:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/myproject.exe"
+ ]
+ }
+ ]
+}
+```
+
+```json title="launch.json"
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Wails: Debug myproject",
+ "type": "go",
+ "request": "launch",
+ "mode": "exec",
+ "program": "${workspaceFolder}/build/bin/myproject.exe",
+ "preLaunchTask": "build",
+ "cwd": "${workspaceFolder}",
+ "env": {}
+ }
+ ]
+}
+```
+
+### Configuring the install and build steps
+
+The `tasks.json` file is simple for the default project as there is no `npm install` or `npm run build` step needed. For projects that have a frontend build step, such as the svelte template, we would need to edit `tasks.json` to add the install and build steps:
+
+```json title="tasks.json"
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "npm install",
+ "type": "npm",
+ "script": "install",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "npm run build",
+ "type": "npm",
+ "script": "build",
+ "options": {
+ "cwd": "${workspaceFolder}/frontend"
+ },
+ "presentation": {
+ "clear": true,
+ "panel": "shared",
+ "showReuseMessage": false
+ },
+ "problemMatcher": []
+ },
+ {
+ "label": "build",
+ "type": "shell",
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "command": "go",
+ "args": [
+ "build",
+ "-tags",
+ "dev",
+ "-gcflags",
+ "all=-N -l",
+ "-o",
+ "build/bin/vscode.exe"
+ ],
+ "dependsOn": ["npm install", "npm run build"]
+ }
+ ]
+}
+```
+
+:::info Future Enhancement
+
+
+In the future, we hope to generate a `tasks.json` that includes the install and build steps automatically.
+
+:::
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/linux-distro-support.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/linux-distro-support.mdx
new file mode 100644
index 000000000..882f8d258
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/linux-distro-support.mdx
@@ -0,0 +1,104 @@
+# Linux Distro Support
+
+## Overview
+
+Wails offers Linux support but providing installation instructions for all available distributions is an impossible task. Instead, Wails tries to determine if the packages you need to develop applications are available via your system's package manager. Currently, we support the following package managers:
+
+- apt
+- dnf
+- emerge
+- eopkg
+- nixpkgs
+- pacman
+- zypper
+
+## Adding package names
+
+There may be circumstances where your distro uses one of the supported package managers but the package name is different. For example, you may use an Ubuntu derivative, but the package name for gtk may be different. Wails attempts to find the correct package by iterating through a list of package names. The list of packages are stored in the packagemanager specific file in the `v2/internal/system/packagemanager` directory. In our example, this would be `v2/internal/system/packagemanager/apt.go`.
+
+In this file, the list of packages are defined by the `Packages()` method:
+
+```go
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+Let's assume that in our linux distro, `libgtk-3` is packaged under the name `lib-gtk3-dev`. We could add support for this by adding the following line:
+
+```go {5}
+func (a *Apt) Packages() packagemap {
+ return packagemap{
+ "libgtk-3": []*Package{
+ {Name: "libgtk-3-dev", SystemPackage: true, Library: true},
+ {Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
+ },
+ "libwebkit": []*Package{
+ {Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
+ },
+ "gcc": []*Package{
+ {Name: "build-essential", SystemPackage: true},
+ },
+ "pkg-config": []*Package{
+ {Name: "pkg-config", SystemPackage: true},
+ },
+ "npm": []*Package{
+ {Name: "npm", SystemPackage: true},
+ },
+ "docker": []*Package{
+ {Name: "docker.io", SystemPackage: true, Optional: true},
+ },
+ }
+}
+```
+
+## Adding new package managers
+
+To add a new package manager, perform the following steps:
+
+- Create a new file in `v2/internal/system/packagemanager` called `.go`, where `` is the name of the package manager.
+- Define a struct that conforms to the package manager interface defined in `pm.go`:
+
+```go
+type PackageManager interface {
+ Name() string
+ Packages() packagemap
+ PackageInstalled(*Package) (bool, error)
+ PackageAvailable(*Package) (bool, error)
+ InstallCommand(*Package) string
+}
+```
+
+- `Name()` should return the name of the package manager
+- `Packages()` should return a `packagemap`, that provides candidate filenames for dependencies
+- `PackageInstalled()` should return `true` if the given package is installed
+- `PackageAvailable()` should return `true` if the given package is not installed but available for installation
+- `InstallCommand()` should return the exact command to install the given package name
+
+Take a look at the other package managers code to get an idea how this works.
+
+:::info Remember
+
+
+If you add support for a new package manager, don't forget to also update this page!
+
+:::
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/linux.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/linux.mdx
new file mode 100644
index 000000000..229c282bf
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/linux.mdx
@@ -0,0 +1,18 @@
+# Linux
+
+This page has miscellaneous guides related to developing Wails applications for Linux.
+
+## Video tag doesn't fire "ended" event
+
+When using a video tag, the "ended" event is not fired when the video is finished playing. This is a bug in WebkitGTK, however you can use the following workaround to fix it:
+
+```js
+videoTag.addEventListener("timeupdate", (event) => {
+ if (event.target.duration - event.target.currentTime < 0.2) {
+ let ended = new Event("ended");
+ event.target.dispatchEvent(ended);
+ }
+});
+```
+
+Source: [Lyimmi](https://github.com/Lyimmi) on the [discussions board](https://github.com/wailsapp/wails/issues/1729#issuecomment-1212291275)
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/manual-builds.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/manual-builds.mdx
new file mode 100644
index 000000000..dcf192d33
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/manual-builds.mdx
@@ -0,0 +1,95 @@
+# Manual Builds
+
+The Wails CLI does a lot of heavy lifting for the project, but sometimes it's desirable to manually build your project. This document will discuss the different operations the CLI does and how this may be achieved in different ways.
+
+## Build Process
+
+When either `wails build` or `wails dev` are used, the Wails CLI performs a common build process:
+
+ - Install frontend dependencies
+ - Build frontend project
+ - Generate build assets
+ - Compile application
+ - [optional] Compress application
+
+### Install frontend dependencies
+
+#### CLI Steps
+
+- If the `-s` flag is given, this step is skipped
+- Checks `wails.json` to see if there is an install command in the key `frontend:install`
+- If there isn't, it skips this step
+- If there is, it checks if `package.json` exists in the frontend directory. If it doesn't exist, it skips this step
+- An MD5 sum is generated from the `package.json` file contents
+- It checks for the existence of `package.json.md5` and if it exists, will compare the contents of it (an MD5 sum) with the one generated to see if the contents have changed. If they are the same, this step is skipped
+- If `package.json.md5` does not exist, it creates it using the generated MD5 sum
+- If a build is now required, or `node_modules` does not exist, or the `-f` flag is given, the install command is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm install`.
+
+### Build frontend project
+
+#### Wails CLI
+
+- If the `-s` flag is given, this step is skipped
+- Checks `wails.json` to see if there is a build command in the key `frontend:build`
+- If there isn't, it skips this step
+- If there is, it is executed in the frontend directory
+
+#### Manual Steps
+
+This step could be done from the command line or a script with `npm run build` or whatever the frontend build script is.
+
+### Generate assets
+
+#### Wails CLI
+
+- If `-nopackage` flag is set, this stage is skipped
+- If the `build/appicon.png` file does not exist, a default one is created
+- For Windows, see [Bundling for Windows](#windows)
+- If `build/windows/icon.ico` does not exist, it will create it from the `build/appicon.png` image.
+
+##### Windows
+
+- If `build/windows/icon.ico` does not exist, it will create it from `build/appicon.png` using icon sizes of 256, 128, 64, 48, 32 and 16. This is done using [winicon](https://github.com/leaanthony/winicon).
+- If the `build/windows/.manifest` file does not exist, it creates it from a default version.
+- Compiles the application as a production build (above)
+- Uses [winres](https://github.com/tc-hib/winres) to bundle the icon and manifest into a `.syso` file ready for linking.
+
+#### Manual Steps
+
+- Create `icon.ico` using the [winicon](https://github.com/leaanthony/winicon) CLI tool (or any other tool).
+- Create / Update a `.manifest` file for your application
+- Use the [winres CLI](https://github.com/tc-hib/go-winres) to generate a `.syso` file.
+
+### Compile application
+
+#### Wails CLI
+
+- If the `-clean` flag is provided, the `build` directory is deleted and recreated
+- For `wails dev`, the following default Go flags are used: `-tags dev -gcflags "all=-N -l"`
+- For `wails build`, the following default Go flags are used: `-tags desktop,production -ldflags "-w -s"`
+ - On Windows, `-ldflags "-w -h -H windowsgui"`
+- Additional tags passed to the CLI using `-tags` are added to the defaults
+- Additional ldflags passed to the CLI using `-ldflags` are added to the defaults
+- The `-o` flag is passed through
+- The Go compiler specified by `-compiler` will be used for compilation
+
+#### Manual steps
+
+- For dev build, the minimum command would be: `go build -tags dev -gcflags "all=-N -l"`
+- For production build, the minimum command would be: `go build -tags desktop,production -ldflags "-w -s -H windowsgui"`
+- Ensure that you compile in the same directory as the `.syso` file
+
+### Compress application
+
+#### Wails CLI
+
+- If the `-upx` flag has been given, the `upx` program will be run to compress the application with the default settings
+- If `-upxflags` is also passed, these flags are used instead of the default ones
+
+#### Manual steps
+
+- Run `upx [flags]` manually to compress the application.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/migrating.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/migrating.mdx
new file mode 100644
index 000000000..55b791e61
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/migrating.mdx
@@ -0,0 +1,187 @@
+# Migrating from v1
+
+## Overview
+
+Wails v2 is a significant change from v1. This document aims to highlight the changes and the steps in migrating an existing project.
+
+### Creating the Application
+
+In v1, the main application is created using `wails.CreateApp`, bindings are added with `app.Bind`, then the application is run using `app.Run()`.
+
+Example:
+
+```go title="v1"
+ app := wails.CreateApp(&wails.AppConfig{
+ Title: "MyApp",
+ Width: 1024,
+ Height: 768,
+ JS: js,
+ CSS: css,
+ Colour: "#131313",
+ })
+ app.Bind(basic)
+ app.Run()
+```
+
+In v2, there is just a single method, `wails.Run()`, that accepts [application options](../reference/options.mdx#application-options).
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ Title: "MyApp",
+ Width: 800,
+ Height: 600,
+ Assets: assets,
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+### Binding
+
+In v1, it was possible to bind both arbitrary functions and structs. In v2, this has been simplified to only binding structs. The struct instances that were previously passed to the `Bind()` method in v1, are now specified in the `Bind` field of the [application options](../reference/options.mdx#application-options):
+
+```go title="v1"
+ app := wails.CreateApp(/* options */)
+ app.Bind(basic)
+```
+
+```go title="v2"
+ err := wails.Run(&options.App{
+ /* other options */
+ Bind: []interface{}{
+ basic,
+ },
+ })
+```
+
+In v1, bound methods were available to the frontend at `window.backend`. This has changed to `window.go`.``
+
+### Application Lifecycle
+
+In v1, there were 2 special methods in a bound struct: `WailsInit()` and `WailsShutdown()`. These have been replaced with 3 lifecycle hooks as part of the [application options](../reference/options.mdx#application-options):
+
+- [OnStartup](../reference/options.mdx#onstartup)
+- [OnShutdown](../reference/options.mdx#onshutdown)
+- [OnDomReady](../reference/options.mdx#ondomready)
+
+Note: [OnDomReady](../reference/options.mdx#ondomready) replaces the `wails:ready` system event in v1.
+
+These methods can be standard functions, but a common practice is to have them part of a struct:
+
+```go title="v2"
+ basic := NewBasicApp()
+ err := wails.Run(&options.App{
+ /* Other Options */
+ OnStartup: basic.startup,
+ OnShutdown: basic.shutdown,
+ OnDomReady: basic.domready,
+ })
+...
+type Basic struct {
+ ctx context.Context
+}
+func (b *Basic) startup(ctx context.Context) {
+ b.ctx = ctx
+}
+...
+```
+
+### Runtime
+
+The runtime in v2 is much richer than v1 with support for menus, window manipulation and better dialogs. The signature of the methods has changed slightly - please refer the the [Runtime Reference](../reference/runtime/intro.mdx).
+
+In v1, the [runtime](../reference/runtime/intro.mdx) was available via a struct passed to `WailsInit()`. In v2, the runtime has been moved out to its own package. Each method in the runtime takes the `context.Context` that is passed to the [OnStartup](../reference/options.mdx#onstartup) method.
+
+```go title="Runtime Example"
+package main
+
+import "github.com/wailsapp/wails/v2/pkg/runtime"
+
+type Basic struct {
+ ctx context.Context
+}
+
+// startup is called at application startup
+func (a *App) startup(ctx context.Context) {
+ a.ctx = ctx
+ runtime.LogInfo(ctx, "Application Startup called!")
+}
+
+```
+
+### Assets
+
+The _biggest_ change in v2 is how assets are handled.
+
+In v1, assets were passed via 2 application options:
+
+- `JS` - The application's Javascript
+- `CSS` - The application's CSS
+
+This meant that the responsibility of generating a single JS and CSS file was on the developer. This essentially required the use of complicated packers such as webpack.
+
+In v2, Wails makes no assumptions about your frontend assets, just like a webserver. All of your application assets are passed to the application options as an `embed.FS`.
+
+**This means there is no requirement to bundle your assets, encode images as Base64 or attempt the dark art of bundler configuration to use custom fonts**.
+
+At startup, Wails will scan the given `embed.FS` for `index.html` and use its location as the root path for all the other application assets - just like a webserver would.
+
+Example: An application has the following project layout. All final assets are placed in the `frontend/dist` directory:
+
+```shell
+.
+├── build/
+├── frontend/
+│ └── dist/
+│ ├── index.html
+│ ├── main.js
+│ ├── main.css
+│ └── logo.svg
+├── main.go
+└── wails.json
+```
+
+Those assets may be used by the application by simply creating an `embed.FS`:
+
+```go title="Assets Example"
+//go:embed all:frontend/dist
+var assets embed.FS
+
+func main() {
+ err := wails.Run(&options.App{
+ /* Other Options */
+ Assets: assets,
+ })
+}
+```
+
+Of course, bundlers can be used if you wish to. The only requirement is to pass the final application assets directory to Wails using an `embed.FS` in the `Assets` key of the [application options](../reference/options.mdx#application-options).
+
+### Project Configuration
+
+In v1, the project configuration was stored in the `project.json` file in the project root. In v2, the project configuration is stored in the `wails.json` file in the project root.
+
+The format of the file is slightly different. Here is a comparison:
+
+
+
+| v1 | v2 | Notes |
+| ------------------ | ---------------- | --------------------------------------------------- |
+| name | name | |
+| description | | Removed |
+| author / name | author / name | |
+| author / email | author / email | |
+| version | version | |
+| binaryname | outputfilename | Changed |
+| frontend / dir | | Removed |
+| frontend / install | frontend:install | Changed |
+| frontend / build | frontend:build | Changed |
+| frontend / bridge | | Removed |
+| frontend / serve | | Removed |
+| tags | | Removed |
+| | wailsjsdir | The directory to generate wailsjs modules |
+| | assetdir | The directory of the compiled frontend assets for `dev` mode. This is normally inferred and could be left empty. |
+| | reloaddirs | Comma separated list of additional directories to watch for changes and to trigger reloads in `dev` mode. This is only needed for some more advanced asset configurations. |
+
+
+```
+
+## Publishing Templates
+
+Publishing a template is simply pushing the files to GitHub. The following best practice is encouraged:
+
+- Remove any unwanted files and directories (such as `.git`) from your frontend directory
+- Ensure that `template.json` is complete, especially `helpurl`
+- Push the files to GitHub
+- Create a PR on the [Community Templates](../community/templates.mdx) page
+- Announce the template on the [Template Announcement](https://github.com/wailsapp/wails/discussions/825) discussion board
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/troubleshooting.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/troubleshooting.mdx
new file mode 100644
index 000000000..c5d62774b
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/troubleshooting.mdx
@@ -0,0 +1,148 @@
+# Troubleshooting
+
+An assortment of troubleshooting tips.
+
+## `wails`コマンドが見つからないのですが?
+
+`wails`コマンドが見つからないとシステムに怒られた場合は、Goが、公式のGoインストール手順に従って導入されているかを確認してください。 コマンドが見つからないほとんどの理由は、あなたのホームディレクトリ配下にある`go/bin`ディレクトリのパスが、`PATH`環境変数に含まれていないからです。 また、インストールによって行われた環境変更を反映させるために、もともと開いていたコマンドプロンプト(ターミナル)がある場合はそれらをいったん閉じて、再度開きなおしてください。
+
+## My application is displaying a white/blank screen
+
+Check that your application includes the assets from the correct directory. In your `main.go` file, you will have something similar to the following code:
+
+```go
+//go:embed all:frontend/dist
+var assets embed.FS
+```
+
+Check that `frontend/dist` contains your application assets.
+
+### Mac
+
+If this happens on Mac, try adding the following to your `Info.plist`:
+
+```xml
+NSAppTransportSecurity
+
+ NSAllowsLocalNetworking
+
+
+```
+
+Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
+
+## Mac application not valid
+
+If your built application looks like this in finder:
+
+```mdx-code-block
+
+
+
+```
+
+it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist` and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to the `build/darwin` directory.
+
+## Cannot call backend method from frontend with variadic arguments
+
+If you have a backend method defined with variadic parameters, eg:
+
+```go
+func (a *App) TestFunc(msg string, args ...interface{}) error {
+ // Code
+}
+```
+
+calling this method from the frontend like this will fail:
+
+```js
+var msg = "Hello: ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, ...args)
+ .then((result) => {
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Workaround:
+
+```js
+var msg = "Hello ";
+var args = ["Go", "JS"];
+window.go.main.App.TestFunc(msg, args)
+ .then((result) => {
+ //without the 3 dots
+ //do things here
+ })
+ .catch((error) => {
+ //handle error
+ });
+```
+
+Credit: https://github.com/wailsapp/wails/issues/1186
+
+## I'm having getting proxy errors when trying to install Wails
+
+If you are getting errors like this:
+
+```
+"https://proxy.golang.org/github.com/wailsapp/wails/cmd/wails/@v/list": dial tcp 172.217.163.49:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
+```
+
+it's probably because the official Go Proxy is being blocked (Users in China have reported this). The solution is to set up the proxy manually, eg:
+
+```
+go env -w GO111MODULE=on
+go env -w GOPROXY=https://goproxy.cn,direct
+```
+
+Source: https://github.com/wailsapp/wails/issues/1233
+
+## The generated Typescript doesn't have the correct types
+
+Sometimes the generated Typescript doesn't have the correct types. To mitigate this, it is possible to specify what types should be generated using the `ts_type` struct tag. For more details, please read [this](https://github.com/tkrajina/typescriptify-golang-structs#custom-types).
+
+## When I navigate away from `index.html`, I am unable to call methods on the frontend
+
+If you navigate away from `index.html` to a new html file, the context will be lost. This can be fixed by adding the following imports to the `` section of any new page you navigate to:
+
+```html
+
+
+
+
+```
+
+Source: https://github.com/wailsapp/wails/discussions/1512
+
+## I get `too many open files` errors on my Mac when I run `wails dev`
+
+By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command. This limit can be increased by running: `ulimit -n 1024` in the terminal.
+
+FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac. If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
+
+## My Mac app gives me weird compilation errors
+
+A few users have reported seeing compilation errors such as the following:
+
+```shell
+# github.com/wailsapp/wails/v2/internal/frontend/desktop/darwin
+In file included from ../../pkg/mod/github.com/wailsapp/wails/v2@v2.0.0-beta.44.2/internal/frontend/desktop/darwin/callbacks.go:9:
+In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:12:
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
+- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
+ ~~~~~~~~~~~~~~ ^ ~
+/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
+ #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
+```
+
+This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
+
+Source: https://github.com/wailsapp/wails/issues/1806
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/vscode.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/vscode.mdx
new file mode 100644
index 000000000..ed258656d
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/vscode.mdx
@@ -0,0 +1,82 @@
+
+# Visual Studio Code
+
+This page is for miscellaneous tips and tricks when using Visual Studio Code with Wails.
+
+## Vetur Configuration
+
+Many thanks to [@Lyimmi](https://github.com/Lyimmi) for this tip. Originally posted [here](https://github.com/wailsapp/wails/issues/1791#issuecomment-1228158349).
+
+Vetur is a popular plugin for Visual Studio Code that provides syntax highlighting and code completion for Vue projects. When loading a Wails project in VSCode, Vetur will throw an error as it is expecting to find the frontend project in the root directory. To fix this, you can do the following:
+
+Create a file named `vetur.config.js` in the project's root.
+
+```javascript
+// vetur.config.js
+/** @type {import('vls').VeturConfig} */
+module.exports = {
+ // **optional** default: `{}`
+ // override vscode settings
+ // Notice: It only affects the settings used by Vetur.
+ settings: {
+ "vetur.useWorkspaceDependencies": true,
+ "vetur.experimental.templateInterpolationService": true
+ },
+ // **optional** default: `[{ root: './' }]`
+ // support monorepos
+ projects: [
+ {
+ // **required**
+ // Where is your project?
+ // It is relative to `vetur.config.js`.
+ // root: './packages/repo1',
+ root: './frontend',
+ // **optional** default: `'package.json'`
+ // Where is `package.json` in the project?
+ // We use it to determine the version of vue.
+ // It is relative to root property.
+ package: './package.json',
+ // **optional**
+ // Where is TypeScript config file in the project?
+ // It is relative to root property.
+ tsconfig: './tsconfig.json',
+ // **optional** default: `'./.vscode/vetur/snippets'`
+ // Where is vetur custom snippets folders?
+ snippetFolder: './.vscode/vetur/snippets',
+ // **optional** default: `[]`
+ // Register globally Vue component glob.
+ // If you set it, you can get completion by that components.
+ // It is relative to root property.
+ // Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
+ globalComponents: [
+ './src/components/**/*.vue'
+ ]
+ }
+ ]
+}
+```
+
+Next, configure `frontend/tsconfig.json`:
+
+```javascript
+{
+ "compilerOptions": {
+ "module": "system",
+ "noImplicitAny": true,
+ "removeComments": true,
+ "preserveConstEnums": true,
+ "sourceMap": true,
+ "outFile": "../../built/local/tsc.js",
+ "allowJs": true
+ },
+ "exclude": [
+ "node_modules",
+ "**/*.spec.ts"
+ ],
+ "include": [
+ "src/**/*",
+ "wailsjs/**/*.ts"
+ ]
+}
+```
+This should enable you to now use Vetur as expected.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/windows-installer.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/windows-installer.mdx
new file mode 100644
index 000000000..88a1698db
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/windows-installer.mdx
@@ -0,0 +1,58 @@
+# NSIS installer
+
+```mdx-code-block
+
+
+
+
+```
+
+Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/).
+
+## Installing NSIS
+
+### Windows
+
+The installer is available on the [NSIS Download](https://nsis.sourceforge.io/Download) page.
+
+If you use the chocolatey package manager, run the following script:
+
+```
+choco install nsis
+```
+
+If you install NSIS manually, you need to add the _Bin_ folder, which contains `makensis.exe`, in your NSIS installation to your path. [Here](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/) is a good tutorial on how to add to path on Windows.
+
+### Linux
+
+The `nsis` package should be available through your distribution's package manager.
+
+### MacOS
+
+NSIS is available to install through homebrew: `brew install nsis`.
+
+## Generating the installer
+
+When a new project is created, Wails generates the NSIS configuration files in `build/windows/installer`. The config data is read from `installer/info.json` and that is configured to use the project's `wails.json` Info section:
+
+```json
+// ...
+ "Info": {
+ "companyName": "My Company Name",
+ "productName": "Wails Vite",
+ "productVersion": "1.0.0",
+ "copyright": "Copyright.........",
+ "comments": "Built using Wails (https://wails.io)"
+ },
+```
+
+To generate an installer for your application, use the `-nsis` flag with `wails build`:
+
+```
+wails build -nsis
+```
+
+The installer will now be available in the `build/bin` directory.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/windows.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/windows.mdx
new file mode 100644
index 000000000..821808c0b
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/guides/windows.mdx
@@ -0,0 +1,61 @@
+# Windows
+
+This page has miscellaneous guides related to developing Wails applications for Windows.
+
+## Handling the WebView2 Runtime Dependency
+
+Wails applications built for Windows have a runtime requirement on the Microsoft [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Windows 11 will have this installed by default, but some machines won't. Wails offers an easy approach to dealing with this dependency.
+
+By using the `-webview2` flag when building, you can decide what your application will do when a suitable runtime is not detected (including if the installed runtime is too old). The four options are:
+
+1. Download
+2. Embed
+3. Browser
+4. Error
+
+### Download
+
+This option will prompt the user that no suitable runtime has been found and then offer to download and run the official bootstrapper from Microsoft's WebView2 site. If the user proceeds, the official bootstrapper will be downloaded and run.
+
+### Embed
+
+This option embeds the official bootstrapper within the application. If no suitable runtime has been found, the application will offer to run the bootstrapper. This adds ~150k to the binary size.
+
+### Browser
+
+This option will prompt the user that no suitable runtime has been found and then offer to open a browser to the official WebView2 page where the bootstrapper can be downloaded and installed. The application will then exit, leaving the installation up to the user.
+
+### Error
+
+If no suitable runtime is found, an error is given to the user and no further action taken.
+
+## Fixed version runtime
+
+Another way of dealing with webview2 dependency is shipping it yourself. You can download [fixed version runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) and bundle or download it with your application.
+
+Also, you should specify path to fixed version of webview2 runtime in the `windows.Options` structure when launching wails.
+
+```go
+ wails.Run(&options.App{
+ Windows: &windows.Options{
+ WebviewBrowserPath: "",
+ },
+ })
+```
+
+Note: When `WebviewBrowserPath` is specified, `error` strategy will be forced in case of minimal required version mismatch or invalid path to a runtime.
+
+## Spawning other programs
+
+When spawning other programs, such as scripts, you will see the window appear on the screen. To hide the window, you can use the following code:
+
+```go
+cmd := exec.Command("your_script.exe")
+cmd.SysProcAttr = &syscall.SysProcAttr{
+ HideWindow: true,
+ CreationFlags: 0x08000000,
+}
+cmd.Start()
+```
+
+Solution provided by [sithembiso](https://github.com/sithembiso) on the [discussions board](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/howdoesitwork.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/howdoesitwork.mdx
new file mode 100644
index 000000000..11fe0ad9f
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/howdoesitwork.mdx
@@ -0,0 +1,365 @@
+---
+sidebar_position: 20
+---
+
+# どうやって動いているの?
+
+Wailsは、webkitフロントエンドを備えた、何の変哲もないGoアプリです。 アプリ全体のうちGoの部分は、アプリのコードと、ウィンドウ制御などの便利な機能を提供するランタイムライブラリで構成されています。 フロントエンドはwebkitウィンドウであり、フロンドエンドアセットをウィンドウ上に表示します。 フロントエンドからも、Javascriptでランタイムライブラリを呼び出すことができます。 そして最終的に、Goのメソッドはフロントエンドにバインドされ、ローカルのJavascriptメソッドであるかのように、フロントエンドから呼び出すことができます。
+
+```mdx-code-block
+
+
+```
+
+When clicked, that will open an about message box:
+
+```mdx-code-block
+
+
+
+
+```
+
+### Linux
+
+[Linux固有のオプション](#linux)を定義します。
+
+名前: Linux データ型: `*linux.Options`
+
+#### Icon
+
+Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified).
+
+名前: Icon データ型: `[]byte`
+
+Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.
+
+NOTE: Gnome on Wayland at least does not display this icon. To have a application icon there, a `.desktop` file has to be used. On KDE it should work.
+
+The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
+
+#### WindowIsTranslucent
+
+Setting this to `true` will make the window background translucent. Some window managers may ignore it, or result in a black window.
+
+名前: WindowIsTranslucent データ型: `bool`
\ No newline at end of file
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/project-config.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/project-config.mdx
new file mode 100644
index 000000000..cc9d01aa6
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/project-config.mdx
@@ -0,0 +1,53 @@
+---
+sidebar_position: 5
+---
+
+# Project Config
+
+The project config resides in the `wails.json` file in the project directory. The structure of the config is:
+
+```json
+{
+ "name": "[The project name]",
+ "assetdir": "[Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty]",
+ "reloaddirs": "[Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations]",
+ "frontend:install": "[The command to install node dependencies, run in the frontend directory - often `npm install`]",
+ "frontend:build": "[The command to build the assets, run in the frontend directory - often `npm run build`]",
+ "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build]",
+ "frontend:dev:build": "[This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev]",
+ "frontend:dev:install": "[This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install]",
+ "frontend:dev:watcher": "[This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers]",
+ "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output]",
+ "wailsjsdir": "[Relative path to the directory that the auto-generated JS modules will be created]",
+ "version": "[Project config version]",
+ "outputfilename": "[The name of the binary]",
+ "debounceMS": 100, // The default time the dev server waits to reload when it detects a change in assets
+ "devServer": "[Address to bind the wails dev sever to. Default: localhost:34115]",
+ "appargs": "[Arguments passed to the application in shell style when in dev mode]",
+ "runNonNativeBuildHooks": false, // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "preBuildHooks": {
+ "GOOS/GOARCH": "[The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
+ "GOOS/*": "[The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.]",
+ "*/*": "[The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".]"
+ },
+ "postBuildHooks": {
+ "GOOS/GOARCH": "[The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
+ "GOOS/*": "[The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.]",
+ "*/*": "[The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.]"
+ },
+ "info": { // Data used to populate manifests and version info.
+ "companyName": "[The company name. Default: [The project name]]",
+ "productName": "[The product name. Default: [The project name]]",
+ "productVersion": "[The version of the product. Default: '1.0.0']",
+ "copyright": "[The copyright of the product. Default: 'Copyright.........']",
+ "comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']"
+ },
+ "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']",
+ "obfuscated": "[Whether the app should be obfuscated. Default: false]",
+ "garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]"
+}
+```
+
+This file is read by the Wails CLI when running `wails build` or `wails dev`.
+
+The `assetdir`, `reloaddirs`, `wailsjsdir`, `debounceMS`, `devserver` and `frontenddevserverurl` flags in `wails build/dev` will update the project config and thus become defaults for subsequent runs.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/_category_.json b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/_category_.json
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/_category_.json
rename to website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/_category_.json
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/browser.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/browser.mdx
new file mode 100644
index 000000000..39ae7e0a9
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# Browser
+
+これらは、システムブラウザに関連したメソッドです。
+
+### BrowserOpenURL
+
+指定されたURLをシステムブラウザで開きます。
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/dialog.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/dialog.mdx
new file mode 100644
index 000000000..28c91d225
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/dialog.mdx
@@ -0,0 +1,304 @@
+---
+sidebar_position: 5
+---
+
+# ダイアログ
+
+ランタイムでは、ファイルセレクターやメッセージボックスといったネイティブダイアログへのアクセスを提供しています。
+
+:::info Javascript
+
+
+現在、Javascriptランタイムではダイアログをサポートしていません。
+
+:::
+
+
+### OpenDirectoryDialog
+
+ユーザにディレクトリの選択を求めるダイアログを開きます。 [OpenDialogOptions](#opendialogoptions)を使用してカスタマイズできます。
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+返り値: 選択されたディレクトリ(キャンセルされた場合は空) またはエラー
+
+### OpenFileDialog
+
+ユーザにファイルの選択を求めるダイアログを開きます。 [OpenDialogOptions](#opendialogoptions)を使用してカスタマイズできます。
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+返り値: 選択されたファイル(キャンセルされた場合は空) またはエラー
+
+### OpenMultipleFilesDialog
+
+ユーザに複数ファイルの選択を求めるダイアログを開きます。 [OpenDialogOptions](#opendialogoptions)を使用してカスタマイズできます。
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+返り値: 選択された複数ファイル(キャンセルされた場合はnil) またはエラー
+
+### SaveFileDialog
+
+保存の目的でユーザにファイル名を入力選択させるダイアログを開きます。 [SaveDialogOptions](#savedialogoptions)を使用してカスタマイズできます。
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+返り値: 入力選択されたファイル(キャンセルされた場合は空) またはエラー
+
+### MessageDialog
+
+メッセージダイアログを使用してメッセージを表示します。 [MessageDialogOptions](#messagedialogoptions)を使用してカスタマイズできます。
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+返り値: 選択されたボタンのテキストまたはエラー
+
+## オプション
+
+### OpenDialogOptions
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| -------------------------- | ------------------------- | --- | --- | --- |
+| DefaultDirectory | ダイアログが開かれたときに初期表示するディレクトリ | ✅ | ✅ | ✅ |
+| DefaultFilename | デフォルトファイル名 | ✅ | ✅ | ✅ |
+| Title | ダイアログのタイトル | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | ファイルフィルタのリスト | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | システムの隠しファイルを表示 | | ✅ | ✅ |
+| CanCreateDirectories | ユーザによるディレクトリの作成を許可する | | ✅ | |
+| ResolvesAliases | エイリアスではなくファイルパスを返す | | ✅ | |
+| TreatPackagesAsDirectories | パッケージへのナビゲーションを許可 | | ✅ | |
+
+### SaveDialogOptions
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| -------------------------- | ------------------------- | --- | --- | --- |
+| DefaultDirectory | ダイアログが開かれたときに初期表示するディレクトリ | ✅ | ✅ | ✅ |
+| DefaultFilename | デフォルトファイル名 | ✅ | ✅ | ✅ |
+| Title | ダイアログのタイトル | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | ファイルフィルタのリスト | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | システムの隠しファイルを表示 | | ✅ | ✅ |
+| CanCreateDirectories | ユーザによるディレクトリの作成を許可する | | ✅ | |
+| TreatPackagesAsDirectories | パッケージへのナビゲーションを許可 | | ✅ | |
+
+### MessageDialogOptions
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| Field | Description | Win | Mac | Lin |
+| ------------- | ------------------------------------------------- | -------------- | --- | --- |
+| Type | メッセージダイアログの種類 (質問、情報など) | ✅ | ✅ | ✅ |
+| Title | ダイアログのタイトル | ✅ | ✅ | ✅ |
+| Message | ユーザに表示するメッセージ | ✅ | ✅ | ✅ |
+| Buttons | ボタンテキストのリスト | | ✅ | |
+| DefaultButton | 指定されたテキストのボタンをデフォルトボタンとして扱う。 Bound to `return`. | ✅[*](#windows) | ✅ | |
+| CancelButton | 指定されたテキストのボタンをキャンセルボタンとして扱う。 `escape`キーにバインドされます。 | | ✅ | |
+
+#### Windows
+
+Windowsでは、ボタンのカスタマイズができない標準ダイアログタイプがあります。 The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue".
+
+For Question dialogs, the default button is "Yes" and the cancel button is "No". This can be changed by setting the `DefaultButton` value to `"No"`.
+
+Example:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linux has standard dialog types in which the buttons are not customisable. The value returned will be one of: "Ok", "Cancel", "Yes", "No"
+
+#### Mac
+
+A message dialog on Mac may specify up to 4 buttons. If no `DefaultButton` or `CancelButton` is given, the first button is considered default and is bound to the `return` key.
+
+For the following code:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+})
+```
+
+1番目のボタンがデフォルトになります:
+
+```mdx-code-block
+
+
+
+
+```
+
+And if we specify `DefaultButton` to be "two":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+})
+```
+
+the second button is shown as default. When `return` is pressed, the value "two" is returned.
+
+```mdx-code-block
+
+
+
+
+```
+
+If we now specify `CancelButton` to be "three":
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+ DefaultButton: "two",
+ CancelButton: "three",
+})
+```
+
+the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### DialogType
+
+```go
+const (
+ InfoDialog DialogType = "info"
+ WarningDialog DialogType = "warning"
+ ErrorDialog DialogType = "error"
+ QuestionDialog DialogType = "question"
+ )
+```
+
+### FileFilter
+
+```go
+type FileFilter struct {
+ DisplayName string // Filter information EG: "Image Files (*.jpg, *.png)"
+ Pattern string // semi-colon separated list of extensions, EG: "*.jpg;*.png"
+}
+```
+
+#### Windows
+
+Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
+
+```mdx-code-block
+
+
+
+
+
+
+```
+
+#### Linux
+
+Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the dialog:
+
+```mdx-code-block
+
+
+```
+
+:::note
+
+
+This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples).
+
+:::
+
+
+In this tutorial we are going to develop an application that retrieves photos of dogs from the web and then displays them.
+
+### Create the project
+
+Let's create the application. From a terminal enter: `wails init -n dogs-api -t svelte`
+
+Note: We could optionally add `-ide vscode` or `-ide goland` to the end of this command if you wanted to add IDE support.
+
+Now let's `cd dogs-api` and start editing the project files.
+
+### Remove unused code
+
+We will start by removing some elements that we know we will not use:
+
+- Open `app.go` and remove the following lines:
+
+```go
+// Greet returns a greeting for the given name
+func (a *App) Greet(name string) string {
+ return fmt.Sprintf("Hello %s, It's show time!", name)
+}
+```
+
+- Open `frontend/src/App.svelte` and delete all lines.
+- Delete the `frontend/src/assets/images/logo-universal.png` file
+
+### Creating our application
+
+Now let's add our new Go code.
+
+Add the following struct declarations to `app.go` before the function definitions:
+
+```go
+type RandomImage struct {
+ Message string
+ Status string
+}
+
+type AllBreeds struct {
+ Message map[string]map[string][]string
+ Status string
+}
+
+type ImagesByBreed struct {
+ Message []string
+ Status string
+}
+```
+
+Add the following functions to `app.go` (perhaps after the existing function definitions):
+
+```go
+func (a *App) GetRandomImageUrl() string {
+ response, err := http.Get("https://dog.ceo/api/breeds/image/random")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data RandomImage
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+
+func (a *App) GetBreedList() []string {
+ var breeds []string
+
+ response, err := http.Get("https://dog.ceo/api/breeds/list/all")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data AllBreeds
+ json.Unmarshal(responseData, &data)
+
+ for k := range data.Message {
+ breeds = append(breeds, k)
+ }
+
+ sort.Strings(breeds)
+
+ return breeds
+}
+
+func (a *App) GetImageUrlsByBreed(breed string) []string {
+
+ url := fmt.Sprintf("%s%s%s%s", "https://dog.ceo/api/", "breed/", breed, "/images")
+ response, err := http.Get(url)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ responseData, err := ioutil.ReadAll(response.Body)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ var data ImagesByBreed
+ json.Unmarshal(responseData, &data)
+
+ return data.Message
+}
+```
+
+Modify the `import` section of `app.go` to look like this:
+
+```go
+import (
+ "context"
+ "fmt"
+ "encoding/json"
+ "io/ioutil"
+ "log"
+ "net/http"
+ "sort"
+)
+```
+
+Add the following lines to `frontend/src/App.svelte`:
+
+
+```html
+
+
+
Dogs API
+
+
+ Click on down arrow to select a breed
+
+
+
+
+{#if showRandomPhoto}
+
+{/if}
+{#if showBreedPhotos}
+ {#each photos as photo}
+
+ {/each}
+{/if}
+
+
+```
+
+
+
+
+### Testing the application
+
+To generate the bindings and test the application, run `wails dev`.
+
+### Compiling the application
+
+To compile the application to a single, production grade binary, run `wails build`.
diff --git a/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/tutorials/helloworld.mdx b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/tutorials/helloworld.mdx
new file mode 100644
index 000000000..3e198f06b
--- /dev/null
+++ b/website/i18n/ja/docusaurus-plugin-content-docs/version-v2.1.0/tutorials/helloworld.mdx
@@ -0,0 +1,124 @@
+---
+sidebar_position: 10
+---
+
+# Hello World
+
+The aim of this tutorial is to get you up and running with the most basic application using Wails. You will be able to:
+
+- Create a new Wails application
+- Build the application
+- Run the application
+
+:::note
+
+
+This tutorial uses Windows as the target platform. Output will vary slightly depending on your operating system.
+
+:::
+
+
+## Create a new Wails application
+
+To create a new Wails application using the default vanilla JS template, you need to run the following command:
+
+```bash
+wails init -n helloworld
+```
+
+You should see something similar to the following:
+
+```
+Wails CLI v2.0.0
+
+Initialising Project 'helloworld'
+---------------------------------
+
+Project Name: helloworld
+Project Directory: C:\Users\leaan\tutorial\helloworld
+Project Template: vanilla
+Template Support: https://wails.io
+
+Initialised project 'helloworld' in 232ms.
+```
+
+This will create a new directory called `helloworld` in the current directory. In this directory, you will find a number of files:
+
+```
+build/ - Contains the build files + compiled application
+frontend/ - Contains the frontend files
+app.go - Contains the application code
+main.go - The main program with the application configuration
+wails.json - The project configuration file
+go.mod - The go module file
+go.sum - The go module checksum file
+```
+
+## Build the application
+
+To build the application, change to the new `helloworld` project directory and run the following command:
+
+```bash
+wails build
+```
+
+You should see something like the following:
+
+```
+Wails CLI v2.0.0
+
+App Type: desktop
+Platforms: windows/amd64
+Compiler: C:\Users\leaan\go\go1.18.3\bin\go.exe
+Build Mode: Production
+Skip Frontend: false
+Compress: false
+Package: true
+Clean Build Dir: false
+LDFlags: ""
+Tags: []
+Race Detector: false
+
+Building target: windows/amd64
+------------------------------
+ - Installing frontend dependencies: Done.
+ - Compiling frontend: Done.
+ - Generating bundle assets: Done.
+ - Compiling application: Done.
+Built 'C:\Users\leaan\tutorial\helloworld\build\bin\helloworld.exe' in 10.616s.
+```
+
+This has compiled the application and saved it in the `build/bin` directory.
+
+## Run the application
+
+If we view the `build/bin` directory in Windows Explorer, we should see our project binary:
+
+```mdx-code-block
+
+
+
+
+```
+
+We can run it by simply double-clicking the `helloworld.exe` file.
+
+On Mac, Wails generates a `helloworld.app` file which can be run by double-clicking it.
+
+On Linux, you can run the application using `./helloworld` from the `build/bin` directory.
+
+You should see the application working as expected:
+
+```mdx-code-block
+
+```
+
+[EmailIt](https://github.com/raguay/EmailIt/) is a Wails 2 program that is a markdown based email sender only with nine notepads, scripts to manipulate the text, and templates. It also has a builtin [Node-Red](https://nodered.org/) server, scripts terminal, and the [ScriptBar](https://github.com/raguay/ScriptBarApp) program for displaying results from Node-Red or a script on your system. Documentation is very scarce, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/encrypteasy.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/encrypteasy.mdx
new file mode 100644
index 000000000..7504950ea
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/encrypteasy.mdx
@@ -0,0 +1,12 @@
+# EncryptEasy
+
+```mdx-code-block
+
+
+
+
+```
+
+**[EncryptEasy](https://www.encrypteasy.app) is a simple and easy to use PGP encryption tool, managing all your and your contacts keys. Encryption should be simple. Developed with Wails.**
+
+Encrypting messages using PGP is the industry standard. Everyone has a private and a public key. Your private key, well, needs to be kept private so only you can read messages. Your public key is distributed to anyone who wants to send you secret, encrypted messages. Managing keys, encrypting messages and decrypting messages should be a smooth experience. EncryptEasy is all about making it easy.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/filehound.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/filehound.mdx
new file mode 100644
index 000000000..134365aaf
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/filehound.mdx
@@ -0,0 +1,16 @@
+# FileHound Export Utility
+
+```mdx-code-block
+
+
+
+
+```
+
+[FileHound Export Utility](https://www.filehound.co.uk/) FileHound is a cloud document management platform made for secure file retention, business process automation and SmartCapture capabilities.
+
+The FileHound Export Utility allows FileHound Administrators the ability to run a secure document and data extraction tasks for alternative back-up and recovery purposes. This application will download all documents and/or meta data saved in FileHound based on the filters you choose. The metadata will be exported in both JSON and XML formats.
+
+Backend built with: Go 1.15 Wails 1.11.0 go-sqlite3 1.14.6 go-linq 3.2
+
+Frontend with: Vue 2.6.11 Vuex 3.4.0 Typescript Tailwind 1.9.6
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/minecraftupdater.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 000000000..2f6c7c72b
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Minecraft Updater
+
+```mdx-code-block
+
+
+
+
+```
+
+[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) is a utility tool to update and synchronize Minecraft mods for your userbase. It’s built using Wails2 and React with [antd](https://ant.design/) as frontend framework.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/modalfilemanager.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 000000000..f8e2bcd66
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Modal File Manager
+
+```mdx-code-block
+
+
+
+
+```
+
+[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions.
+
+This file manager is designed around the same principle as Vim: a state controlled keyboard actions. The number of states isn't fixed, but very programmable. Therefore, an infinite number of keyboard configurations can be created and used. This is the main difference from other file managers.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/mollywallet.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/mollywallet.mdx
new file mode 100644
index 000000000..5d846d06d
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molly Wallet](https://github.com/grvlle/constellation_wallet/) the official $DAG wallet of the Constellation Network. It'll let users interact with the Hypergraph Network in various ways, not limited to producing $DAG transactions.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/october.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/october.mdx
new file mode 100644
index 000000000..66d634dc5
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io).
+
+It has a relatively small scope with all platform versions weighing in under 10MB, and that's without enabling [UPX compression](https://upx.github.io/)!
+
+In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/optimus.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/optimus.mdx
new file mode 100644
index 000000000..4f87479d6
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# Optimus
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) is a desktop image optimization application. It supports conversion and compression between WebP, JPEG, and PNG image formats.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/portfall.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/portfall.mdx
new file mode 100644
index 000000000..03e740f4c
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# Portfall
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - A desktop k8s port-forwarding portal for easy access to all your cluster UIs
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/restic-browser.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/restic-browser.mdx
new file mode 100644
index 000000000..3646384ec
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/riftshare.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/riftshare.mdx
new file mode 100644
index 000000000..6224bbf89
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app)
+
+## 功能
+
+- Easy secure file sharing between computers both in the local network and through the internet
+- Supports sending files or directories securely through the [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
+- Compatible with all other apps using magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
+- Automatic zipping of multiple selected files to send at once
+- Full animations, progress bar, and cancellation support for sending and receiving
+- Native OS File Selection
+- Open files in one click once received
+- Auto Update - don't worry about having the latest release!
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/scriptbar.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/scriptbar.mdx
new file mode 100644
index 000000000..2ccb2acb4
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of the embedded [Node-Red](https://nodered.org) server in the [EmailIt](https://GitHub.com/raguay/EmailIt) application. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/surge.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/surge.mdx
new file mode 100644
index 000000000..c3b3fb4c0
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wally.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wally.mdx
new file mode 100644
index 000000000..7408aa585
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wombat.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wombat.mdx
new file mode 100644
index 000000000..f100c55e2
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# Wombat
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/ytd.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/ytd.mdx
new file mode 100644
index 000000000..5db428f72
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/showcase/ytd.mdx
@@ -0,0 +1,10 @@
+# Ytd
+
+```mdx-code-block
+
+
+
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/templates.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/templates.mdx
new file mode 100644
index 000000000..8e9f51284
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/community/templates.mdx
@@ -0,0 +1,56 @@
+---
+sidebar_position: 1
+---
+
+# 模板
+
+此页面用作社区支持的模板列表。 请提交一个包含您的模板的 PR(点击页面底部的 `编辑此页`)。 要构建您自己的模板,请参考 [模板](../guides/templates) 指南。
+
+要使用这些模板,请运行 `wails init -n "您的项目名" -t [下面的链接[@版本]]`
+
+如果不带版本后缀,默认使用的是主分支代码模板。 如果带有版本后缀,则使用该版本对应标签的代码模板。
+
+示例:`wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue`
+
+:::warning 注意
+
+
+**Wails 项目不维护也不对第 3 方模板负责**
+
+如果您不确定某个模板,请检查 `package.json` 和 `wails.json` 中安装的模块和运行的脚本。
+
+:::
+
+
+## Vue
+
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - 基于 Vue 生态的 Wails 模板(集成 TypeScript、黑暗主题、国际化、单页路由、TailwindCSS)
+- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - 使用 Vite 的 Vue 3 TypeScript(以及添加功能的说明)
+- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - 使用 Vite, Vuex, Vue Router, Sass, 和 ESLint + Prettier 的 Vue 3 TypeScript
+
+## Angular
+
+- [wails-angular-template](https://github.com/TAINCER/wails-angular-template) - 带有 TypeScript, Sass, 热重载, 代码拆分和 i18n 的 Angular
+
+## React
+
+- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - 基于 reactjs 的模板
+- [wails-react-template](https://github.com/flin7/wails-react-template) - 基于 React 并支持实时开发模式的轻量级模板
+- [wails-vite-react-ts](https://github.com/lontten/wails-vite-react-ts) - 基于 Vite + React + TypeScript 的模板
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - 一个 React + TypeScript + Vite + TailwindCSS 模板
+
+## Svelte
+
+- [wails-svelte-template](https://github.com/raitonoberu/wails-svelte-template) - 基于 Svelte 的模板
+- [wails-vite-svelte-template](https://github.com/BillBuilt/wails-vite-svelte-template) - 使用 Svelte 和 Vite 的模板
+- [wails-vite-svelte-tailwind-template](https://github.com/BillBuilt/wails-vite-svelte-tailwind-template) - 使用 Svelte 和 Vite 和 TailwindCSS v3 的模板
+- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - 基于 Next.js + TypeScript 的模板
+
+## Elm
+
+- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - 使用函数式编程和 **快速** 的热重载设置开发您的 GUI 应用程序 :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - 结合 Elm + Tailwind CSS + Wails 的力量 :muscle: ! 支持热重载。
+
+## 纯 JavaScript (Vanilla)
+
+- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - 一个只有基本 JavaScript、HTML 和 CSS 的模板
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/developing-new-features.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/developing-new-features.mdx
new file mode 100644
index 000000000..9fc9025bd
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/developing-new-features.mdx
@@ -0,0 +1,34 @@
+---
+sidebar_position: 20
+---
+
+# 开发新功能
+
+We are always keen to add features to Wails and expand on what the project can do. The process for adding new features are as follows: The process for adding new features are as follows: We are always keen to add features to Wails and expand on what the project can do. The process for adding new features are as follows: The process for adding new features are as follows: The process for adding new features are as follows:
+
+- Pick an enhancement ticket with the "TODO" label. Pick an enhancement ticket with the "TODO" label. Pick an enhancement ticket with the "TODO" label. It's preferable to select one from the current [Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) but the choice is yours.
+- Before developing, check that the ticket includes the following information:
+- The purpose of the enhancement
+- What is out of scope for the enhancement
+- What platforms the enhancement targets (most features should be cross-platform unless there's a very specific reason)
+- If the ticket does not include this information, feel free to request the information from the person who opened the ticket. Sometimes placeholder tickets are created and require more details Sometimes placeholder tickets are created and require more details Sometimes placeholder tickets are created and require more details
+- Comment on the ticket stating you wish to develop the feature
+- Clone the repository and create a branch with the format `feature/_`
+- New features often require documentation so please ensure you have also added or updated the documentation as part of the changes
+- Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested. Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested. Once the feature is ready for testing, create a draft PR. Once the feature is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested.
+- Once all the testing is completed, please update the status of the PR from draft and leave a message.
+
+:::note
+There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
+enhancement requests are reviewed for good fit. Not all ideas will be selected so it's best to have discussion
+on the ticket first.
+::: Not all ideas will be selected so it's best to have discussion
+on the ticket first.
+::: Not all ideas will be selected so it's best to have discussion
+on the ticket first.
+:::
+
+:::warning
+Any PRs opened without a corresponding ticket may be rejected.
+::: :::
+:::
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/documenting.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/documenting.mdx
new file mode 100644
index 000000000..84e472903
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/documenting.mdx
@@ -0,0 +1,34 @@
+---
+sidebar_position: 40
+---
+
+# 文档
+
+This website is also the main documentation site for the project. Sometimes this gets out of date and needs some slight adjustments. Some of the documentation isn't written to the best standards either. Developing documentation is hard and so any contribution to this is greatly appreciated. Features without documentation are unfinished so to the project, it's _as important_ as the code.
+
+We generally do not create tickets for updating documentation so if there is text you think should be updated or rephrased then feel free to submit a PR for that. This site is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create the site so there is plenty of existing documentation and tutorials around to get started. This site is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create the site so there is plenty of existing documentation and tutorials around to get started. This site is in the main repository under the `website` directory. We use [Docusaurus](https://docusaurus.io/) to create the site so there is plenty of existing documentation and tutorials around to get started.
+
+To set up a local documentation development environment, do the following:
+
+- [Install npm](https://docs.npmjs.com/cli/v8/configuring-npm/install)
+- `cd website`
+- `npm install`
+- `npm run start`
+
+After it has all installed and is running, you should see the site at [`http://localhost:3000`](http://localhost:3000). Any changes made to the site text will be immediately reflected in the browser. Any changes made to the site text will be immediately reflected in the browser. Any changes made to the site text will be immediately reflected in the browser.
+
+## Versioning
+
+We employ a versioning system where we have the "latest" documentation AKA "Next Version" which has all the changes that have occurred since the last release. We also keep the last release documentation as well as the version before that. We also keep the last release documentation as well as the version before that. We also keep the last release documentation as well as the version before that.
+
+There isn't usually a reason to update released documentation so we don't generally update the documents in the `versioned_docs` or `versioned_sidebars` directories.
+
+The "next version" docs are mainly in `website/docs` with some "version independent" documents in `src/pages`. Any updates should be made in the `website/docs` directory. Any updates should be made in the `website/docs` directory. Any updates should be made in the `website/docs` directory.
+
+## Languages
+
+The default documents of the Wails project are English documents. We use the "crowdin" tool to translate documents in other languages and synchronize them to the website. You can [join our project](https://crowdin.com/project/wails) and submit your translations to make contributions.
+
+### Add new language
+
+If you want to add a new language to the documentation, please follow the prompts to [fill in and submit an Issue](https://github.com/wailsapp/wails/issues/new?assignees=&labels=documentation&template=documentation.yml). After being confirmed by the maintainer, we will add the language to the "crowdin" and you will then be able to submit your translation.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/fixing-bugs.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/fixing-bugs.mdx
new file mode 100644
index 000000000..01eceeccd
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/fixing-bugs.mdx
@@ -0,0 +1,29 @@
+---
+sidebar_position: 30
+---
+
+# 修复漏洞
+
+The process for fixing bugs are as follows:
+
+- Check the current [Backlog](https://github.com/orgs/wailsapp/projects/1/views/1) and select a bug to fix
+- Before developing, check that the ticket includes the following information:
+- The scope of the issue including platforms affected
+- The steps to reproduce. The steps to reproduce. The steps to reproduce. Sometimes bugs are opened that are not Wails issues and the onus is on the reporter to prove that it is a Wails issue with a minimal reproducible example
+- The output of `wails doctor`
+- If the ticket does not include this information, feel free to request the information from the person who opened the ticket.
+- Comment on the ticket stating you wish to develop a fix
+- Clone the repository and create a branch with the format `bugfix/_`
+- Once the fix is ready for testing, create a draft PR. Once the fix is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested. Once the fix is ready for testing, create a draft PR. Please ensure the PR description has the test scenarios and test cases listed with checkmarks, so that others can know what still needs to be tested.
+- Once all the testing is completed, please update the status of the PR from draft and leave a message.
+
+:::note
+There is nothing stopping you from opening a ticket and working on it yourself, but please be aware that all
+bugfixes should be discussed as the approach may have unintended side effects.
+::: :::
+:::
+
+:::warning
+Any PRs opened without a corresponding ticket may be rejected.
+::: :::
+:::
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/setting-up-a-dev-environment.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/setting-up-a-dev-environment.mdx
new file mode 100644
index 000000000..1133e275d
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/setting-up-a-dev-environment.mdx
@@ -0,0 +1,30 @@
+---
+sidebar_position: 10
+---
+
+# 设置开发环境
+
+You can set up a development environment by doing the following:
+
+- Install the latest versions of Go and Git
+- `git clone https://github.com/wailsapp/wails`
+- `cd wails/v2/cmd/wails`
+- `go install`
+
+NOTE: The directory that you cloned the project into will now be called "clonedir".
+
+The Wails CLI will now be at the very latest version.
+
+To update projects to use the latest version, update the project's `go.mod` and ensure the following line is at the bottom of the file:
+
+`replace github.com/wailsapp/wails/v2 => `
+
+Example:
+
+On Windows: `replace github.com/wailsapp/wails/v2 => C:\Users\leaan\Documents\wails-v2-beta\wails\v2`
+
+On 'nix: `replace github.com/wailsapp/wails/v2 => /home/me/projects/wails/v2`
+
+To revert back to a stable version, run:
+
+`go install github.com/wailsapp/wails/v2/cmd/wails@latest`
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/ways-of-contributing.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/ways-of-contributing.mdx
new file mode 100644
index 000000000..3bbe9a889
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/contributing/ways-of-contributing.mdx
@@ -0,0 +1,18 @@
+---
+sidebar_position: 1
+---
+
+# 贡献方式
+
+Wails is an open source, community driven project. We welcome anyone to join us in contributing to the project. This documentation is aimed at anyone wishing to get familiar with the project and the development processes. We welcome anyone to join us in contributing to the project. This documentation is aimed at anyone wishing to get familiar with the project and the development processes.
+
+There are many ways to contribute to the project:
+
+- Developing new features
+- Fixing bugs
+- Testing
+- Documenting features
+- Writing tutorials / guides
+- Helping others on the issues + discussions boards
+
+Guides for these have been created in their own sections. Guides for these have been created in their own sections. Guides for these have been created in their own sections. Before getting started, please introduce yourself in the [Contributing to Wails](https://github.com/wailsapp/wails/discussions/1520) discussion.
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/_category_.json b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/_category_.json
new file mode 100644
index 000000000..597b920df
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Getting Started",
+ "position": 10
+}
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/building.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/building.mdx
new file mode 100644
index 000000000..c4fe879bc
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/gettingstarted/building.mdx
@@ -0,0 +1,22 @@
+---
+sidebar_position: 6
+---
+
+# 编译您的项目
+
+从项目目录,运行 `wails build`。 这将编译您的项目并将构建的可用于生产的二进制文件保存在 `build/bin` 目录中。
+
+如果您运行二进制文件,您应该会看到默认应用程序:
+
+```mdx-code-block
+
+
+```
+
+### Linux
+
+这定义了 [Linux 特定的选项](#linux)。
+
+名称:Linux 类型:`*linux.Options`
+
+#### 图标
+
+设置代表窗口的图标。 当窗口最小化(也称为图标化)时使用此图标。
+
+名称:Icon 类型:`[]byte`
+
+一些窗口管理器或桌面环境也可能将其放置在窗口框架中,或在其他上下文中显示。 在其他情况下,根本不使用该图标,因此您的预计情况可能会有所不同。
+
+注意:Wayland 上的 Gnome 至少不显示此图标。 要在那里有一个应用程序图标,必须使用一个`.desktop`文件。 在 KDE 上它应该可以工作。
+
+图标应该以自然绘制的任何尺寸提供;也就是说,在传递图像之前不要缩放图像。 缩放将延迟到当所需的最终尺寸已知的最后一刻,以获得最佳质量。
+
+#### 窗口半透明
+
+将此设置为 `true` 将使窗口半透明。 某些窗口管理员可能忽略它,或导致黑窗口。
+
+名称:WindowIsTranslucent 类型:`bool`
\ No newline at end of file
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/project-config.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/project-config.mdx
new file mode 100644
index 000000000..a21d26b5d
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/project-config.mdx
@@ -0,0 +1,53 @@
+---
+sidebar_position: 5
+---
+
+# 项目配置
+
+项目配置在项目目录中的 `wails.json` 文件中。 配置的结构是:
+
+```json
+{
+ "name": "[The project name]",
+ "assetdir": "[Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty]",
+ "reloaddirs": "[Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations]",
+ "frontend:install": "[The command to install node dependencies, run in the frontend directory - often `npm install`]",
+ "frontend:build": "[The command to build the assets, run in the frontend directory - often `npm run build`]",
+ "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build]",
+ "frontend:dev:build": "[This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev]",
+ "frontend:dev:install": "[This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install]",
+ "frontend:dev:watcher": "[This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers]",
+ "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output]",
+ "wailsjsdir": "[Relative path to the directory that the auto-generated JS modules will be created]",
+ "version": "[Project config version]",
+ "outputfilename": "[The name of the binary]",
+ "debounceMS": 100, // The default time the dev server waits to reload when it detects a change in assets
+ "devServer": "[Address to bind the wails dev sever to. Default: localhost:34115]",
+ "appargs": "[Arguments passed to the application in shell style when in dev mode]",
+ "runNonNativeBuildHooks": false, // Defines if build hooks should be run though they are defined for an OS other than the host OS.
+ "preBuildHooks": {
+ "GOOS/GOARCH": "[The command that will be executed before a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
+ "GOOS/*": "[The command that will be executed before a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH". The "GOOS/*" hook is executed before the "*/*" hook.]",
+ "*/*": "[The command that will be executed before every build: ${platform} is replaced with the "GOOS/GOARCH".]"
+ },
+ "postBuildHooks": {
+ "GOOS/GOARCH": "[The command that will be executed after a build of the specified GOOS/GOARCH: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/GOARCH" hook is executed before the "GOOS/*" and "*/*" hook.]",
+ "GOOS/*": "[The command that will be executed after a build of the specified GOOS: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary. The "GOOS/*" hook is executed before the "*/*" hook.]",
+ "*/*": "[The command that will be executed after every build: ${platform} is replaced with the "GOOS/GOARCH" and ${bin} with the path to the compiled binary.]"
+ },
+ "info": { // Data used to populate manifests and version info.
+ "companyName": "[The company name. Default: [The project name]]",
+ "productName": "[The product name. Default: [The project name]]",
+ "productVersion": "[The version of the product. Default: '1.0.0']",
+ "copyright": "[The copyright of the product. Default: 'Copyright.........']",
+ "comments": "[A short comment of the app. Default: 'Built using Wails (https://wails.app)']"
+ },
+ "nsisType": "['multiple': One installer per architecture. 'single': Single universal installer for all architectures being built. Default: 'multiple']",
+ "obfuscated": "[Whether the app should be obfuscated. Default: false]",
+ "garbleargs": "[The arguments to pass to the garble command when using the obfuscated flag]"
+}
+```
+
+该文件将在运行 `wails build` 或 `wails dev` 时,由 Wails CLI 读取。
+
+`wails build/dev` 命令中的 `assetdir`、`reloaddirs`、`wailsjsdir`、`debounceMS`、`devserver` 和 `frontenddevserverurl` 标志将覆盖项目配置并作为后续运行的默认值。
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/_category_.json b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/_category_.json
new file mode 100644
index 000000000..ac6d55488
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Runtime",
+ "position": 1
+}
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/browser.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/browser.mdx
new file mode 100644
index 000000000..26b81b958
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/browser.mdx
@@ -0,0 +1,13 @@
+---
+sidebar_position: 7
+---
+
+# 浏览器
+
+这些方法与系统浏览器相关。
+
+### 浏览器打开 URL
+
+使用系统默认浏览器打开给定的 URL。
+
+Go: `BrowserOpenURL(ctx context.Context, url string)` JS: `BrowserOpenURL(url string)`
diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/dialog.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/dialog.mdx
new file mode 100644
index 000000000..169a288f2
--- /dev/null
+++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.1.0/reference/runtime/dialog.mdx
@@ -0,0 +1,304 @@
+---
+sidebar_position: 5
+---
+
+# 对话框
+
+运行时的这一部分提供对原生对话框的调用,例如文件选择器和消息框。
+
+:::info Javascript
+
+
+JS 运行时当前不支持对话框。
+
+:::
+
+
+### 打开选择目录对话框
+
+打开一个对话框,提示用户选择目录。 可以使用 [ 打开选择文件对话框参数选项](#打开选择文件对话框参数选项) 进行自定义。
+
+Go: `OpenDirectoryDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+返回值: 所选目录(如果用户取消则为空白)或错误
+
+### 打开选择文件对话框
+
+打开一个对话框,提示用户选择文件。 可以使用 [ 打开选择文件对话框参数选项](#打开选择文件对话框参数选项) 进行自定义。
+
+Go: `OpenFileDialog(ctx context.Context, dialogOptions OpenDialogOptions) (string, error)`
+
+返回值: 所选文件(如果用户取消则为空白)或错误
+
+### 打开选择多文件对话框
+
+打开一个对话框,提示用户选择多个文件。 可以使用 [ 打开选择文件对话框参数选项](#打开选择文件对话框参数选项) 进行自定义。
+
+Go: `OpenMultipleFilesDialog(ctx context.Context, dialogOptions OpenDialogOptions) ([]string, error)`
+
+返回值: 选定的文件(如果用户取消则为 nil)或错误
+
+### 保存文件对话框
+
+打开一个对话框,提示用户选择文件名以进行保存。 可以使用 [保存文件对话框参数选项](#保存文件对话框参数选项) 自定义。
+
+Go: `SaveFileDialog(ctx context.Context, dialogOptions SaveDialogOptions) (string, error)`
+
+返回值: 所选文件(如果用户取消则为空白)或错误
+
+### 消息对话框
+
+使用消息对话框显示消息。 可以使用 [消息对话框参数选项](#消息对话框参数选项) 进行自定义。
+
+Go: `MessageDialog(ctx context.Context, dialogOptions MessageDialogOptions) (string, error)`
+
+返回值: 所选按钮的文本或错误
+
+## 参数选项
+
+### 打开选择文件对话框参数选项
+
+```go
+type OpenDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ ResolvesAliases bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| 字段 | 描述 | Win | Mac | Lin |
+| -------------------------- | ------------------- | --- | --- | --- |
+| DefaultDirectory | 对话框打开时显示的目录 | ✅ | ✅ | ✅ |
+| DefaultFilename | 默认文件名 | ✅ | ✅ | ✅ |
+| Title | 对话框的标题 | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | 文件过滤器列表 | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | 显示系统隐藏的文件 | | ✅ | ✅ |
+| CanCreateDirectories | 允许用户创建目录 | | ✅ | |
+| ResolvesAliases | 如果为 true,则返回文件而不是别名 | | ✅ | |
+| TreatPackagesAsDirectories | 允许导航到包 | | ✅ | |
+
+### 保存文件对话框参数选项
+
+```go
+type SaveDialogOptions struct {
+ DefaultDirectory string
+ DefaultFilename string
+ Title string
+ Filters []FileFilter
+ ShowHiddenFiles bool
+ CanCreateDirectories bool
+ TreatPackagesAsDirectories bool
+}
+```
+
+| 字段 | 描述 | Win | Mac | Lin |
+| -------------------------- | ----------- | --- | --- | --- |
+| DefaultDirectory | 对话框打开时显示的目录 | ✅ | ✅ | ✅ |
+| DefaultFilename | 默认文件名 | ✅ | ✅ | ✅ |
+| Title | 对话框的标题 | ✅ | ✅ | ✅ |
+| [Filters](#filefilter) | 文件过滤器列表 | ✅ | ✅ | ✅ |
+| ShowHiddenFiles | 显示系统隐藏的文件 | | ✅ | ✅ |
+| CanCreateDirectories | 允许用户创建目录 | | ✅ | |
+| TreatPackagesAsDirectories | 允许导航到包 | | ✅ | |
+
+### 消息对话框参数选项
+
+```go
+type MessageDialogOptions struct {
+ Type DialogType
+ Title string
+ Message string
+ Buttons []string
+ DefaultButton string
+ CancelButton string
+}
+```
+
+| 字段 | 描述 | Win | Mac | Lin |
+| ------------- | ------------------------------ | -------------- | --- | --- |
+| 类型 | 消息对话框的类型,例如问题、信息... | ✅ | ✅ | ✅ |
+| Title | 对话框的标题 | ✅ | ✅ | ✅ |
+| Message | 向用户显示的消息 | ✅ | ✅ | ✅ |
+| Buttons | 按钮标题列表 | | ✅ | |
+| DefaultButton | 带有此文本的按钮应被视为默认按钮。 必定 `return`。 | ✅[*](#windows) | ✅ | |
+| CancelButton | 带有此文本的按钮应被视为取消。 必定 `escape` | | ✅ | |
+
+#### Windows
+
+Windows 具有标准对话框类型,其中的按钮不可自定义。 返回的值将是以下之一:"Ok"、"Cancel"、"Abort"、"Retry"、"Ignore"、"Yes"、"No"、"Try Again"或"Continue"。
+
+对于问题对话框,默认按钮是 “是”,取消按钮是 “否”。 可以通过将 `默认按钮` 值设置为 `"否"` 来改变这一点。
+
+示例:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
+
+#### Linux
+
+Linux 有标准的对话框类型,其中的按钮是不可定制的。 返回的值将是以下之一:“Ok”、“Cancel”、“Yes”、“No”
+
+#### Mac
+
+Mac 上的消息对话框最多可以指定 4 个按钮。 如果没有 `DefaultButton` 或 `CancelButton` 给出,第一个按钮被认为是默认的并绑定到 `return` 键。
+
+对于以下代码:
+
+```go
+selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
+ Title: "It's your turn!",
+ Message: "Select a number",
+ Buttons: []string{"one", "two", "three", "four"},
+})
+```
+
+第一个按钮显示为默认值:
+
+```mdx-code-block
+
+
+```
diff --git a/website/src/pages/changelog.mdx b/website/src/pages/changelog.mdx
index acba21bd4..07b89d258 100644
--- a/website/src/pages/changelog.mdx
+++ b/website/src/pages/changelog.mdx
@@ -5,6 +5,65 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## v2.1.0 - 2022-10-XX
+
+### Added
+* [Support for defaulting to No button in Windows dialogs](https://wails.io/docs/reference/runtime/dialog/#windows) - @leaanthony in https://github.com/wailsapp/wails/pull/1875
+* Add missing resize for frameless window on Linux - @Lyimmi in https://github.com/wailsapp/wails/pull/1918
+* [Add window transparency for linux](https://wails.io/docs/reference/options#windowistranslucent-2) - @Lyimmi in https://github.com/wailsapp/wails/pull/1926
+* [Add WindowExecJS method](https://wails.io/docs/reference/runtime/window#windowexecjs) - @leaanthony in https://github.com/wailsapp/wails/pull/1927
+* [Add support for `Info.dev.plist` on macOS](https://wails.io/docs//reference/cli#dev) - @leaanthony in https://github.com/wailsapp/wails/pull/1960
+* [Add ZoomFactor get/set and add the respective windows only options](https://wails.io/docs/reference/options#zoomfactor) - @pierrejoye in https://github.com/wailsapp/wails/pull/1463
+
+### Fixed
+* Embed directories auto-created if they don't exist - @leaanthony in https://github.com/wailsapp/wails/pull/1983
+* Quote command arguments if they have a space - @leaanthony in https://github.com/wailsapp/wails/pull/1892
+* Fixed Linux frameless window drag - @Lyimmi in https://github.com/wailsapp/wails/pull/1916
+* Fix gtk_window_begin_resize_drag's mouse button - @Lyimmi in https://github.com/wailsapp/wails/pull/1920
+* Fix binding generation special cases - @JulioDRF in https://github.com/wailsapp/wails/pull/1902
+* Remove the `.git` directory in the template - @misitebao in https://github.com/wailsapp/wails/pull/1929
+* Fix wails dev - @JulioDRF in https://github.com/wailsapp/wails/pull/1931
+* Fix for considering new `go` files in dev filesystem watcher - @scottopell in https://github.com/wailsapp/wails/pull/1946
+* Prevent type parsing to interfere with Typescript package name - @ValentinTrinque in https://github.com/wailsapp/wails/pull/1942
+* [dev] Do not try to infer assetdir from fs.FS when a frontend dev server is in use - @stffabi in https://github.com/wailsapp/wails/pull/1972
+
+### Changed
+* Add PR checks - @leaanthony in https://github.com/wailsapp/wails/pull/1879
+* Auto label project cards - @leaanthony in https://github.com/wailsapp/wails/pull/1881
+* Add issue translator - @leaanthony in https://github.com/wailsapp/wails/pull/1891
+* Update label names in the issue template - @misitebao in https://github.com/wailsapp/wails/pull/1893
+* obfuscated instead of obfuscate in the docs - @arifali123 in https://github.com/wailsapp/wails/pull/1895
+* [assetHandler] Remove redundant log prefix - @stffabi in https://github.com/wailsapp/wails/pull/1896
+* [dev] Do not generate bindings in the dev app itself - @stffabi in https://github.com/wailsapp/wails/pull/1899
+* Update Chinese translation - @almas1992 in https://github.com/wailsapp/wails/pull/1894
+* Refactor app - @leaanthony in https://github.com/wailsapp/wails/pull/1909
+* Update documents - @misitebao in https://github.com/wailsapp/wails/pull/1907 https://github.com/wailsapp/wails/pull/1936
+* Adding Tutorial link - @raguay in https://github.com/wailsapp/wails/pull/1903
+* Add react-ts-vite-tailwind template - @hotafrika in https://github.com/wailsapp/wails/pull/1930
+* Update README.zh-Hans.md - @o8x in https://github.com/wailsapp/wails/pull/1949
+* Add Elm Tailwind CSS community template - @rnice01 in https://github.com/wailsapp/wails/pull/1939
+* Chore/generate sponsors - @leaanthony in https://github.com/wailsapp/wails/pull/1965
+* Use swc + pnpm for website - @leaanthony in https://github.com/wailsapp/wails/pull/1966
+* Sort structs in models.ts - @leaanthony in https://github.com/wailsapp/wails/pull/1961
+
+## What's Changed
+
+* Update Sponsor Image - @github-actions in https://github.com/wailsapp/wails/pull/1973
+* docs: sync documents - @misitebao in https://github.com/wailsapp/wails/pull/1968
+* Update events.mdx - @cuigege in https://github.com/wailsapp/wails/pull/1979
+* fix: init command not listed in wails help message - @lyon-lee-dev in https://github.com/wailsapp/wails/pull/1976
+
+## New Contributors
+* @arifali123 made their first contribution in https://github.com/wailsapp/wails/pull/1895
+* @almas1992 made their first contribution in https://github.com/wailsapp/wails/pull/1894
+* @JulioDRF made their first contribution in https://github.com/wailsapp/wails/pull/1902
+* @hotafrika made their first contribution in https://github.com/wailsapp/wails/pull/1930
+* @scottopell made their first contribution in https://github.com/wailsapp/wails/pull/1946
+* @o8x made their first contribution in https://github.com/wailsapp/wails/pull/1949
+* @rnice01 made their first contribution in https://github.com/wailsapp/wails/pull/1939
+* @cuigege made their first contribution in https://github.com/wailsapp/wails/pull/1979
+* @lyon-lee-dev made their first contribution in https://github.com/wailsapp/wails/pull/1976
+
## v2.0.0 - 2022-09-22
## Fixed
diff --git a/website/versioned_docs/version-v2.0.0/guides/signing.mdx b/website/versioned_docs/version-v2.0.0/guides/signing.mdx
index 349ae123a..b2a060c5f 100644
--- a/website/versioned_docs/version-v2.0.0/guides/signing.mdx
+++ b/website/versioned_docs/version-v2.0.0/guides/signing.mdx
@@ -38,7 +38,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -125,7 +125,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -203,7 +203,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -351,7 +351,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
diff --git a/website/versioned_docs/version-v2.1.0/appendix/_category_.json b/website/versioned_docs/version-v2.1.0/appendix/_category_.json
new file mode 100644
index 000000000..83af4ca28
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/appendix/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Appendix",
+ "position": 70
+}
diff --git a/website/versioned_docs/version-v2.1.0/community/_category_.json b/website/versioned_docs/version-v2.1.0/community/_category_.json
new file mode 100644
index 000000000..524986e1e
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Community",
+ "position": 50
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/links.mdx b/website/versioned_docs/version-v2.1.0/community/links.mdx
similarity index 87%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/links.mdx
rename to website/versioned_docs/version-v2.1.0/community/links.mdx
index d081cb9b3..23a4b8cf6 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/links.mdx
+++ b/website/versioned_docs/version-v2.1.0/community/links.mdx
@@ -22,3 +22,6 @@ The [definitive list](https://github.com/wailsapp/awesome-wails) of links relate
- [Twitter](https://twitter.com/wailsapp)
- [Wails Chinese Community QQ Group](https://qm.qq.com/cgi-bin/qm/qr?k=PmIURne5hFGNd7QWzW5qd6FV-INEjNJv&jump_from=webapi) - Group number: 1067173054
+
+## Other Tutorials and Articles
+- [Building of Bulletin Board](https://blog.customct.com/building-bulletin-board)
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/_category_.json b/website/versioned_docs/version-v2.1.0/community/showcase/_category_.json
new file mode 100644
index 000000000..276e283b7
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Showcase",
+ "position": 1
+}
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/emailit.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/emailit.mdx
new file mode 100644
index 000000000..04150ba28
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/emailit.mdx
@@ -0,0 +1,10 @@
+# EmailIt
+
+```mdx-code-block
+
+
+
+
+```
+
+[EmailIt](https://github.com/raguay/EmailIt/) is a Wails 2 program that is a markdown based email sender only with nine notepads, scripts to manipulate the text, and templates. It also has a builtin [Node-Red](https://nodered.org/) server, scripts terminal, and the [ScriptBar](https://github.com/raguay/ScriptBarApp) program for displaying results from Node-Red or a script on your system. Documentation is very scarce, but the programs works. It’s built using Wails2 and Svelte, and the download is a universal macOS application.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/encrypteasy.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/encrypteasy.mdx
new file mode 100644
index 000000000..7504950ea
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/encrypteasy.mdx
@@ -0,0 +1,12 @@
+# EncryptEasy
+
+```mdx-code-block
+
+
+
+
+```
+
+**[EncryptEasy](https://www.encrypteasy.app) is a simple and easy to use PGP encryption tool, managing all your and your contacts keys. Encryption should be simple. Developed with Wails.**
+
+Encrypting messages using PGP is the industry standard. Everyone has a private and a public key. Your private key, well, needs to be kept private so only you can read messages. Your public key is distributed to anyone who wants to send you secret, encrypted messages. Managing keys, encrypting messages and decrypting messages should be a smooth experience. EncryptEasy is all about making it easy.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/filehound.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/filehound.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/showcase/filehound.mdx
rename to website/versioned_docs/version-v2.1.0/community/showcase/filehound.mdx
index 741c14034..2d0961f21 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/showcase/filehound.mdx
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/filehound.mdx
@@ -1,9 +1,11 @@
# FileHound Export Utility
+```mdx-code-block
+```
[FileHound Export Utility](https://www.filehound.co.uk/) FileHound is a cloud document management platform made for secure file retention, business process automation and SmartCapture capabilities.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/minecraftupdater.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
new file mode 100644
index 000000000..2f6c7c72b
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/minecraftupdater.mdx
@@ -0,0 +1,14 @@
+# Minecraft Updater
+
+```mdx-code-block
+
+
+
+
+```
+
+[Minecraft Updater](https://github.com/Gurkengewuerz/MinecraftModUpdater) is a utility tool to update and synchronize Minecraft mods for your userbase. It’s built using Wails2 and React with [antd](https://ant.design/) as frontend framework.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/modalfilemanager.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
new file mode 100644
index 000000000..f8e2bcd66
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/modalfilemanager.mdx
@@ -0,0 +1,14 @@
+# Modal File Manager
+
+```mdx-code-block
+
+
+
+
+```
+
+[Modal File Manager](https://github.com/raguay/ModalFileManager) is a dual pane file manager using web technologies. My original design was based on NW.js and can be found [here](https://github.com/raguay/ModalFileManager-NWjs). This version uses the same Svelte based frontend code (but it has be greatly modified since the departure from NW.js), but the backend is a [Wails 2](https://wails.io/) implementation. By using this implementation, I no longer use command line `rm`, `cp`, etc. commands. It is fully coded using Go and runs much faster than the previous versions.
+
+This file manager is designed around the same principle as Vim: a state controlled keyboard actions. The number of states isn't fixed, but very programmable. Therefore, an infinite number of keyboard configurations can be created and used. This is the main difference from other file managers.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/mollywallet.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/mollywallet.mdx
new file mode 100644
index 000000000..5d846d06d
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/mollywallet.mdx
@@ -0,0 +1,10 @@
+# Molley Wallet
+
+```mdx-code-block
+
+
+
+
+```
+
+[Molly Wallet](https://github.com/grvlle/constellation_wallet/) the official $DAG wallet of the Constellation Network. It'll let users interact with the Hypergraph Network in various ways, not limited to producing $DAG transactions.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/october.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/october.mdx
new file mode 100644
index 000000000..66d634dc5
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/october.mdx
@@ -0,0 +1,14 @@
+# October
+
+```mdx-code-block
+
+
+
+
+```
+
+[October](https://october.utf9k.net) is a small Wails application that makes it really easy to extract highlights from [Kobo eReaders](https://en.wikipedia.org/wiki/Kobo_eReader) and then forward them to [Readwise](https://readwise.io).
+
+It has a relatively small scope with all platform versions weighing in under 10MB, and that's without enabling [UPX compression](https://upx.github.io/)!
+
+In contrast, the author's previous attempts with Electron quickly bloated to several hundred megabytes.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/optimus.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/optimus.mdx
new file mode 100644
index 000000000..4f87479d6
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/optimus.mdx
@@ -0,0 +1,10 @@
+# Optimus
+
+```mdx-code-block
+
+
+
+
+```
+
+[Optimus](https://github.com/splode/optimus) is a desktop image optimization application. It supports conversion and compression between WebP, JPEG, and PNG image formats.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/portfall.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/portfall.mdx
new file mode 100644
index 000000000..03e740f4c
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/portfall.mdx
@@ -0,0 +1,10 @@
+# Portfall
+
+```mdx-code-block
+
+
+
+
+```
+
+[Portfall](https://github.com/rekon-oss/portfall) - A desktop k8s port-forwarding portal for easy access to all your cluster UIs
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/restic-browser.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/restic-browser.mdx
new file mode 100644
index 000000000..3646384ec
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/restic-browser.mdx
@@ -0,0 +1,12 @@
+# Restic Browser
+
+```mdx-code-block
+
+
+
+
+```
+
+[Restic-Browser](https://github.com/emuell/restic-browser) - A simple, cross-platform [restic](https://github.com/restic/restic) backup GUI for browsing and restoring restic repositories.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/riftshare.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/riftshare.mdx
new file mode 100644
index 000000000..9928b4785
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/riftshare.mdx
@@ -0,0 +1,21 @@
+# RiftShare
+
+```mdx-code-block
+
+
+
+
+```
+
+Easy, Secure, and Free file sharing for everyone. Learn more at [Riftshare.app](https://riftshare.app)
+
+## Features
+
+- Easy secure file sharing between computers both in the local network and through the internet
+- Supports sending files or directories securely through the [magic wormhole protocol](https://magic-wormhole.readthedocs.io/en/latest/)
+- Compatible with all other apps using magic wormhole (magic-wormhole or wormhole-william CLI, wormhole-gui, etc.)
+- Automatic zipping of multiple selected files to send at once
+- Full animations, progress bar, and cancellation support for sending and receiving
+- Native OS File Selection
+- Open files in one click once received
+- Auto Update - don't worry about having the latest release!
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/scriptbar.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/scriptbar.mdx
new file mode 100644
index 000000000..2ccb2acb4
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/scriptbar.mdx
@@ -0,0 +1,10 @@
+# ScriptBar
+
+```mdx-code-block
+
+
+
+
+```
+
+[ScriptBar](https://GitHub.com/raguay/ScriptBarApp) is a program to show the output of the embedded [Node-Red](https://nodered.org) server in the [EmailIt](https://GitHub.com/raguay/EmailIt) application. It also displays the output of scripts on your system. ScriptBar doesn't put them in the menubar, but has them all in a convient window for easy viewing. You can have multiple tabs to have many different things show. You can also keep the links to your most visited web sites.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/surge.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/surge.mdx
new file mode 100644
index 000000000..c3b3fb4c0
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/surge.mdx
@@ -0,0 +1,10 @@
+# Surge
+
+```mdx-code-block
+
+
+
+
+```
+
+[Surge](https://getsurge.io/) is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/wally.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/wally.mdx
new file mode 100644
index 000000000..7408aa585
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/wally.mdx
@@ -0,0 +1,10 @@
+# Wally
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wally](https://ergodox-ez.com/pages/wally) is the official firmware flasher for [Ergodox](https://ergodox-ez.com/) keyboards. It looks great and is a fantastic example of what you can achieve with Wails: the ability to combine the power of Go and the rich graphical tools of the web development world.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/wombat.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/wombat.mdx
new file mode 100644
index 000000000..f100c55e2
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/wombat.mdx
@@ -0,0 +1,10 @@
+# Wombat
+
+```mdx-code-block
+
+
+
+
+```
+
+[Wombat](https://github.com/rogchap/wombat) is a cross platform gRPC client.
diff --git a/website/versioned_docs/version-v2.1.0/community/showcase/ytd.mdx b/website/versioned_docs/version-v2.1.0/community/showcase/ytd.mdx
new file mode 100644
index 000000000..5db428f72
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/community/showcase/ytd.mdx
@@ -0,0 +1,10 @@
+# Ytd
+
+```mdx-code-block
+
+
+
+
+```
+
+[Ytd](https://github.com/marcio199226/ytd/tree/v2-wails) is an app for downloading tracks from youtube, creating offline playlists and share them with your friends, your friends will be able to playback your playlists or download them for offline listening, has an built-in player.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/community/templates.mdx b/website/versioned_docs/version-v2.1.0/community/templates.mdx
similarity index 84%
rename from website/versioned_docs/version-v2.0.0-rc.1/community/templates.mdx
rename to website/versioned_docs/version-v2.1.0/community/templates.mdx
index 80551784c..0c3eb0af7 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/community/templates.mdx
+++ b/website/versioned_docs/version-v2.1.0/community/templates.mdx
@@ -23,7 +23,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
## Vue
-- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - A template using Vite,Vue and Vue-Router(Support both JavaScript and TypeScript)
+- [wails-template-vue](https://github.com/misitebao/wails-template-vue) - Wails template based on Vue ecology (Integrated TypeScript, Dark theme, Internationalization, Single page routing, TailwindCSS)
- [wails-vite-vue-ts](https://github.com/codydbentley/wails-vite-vue-ts) - Vue 3 TypeScript with Vite (and instructions to add features)
- [wails-vite-vue-the-works](https://github.com/codydbentley/wails-vite-vue-the-works) - Vue 3 TypeScript with Vite, Vuex, Vue Router, Sass, and ESLint + Prettier
@@ -36,6 +36,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
- [wails-react-template](https://github.com/AlienRecall/wails-react-template) - A template using reactjs
- [wails-react-template](https://github.com/flin7/wails-react-template) - A minimal template for React that supports live development
- [wails-template-nextjs](https://github.com/LGiki/wails-template-nextjs) - A template using Next.js and TypeScript
+- [wails-vite-react-ts-tailwind-template](https://github.com/hotafrika/wails-vite-react-ts-tailwind-template) - A template for React + TypeScript + Vite + TailwindCSS
## Svelte
@@ -47,7 +48,8 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
## Elm
- [wails-elm-template](https://github.com/benjamin-thomas/wails-elm-template) - Develop your GUI app with functional programming and a **snappy** hot-reload setup :tada: :rocket:
+- [wails-template-elm-tailwind](https://github.com/rnice01/wails-template-elm-tailwind) - Combine the powers :muscle: of Elm + Tailwind CSS + Wails! Hot reloading supported.
## Pure JavaScript (Vanilla)
-- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - A template with nothing but just basic JavaScript, HTML, and CSS
\ No newline at end of file
+- [wails-pure-js-template](https://github.com/KiddoV/wails-pure-js-template) - A template with nothing but just basic JavaScript, HTML, and CSS
diff --git a/website/versioned_docs/version-v2.1.0/gettingstarted/_category_.json b/website/versioned_docs/version-v2.1.0/gettingstarted/_category_.json
new file mode 100644
index 000000000..597b920df
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/gettingstarted/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Getting Started",
+ "position": 10
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/building.mdx b/website/versioned_docs/version-v2.1.0/gettingstarted/building.mdx
similarity index 96%
rename from website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/building.mdx
rename to website/versioned_docs/version-v2.1.0/gettingstarted/building.mdx
index 33e19b144..2668b19da 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/building.mdx
+++ b/website/versioned_docs/version-v2.1.0/gettingstarted/building.mdx
@@ -9,6 +9,7 @@ This will compile your project and save the production-ready binary in the `buil
If you run the binary, you should see the default application:
+```mdx-code-block
+```
For more details on compilation options, please refer to the [CLI Reference](../reference/cli.mdx#build).
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/development.mdx b/website/versioned_docs/version-v2.1.0/gettingstarted/development.mdx
similarity index 91%
rename from website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/development.mdx
rename to website/versioned_docs/version-v2.1.0/gettingstarted/development.mdx
index 54dda5faa..a0075ef69 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/development.mdx
+++ b/website/versioned_docs/version-v2.1.0/gettingstarted/development.mdx
@@ -8,7 +8,7 @@ You can run your application in development mode by running `wails dev` from you
- Build your application and run it
- Bind your Go code to the frontend so it can be called from Javascript
-- Using the power of [vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change
+- Using the power of [Vite](https://vitejs.dev/), will watch for modifications in your Go files and rebuild/re-run on change
- Sets up a [webserver](http://localhost:34115) that will serve your application over a browser. This allows you to use your favourite browser extensions. You can even call your Go code from the console
To get started, run `wails dev` in the project directory. More information on this can be found [here](../reference/cli.mdx#dev).
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/firstproject.mdx b/website/versioned_docs/version-v2.1.0/gettingstarted/firstproject.mdx
similarity index 98%
rename from website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/firstproject.mdx
rename to website/versioned_docs/version-v2.1.0/gettingstarted/firstproject.mdx
index 883b3dde6..6fc5c8039 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/firstproject.mdx
+++ b/website/versioned_docs/version-v2.1.0/gettingstarted/firstproject.mdx
@@ -10,8 +10,7 @@ Now that the CLI is installed, you can generate a new project by using the `wail
Pick your favourite framework:
-
-
+```mdx-code-block
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
@@ -87,8 +86,7 @@ If you would rather use Typescript:
-
-
+```
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/installation.mdx b/website/versioned_docs/version-v2.1.0/gettingstarted/installation.mdx
similarity index 70%
rename from website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/installation.mdx
rename to website/versioned_docs/version-v2.1.0/gettingstarted/installation.mdx
index 98d3032cd..2bd3c8f9c 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/gettingstarted/installation.mdx
+++ b/website/versioned_docs/version-v2.1.0/gettingstarted/installation.mdx
@@ -15,12 +15,12 @@ sidebar_position: 1
Wails has a number of common dependencies that are required before installation:
-- Go 1.17+
+- Go 1.18+
- NPM (Node 15+)
### Go
-Download Go from the [Go Downloads Page](https://go.dev/doc/install).
+Download Go from the [Go Downloads Page](https://go.dev/dl/).
Ensure that you follow the official [Go installation instructions](https://go.dev/doc/install). You will also need to ensure that your `PATH` environment variable also includes the path to your `~/go/bin` directory. Restart your terminal and do the following checks:
@@ -37,8 +37,7 @@ Run `npm --version` to verify.
You will also need to install platform specific dependencies:
-
-
+```mdx-code-block
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
@@ -52,31 +51,16 @@ import TabItem from "@theme/TabItem";
>
Wails requires that the xcode command line tools are installed. This can be
- done by running:
- xcode-select --install
+ done by running xcode-select --install.
- Wails requires that the{" "}
-
- WebView2
- {" "}
- runtime is installed. Some Windows installations will already have this
- installed. You can check using the wails doctor command (see
- below).
+ Wails requires that the WebView2 runtime is installed. Some Windows installations will already have this installed. You can check using the wails doctor command.
- Linux required the standard gcc build tools plus{" "}
- libgtk3 and libwebkit. Rather than list a ton of
- commands for different distros, Wails can try to determine what the
- installation commands are for your specific distribution. Run{" "}
- wails doctor after installation to be shown how to install the
- dependencies. If your distro/package manager is not supported, please
- consult the{" "}
- Add Linux Distro guide.
+ Linux required the standard gcc build tools plus libgtk3 and libwebkit. Rather than list a ton of commands for different distros, Wails can try to determine what the installation commands are for your specific distribution. Run wails doctor after installation to be shown how to install the dependencies. If your distro/package manager is not supported, please consult the Add Linux Distro guide.
-
-
+```
## Optional Dependencies
diff --git a/website/versioned_docs/version-v2.1.0/guides/_category_.json b/website/versioned_docs/version-v2.1.0/guides/_category_.json
new file mode 100644
index 000000000..5935dad93
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/guides/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Guides",
+ "position": 50
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/application-development.mdx b/website/versioned_docs/version-v2.1.0/guides/application-development.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/application-development.mdx
rename to website/versioned_docs/version-v2.1.0/guides/application-development.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/bleeding-edge.mdx b/website/versioned_docs/version-v2.1.0/guides/bleeding-edge.mdx
similarity index 96%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/bleeding-edge.mdx
rename to website/versioned_docs/version-v2.1.0/guides/bleeding-edge.mdx
index 908242edd..691b1249a 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/bleeding-edge.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/bleeding-edge.mdx
@@ -12,11 +12,11 @@ it's possible to use the latest "bleeding edge" version using the following step
NOTE: The directory that you cloned the project into will now be called "clonedir".
-The Wails CLI will now be at the very latest version.
+The Wails CLI will now be at the very latest version.
### Updating your project
-To update projects to use the latest version of the Wails library, update the project's
+To update projects to use the latest version of the Wails library, update the project's
`go.mod` and ensure the following line is at the bottom of the file:
`replace github.com/wailsapp/wails/v2 => `
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/dynamic-assets.mdx b/website/versioned_docs/version-v2.1.0/guides/dynamic-assets.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/dynamic-assets.mdx
rename to website/versioned_docs/version-v2.1.0/guides/dynamic-assets.mdx
index 62a807167..07202e0a4 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/dynamic-assets.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/dynamic-assets.mdx
@@ -24,7 +24,7 @@ import (
"strings"
)
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
type FileLoader struct {
@@ -93,17 +93,21 @@ let response = await fetch('does-not-exist.txt');
This will generate an error in the devtools. We can see that the error is what we expect, returned by
our custom assets handler:
+```mdx-code-block
+```
However, if we request `go.mod`, we will see the following output:
+```mdx-code-block
+```
This technique can be used to load images directly into the page. If we updated our default vanilla template and
replaced the logo image:
@@ -120,14 +124,18 @@ with:
Then we would see the following:
+```mdx-code-block
+```
:::warning
+
Exposing your filesystem in this way is a security risk. It is recommended that you properly manage access
to your filesystem.
+
:::
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/frameless.mdx b/website/versioned_docs/version-v2.1.0/guides/frameless.mdx
similarity index 91%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/frameless.mdx
rename to website/versioned_docs/version-v2.1.0/guides/frameless.mdx
index fa34bc380..4d5798474 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/frameless.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/frameless.mdx
@@ -7,7 +7,6 @@ Wails offers a simple solution for dragging the window: Any HTML element that ha
act as a "drag handle". This property applies to all child elements. If you need to indicate that a nested element
should not drag, then use the attribute '--wails-draggable:no-drag' on that element.
-
```html
@@ -41,7 +40,7 @@ import (
"github.com/wailsapp/wails/v2/pkg/options"
)
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
func main() {
@@ -71,19 +70,20 @@ func main() {
```html title=index.html
-
-
-
+
+
+
alwaysontop
-
-
-
-
-
+
+
+
+
+
-
```
:::info Fullscreen
+
If you allow your application to go fullscreen, this drag functionality will be disabled.
+
:::
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/frontend.mdx b/website/versioned_docs/version-v2.1.0/guides/frontend.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/frontend.mdx
rename to website/versioned_docs/version-v2.1.0/guides/frontend.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/ides.mdx b/website/versioned_docs/version-v2.1.0/guides/ides.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/ides.mdx
rename to website/versioned_docs/version-v2.1.0/guides/ides.mdx
index aa6841879..f22aefe9e 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/ides.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/ides.mdx
@@ -7,12 +7,14 @@ Currently, we support [Visual Studio Code](https://code.visualstudio.com/) but a
## Visual Studio Code
+```mdx-code-block
+```
When generating a project using the `-ide vscode` flags, IDE files will be created alongside the other project files.
These files are placed into the `.vscode` directory and provide the correct configuration for debugging your application.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/linux-distro-support.mdx b/website/versioned_docs/version-v2.1.0/guides/linux-distro-support.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/linux-distro-support.mdx
rename to website/versioned_docs/version-v2.1.0/guides/linux-distro-support.mdx
index 5ec628f2e..b64ed0c03 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/linux-distro-support.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/linux-distro-support.mdx
@@ -104,5 +104,7 @@ type PackageManager interface {
Take a look at the other package managers code to get an idea how this works.
:::info Remember
+
If you add support for a new package manager, don't forget to also update this page!
+
:::
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/linux.mdx b/website/versioned_docs/version-v2.1.0/guides/linux.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/linux.mdx
rename to website/versioned_docs/version-v2.1.0/guides/linux.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/manual-builds.mdx b/website/versioned_docs/version-v2.1.0/guides/manual-builds.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/manual-builds.mdx
rename to website/versioned_docs/version-v2.1.0/guides/manual-builds.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/migrating.mdx b/website/versioned_docs/version-v2.1.0/guides/migrating.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/migrating.mdx
rename to website/versioned_docs/version-v2.1.0/guides/migrating.mdx
index b00859935..1fcdcc958 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/migrating.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/migrating.mdx
@@ -159,7 +159,7 @@ Example: An application has the following project layout. All final assets are p
Those assets may be used by the application by simply creating an `embed.FS`:
```go title="Assets Example"
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
func main() {
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/mouse-buttons.mdx b/website/versioned_docs/version-v2.1.0/guides/mouse-buttons.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/mouse-buttons.mdx
rename to website/versioned_docs/version-v2.1.0/guides/mouse-buttons.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/obfuscated.mdx b/website/versioned_docs/version-v2.1.0/guides/obfuscated.mdx
similarity index 69%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/obfuscated.mdx
rename to website/versioned_docs/version-v2.1.0/guides/obfuscated.mdx
index c36a8a554..2e7906c40 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/obfuscated.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/obfuscated.mdx
@@ -1,31 +1,34 @@
# Obfuscated Builds
-Wails includes support for obfuscating your application using [garble](https://github.com/burrowers/garble).
+Wails includes support for obfuscating your application using [garble](https://github.com/burrowers/garble).
To produce an obfuscated build, you can use the `-obfuscate` flag with the `wails build` command:
```bash
wails build -obfuscated
```
+
To customise the obfuscation settings, you can use the `-garbleargs` flag:
```bash
wails build -obfuscated -garbleargs "-literals -tiny -seed=myrandomseed"
```
-These settings may be persisted in your [project config](/guides/reference/project-config).
+These settings may be persisted in your [project config](../reference/project-config).
## How it works
In a standard build, all bound methods are available in the frontend under the `window.go`
variable. When these methods are called, the corresponding backend method is called using
-the fully qualified function name. When using an obfuscated build, methods are bound using
-an ID instead of a name. The bindings generated in the `wailsjs` directory use these IDs to
+the fully qualified function name. When using an obfuscated build, methods are bound using
+an ID instead of a name. The bindings generated in the `wailsjs` directory use these IDs to
call the backend functions.
:::note
-To ensure that your application will work in obfuscated mode, you must use the generated
-bindings under the `wailsjs` directory in your application.
+
+To ensure that your application will work in obfuscated mode, you must use the generated
+bindings under the `wailsjs` directory in your application.
+
:::
## Example
@@ -33,11 +36,11 @@ bindings under the `wailsjs` directory in your application.
Importing the "Greet" method from the bindings like this:
```js
-import { Greet } from '../../wailsjs/go/main/App';
+import { Greet } from "../../wailsjs/go/main/App";
// snip
-Greet('World');
+Greet("World");
```
-will ensure that the method will work correctly in obfuscated mode, as the bindings will
-be regenerated with IDs and the call mechanism updated.
\ No newline at end of file
+will ensure that the method will work correctly in obfuscated mode, as the bindings will
+be regenerated with IDs and the call mechanism updated.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/overscroll.mdx b/website/versioned_docs/version-v2.1.0/guides/overscroll.mdx
similarity index 87%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/overscroll.mdx
rename to website/versioned_docs/version-v2.1.0/guides/overscroll.mdx
index afe93de41..7715390bb 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/overscroll.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/overscroll.mdx
@@ -5,7 +5,7 @@ get when you scroll beyond a page's content boundaries. This is common in mobile
```css
html {
- height: 100%;
- overflow: hidden;
+ height: 100%;
+ overflow: hidden;
}
```
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/routing.mdx b/website/versioned_docs/version-v2.1.0/guides/routing.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/routing.mdx
rename to website/versioned_docs/version-v2.1.0/guides/routing.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/signing.mdx b/website/versioned_docs/version-v2.1.0/guides/signing.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/signing.mdx
rename to website/versioned_docs/version-v2.1.0/guides/signing.mdx
index 349ae123a..b2a060c5f 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/signing.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/signing.mdx
@@ -38,7 +38,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -125,7 +125,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -203,7 +203,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
@@ -351,7 +351,7 @@ jobs:
go-version: [1.18]
runs-on: ${{ matrix.platform }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install Go
uses: actions/setup-go@v2
with:
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/templates.mdx b/website/versioned_docs/version-v2.1.0/guides/templates.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/templates.mdx
rename to website/versioned_docs/version-v2.1.0/guides/templates.mdx
index 923b10d6b..1ab354844 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/templates.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/templates.mdx
@@ -79,12 +79,14 @@ Renaming package-lock.json -> package-lock.tmpl.json...
- Once the project has compiled, run it: `.\build\bin\my-vue3-project.exe`
- You should have a fully functioning Vue3 application:
+```mdx-code-block
+```
## Publishing Templates
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/troubleshooting.mdx b/website/versioned_docs/version-v2.1.0/guides/troubleshooting.mdx
similarity index 95%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/troubleshooting.mdx
rename to website/versioned_docs/version-v2.1.0/guides/troubleshooting.mdx
index 8f768e0a1..524d1a311 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/troubleshooting.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/troubleshooting.mdx
@@ -15,7 +15,7 @@ Check that your application includes the assets from the correct directory. In y
something similar to the following code:
```go
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
```
@@ -39,6 +39,7 @@ Reference: https://github.com/wailsapp/wails/issues/1504#issuecomment-1174317433
If your built application looks like this in finder:
+```mdx-code-block
+```
it's likely that your application's `info.plist` is invalid. Update the file in `build/.app/Contents/info.plist`
and check if the data is valid, EG check the binary name is correct. To persist the changes, copy the file back to
@@ -132,10 +134,10 @@ Source: https://github.com/wailsapp/wails/discussions/1512
## I get `too many open files` errors on my Mac when I run `wails dev`
-By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command.
+By default, macOS will only allow you to open a maximum of 256 files. This can affect the `wails dev` command.
This limit can be increased by running: `ulimit -n 1024` in the terminal.
-FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac.
+FSNotify is [looking to move to Apple's fsevents](https://github.com/fsnotify/fsnotify/issues/11) for Mac.
If this isn't completed soon, we will create our own implementation, tracked [here](https://github.com/wailsapp/wails/issues/1733).
## My Mac app gives me weird compilation errors
@@ -153,7 +155,7 @@ In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/Sy
#define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
```
-This is *normally* due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools
+This is _normally_ due to a mismatch with the OS version you are running and the version of the XCode Command Line Tools
installed. If you see an error like this, try upgrading your XCode Command Line Tools to the latest version.
-Source: https://github.com/wailsapp/wails/issues/1806
\ No newline at end of file
+Source: https://github.com/wailsapp/wails/issues/1806
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/vscode.mdx b/website/versioned_docs/version-v2.1.0/guides/vscode.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/vscode.mdx
rename to website/versioned_docs/version-v2.1.0/guides/vscode.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/windows-installer.mdx b/website/versioned_docs/version-v2.1.0/guides/windows-installer.mdx
similarity index 98%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/windows-installer.mdx
rename to website/versioned_docs/version-v2.1.0/guides/windows-installer.mdx
index cb31d0527..533734886 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/guides/windows-installer.mdx
+++ b/website/versioned_docs/version-v2.1.0/guides/windows-installer.mdx
@@ -1,5 +1,6 @@
# NSIS installer
+```mdx-code-block
+```
Wails supports generating Windows installers using the [NSIS installer](https://nsis.sourceforge.io/).
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/guides/windows.mdx b/website/versioned_docs/version-v2.1.0/guides/windows.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/guides/windows.mdx
rename to website/versioned_docs/version-v2.1.0/guides/windows.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/howdoesitwork.mdx b/website/versioned_docs/version-v2.1.0/howdoesitwork.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/howdoesitwork.mdx
rename to website/versioned_docs/version-v2.1.0/howdoesitwork.mdx
index 62fafb685..872e847f3 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/howdoesitwork.mdx
+++ b/website/versioned_docs/version-v2.1.0/howdoesitwork.mdx
@@ -10,9 +10,11 @@ window. The frontend is a webkit window that will display the frontend assets. A
version of the runtime library. Finally, it is possible to bind Go methods to the frontend, and these will appear as
Javascript methods that can be called, just as if they were local Javascript methods.
+```mdx-code-block
-
+
+```
## The Main Application
@@ -33,7 +35,7 @@ import (
"github.com/wailsapp/wails/v2/pkg/options"
)
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
func main() {
@@ -95,7 +97,7 @@ there is no requirement on where in the `embed.FS` the files live. It is likely
directory relative to your main application code, such as `frontend/dist`:
```go title="main.go"
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
```
@@ -147,7 +149,7 @@ import (
"github.com/wailsapp/wails/v2/pkg/options"
)
-//go:embed frontend/dist
+//go:embed all:frontend/dist
var assets embed.FS
func main() {
@@ -262,11 +264,14 @@ In the example above, `Greet` only returns a `string` so the Javascript call wil
is passed to it.
All data types are correctly translated between Go and Javascript. Even structs. If you return a struct from a Go call,
-it will be returned to your frontend as a Javascript class. Note: If you wish to use structs, you **must** define
-`json` struct tags for your fields!
+it will be returned to your frontend as a Javascript class.
:::info Note
+
+Struct fields *must* have a valid `json` tag to be included in the generated Typescript.
+
Anonymous nested structs are not supported at this time.
+
:::
It is possible to send structs back to Go. Any Javascript map/class passed as an argument that
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/introduction.mdx b/website/versioned_docs/version-v2.1.0/introduction.mdx
similarity index 92%
rename from website/versioned_docs/version-v2.0.0-rc.1/introduction.mdx
rename to website/versioned_docs/version-v2.1.0/introduction.mdx
index 6ef1e7523..5fc62f170 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/introduction.mdx
+++ b/website/versioned_docs/version-v2.1.0/introduction.mdx
@@ -13,25 +13,29 @@ and power of Go, combined with a rich, modern frontend.
- Native Menus, Dialogs, Theming and Translucency
- Windows, macOS and linux support
-- Built in templates for Svelte, React, Preact, Vue, Lit and Vanilla JS
+- Built in templates for Svelte, React, Preact, Vue, Lit and Vanilla JS
- Easily call Go methods from Javascript
- Automatic Go struct to Typescript model generation
- No CGO or external DLLs required on Windows
-- Live development mode using the power of [Vite](https://vite.net/)
+- Live development mode using the power of [Vite](https://vitejs.dev/)
- Powerful CLI to easily Create, Build and Package applications
-- A rich [runtime library](/docs/next/reference/runtime)
+- A rich [runtime library](/docs/reference/runtime/intro)
- Applications built with Wails are Apple & Microsoft Store compliant
-
This is [varly](https://varly.app) - a desktop application for
MacOS & Windows written using Wails. Not only does it look great, it uses native menus and translucency - everything
you'd expect from a modern native app.
+```mdx-code-block
+```
### Quick Start Templates
diff --git a/website/versioned_docs/version-v2.1.0/reference/_category_.json b/website/versioned_docs/version-v2.1.0/reference/_category_.json
new file mode 100644
index 000000000..ebb337b83
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/reference/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Reference",
+ "position": 40
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/cli.mdx b/website/versioned_docs/version-v2.1.0/reference/cli.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/cli.mdx
rename to website/versioned_docs/version-v2.1.0/reference/cli.mdx
index 011ffb8e4..8f3577e74 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/cli.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/cli.mdx
@@ -53,7 +53,7 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
`wails build` is used for compiling your project to a production-ready binary.
| Flag | Description | Default |
-| :------------------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| :-------------------------------------------------------------------------------------------------------------------------------------------- |
+|:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|
| -platform | Build for the given (comma delimited) [platforms](../reference/cli.mdx#platforms) eg. `windows/arm64`. Note, if you do not give the architecture, `runtime.GOARCH` is used. | platform = `GOOS` environment variable if given else `runtime.GOOS`. arch = `GOARCH` envrionment variable if given else `runtime.GOARCH`. |
| -clean | Cleans the `build/bin` directory | |
| -compiler "compiler" | Use a different go compiler to build, eg go1.15beta1 | go |
@@ -71,7 +71,9 @@ If you are unsure about a template, inspect `package.json` and `wails.json` for
| -debug | Retains debug information in the application. Allows the use of the devtools in the application window | false |
| -trimpath | Remove all file system paths from the resulting executable. | false |
| -race | Build with Go's race detector | false |
-| -windowsconsole | Keep the console window for Windows builds | false |
+| -windowsconsole | Keep the console window for Windows builds | |
+| -obfuscate | Obfuscate the application using [garble](https://github.com/burrowers/garble) | false |
+| -garbleargs | Arguments to pass to garble | `-literals -tiny -seed=random` |
For a detailed description of the `webview2` flag, please refer to the [Windows](../guides/windows.mdx) Guide.
@@ -82,6 +84,10 @@ Example:
`wails build -clean -o myproject.exe`
+:::Info
+On Mac, the application will be bundled with `Info.plist`, not `Info.dev.plist`.
+:::
+
:::info UPX on Apple Silicon
There are [issues](https://github.com/upx/upx/issues/446) with using UPX with Apple Silicon.
@@ -127,7 +133,7 @@ System
OS: Windows 10 Pro
Version: 2009 (Build: 19043)
ID: 21H1
-Go Version: go1.17
+Go Version: go1.18
Platform: windows
Architecture: amd64
@@ -158,6 +164,7 @@ Your system is ready for Wails development!
- Javascript wrappers of your Go methods with autogenerated JSDoc, providing code hinting
- TypeScript versions of your Go structs, that can be constructed and passed to your go methods
- A second JS module is generated that provides a wrapper + TS declaration for the runtime
+- On macOS, it will bundle the application into a `.app` file and run it. It will use a `build/darwin/Info.dev.plist` for development.
| Flag | Description | Default |
| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- |
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/menus.mdx b/website/versioned_docs/version-v2.1.0/reference/menus.mdx
similarity index 91%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/menus.mdx
rename to website/versioned_docs/version-v2.1.0/reference/menus.mdx
index 608b392bb..1c2d3f5b7 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/menus.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/menus.mdx
@@ -107,57 +107,23 @@ Example:
Keys are any single character on a keyboard with the exception of `+`, which is defined as `plus`.
Some keys cannot be represented as characters so there are a set of named characters that may be used:
-- `backspace`
-- `tab`
-- `return`
-- `enter`
-- `escape`
-- `left`
-- `right`
-- `up`
-- `down`
-- `space`
-- `delete`
-- `home`
-- `end`
-- `page up`
-- `page down`
-- `f1`
-- `f2`
-- `f3`
-- `f4`
-- `f5`
-- `f6`
-- `f7`
-- `f8`
-- `f9`
-- `f10`
-- `f11`
-- `f12`
-- `f13`
-- `f14`
-- `f15`
-- `f16`
-- `f17`
-- `f18`
-- `f19`
-- `f20`
-- `f21`
-- `f22`
-- `f23`
-- `f24`
-- `f25`
-- `f26`
-- `f27`
-- `f28`
-- `f29`
-- `f30`
-- `f31`
-- `f32`
-- `f33`
-- `f34`
-- `f35`
-- `numlock`
+| | | | |
+| :---------: | :---: | :---: | :-------: |
+| `backspace` | `f1` | `f16` | `f31` |
+| `tab` | `f2` | `f17` | `f32` |
+| `return` | `f3` | `f18` | `f33` |
+| `enter` | `f4` | `f19` | `f34` |
+| `escape` | `f5` | `f20` | `f35` |
+| `left` | `f6` | `f21` | `numlock` |
+| `right` | `f7` | `f22` | |
+| `up` | `f8` | `f23` | |
+| `down` | `f9` | `f24` | |
+| `space` | `f10` | `f25` | |
+| `delete` | `f11` | `f36` | |
+| `home` | `f12` | `f37` | |
+| `end` | `f13` | `f38` | |
+| `page up` | `f14` | `f39` | |
+| `page down` | `f15` | `f30` | |
Wails also supports parsing accelerators using the same syntax as Electron. This is useful for storing accelerators in
config files.
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/options.mdx b/website/versioned_docs/version-v2.1.0/reference/options.mdx
similarity index 81%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/options.mdx
rename to website/versioned_docs/version-v2.1.0/reference/options.mdx
index 5371ed964..4f2b1227a 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/options.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/options.mdx
@@ -42,12 +42,15 @@ func main() {
WindowStartState: options.Maximised,
CSSDragProperty: "--wails-draggable",
CSSDragValue: "drag",
+ ZoomFactor: 1.0,
+ IsZoomControlEnabled: false,
Bind: []interface{}{
app,
},
Windows: &windows.Options{
WebviewIsTransparent: false,
WindowIsTranslucent: false,
+ BackdropType: windows.Mica,
DisableWindowIcon: false,
DisableFramelessWindowDecorations: false,
WebviewUserDataPath: "",
@@ -63,6 +66,10 @@ func main() {
},
// User messages that can be customised
Messages *windows.Messages
+ // OnSuspend is called when Windows enters low power mode
+ OnSuspend func()
+ // OnResume is called when Windows resumes from low power mode
+ OnResume func()
},
Mac: &mac.Options{
TitleBar: &mac.TitleBar{
@@ -84,6 +91,7 @@ func main() {
},
Linux: &linux.Options{
Icon: icon,
+ WindowIsTranslucent: false,
},
})
if err != nil {
@@ -97,12 +105,14 @@ func main() {
The text shown in the window's title bar.
+Name: Title
Type: `string`
### Width
The initial width of the window.
+Name: Width
Type: `int`
Default: 1024.
@@ -110,6 +120,7 @@ Default: 1024.
The initial height of the window.
+Name: Height
Type: `int`
Default: 768
@@ -117,12 +128,14 @@ Default: 768
By default, the main window is resizable. Setting this to `true` will keep it a fixed size.
+Name: DisableResize
Type: `bool`
### Fullscreen
Setting this to `true` will make the window fullscreen at startup.
+Name: Fullscreen
Type: `bool`
### Frameless
@@ -130,6 +143,7 @@ Type: `bool`
When set to `true`, the window will have no borders or title bar.
Also see [Frameless Windows](../guides/frameless.mdx).
+Name: Frameless
Type: `bool`
### MinWidth
@@ -137,6 +151,7 @@ Type: `bool`
This sets the minimum width for the window. If the value given in `Width` is less than this value,
the window will be set to `MinWidth` by default.
+Name: MinWidth
Type: `int`
### MinHeight
@@ -144,6 +159,7 @@ Type: `int`
This sets the minimum height for the window. If the value given in `Height` is less than this value,
the window will be set to `MinHeight` by default.
+Name: MinHeight
Type: `int`
### MaxWidth
@@ -151,6 +167,7 @@ Type: `int`
This sets the maximum width for the window. If the value given in `Width` is more than this value,
the window will be set to `MaxWidth` by default.
+Name: MaxWidth
Type: `int`
### MaxHeight
@@ -158,6 +175,7 @@ Type: `int`
This sets the maximum height for the window. If the value given in `Height` is more than this value,
the window will be set to `MaxHeight` by default.
+Name: MaxHeight
Type: `int`
### StartHidden
@@ -165,13 +183,16 @@ Type: `int`
When set to `true`, the application will be hidden until [WindowShow](../reference/runtime/window.mdx#windowshow)
is called.
+Name: StartHidden
Type: `bool`
+
### HideWindowOnClose
By default, closing the window will close the application. Setting this to `true` means closing the window will
hide the window instead.
+Name: HideWindowOnClose
Type: `bool`
### BackgroundColour
@@ -179,6 +200,7 @@ Type: `bool`
This value is the default background colour of the window.
Example: options.NewRGBA(255,0,0,128) - Red at 50% transparency
+Name: BackgroundColour
Type: `*options.RGBA`
Default: white
@@ -186,12 +208,14 @@ Default: white
Indicates that the window should stay above other windows when losing focus.
+Name: AlwaysOnTop
Type: `bool`
### Assets
The frontend assets to be used by the application. Requires an `index.html` file.
+Name: Assets
Type: `embed.FS`
### AssetsHandler
@@ -222,6 +246,7 @@ supported by the introduction of WebKit2GTK 2.36.0+ support.
NOTE: When used in combination with a Frontend DevServer there might be limitations, eg. Vite serves the index.html
on every path, that does not contain a file extension.
+Name: AssetsHandler
Type: `http.Handler`
### Menu
@@ -229,15 +254,19 @@ Type: `http.Handler`
The menu to be used by the application. More details about Menus in the [Menu Reference](../reference/runtime/menu.mdx).
:::note
+
On Mac, if no menu is specified, a default menu will be created.
+
:::
+Name: Menu
Type: `*menu.Menu`
### Logger
The logger to be used by the application. More details about logging in the [Log Reference](../reference/runtime/log.mdx).
+Name: Logger
Type: `logger.Logger`
Default: Logs to Stdout
@@ -245,6 +274,7 @@ Default: Logs to Stdout
The default log level. More details about logging in the [Log Reference](../reference/runtime/log.mdx).
+Name: LogLevel
Type: `logger.LogLevel`
Default: `Info` in dev mode, `Error` in production mode
@@ -252,6 +282,7 @@ Default: `Info` in dev mode, `Error` in production mode
The default log level for production builds. More details about logging in the [Log Reference](../reference/runtime/log.mdx).
+Name: LogLevelProduction
Type: `logger.LogLevel`
Default: `Error`
@@ -260,6 +291,7 @@ Default: `Error`
This callback is called after the frontend has been created, but before `index.html` has been loaded. It is given
the application context.
+Name: OnStartup
Type: `func(ctx context.Context)`
### OnDomReady
@@ -267,6 +299,7 @@ Type: `func(ctx context.Context)`
This callback is called after the frontend has loaded `index.html` and its resources. It is given
the application context.
+Name: OnDomReady
Type: `func(ctx context.Context)`
### OnShutdown
@@ -274,6 +307,7 @@ Type: `func(ctx context.Context)`
This callback is called after the frontend has been destroyed, just before the application terminates. It is given
the application context.
+Name: OnShutdown
Type: `func(ctx context.Context)`
### OnBeforeClose
@@ -286,21 +320,20 @@ Example:
```go title=windowsapp.go
func (b *App) beforeClose(ctx context.Context) (prevent bool) {
- dialog, err := runtime.MessageDialog(ctx, runtime.MessageDialogOptions{
- Title: "Quit?",
- Message: "Are you sure you want to quit?",
-
- Type: ` runtime`.QuestionDialog,
+ dialog, err := runtime.MessageDialog(ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Quit?",
+ Message: "Are you sure you want to quit?",
+ })
- })
-
- if err != nil {
- return false
- }
- return dialog != "Yes"
+ if err != nil {
+ return false
+ }
+ return dialog != "Yes"
}
```
+Name: OnBeforeClose
Type: `func(ctx context.Context) bool`
### WindowStartState
@@ -313,82 +346,106 @@ Defines how the window should present itself at startup.
| Maximised | ✅ | ✅ | ✅ |
| Minimised | ✅ | ❌ | ✅ |
+Name: WindowStartState
Type: `options.WindowStartState`
### CSSDragProperty
Indicates the CSS property to use to identify which elements can be used to drag the window. Default: `--wails-draggable`.
+Name: CSSDragProperty
Type: `string`
### CSSDragValue
Indicates what value the `CSSDragProperty` style should have to drag the window. Default: `drag`.
+Name: CSSDragValue
Type: `string`
### Bind
A slice of struct instances defining methods that need to be bound to the frontend.
+Name: Bind
Type: `[]interface{}`
### Windows
-This defines [Windows specific options](#windows-specific-options).
+This defines [Windows specific options](#windows).
+Name: Windows
Type: `*windows.Options`
-### Mac
-
-This defines [Mac specific options](#mac-specific-options).
-
-Type: `*mac.Options`
-
-### Linux
-
-This defines [Linux specific options](#linux-specific-options).
-
-Type: `*linux.Options`
-
-## Windows Specific Options
-
-### WebviewIsTransparent
+#### WebviewIsTransparent
Setting this to `true` will make the webview background transparent when an alpha value of `0` is used.
This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through.
Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications.
+Name: WebviewIsTransparent
Type: `bool`
-### WindowIsTranslucent
+#### WindowIsTranslucent
Setting this to `true` will make the window background translucent. Often combined
-with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications.
+with [WebviewIsTransparent](#WebviewIsTransparent).
+For Windows 11 versions before build 22621, this will use the [BlurBehind](https://learn.microsoft.com/en-us/windows/win32/dwm/blur-ovw)
+method for translucency, which can be slow. For Windows 11 versions after build 22621, this will enable the
+newer translucency types that are much faster. By default, the type of translucency used will be determined
+by Windows. To configure this, use the [BackdropType](#BackdropType) option.
+
+Name: WindowIsTranslucent
Type: `bool`
-### DisableWindowIcon
+#### BackdropType
+
+:::note
+
+Requires Windows 11 build 22621 or later.
+
+:::
+
+Sets the translucency type of the window. This is only applicable if [WindowIsTranslucent](#WindowIsTranslucent) is set to `true`.
+
+Name: BackdropType
+Type `windows.BackdropType`
+
+The value can be one of the following:
+
+| Value | Description |
+|---------|-------------------------------------------------------------------------------------------|
+| Auto | Let Windows decide which backdrop to use |
+| None | Do not use translucency |
+| Acrylic | Use [Acrylic](https://learn.microsoft.com/en-us/windows/apps/design/style/acrylic) effect |
+| Mica | Use [Mica](https://learn.microsoft.com/en-us/windows/apps/design/style/mica) effect |
+| Tabbed | Use Tabbed. This is a backdrop that is similar to Mica. |
+
+#### DisableWindowIcon
Setting this to `true` will remove the icon in the top left corner of the title bar.
+Name: DisableWindowIcon
Type: `bool`
-### DisableFramelessWindowDecorations
+#### DisableFramelessWindowDecorations
Setting this to `true` will remove the window decorations in [Frameless](#Frameless) mode. This means there will be no
'Aero Shadow' and no 'Rounded Corners' shown for the window. Please note that 'Rounded Corners' are only supported on
Windows 11.
+Name: DisableFramelessWindowDecorations
Type: `bool`
-### WebviewUserDataPath
+#### WebviewUserDataPath
This defines the path where the WebView2 stores the user data. If empty `%APPDATA%\[BinaryName.exe]` will be used.
+Name: WebviewUserDataPath
Type: `string`
-### WebviewBrowserPath
+#### WebviewBrowserPath
This defines the path to a directory with WebView2 executable files and libraries. If empty, webview2 installed in the system will be used.
@@ -398,9 +455,25 @@ Important information about distribution of fixed version runtime:
- [Known issues for fixed version](https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#known-issues-for-fixed-version)
- [The path of fixed version of the WebView2 Runtime should not contain \Edge\Application\.](https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl?view=webview2-1.0.1245.22#createcorewebview2environmentwithoptions)
+Name: WebviewBrowserPath
Type: `string`
-### Theme
+### ZoomFactor
+
+Name: ZoomFactor
+Type: `float64`
+
+This defines the zoom factor for the WebView2. This is the option matching the Edge user activated zoom in or out.
+
+### IsZoomControlEnabled
+
+Name: IsZoomControlEnabled
+Type: `bool`
+
+This enables the zoom factor to be changed by the user. Please note that the zoom factor can be set in the options while
+disallowing the user to change it at runtime (f.e. for a kiosk application or similar).
+
+#### Theme
Minimum Windows Version: Windows 10 2004/20H1
@@ -412,20 +485,24 @@ This defines the theme that the application should use:
| Dark | The application will use a dark theme exclusively |
| Light | The application will use a light theme exclusively |
+Name: Theme
Type: `windows.Theme`
-### CustomTheme
+#### CustomTheme
:::note
+
Minimum Windows Version: Windows 10/11 2009/21H2 Build 22000
+
:::
Allows you to specify custom colours for TitleBar, TitleText and Border for both light and dark mode, as well as
when the window is active or inactive.
+Name: CustomTheme
Type: `windows.CustomTheme`
-#### CustomTheme Type
+##### CustomTheme type
The CustomTheme struct uses `int32` to specify the colour values. These are in the standard(!) Windows format of:
`0x00BBGGAA`. A helper function is provided to do RGB conversions into this format: `windows.RGB(r,g,b uint8)`.
@@ -470,71 +547,52 @@ Example:
},
```
-### Messages
+#### Messages
A struct of strings used by the webview2 installer if a valid webview2 runtime is not found.
+Name: Messages
Type: `*windows.Messages`
Customise this for any language you choose to support.
-### ResizeDebounceMS
+#### ResizeDebounceMS
ResizeDebounceMS is the amount of time to debounce redraws of webview2 when resizing the window.
The default value (0) will perform redraws as fast as it can.
+Name: ResizeDebounceMS
Type: `uint16`
-### OnSuspend
+#### OnSuspend
-If set, this function will be called when windows initiates a switch to low power mode (suspend/hibernate)
+If set, this function will be called when Windows initiates a switch to low power mode (suspend/hibernate)
+Name: OnSuspend
Type: `func()`
-### OnResume
+#### OnResume
-If set, this function will be called when windows resumes from low power mode (suspend/hibernate)
+If set, this function will be called when Windows resumes from low power mode (suspend/hibernate)
+Name: OnResume
Type: `func()`
-## Mac Specific Options
+### Mac
-### TitleBar
+This defines [Mac specific options](#mac).
+
+Name: Mac
+Type: `*mac.Options`
+
+#### TitleBar
The TitleBar struct provides the ability to configure the look and feel of the title bar.
+Name: TitleBar
Type: [`*mac.TitleBar`](#titlebar-struct)
-
-### Appearance
-
-Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names.
-
-Type: [`AppearanceType`](#appearance-type)
-
-### WebviewIsTransparent
-
-Setting this to `true` will make the webview background transparent when an alpha value of `0` is used.
-This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through.
-Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications.
-
-Type: `bool`
-
-### WindowIsTranslucent
-
-Setting this to `true` will make the window background translucent. Often combined
-with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications.
-
-Type: `bool`
-
-### About
-
-This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role.
-
-Type: [`About`](#about-struct)
-
-
-#### Titlebar struct
+##### Titlebar struct
The titlebar of the application can be customised by using the TitleBar options:
@@ -560,8 +618,8 @@ type TitleBar struct {
Preconfigured titlebar settings are available:
-| Setting | Example |
-| --------------------------- | --------------------------------------------- |
+| Setting | Example |
+| --------------------------- | ---------------------------------------------- |
| `mac.TitleBarDefault()` |  |
| `mac.TitleBarHidden()` |  |
| `mac.TitleBarHiddenInset()` |  |
@@ -576,7 +634,14 @@ Mac: &mac.Options{
Click [here](https://github.com/lukakerr/NSWindowStyles) for some inspiration on customising the titlebar.
-#### Appearance type
+#### Appearance
+
+Appearance is used to set the style of your app in accordance with Apple's [NSAppearance](https://developer.apple.com/documentation/appkit/nsappearancename?language=objc) names.
+
+Name: Appearance
+Type: [`mac.AppearanceType`](#appearance-type)
+
+##### Appearance type
You can specify the application's [appearance](https://developer.apple.com/documentation/appkit/nsappearance?language=objc).
@@ -599,9 +664,34 @@ Mac: &mac.Options{
}
```
-#### About struct
+#### WebviewIsTransparent
+
+Setting this to `true` will make the webview background transparent when an alpha value of `0` is used.
+This means that if you use `rgba(0,0,0,0)` for `background-color` in your CSS, the host window will show through.
+Often combined with [WindowIsTranslucent](#WindowIsTranslucent) to make frosty-looking applications.
+
+Name: WebviewIsTransparent
+Type: `bool`
+
+#### WindowIsTranslucent
+
+Setting this to `true` will make the window background translucent. Often combined
+with [WebviewIsTransparent](#WebviewIsTransparent) to make frosty-looking applications.
+
+Name: WindowIsTranslucent
+Type: `bool`
+
+#### About
+
+This configuration lets you set the title, message and icon for the "About" menu item in the app menu created by the "AppMenu" role.
+
+Name: About
+Type: [`*mac.AboutInfo`](#about-struct)
+
+##### About struct
```go
+
type AboutInfo struct {
Title string
Message string
@@ -631,6 +721,7 @@ func main() {
The "About" menu item will appear in the app menu:
+```mdx-code-block
+```
When clicked, that will open an about message box:
+```mdx-code-block
+```
-## Linux Specific Options
+### Linux
-### Icon
+This defines [Linux specific options](#linux).
+
+Name: Linux
+Type: `*linux.Options`
+
+#### Icon
Sets up the icon representing the window. This icon is used when the window is minimized (also known as iconified).
+Name: Icon
Type: `[]byte`
Some window managers or desktop environments may also place it in the window frame, or display it in other contexts.
@@ -666,3 +766,10 @@ On KDE it should work.
The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it.
Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.
+
+#### WindowIsTranslucent
+
+Setting this to `true` will make the window background translucent. Some window managers may ignore it, or result in a black window.
+
+Name: WindowIsTranslucent
+Type: `bool`
\ No newline at end of file
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/project-config.mdx b/website/versioned_docs/version-v2.1.0/reference/project-config.mdx
similarity index 94%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/project-config.mdx
rename to website/versioned_docs/version-v2.1.0/reference/project-config.mdx
index 7a243da9e..9111e59af 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/project-config.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/project-config.mdx
@@ -8,16 +8,16 @@ The project config resides in the `wails.json` file in the project directory. Th
```json
{
- "name": "[The project name]",
+ "name": "[The project name]",
"assetdir": "[Relative path to the directory containing the compiled assets, this is normally inferred and could be left empty]",
"reloaddirs": "[Additional directories to trigger reloads (comma separated), this is only used for some advanced asset configurations]",
"frontend:install": "[The command to install node dependencies, run in the frontend directory - often `npm install`]",
"frontend:build": "[The command to build the assets, run in the frontend directory - often `npm run build`]",
- "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. If this command is also not specified will falls back to frontend:build]",
+ "frontend:dev": "[This command has been replaced by frontend:dev:build. If frontend:dev:build is not specified will falls back to this command. \nIf this command is also not specified will falls back to frontend:build]",
"frontend:dev:build": "[This command is the dev equivalent of frontend:build. If not specified falls back to frontend:dev]",
"frontend:dev:install": "[This command is the dev equivalent of frontend:install. If not specified falls back to frontend:install]",
"frontend:dev:watcher": "[This command is run in a separate process on `wails dev`. Useful for 3rd party watchers or starting 3d party dev servers]",
- "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. If this is set to 'auto' then the devServerUrl will be inferred from the Vite output]",
+ "frontend:dev:serverUrl": "[URL to a 3rd party dev server to be used to serve assets, EG Vite. \nIf this is set to 'auto' then the devServerUrl will be inferred from the Vite output]",
"wailsjsdir": "[Relative path to the directory that the auto-generated JS modules will be created]",
"version": "[Project config version]",
"outputfilename": "[The name of the binary]",
diff --git a/website/versioned_docs/version-v2.1.0/reference/runtime/_category_.json b/website/versioned_docs/version-v2.1.0/reference/runtime/_category_.json
new file mode 100644
index 000000000..ac6d55488
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Runtime",
+ "position": 1
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/browser.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/browser.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/browser.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/browser.mdx
index 263c5897c..6f72be0ce 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/browser.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/browser.mdx
@@ -12,4 +12,3 @@ Opens the given URL in the system browser.
Go: `BrowserOpenURL(ctx context.Context, url string)`
JS: `BrowserOpenURL(url string)`
-
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/dialog.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/dialog.mdx
similarity index 84%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/dialog.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/dialog.mdx
index 5f679b1b2..a15b9ac4b 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/dialog.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/dialog.mdx
@@ -7,7 +7,9 @@ sidebar_position: 5
This part of the runtime provides access to native dialogs, such as File Selectors and Message boxes.
:::info Javascript
+
Dialog is currently unsupported in the JS runtime.
+
:::
### OpenDirectoryDialog
@@ -115,19 +117,32 @@ type MessageDialogOptions struct {
}
```
-| Field | Description | Win | Mac | Lin |
-| ------------- | ------------------------------------------------------------------------- | --- | --- | --- |
-| Type | The type of message dialog, eg question, info... | ✅ | ✅ | ✅ |
-| Title | Title for the dialog | ✅ | ✅ | ✅ |
-| Message | The message to show the user | ✅ | ✅ | ✅ |
-| Buttons | A list of button titles | | ✅ | |
-| DefaultButton | The button with this text should be treated as default. Bound to `return` | | ✅ | |
-| CancelButton | The button with this text should be treated as cancel. Bound to `escape` | | ✅ | |
+| Field | Description | Win | Mac | Lin |
+|---------------|----------------------------------------------------------------------------|----------------|-----|-----|
+| Type | The type of message dialog, eg question, info... | ✅ | ✅ | ✅ |
+| Title | Title for the dialog | ✅ | ✅ | ✅ |
+| Message | The message to show the user | ✅ | ✅ | ✅ |
+| Buttons | A list of button titles | | ✅ | |
+| DefaultButton | The button with this text should be treated as default. Bound to `return`. | ✅[*](#windows) | ✅ | |
+| CancelButton | The button with this text should be treated as cancel. Bound to `escape` | | ✅ | |
#### Windows
Windows has standard dialog types in which the buttons are not customisable.
-The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue"
+The value returned will be one of: "Ok", "Cancel", "Abort", "Retry", "Ignore", "Yes", "No", "Try Again" or "Continue".
+
+For Question dialogs, the default button is "Yes" and the cancel button is "No".
+This can be changed by setting the `DefaultButton` value to `"No"`.
+
+Example:
+```go
+ result, err := runtime.MessageDialog(a.ctx, runtime.MessageDialogOptions{
+ Type: runtime.QuestionDialog,
+ Title: "Question",
+ Message: "Do you want to continue?",
+ DefaultButton: "No",
+ })
+```
#### Linux
@@ -151,14 +166,16 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
the first button is shown as default:
+```mdx-code-block
+```
And if we specify `DefaultButton` to be "two":
@@ -173,14 +190,16 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
the second button is shown as default. When `return` is pressed, the value "two" is returned.
+```mdx-code-block
+```
If we now specify `CancelButton` to be "three":
@@ -196,9 +215,10 @@ selection, err := runtime.MessageDialog(b.ctx, runtime.MessageDialogOptions{
the button with "three" is shown at the bottom of the dialog. When `escape` is pressed, the value "three" is returned:
+```mdx-code-block
@@ -206,6 +226,7 @@ the button with "three" is shown at the bottom of the dialog. When `escape` is p
+```
#### DialogType
@@ -232,9 +253,10 @@ type FileFilter struct {
Windows allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the
dialog:
+```mdx-code-block
@@ -242,15 +264,17 @@ dialog:
+```
#### Linux
Linux allows you to use multiple file filters in dialog boxes. Each FileFilter will show up as a separate entry in the
dialog:
+```mdx-code-block
@@ -258,6 +282,7 @@ dialog:
+```
#### Mac
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/events.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/events.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/events.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/events.mdx
index 6fc64cf47..8bfd346a5 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/events.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/events.mdx
@@ -42,4 +42,3 @@ This method emits the given event. Optional data may be passed with the event. T
Go: `EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})`
JS: `EventsEmit(ctx context, optionalData function(optionalData?: any))`
-
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/intro.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/intro.mdx
similarity index 97%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/intro.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/intro.mdx
index 4310bab57..1f69f662f 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/intro.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/intro.mdx
@@ -41,9 +41,11 @@ JS: `Hide()`
Hides the application.
:::info Note
+
On Mac, this will hide the application in the same way as the `Hide` menu item in standard Mac applications.
This is different to hiding the window, but the application still being in the foreground.
For Windows and Linux, this is currently the same as `WindowHide`.
+
:::
### Show
@@ -51,8 +53,10 @@ For Windows and Linux, this is currently the same as `WindowHide`.
Shows the application.
:::info Note
+
On Mac, this will bring the application back into the foreground.
For Windows and Linux, this is currently the same as `WindowShow`.
+
:::
Go: `Show(ctx context.Context)`
@@ -75,6 +79,7 @@ JS: `Environment(): Promise`
#### EnvironmentInfo
Go:
+
```go
type EnvironmentInfo struct {
BuildType string
@@ -82,11 +87,13 @@ type EnvironmentInfo struct {
Arch string
}
```
+
JS:
+
```ts
interface EnvironmentInfo {
- buildType: string;
- platform: string;
- arch: string;
+ buildType: string;
+ platform: string;
+ arch: string;
}
```
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/log.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/log.mdx
similarity index 100%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/log.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/log.mdx
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/menu.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/menu.mdx
similarity index 99%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/menu.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/menu.mdx
index 6a7e06cf9..da4b74b69 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/menu.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/menu.mdx
@@ -7,7 +7,9 @@ sidebar_position: 6
These methods are related to the application menu.
:::info Javascript
+
Menu is currently unsupported in the JS runtime.
+
:::
### MenuSetApplicationMenu
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/window.mdx b/website/versioned_docs/version-v2.1.0/reference/runtime/window.mdx
similarity index 90%
rename from website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/window.mdx
rename to website/versioned_docs/version-v2.1.0/reference/runtime/window.mdx
index 3ddceea4c..eec2a991b 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/reference/runtime/window.mdx
+++ b/website/versioned_docs/version-v2.1.0/reference/runtime/window.mdx
@@ -31,7 +31,7 @@ JS: `WindowUnfullscreen()`
Returns true if the window is full screen.
-Go: `WindowIsFullscreen(ctx context.Context) bool`
+Go: `WindowIsFullscreen(ctx context.Context) bool`
JS: `WindowIsFullscreen() bool`
### WindowCenter
@@ -41,6 +41,15 @@ Centers the window on the monitor the window is currently on.
Go: `WindowCenter(ctx context.Context)`
JS: `WindowCenter()`
+### WindowExecJS
+
+Executes arbitrary JS code in the window.
+
+This method runs the code in the browser asynchronously and returns immediately.
+If the script causes any errors, they will only be available in the browser console.
+
+Go: `WindowExecJS(ctx context.Context, js string)`
+
### WindowReload
Performs a "reload" (Reloads current page).
@@ -100,7 +109,7 @@ JS: `WindowHide()`
Returns true if the window not minimised, maximised or fullscreen.
-Go: `WindowIsNormal(ctx context.Context) bool`
+Go: `WindowIsNormal(ctx context.Context) bool`
JS: `WindowIsNormal() bool`
### WindowSetSize
@@ -176,7 +185,7 @@ JS: `WindowUnmaximise()`
Returns true if the window is maximised.
-Go: `WindowIsMaximised(ctx context.Context) bool`
+Go: `WindowIsMaximised(ctx context.Context) bool`
JS: `WindowIsMaximised() bool`
### WindowToggleMaximise
@@ -204,7 +213,7 @@ JS: `WindowUnminimise()`
Returns true if the window is minimised.
-Go: `WindowIsMinimised(ctx context.Context) bool`
+Go: `WindowIsMinimised(ctx context.Context) bool`
JS: `WindowIsMinimised() bool`
### WindowSetBackgroundColour
@@ -215,8 +224,10 @@ This colour will show through for all transparent pixels.
Valid values for R, G, B and A are 0-255.
:::info Windows
+
On Windows, only alpha values of 0 or 255 are supported.
Any value that is not 0 will be considered 255.
+
:::
Go: `WindowSetBackgroundColour(ctx context.Context, R, G, B, A uint8)`
diff --git a/website/versioned_docs/version-v2.1.0/tutorials/_category_.json b/website/versioned_docs/version-v2.1.0/tutorials/_category_.json
new file mode 100644
index 000000000..dfac1d175
--- /dev/null
+++ b/website/versioned_docs/version-v2.1.0/tutorials/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Tutorials",
+ "position": 70
+}
diff --git a/website/versioned_docs/version-v2.0.0-rc.1/tutorials/dogsapi.mdx b/website/versioned_docs/version-v2.1.0/tutorials/dogsapi.mdx
similarity index 95%
rename from website/versioned_docs/version-v2.0.0-rc.1/tutorials/dogsapi.mdx
rename to website/versioned_docs/version-v2.1.0/tutorials/dogsapi.mdx
index 4a5f9c88a..011ebe266 100644
--- a/website/versioned_docs/version-v2.0.0-rc.1/tutorials/dogsapi.mdx
+++ b/website/versioned_docs/version-v2.1.0/tutorials/dogsapi.mdx
@@ -4,6 +4,7 @@ sidebar_position: 20
# Dogs API
+```mdx-code-block
+```
:::note
+
This tutorial has been kindly provided by [@tatadan](https://twitter.com/tatadan) and forms part of
their [Wails Examples Repository](https://github.com/tataDan/wails-v2-examples).
+
:::
-In this tutorial we are going to develop an application that retrieves photos of dogs from the web
+In this tutorial we are going to develop an application that retrieves photos of dogs from the web
and then displays them.
### Create the project
-Let's create the application. From a terminal enter:
-```wails init -n dogs-api -t svelte```
+Let's create the application. From a terminal enter:
+`wails init -n dogs-api -t svelte`
Note: We could optionally add `-ide vscode` or `-ide goland` to the end of this command if you wanted
to add IDE support.
@@ -151,6 +155,7 @@ import (
Add the following lines to `frontend/src/App.svelte`:
+
```html