diff --git a/docz/docs/03-demos/19-bundler.md b/docz/docs/03-demos/19-bundler.md
index ab3f5a6..105478b 100644
--- a/docz/docs/03-demos/19-bundler.md
+++ b/docz/docs/03-demos/19-bundler.md
@@ -79,7 +79,7 @@ npx browserify xlsxworker.js > worker.js
npx http-server
```
-5) Access the site and use the file input element to
+5) Access the site http://localhost:8080/ and use the file input element to
select a spreadsheet.
diff --git a/docz/docs/03-demos/42-headless.md b/docz/docs/03-demos/42-headless.md
index 9c99450..6c8fa16 100644
--- a/docz/docs/03-demos/42-headless.md
+++ b/docz/docs/03-demos/42-headless.md
@@ -220,8 +220,7 @@ const { webkit } = require('playwright'); // import desired browser
## PhantomJS
-PhantomJS is a headless web browser powered by WebKit. Standalone binaries are
-available at
+PhantomJS is a headless web browser powered by WebKit.
:::warning
diff --git a/docz/docs/03-demos/45-git.md b/docz/docs/03-demos/45-git.md
index f3b4f92..70b2a48 100644
--- a/docz/docs/03-demos/45-git.md
+++ b/docz/docs/03-demos/45-git.md
@@ -14,7 +14,7 @@ const XLSX = require("xlsx");
(async() => {
/* Download Data */
- const f = await fetch("https://sheetjs.com/pres.xlsx");
+ const f = await fetch("https://docs.sheetjs.com/pres.xlsx");
const data = await f.arrayBuffer();
/* Parse workbook */
@@ -62,69 +62,7 @@ cannot access private repositories.
Any publicly available spreadsheet can be a valid data source. The process will
fetch the data on specified intervals or events.
-This demo endpoint generates XLSX files.
-
-Server Details (click to show)
-
-This demo is hosted on Deno Deploy.
-
-```ts
-// @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts"
-import { utils, writeXLSX } from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs';
-
-import * as Drash from "https://deno.land/x/drash@v2.5.4/mod.ts";
-
-const rand = (x:number, n = 10): number => ((x + n * (Math.random() - 0.5) + 10)|0)%10;
-
-class HomeResource extends Drash.Resource {
- public paths = ["/"];
-
- // see https://github.com/drashland/drash/issues/194
- public OPTIONS(request: Drash.Request, response: Drash.Response) {
- const allHttpMethods: string[] = [ "GET", "POST", "PUT", "DELETE" ];
- response.headers.set("Allow", allHttpMethods.join()); // Use this
- response.headers.set("Access-Control-Allow-Methods", allHttpMethods.join()); // or this
- response.headers.set("access-control-allow-origin", "*");
- response.status_code = 204;
- return response;
- }
-
- public GET(request: Drash.Request, response: Drash.Response): void {
- // create a workbook with some random data
- let data: any[][] = [ "ABCDEFG".split("") ];
- for(let i = 0; i < 10; ++i) data = data.concat([
- [5,4,3,3,7,9,5].map(v => rand(v)),
- [5,4,3,3,7,9,5].map(v => rand(v, 8)),
- [5,4,3,3,7,9,5].map(v => rand(v, 6)),
- [5,4,3,3,7,9,5].map(v => rand(v, 4)),
- [5,4,3,3,7,9,5].map(v => rand(v, 2)),
- [5,4,3,3,7,9,5].map(v => rand(v, 0))
- ]);
- const ws = utils.aoa_to_sheet(data);
- const wb = utils.book_new(); utils.book_append_sheet(wb, ws, "data");
- // write the workbook to XLSX as a Uint8Array
- const file = writeXLSX(wb, { type: "buffer"});
- // set headers
- response.headers.set("Content-Disposition", 'attachment; filename="LiveSheet.xlsx"');
- // send data
- return response.send("application/vnd.ms-excel", file);
- }
-}
-
-// Create and run your server
-const server = new Drash.Server({
- hostname: "",
- port: 3000,
- protocol: "http",
- resources: [ HomeResource ],
-});
-
-server.run();
-
-console.log(`Server running at ${server.address}.`);
-```
-
-
+For this demo, will be used.
### Action
@@ -135,7 +73,7 @@ The `githubocto/flat` action can be added as a step in a workflow:
- name: Fetch data
uses: githubocto/flat@v3
with:
- http_url: https://livesheet.deno.dev/
+ http_url: https://docs.sheetjs.com/pres.xlsx
downloaded_filename: data.xlsx
postprocess: ./postprocess.ts
```
@@ -144,7 +82,7 @@ The `http_url` will be fetched and saved to `downloaded_filename` in the repo.
This can be approximated with the following command:
```bash
-curl -L -o data.xlsx https://livesheet.deno.dev/
+curl -L -o data.xlsx https://docs.sheetjs.com/pres.xlsx
```
After saving, the `postprocess` script will be run. When a `.ts` file is the
@@ -175,8 +113,7 @@ releases, the examples import from the SheetJS CDN:
import * as XLSX from 'https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs';
```
-The official registry endpoint is out of date.
-This is a known registry bug.
+The official Deno registry is out of date. This is a known registry bug.
:::
@@ -293,7 +230,7 @@ jobs:
- name: Fetch data
uses: githubocto/flat@v3
with:
- http_url: https://livesheet.deno.dev/
+ http_url: https://docs.sheetjs.com/pres.xlsx
downloaded_filename: data.xlsx
postprocess: ./postprocess.ts
```
diff --git a/docz/docs/06-solutions/05-output.md b/docz/docs/06-solutions/05-output.md
index 260d80f..657e191 100644
--- a/docz/docs/06-solutions/05-output.md
+++ b/docz/docs/06-solutions/05-output.md
@@ -393,7 +393,7 @@ evt.respondWith(new Response(buf, {
Complete Example (click to show)
Save the following script to `deno.ts` and run with `deno run -A deno.ts`. Open
-a web browser and access to download the workbook.
+a web browser and access `http://localhost:7262/` to download the workbook.
```ts title="deno.ts"
// @deno-types="https://cdn.sheetjs.com/xlsx-latest/package/types/index.d.ts"
@@ -447,7 +447,7 @@ return new Response(buf, {
Download [`xlsx.mjs`](https://cdn.sheetjs.com/xlsx-latest/package/xlsx.mjs).
Save the following script to `bun.js` and run with `bun bun.js`. Open a web
-browser and access to download the exported workbook.
+browser and access `http://localhost:7262/` to download the exported workbook.
```js title="bun.js"
import * as XLSX from "./xlsx.mjs";
@@ -841,5 +841,3 @@ Readable Stream.
- `XLSX.stream.to_json` is the streaming version of `XLSX.utils.sheet_to_json`.
Examples are included in ["Large Datasets"](/docs/demos/stream#streaming-write)
-
- pipes write streams to nodejs response.
diff --git a/docz/docs/09-miscellany/01-formats.md b/docz/docs/09-miscellany/01-formats.md
index ad8539e..e650bed 100644
--- a/docz/docs/09-miscellany/01-formats.md
+++ b/docz/docs/09-miscellany/01-formats.md
@@ -258,6 +258,6 @@ worksheet. The supported codes are a subset of the Word RTF support.
#### Ethercalc Record Format (ETH)
-[Ethercalc](https://ethercalc.net/) is an open source web spreadsheet powered by
-a record format reminiscent of SYLK wrapped in a MIME multi-part message.
+Ethercalc was an open source web spreadsheet powered by a record format
+reminiscent of SYLK wrapped in a MIME multi-part message.
diff --git a/docz/docs/09-miscellany/02-errors.md b/docz/docs/09-miscellany/02-errors.md
index 922f968..1946bd1 100644
--- a/docz/docs/09-miscellany/02-errors.md
+++ b/docz/docs/09-miscellany/02-errors.md
@@ -179,14 +179,13 @@ contexts, freeing up the renderer to update.
#### Strange exported file names in the web browser
JS and the DOM API do not have a standard approach for creating files. There was
-a [`saveAs` proposal](https://www.w3.org/TR/2014/NOTE-file-writer-api-20140424/)
-but it was abandoned in 2014.
+a `saveAs` proposal as part of "File API: Writer" but it was abandoned in 2014.
The library integrates a number of platform-specific techniques for different
environments. In modern web browsers, the library uses the `download` attribute.
-Third party libraries like [FileSaver](https://github.com/eligrey/FileSaver.js/)
-provide an implementation of `saveAs` and may help in some cases.
+Third party libraries like `FileSaver.js` provide an implementation of `saveAs`
+that include more browser-specific workarounds.
FileSaver.js integration (click to show)
diff --git a/docz/docs/09-miscellany/03-source.md b/docz/docs/09-miscellany/03-source.md
index 69f7706..cbc2b34 100644
--- a/docz/docs/09-miscellany/03-source.md
+++ b/docz/docs/09-miscellany/03-source.md
@@ -6,14 +6,4 @@ hide_table_of_contents: true
The official source code repository is
-:::note Mirrors
-
-Older snapshots of the source code repository are available at various hosts:
-
-- [GitHub](https://github.com/sheetjs/sheetjs)
-- [GitLab](https://gitlab.com/sheetjs/sheetjs)
-- [BitBucket](https://bitbucket.org/sheetjs/sheetjs)
-
- is the authoritative repository.
-
-:::
\ No newline at end of file
+Issues should be raised at
\ No newline at end of file
diff --git a/docz/docs/09-miscellany/04-testing.md b/docz/docs/09-miscellany/04-testing.md
index 6442c87..63a5d37 100644
--- a/docz/docs/09-miscellany/04-testing.md
+++ b/docz/docs/09-miscellany/04-testing.md
@@ -75,15 +75,24 @@ ExtendScript Toolkit 3.5 is available as a standalone download for Windows.
(click to show)
- - NodeJS `0.8`, `0.10`, `0.12`, `4.x`, `5.x`, `6.x`, `7.x`, `8.x`
+**Browsers**
- IE 6/7/8/9/10/11 (IE 6-9 require shims)
- - Chrome 24+ (including Android 4.0+)
- - Safari 6+ (iOS and Desktop)
- - Edge 13+, FF 18+, and Opera 12+
+ - Chrome 26+ (including Android 6.0+)
+ - Safari 8+ (Desktop) and Safari 10+ (iOS)
+ - Edge 13-18 and 79+
+ - FF Latest
-Tests utilize the mocha testing framework.
+The automated browser tests seek to test the latest patch version of each major
+release of Chromium ending in `0` (starting from Chrome 30).
- - for XLS\* modules using Sauce Labs
+Edge originally was an independent browser, becoming a Chromium fork in version
+79. Since the new releases should be nearly identical to the Chrome counterpart,
+the Edge tests are run on major releases ending in `5` (starting from Edge 85).
+
+**Server Runtimes**
+ - NodeJS `0.8`, `0.10`, `0.12`, and every major version starting from `4`
+ - io.js 1/2/3
+ - Deno latest
The test suite also includes tests for various time zones. To change
the timezone locally, set the `TZ` environment variable:
@@ -99,13 +108,5 @@ $ env TZ="Asia/Kolkata" WTF=1 make test_misc
Test files are housed in [another repo](https://github.com/SheetJS/test_files).
Running `make init` will refresh the `test_files` submodule and get the files.
-Note that this requires `svn`, `git`, `hg` and other commands that may not be
-available. If `make init` fails, please download the latest version of the test
-files snapshot from [the repo](https://github.com/SheetJS/test_files/releases)
-
-#### Latest Snapshot
-
-
-
-(download and unzip to the `test_files` subfolder)
-
+[The "OS-Specific Setup"](/docs/miscellany/contributing#os-specific-setup)
+includes notes for installing the required dependencies.
diff --git a/docz/docs/09-miscellany/05-contributing.md b/docz/docs/09-miscellany/05-contributing.md
index 1a907d2..3505f65 100644
--- a/docz/docs/09-miscellany/05-contributing.md
+++ b/docz/docs/09-miscellany/05-contributing.md
@@ -62,8 +62,7 @@ sudo npm i -g n
sudo n 16
```
-3) Follow to
-build and install a version of Git with proper SSL support:
+3) Build and install a version of Git with proper SSL support:
```bash
# Git does not support OpenSSL out of the box, must do this
@@ -88,13 +87,13 @@ On Linux:
sudo apt-get install mercurial subversion
```
-On MacOS, install using [`brew`](https://brew.sh/):
+On MacOS, install using Homebrew:
```bash
brew install mercurial subversion
```
-NodeJS installers can be found at
+NodeJS installers can be found at the project homepage.
1) Install NodeJS modules for building the scripts
diff --git a/docz/docusaurus.config.js b/docz/docusaurus.config.js
index 1017402..f711642 100644
--- a/docz/docusaurus.config.js
+++ b/docz/docusaurus.config.js
@@ -80,7 +80,7 @@ const config = {
position: 'right',
},
{
- href: 'https://docs.sheetjs.com/docs/miscellany/source/',
+ href: 'https://git.sheetjs.com/sheetjs/sheetjs',
label: 'Source',
position: 'right',
},
@@ -132,7 +132,7 @@ const config = {
},
{
label: 'Source',
- href: 'https://docs.sheetjs.com/docs/miscellany/source/',
+ href: 'https://git.sheetjs.com/sheetjs/sheetjs',
},
],
},
diff --git a/docz/static/pres.xlsx b/docz/static/pres.xlsx
new file mode 100644
index 0000000..2dcc8f0
Binary files /dev/null and b/docz/static/pres.xlsx differ