diff --git a/sites/cheerpx/src/content/docs/11-guides/File-System-support.md b/sites/cheerpx/src/content/docs/11-guides/File-System-support.md index 655a636c..de50f5f8 100644 --- a/sites/cheerpx/src/content/docs/11-guides/File-System-support.md +++ b/sites/cheerpx/src/content/docs/11-guides/File-System-support.md @@ -34,11 +34,11 @@ const cx = await CheerpX.Linux.create({ This will mount the specified directory at `/web` in the CheerpX filesystem. To enable listing the directory contents, CheerpX looks for an `index.list` file in the directory and any subdirectories. This file should contain a newline-separated list of all files and subdirectories within the directory. -### Why use an `index.list` File? +### Why use an `index.list` file? The `index.list` file enables CheerpX to provide directory listing functionality in its WebDevice. It ensures seamless navigation of directories, compatibility with Linux-based tools, and support for navigating directories operations like `os.listdir()`. Since browsers restrict direct access to local files, `index.list` helps simulate a directory structure for virtual environments, making it essential for managing and accessing files effectively. -### Creating an `index.list` File +### Creating an `index.list` file To generate an `index.list` in every directory without including it in the directory listing, use the following command: @@ -64,7 +64,7 @@ find . -type d -exec sh -c 'cd "{}" && ls > .index.list && mv .index.list index. > [!warning] Warning > Be careful when using this command. It will overwrite existing index.list files in every directory it processes. Ensure you run it only in the intended directory and back up any important data before execution. Misuse in the wrong directory could cause unintentional data loss. -### Accessing Files +### Accessing files Files in the WebDevice are accessed relative to the current page's URL. For example, if your current page is `https://host/dir1/dir2/page.html`, then: @@ -92,7 +92,7 @@ const cx = await CheerpX.Linux.create({ This setup creates a virtual filesystem at `/files` that is backed by IndexedDB. -### Reading Files from JavaScript +### Reading files from JavaScript You can read files from an `IDBDevice` in JavaScript using the `readFileAsBlob` method: @@ -143,12 +143,12 @@ const cx = await CheerpX.Linux.create({ }); ``` -### Adding Files +### Adding files You can add files to a DataDevice from JavaScript using the `writeFile` method: ```javascript -await dataDevice.writeFile("/filename", "File content here"); +await dataDevice.writeFile("/filename", "file content here"); ``` ### `dataDevice.writeFile` @@ -206,7 +206,7 @@ const cx = await CheerpX.Linux.create({ This setup creates an ext2 filesystem that loads its initial data from an HTTP source and uses IndexedDB for persistent storage of changes. -### Device Configuration Options +### Device configuration options CheerpX supports various types of devices that can be used in the OverlayDevice configuration: @@ -214,7 +214,7 @@ CheerpX supports various types of devices that can be used in the OverlayDevice 2. **GitHubDevice**: Ideal for projects forked from the [WebVM](https://github.com/leaningtech/webvm/) repository. The Integrated GitHub Action will take care of preparing disk chunks for efficient access. 3. **OverlayDevice**: `OverlayDevice` supports chaining, making it possible to efficiently "fork" disk images while only storing the changes from previous versions. -## Best Practices +## Best practices 1. Use WebDevice for read-only access to server-side files. 2. Utilize IDBDevice for persistent storage of user data or application state.