wails/website
Lea Anthony c84506a8a8 docs: Comprehensive documentation redesign and v3-alpha updates
This commit represents a complete redesign of the Wails v3 documentation structure
and includes all recent v3-alpha updates.

## Major Changes

### Documentation Restructure
- Migrated from /learn to organized /features, /guides, /reference structure
- Created new Quick Start section with installation and first app guides
- Added comprehensive Concepts section explaining architecture and lifecycle
- Reorganized Contributing section with detailed guides for different contribution types
- Added complete API Reference with separate pages for each major component

### New Documentation
- Custom URL Protocols guide with NSIS automatic registration
- Windows Packaging guide with NSIS, MSI, and MSIX options
- Typed Events system with TypeScript binding generation
- Complete menu documentation (Application, Context, System Tray)
- Comprehensive dialog documentation (File, Message, Custom)
- Window management guides (Basics, Events, Frameless, Multiple Windows)
- Bindings documentation (Services, Methods, Models, Best Practices)
- New tutorials: Todo app and Notes app (vanilla JS)

### v3-alpha API Updates
- Typed Events: RegisterEvent[T] with strict mode and binding generation
- Custom Protocols: NSIS macros for automatic Windows protocol registration
- System Tray: Windows Show/Hide now fully functional with tooltip limits
- Window Hidden: Fixed white flash on Windows when creating hidden windows
- Notifications: Corrected import path to pkg/services/notifications
- Frontend Runtime: Events.Emit now returns Promise<boolean> for cancellation

### Documentation Improvements
- Updated all code examples to use @wailsio/runtime imports
- Added platform-specific event tables and examples
- Created comprehensive event reference with use cases
- Added security best practices and validation patterns
- Improved code examples with real-world use cases
- Added troubleshooting sections and common patterns

### Files
- Created: 60+ new documentation pages
- Deleted: Old /learn structure (13 files)
- Modified: 15 existing files for v3-alpha compatibility
- Added: Tutorial assets and showcase images
2025-11-23 20:57:25 +11:00
..
.vscode feat(website): repair document content (#1775) 2022-08-22 19:59:28 +10:00
blog Add github issue link 2023-01-18 17:41:33 +11:00
docs docs: Comprehensive documentation redesign and v3-alpha updates 2025-11-23 20:57:25 +11:00
i18n Merge branch 'refs/heads/master' into v3-alpha 2024-07-10 09:17:59 +10:00
src chore: fix changelog 2025-03-20 16:56:33 +00:00
static chore: update sponsors.svg (#3583) 2024-07-02 18:33:15 +10:00
versioned_docs Update templates.mdx (#3573) 2024-06-28 08:14:11 +10:00
versioned_sidebars v2.9.0 2024-06-16 10:34:01 +10:00
.gitattributes [Github] Exclude /website from language stats (#2927) 2023-09-21 05:48:19 +10:00
.gitignore fix: fix website build and add taskfile (#2577) 2023-04-12 21:36:01 +10:00
.nvmrc chore: optimize website building process (#2601) 2023-04-17 20:54:06 +10:00
.prettierignore chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
babel.config.js v2.0.0 2022-09-22 11:00:57 +10:00
crowdin.yml feat(website): update the Crowdin branch (#2688) 2023-05-27 12:51:43 +10:00
docusaurus.config.js fix: json5 code highlighting (#3278) 2024-02-29 08:46:33 +11:00
package.json Fix translations 2024-06-16 13:10:56 +10:00
pnpm-lock.yaml Bump ws in /website in the npm_and_yarn group across 1 directory (#3552) 2024-06-19 18:14:55 +10:00
prettier.config.js chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
README.md v2.0.0 2022-09-22 11:00:57 +10:00
sidebars.js fix(website): fix link (#1785) 2022-08-24 06:22:48 +10:00
Taskfile.yml Fix translations 2024-06-16 13:10:56 +10:00
versions.json v2.9.0 2024-06-16 10:34:01 +10:00

Website

This website is built using Docusaurus 2, a modern static website generator.

Installation

$ npm

Local Development

$ npm run start

Other languages:

npm run start -- --locale <language>

language - The language code configured in the i18n field in the docusaurus.config.js file.

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Translate

After the English source file is updated, run the following command to submit the source file to Crowdin:

npm run crowdin push -- -b <branch>

branch - Branch name in crowdin project

Run the following command to pull the translated files in crowdin to the local:

npm run crowdin pull -- -b <branch> -l <languageCode>

languageCode - Note that this refers to the language code in the crowdin project.

The recommended practice is to update the English source file locally, then translate the file in crowdin, and finally pull the translated file to the local.

Build

$ yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.