Skip to content

Commit

Permalink
doc: add website (#191)
Browse files Browse the repository at this point in the history
  • Loading branch information
andycall authored Oct 18, 2023
1 parent bc503dd commit 911f331
Show file tree
Hide file tree
Showing 91 changed files with 5,596 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy website content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main", "feat/website"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- uses: actions/setup-node@v2
with:
node-version: "18.12.1"
- name: Build the Docs
run: |
cd website
npm i
npm run build
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
# Upload entire repository
path: './website/build'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
20 changes: 20 additions & 0 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Dependencies
/node_modules

# Production
/build

# Generated files
.docusaurus
.cache-loader

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
41 changes: 41 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Website

This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.

### Installation

```
$ yarn
```

### Local Development

```
$ yarn start
```

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

### Build

```
$ yarn build
```

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

### Deployment

Using SSH:

```
$ USE_SSH=true yarn deploy
```

Not using SSH:

```
$ GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
3 changes: 3 additions & 0 deletions website/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
347 changes: 347 additions & 0 deletions website/docs/resources/design_documents.md

Large diffs are not rendered by default.

Binary file added website/docs/resources/imgs/api_organized.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/resources/imgs/binding_code.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/resources/imgs/command_buffer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/resources/imgs/dart_js_thread.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/resources/imgs/gen_bindings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/docs/resources/imgs/single_thread.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions website/docs/tutorials/getting-started/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"position": 1,
"label": "Getting Started",
"collapsible": true,
"collapsed": false
}
55 changes: 55 additions & 0 deletions website/docs/tutorials/getting-started/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
sidebar_position: 1
title: Introduction
---

# What is WebF?

WebF is a Flutter package that enables developers to build their Flutter apps using HTML/CSS and JavaScript in one code
base and deploy to mobile and desktop platforms.

It offers a subset of browser capabilities, including HTML, CSS, and a JavaScript runtime environment with built-in DOM,
Window, Document, and other APIs defined in W3C/WhatWG standards.

This allows developers to utilize popular web frameworks, libraries, and other utilities to build apps compatible with
both WebF and web browsers.

By embedding an [optimized QuickJS engine](https://github.com/openwebf/quickjs), WebF can reduce loading time by 50%
compared to WebView.

All Flutter capabilities and its ecosystem are fully accessible to web developers.
This makes it possible for them to embed a native performance video player or a 3D game engine into the web without
experiencing the performance loss associated with WebAssembly or WebGL in WebView.

## Getting Started

We recommend you to start with the [tutorial](/docs/tutorials/getting-started/quick-start), which guides you through the
process of developing an WebF app and distributing it to users.

The [examples](https://github.com/openwebf) and [API documentation](./) are also good places to browse around and
discover new things.

## What is in the docs?

There are two major kinds of developers who are expected to read this documentation -- Web developers and Flutter/client
developers.

These docs are consists of the following different parts:

1. Guide for Web Developers: An end-to-end guide on how to create your first WebF app using HTML/CSS and JavaScript.
2. Guide for Flutter/Client Developers: An end-to-end guide on how to customize behavior and extend WebF's capabilities
using Flutter.
3. Performance & Optimizations: Crucial methods for measuring and improving the performance of WebF.
4. Best Practices: Essential checklists to keep in mind when developing a WebF app.
5. Resources: Design documents and an overview of the architecture.
6. Contributing Guide: Instructions for developers who want to contribute to WebF.

## Getting help

Are you getting stuck anywhere? Here are a few links to places to look:

1. If you need help developing your app, [our community Discord server](https://discord.gg/jkUsNGndFP) is a great
place to receive advice from other WebF app developers.
2. If you suspect you're encountering a bug with the WebF, please check the GitHub issue tracker to see if any existing
issues that match your problem. If not, feel free to fill out our bug report template and submit a new issue.
3. If you want to become a contributor of WebF, please contact [andycall](https://discordapp.com/users/375903419610824707) via discord directly.
Loading

0 comments on commit 911f331

Please sign in to comment.