diff --git a/.eslintrc.js b/.eslintrc.js index a5dc356..6e1848e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -103,10 +103,11 @@ module.exports = { ignorePatterns: [ "__generated__", "__mocks__", + "mkdocs/_genhtml", "dist", "ruffle", - "ui.js", - "sw.js", + "**/ui.js", + "**/sw.js", ], overrides: [ { diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 77e9431..7010690 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -29,5 +29,10 @@ jobs: - name: Playwright Install Browsers run: yarn playwright install + - uses: actions/setup-python@v4 + with: + python-version: 3.x + - run: pip install -r mkdocs/requirements.txt + - name: Playwright Run Tests run: yarn run playwright test diff --git a/.github/workflows/site-publish.yaml b/.github/workflows/site-publish.yaml index 8150e6e..15534ef 100644 --- a/.github/workflows/site-publish.yaml +++ b/.github/workflows/site-publish.yaml @@ -26,11 +26,8 @@ jobs: - name: Yarn Install run: yarn install --frozen-lockfile - - name: Yarn Build - run: yarn build - - uses: actions/setup-python@v4 with: python-version: 3.x - - run: pip install mkdocs-macros-plugin mkdocs-redirects mkdocs-material - - run: cd mkdocs && mkdocs gh-deploy --force + - run: pip install -r mkdocs/requirements.txt + - run: yarn run publish-docs diff --git a/.gitignore b/.gitignore index f0012a5..809ee59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ +**/sw.js +**/ui.js *.har *.warc *.warc.gz -!site/examples/*.warc **/node_modules yarn-error.log coverage/ @@ -9,12 +10,13 @@ coverage/ **/.DS_Store **/.sass-cache/ **/__pycache__/ -mkdocs/_genhtml/ dist/ plugins-*/ -site/sw.js -site/ui.js -site/favicons/ -.jekyll-cache - +!mkdocs/site/docs/examples/*.warc +mkdocs/_genhtml/ +mkdocs/site/index.html +mkdocs/site/embed.html +mkdocs/site/webmanifest.json +mkdocs/site/favicons +mkdocs/site/ruffle ipfs-core.min.js diff --git a/CHANGES.md b/CHANGES.md index 5ac9fdd..965309d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,27 +3,33 @@ ## CHANGES v1.8.17 + - Dependencies: update to wabac.js 2.17.3, wombat 3.7.3 - Fidelity: Fix resolving relative URL by avoiding not-http/https URL as base URL, fixes #300 (via wombat 3.7.3) v1.8.16 + - Dependencies: update to wabac.js 2.17.2, electron 29.2.0 - Fidelity: More accurate rewriting of 'import(' statement (via wabac.js 2.17.2) v1.8.15 + - Dependencies: update to wabac.js 2.17.1, wombat 3.7.2, electron 29.0.1 - Build: update to latest builder process v1.8.14 + - Loading: fix loading revisit records that may have incorrect content-length (via wabac.js) - Fidelity: improved fuzzy matching rules (via wabac.js) - Misc: github issue templates, fix typo in CORS config docs - Dependencies: Update to wabac.js 2.16.13 v1.8.13 + - Loading: Ensure default index.html is served when not in embed mode, don't add '?serveIndex=1' for app itself v1.8.12 + - Loading: Fixes embed 'Purge Cache + Reload', ensure '?serveIndex=1' is always set on all service worker loading v1.8.11 diff --git a/README.md b/README.md index 46e9b3b..f48f98d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- ReplayWebpage + ReplayWebpage

diff --git a/site/embed.html b/embed.html similarity index 75% rename from site/embed.html rename to embed.html index 78db9f7..52e742e 100644 --- a/site/embed.html +++ b/embed.html @@ -6,15 +6,15 @@ background-color: lightgrey; } - - - + + + diff --git a/src/assets/favicons/apple-touch-icon.png b/favicons/apple-touch-icon.png similarity index 100% rename from src/assets/favicons/apple-touch-icon.png rename to favicons/apple-touch-icon.png diff --git a/src/assets/favicons/favicon.ico b/favicons/favicon.ico similarity index 100% rename from src/assets/favicons/favicon.ico rename to favicons/favicon.ico diff --git a/site/docs/assets/brand/favicon.svg b/favicons/favicon.svg similarity index 100% rename from site/docs/assets/brand/favicon.svg rename to favicons/favicon.svg diff --git a/src/assets/favicons/icon-192.png b/favicons/icon-192.png similarity index 100% rename from src/assets/favicons/icon-192.png rename to favicons/icon-192.png diff --git a/src/assets/favicons/icon-512.png b/favicons/icon-512.png similarity index 100% rename from src/assets/favicons/icon-512.png rename to favicons/icon-512.png diff --git a/site/index.html b/index.html similarity index 83% rename from site/index.html rename to index.html index 2d37628..25f3e07 100644 --- a/site/index.html +++ b/index.html @@ -5,9 +5,9 @@ ReplayWeb.page - - - + + + diff --git a/mkdocs/copy-site.sh b/mkdocs/copy-site.sh new file mode 100755 index 0000000..83653a5 --- /dev/null +++ b/mkdocs/copy-site.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +curr=$(dirname "${BASH_SOURCE[0]}") +src=${curr}/.. +dest=${curr}/site/ +for file in $(cat $curr/sitefiles.txt); do cp -r "$src/$file" $dest; done diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index 07e8d3e..f5f035e 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -1,18 +1,16 @@ site_name: ReplayWeb.page Docs -docs_dir: ../site/ +docs_dir: ./site/ watch: - - ../site/ + - ./site/ site_dir: _genhtml/ repo_url: https://github.com/webrecorder/replayweb.page repo_name: ReplayWeb.page edit_uri: edit/main/site/docs/ extra_css: - - docs/stylesheets/extra.css -extra_javascript: - - docs/js/sw.js + - docs/stylesheets/extra.css theme: name: material - custom_dir: ../site/docs/overrides + custom_dir: ./site/docs/overrides features: - navigation.sections - navigation.tabs @@ -52,18 +50,18 @@ theme: nav: - docs/index.md - Embedding: - - docs/embedding/index.md - - docs/embedding/cors-settings.md + - docs/embedding/index.md + - docs/embedding/cors-settings.md - User Guide: - - docs/user-guide/index.md - - docs/user-guide/loading.md - - docs/user-guide/locations.md - - docs/user-guide/exploring.md - - docs/user-guide/sharing.md - - docs/user-guide/offline-use.md + - docs/user-guide/index.md + - docs/user-guide/loading.md + - docs/user-guide/locations.md + - docs/user-guide/exploring.md + - docs/user-guide/sharing.md + - docs/user-guide/offline-use.md markdown_extensions: - - toc: + - toc: toc_depth: 3 permalink: true - pymdownx.highlight: @@ -73,7 +71,7 @@ markdown_extensions: emoji_generator: !!python/name:material.extensions.emoji.to_svg options: custom_icons: - - ../site/docs/overrides/.icons + - ./site/docs/overrides/.icons - admonition - pymdownx.inlinehilite - pymdownx.details @@ -100,11 +98,11 @@ plugins: - search - redirects: redirect_maps: - 'docs/cors-settings.md': 'docs/embedding/cors-settings.md' - 'docs/usage.md': 'docs/user-guide/index.md' - 'docs/loading_online.md': docs/user-guide/loading.md - 'docs/loading_offline.md': docs/user-guide/offline-use.md - 'docs/exploring.md': 'docs/user-guide/exploring.md' - 'docs/sharing.md': 'docs/user-guide/sharing.md' - 'docs/locations.md': 'docs/user-guide/locations.md' - 'docs/formats.md': 'docs/user-guide/index.md#supported-formats' + "docs/cors-settings.md": "docs/embedding/cors-settings.md" + "docs/usage.md": "docs/user-guide/index.md" + "docs/loading_online.md": docs/user-guide/loading.md + "docs/loading_offline.md": docs/user-guide/offline-use.md + "docs/exploring.md": "docs/user-guide/exploring.md" + "docs/sharing.md": "docs/user-guide/sharing.md" + "docs/locations.md": "docs/user-guide/locations.md" + "docs/formats.md": "docs/user-guide/index.md#supported-formats" diff --git a/mkdocs/requirements.txt b/mkdocs/requirements.txt new file mode 100644 index 0000000..eafdaf8 --- /dev/null +++ b/mkdocs/requirements.txt @@ -0,0 +1,3 @@ +mkdocs-macros-plugin +mkdocs-redirects +mkdocs-material diff --git a/site/CNAME b/mkdocs/site/CNAME similarity index 100% rename from site/CNAME rename to mkdocs/site/CNAME diff --git a/src/assets/favicons/favicon.svg b/mkdocs/site/docs/assets/brand/favicon.svg similarity index 100% rename from src/assets/favicons/favicon.svg rename to mkdocs/site/docs/assets/brand/favicon.svg diff --git a/site/docs/assets/brand/replaywebpage-icon-white.svg b/mkdocs/site/docs/assets/brand/replaywebpage-icon-white.svg similarity index 100% rename from site/docs/assets/brand/replaywebpage-icon-white.svg rename to mkdocs/site/docs/assets/brand/replaywebpage-icon-white.svg diff --git a/site/docs/assets/fonts/Inter-Italic.var.woff2 b/mkdocs/site/docs/assets/fonts/Inter-Italic.var.woff2 similarity index 100% rename from site/docs/assets/fonts/Inter-Italic.var.woff2 rename to mkdocs/site/docs/assets/fonts/Inter-Italic.var.woff2 diff --git a/site/docs/assets/fonts/Inter.var.woff2 b/mkdocs/site/docs/assets/fonts/Inter.var.woff2 similarity index 100% rename from site/docs/assets/fonts/Inter.var.woff2 rename to mkdocs/site/docs/assets/fonts/Inter.var.woff2 diff --git a/site/docs/assets/fonts/Recursive_VF_1.084.woff2 b/mkdocs/site/docs/assets/fonts/Recursive_VF_1.084.woff2 similarity index 100% rename from site/docs/assets/fonts/Recursive_VF_1.084.woff2 rename to mkdocs/site/docs/assets/fonts/Recursive_VF_1.084.woff2 diff --git a/site/docs/assets/replaywebpage-googledrive-install.gif b/mkdocs/site/docs/assets/replaywebpage-googledrive-install.gif similarity index 100% rename from site/docs/assets/replaywebpage-googledrive-install.gif rename to mkdocs/site/docs/assets/replaywebpage-googledrive-install.gif diff --git a/site/docs/assets/replaywebpage-online-local.png b/mkdocs/site/docs/assets/replaywebpage-online-local.png similarity index 100% rename from site/docs/assets/replaywebpage-online-local.png rename to mkdocs/site/docs/assets/replaywebpage-online-local.png diff --git a/site/docs/assets/replaywebpage-online.gif b/mkdocs/site/docs/assets/replaywebpage-online.gif similarity index 100% rename from site/docs/assets/replaywebpage-online.gif rename to mkdocs/site/docs/assets/replaywebpage-online.gif diff --git a/site/docs/embedding/cors-settings.md b/mkdocs/site/docs/embedding/cors-settings.md similarity index 100% rename from site/docs/embedding/cors-settings.md rename to mkdocs/site/docs/embedding/cors-settings.md diff --git a/site/docs/embedding/index.md b/mkdocs/site/docs/embedding/index.md similarity index 94% rename from site/docs/embedding/index.md rename to mkdocs/site/docs/embedding/index.md index 294ffcf..a4d5a27 100644 --- a/site/docs/embedding/index.md +++ b/mkdocs/site/docs/embedding/index.md @@ -15,12 +15,12 @@ The `#!html ` web component consists of a "backend" service wor ### Loading the ReplayWeb.page UI (Frontend) -To embed a WACZ stored at `https://replayweb.page/docs/assets/tweet-example.wacz`, add the following `#!html - ``` @@ -45,7 +45,7 @@ allowing it to render web archives on the `/replay/` path. That's it! Loading `https://example.com/path/my-web-archive-embed.html` should now load the web archive. -Be sure to add width and height styles to the `#!html ` tag as needed to scale the embed, and replace `https://replayweb.page/docs/assets/example.wacz` with any web archive hosted on your site. +Be sure to add width and height styles to the `#!html ` tag as needed to scale the embed, and replace `https://replayweb.page/docs/examples/example.wacz` with any web archive hosted on your site. ??? Info "Info: Loading files from different servers" If the file is loaded from a different origin, your site must have Cross Origin Resource Sharing (CORS) access to download the web archive. @@ -124,8 +124,8 @@ ReplayWeb.page offers four different ways to embed the archived content, includi - `replay-with-info`: Show the `replayonly` mode, but also add an archive info dropdown, which shows an archival 'receipt' with provenance and verification information (new in 1.7.0) ??? example "Example: Embed with `replay-with-info` enabled" - - + + ## Embedding Options diff --git a/site/examples/embed-test.warc b/mkdocs/site/docs/examples/embed-test.warc similarity index 100% rename from site/examples/embed-test.warc rename to mkdocs/site/docs/examples/embed-test.warc diff --git a/site/docs/assets/example.wacz b/mkdocs/site/docs/examples/example.wacz similarity index 100% rename from site/docs/assets/example.wacz rename to mkdocs/site/docs/examples/example.wacz diff --git a/site/examples/netpreserve-twitter.warc b/mkdocs/site/docs/examples/netpreserve-twitter.warc similarity index 100% rename from site/examples/netpreserve-twitter.warc rename to mkdocs/site/docs/examples/netpreserve-twitter.warc diff --git a/site/docs/assets/tweet-example.wacz b/mkdocs/site/docs/examples/tweet-example.wacz similarity index 100% rename from site/docs/assets/tweet-example.wacz rename to mkdocs/site/docs/examples/tweet-example.wacz diff --git a/site/docs/index.md b/mkdocs/site/docs/index.md similarity index 100% rename from site/docs/index.md rename to mkdocs/site/docs/index.md diff --git a/site/docs/overrides/.icons/bootstrap/bug-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/bug-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/bug-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/bug-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/chat-left-text-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/chat-left-text-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/chat-left-text-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/chat-left-text-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/check-circle-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/check-circle-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/check-circle-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/check-circle-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/exclamation-circle-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/exclamation-circle-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/exclamation-circle-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/exclamation-circle-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/exclamation-diamond-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/exclamation-diamond-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/exclamation-diamond-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/exclamation-diamond-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/exclamation-triangle-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/exclamation-triangle-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/exclamation-triangle-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/exclamation-triangle-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/eye.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/eye.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/eye.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/eye.svg diff --git a/site/docs/overrides/.icons/bootstrap/file-earmark-text-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/file-earmark-text-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/file-earmark-text-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/file-earmark-text-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/github.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/github.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/github.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/github.svg diff --git a/site/docs/overrides/.icons/bootstrap/globe.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/globe.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/globe.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/globe.svg diff --git a/site/docs/overrides/.icons/bootstrap/info-circle-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/info-circle-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/info-circle-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/info-circle-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/mastodon.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/mastodon.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/mastodon.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/mastodon.svg diff --git a/site/docs/overrides/.icons/bootstrap/mortarboard-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/mortarboard-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/mortarboard-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/mortarboard-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/motherboard-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/motherboard-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/motherboard-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/motherboard-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/pencil-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/pencil-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/pencil-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/pencil-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/pencil.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/pencil.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/pencil.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/pencil.svg diff --git a/site/docs/overrides/.icons/bootstrap/question-circle-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/question-circle-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/question-circle-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/question-circle-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/quote.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/quote.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/quote.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/quote.svg diff --git a/site/docs/overrides/.icons/bootstrap/three-dots-vertical.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/three-dots-vertical.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/three-dots-vertical.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/three-dots-vertical.svg diff --git a/site/docs/overrides/.icons/bootstrap/x-octagon-fill.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/x-octagon-fill.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/x-octagon-fill.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/x-octagon-fill.svg diff --git a/site/docs/overrides/.icons/bootstrap/x.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/x.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/x.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/x.svg diff --git a/site/docs/overrides/.icons/bootstrap/youtube.svg b/mkdocs/site/docs/overrides/.icons/bootstrap/youtube.svg similarity index 100% rename from site/docs/overrides/.icons/bootstrap/youtube.svg rename to mkdocs/site/docs/overrides/.icons/bootstrap/youtube.svg diff --git a/site/docs/overrides/main.html b/mkdocs/site/docs/overrides/main.html similarity index 100% rename from site/docs/overrides/main.html rename to mkdocs/site/docs/overrides/main.html diff --git a/site/docs/stylesheets/extra.css b/mkdocs/site/docs/stylesheets/extra.css similarity index 100% rename from site/docs/stylesheets/extra.css rename to mkdocs/site/docs/stylesheets/extra.css diff --git a/site/docs/user-guide/exploring.md b/mkdocs/site/docs/user-guide/exploring.md similarity index 85% rename from site/docs/user-guide/exploring.md rename to mkdocs/site/docs/user-guide/exploring.md index 702fd23..e77d8c2 100644 --- a/site/docs/user-guide/exploring.md +++ b/mkdocs/site/docs/user-guide/exploring.md @@ -16,7 +16,7 @@ Pages can be searched for by their title, URLs, or extracted text if available. ReplayWeb.page will load pre-generated full-text search data when loading WACZ files, and will also attempt to generate full-text index from HTML files contained in WARC files upon loading a WARC. -[See an example of searching for pages containing "WARC".](https://replayweb.page/?source=examples/netpreserve-twitter.warc#view=pages&query=WARC) +[See an example of searching for pages containing "WARC".](/?source=docs/examples/netpreserve-twitter.warc#view=pages&query=WARC) ### Resources @@ -24,7 +24,7 @@ The resources view displays all the content within a loaded archived item, liste This view is available for all archives that only store raw data. -[See an example of searching for image resources.](https://replayweb.page/?source=examples/netpreserve-twitter.warc#view=resources&currMime=image%2F&urlSearchType=prefix) +[See an example of searching for image resources.](/?source=docs/examples/netpreserve-twitter.warc#view=resources&currMime=image%2F&urlSearchType=prefix) #### Searching For Resources diff --git a/site/docs/user-guide/index.md b/mkdocs/site/docs/user-guide/index.md similarity index 100% rename from site/docs/user-guide/index.md rename to mkdocs/site/docs/user-guide/index.md diff --git a/site/docs/user-guide/loading.md b/mkdocs/site/docs/user-guide/loading.md similarity index 100% rename from site/docs/user-guide/loading.md rename to mkdocs/site/docs/user-guide/loading.md diff --git a/site/docs/user-guide/locations.md b/mkdocs/site/docs/user-guide/locations.md similarity index 100% rename from site/docs/user-guide/locations.md rename to mkdocs/site/docs/user-guide/locations.md diff --git a/site/docs/user-guide/offline-use.md b/mkdocs/site/docs/user-guide/offline-use.md similarity index 100% rename from site/docs/user-guide/offline-use.md rename to mkdocs/site/docs/user-guide/offline-use.md diff --git a/site/docs/user-guide/sharing.md b/mkdocs/site/docs/user-guide/sharing.md similarity index 100% rename from site/docs/user-guide/sharing.md rename to mkdocs/site/docs/user-guide/sharing.md diff --git a/mkdocs/sitefiles.txt b/mkdocs/sitefiles.txt new file mode 100644 index 0000000..2da89c3 --- /dev/null +++ b/mkdocs/sitefiles.txt @@ -0,0 +1,7 @@ +sw.js +ui.js +index.html +embed.html +webmanifest.json +favicons +ruffle diff --git a/package.json b/package.json index cdbe81e..e21d74e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "replaywebpage", "productName": "ReplayWeb.page", - "version": "2.0.0-beta.1", + "version": "2.0.0-beta.2", "description": "Serverless Web Archive Replay", "repository": "https://github.com/webrecorder/replayweb.page", "homepage": "https://replayweb.page/", @@ -65,21 +65,22 @@ "webpack-merge": "^5.10.0" }, "files": [ - "/assets", "/dist", "/src", - "site/ruffle", - "site/sw.js", - "site/ui.js", - "site/index.html" + "/ruffle", + "/sw.js", + "/ui.js", + "/index.html" ], "scripts": { "build": "webpack --mode production", "build-dev": "webpack --mode development", - "build-docs": "yarn run build && cd mkdocs && mkdocs build", - "start-prod": "cd site && http-server -p 9990 --cors", + "build-docs": "yarn run build && cd mkdocs && ./copy-site.sh && mkdocs build", + "publish-docs": "yarn run build && cd mkdocs && ./copy-site.sh && mkdocs gh-deploy --force", + "start-prod": "http-server -p 9990 --cors", + "start-docs-prod": "yarn run build-docs && cd mkdocs/_genhtml && http-server -p 9990 --cors", "start-dev": "webpack serve --mode development", - "start-docs": "yarn run build-dev && cd mkdocs && mkdocs serve", + "start-docs": "yarn run build-dev && cd mkdocs && ./copy-site.sh && mkdocs serve", "start-electron": "NODE_ENV=development electron ./dist/electron.js $1", "test-start-embed": "cd tests/embed; http-server -p 8020", "test-start-sandbox": "cd tests/embed/sandbox; http-server -p 8030", @@ -106,11 +107,11 @@ "dist/*.js", "dist/prebuilds/${platform}-${arch}/*", "dist/build/*", - "site/ui.js", - "site/sw.js", - "site/index.html", - "site/ruffle", - "site/webmanifest.json" + "ui.js", + "sw.js", + "index.html", + "ruffle", + "webmanifest.json" ], "dmg": { "title": "ReplayWeb.page" diff --git a/playwright.config.js b/playwright.config.js index c41df7d..660ceba 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -4,7 +4,7 @@ export default defineConfig({ reporter: process.env.CI ? "github" : "list", webServer: [ { - command: "yarn run start-prod", + command: "yarn run start-docs-prod", url: "http://127.0.0.1:9990", timeout: 120 * 1000, reuseExistingServer: !process.env.CI, diff --git a/site/ruffle/78993198e943ac45dcb0.wasm b/ruffle/78993198e943ac45dcb0.wasm similarity index 100% rename from site/ruffle/78993198e943ac45dcb0.wasm rename to ruffle/78993198e943ac45dcb0.wasm diff --git a/site/ruffle/9609ef2907fc51a5c223.wasm b/ruffle/9609ef2907fc51a5c223.wasm similarity index 100% rename from site/ruffle/9609ef2907fc51a5c223.wasm rename to ruffle/9609ef2907fc51a5c223.wasm diff --git a/site/ruffle/LICENSE_MIT b/ruffle/LICENSE_MIT similarity index 100% rename from site/ruffle/LICENSE_MIT rename to ruffle/LICENSE_MIT diff --git a/site/ruffle/core.ruffle.1e9196b890c02cf8a18d.js b/ruffle/core.ruffle.1e9196b890c02cf8a18d.js similarity index 100% rename from site/ruffle/core.ruffle.1e9196b890c02cf8a18d.js rename to ruffle/core.ruffle.1e9196b890c02cf8a18d.js diff --git a/site/ruffle/core.ruffle.b2b392bcfd8f4bacb933.js b/ruffle/core.ruffle.b2b392bcfd8f4bacb933.js similarity index 100% rename from site/ruffle/core.ruffle.b2b392bcfd8f4bacb933.js rename to ruffle/core.ruffle.b2b392bcfd8f4bacb933.js diff --git a/site/ruffle/ruffle.js b/ruffle/ruffle.js similarity index 100% rename from site/ruffle/ruffle.js rename to ruffle/ruffle.js diff --git a/assets/replaywebpage-lockup-color-dynamic.svg b/src/assets/brand/replaywebpage-lockup-color-dynamic.svg similarity index 100% rename from assets/replaywebpage-lockup-color-dynamic.svg rename to src/assets/brand/replaywebpage-lockup-color-dynamic.svg diff --git a/assets/main.scss b/src/assets/main.scss similarity index 100% rename from assets/main.scss rename to src/assets/main.scss diff --git a/src/embed.ts b/src/embed.ts index 33937d0..3784eae 100644 --- a/src/embed.ts +++ b/src/embed.ts @@ -118,8 +118,6 @@ class Embed extends LitElement { await this.swmanager.register(); this.inited = true; } catch (e) { - // TODO: Fix this the next time the file is edited. - // eslint-disable-next-line @typescript-eslint/no-unsafe-argument this.errorMessage = this.swmanager.renderErrorReport(); } } diff --git a/src/misc.ts b/src/misc.ts index cb94c78..fdfc667 100644 --- a/src/misc.ts +++ b/src/misc.ts @@ -4,7 +4,7 @@ import { LitElement, html, css, unsafeCSS, type CSSResultGroup } from "lit"; import { unsafeSVG } from "lit/directives/unsafe-svg.js"; import { styleMap } from "lit/directives/style-map.js"; -import allCssRaw from "../assets/main.scss"; +import allCssRaw from "~assets/main.scss"; import type { FavIconEventDetail } from "./types"; diff --git a/tests/embed/index-sandbox.html b/tests/embed/index-sandbox.html index ee1be18..b11af62 100644 --- a/tests/embed/index-sandbox.html +++ b/tests/embed/index-sandbox.html @@ -1,19 +1,24 @@ - - - - - - - - - + + + + + + + diff --git a/tests/embed/index.html b/tests/embed/index.html index 65d8440..e48845b 100644 --- a/tests/embed/index.html +++ b/tests/embed/index.html @@ -1,17 +1,19 @@ - - - - - - - - - + + + + + + + diff --git a/tests/embed/sandbox/index.html b/tests/embed/sandbox/index.html index 37bba18..fd4d0d6 100644 --- a/tests/embed/sandbox/index.html +++ b/tests/embed/sandbox/index.html @@ -1,22 +1,24 @@ - - - - - - - - + + + + + + diff --git a/tests/embeds.spec.js b/tests/embeds.spec.js index c76b71b..c947630 100644 --- a/tests/embeds.spec.js +++ b/tests/embeds.spec.js @@ -14,6 +14,20 @@ test("same-domain embed is loading", async ({ page }) => { await expect(res).toContainText("Want to help"); }); +test("docs page embed is loading", async ({ page }) => { + await page.goto("http://localhost:9990/docs/embedding/"); + + const res = page + .locator("replay-web-page") + .frameLocator("iframe") + .locator("replay-app-main wr-item wr-coll-replay") + .frameLocator("iframe") + .frameLocator("iframe#twitter-widget-0") + .locator("body"); + + await expect(res).toContainText("Want to help"); +}); + test("cross-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:8020/"); diff --git a/tsconfig.json b/tsconfig.json index 6633da1..9757cfe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -29,7 +29,7 @@ "incremental": true, "paths": { "flexsearch": ["./node_modules/@types/flexsearch"], - "~assets/*": ["./src/assets/*"], + "~assets/*": ["./src/assets/*"] } }, "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.d.ts"] diff --git a/site/webmanifest.json b/webmanifest.json similarity index 76% rename from site/webmanifest.json rename to webmanifest.json index ace12b4..52c00e6 100644 --- a/site/webmanifest.json +++ b/webmanifest.json @@ -3,7 +3,11 @@ "short_name": "ReplayWeb.page", "description": "A tool to explore and replay interactive archived web pages directly in the browser", "icons": [ - { "src": "/favicons/icon-192.png", "type": "image/png", "sizes": "192x192" }, + { + "src": "/favicons/icon-192.png", + "type": "image/png", + "sizes": "192x192" + }, { "src": "/favicons/icon-512.png", "type": "image/png", "sizes": "512x512" } ], "start_url": "/", diff --git a/webpack.config.js b/webpack.config.js index de48065..b8a6888 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -72,10 +72,7 @@ const electronMainConfig = (/*env, argv*/) => { }), new webpack.BannerPlugin(BANNER_TEXT), new CopyPlugin({ - patterns: [ - // { from: "node_modules/classic-level/prebuilds/", to: "prebuilds" }, - { from: "build/extra_prebuilds/", to: "prebuilds" }, - ], + patterns: [{ from: "build/extra_prebuilds/", to: "prebuilds" }], }), ], }; @@ -105,22 +102,17 @@ const browserConfig = (/*env, argv*/) => { ui: "./src/index.ts", }; - //const patterns = [{ from: "package.json", to: "_data/package.json" }]; - let patterns = [{ - from: "src/assets/favicons", - to: "site/favicons", - }]; + const extraPlugins = []; if (isDevServer) { entry["sw"] = "@webrecorder/wabac/src/sw.js"; } else { - patterns.push({ - from: "node_modules/@webrecorder/wabac/dist/sw.js", - to: "site/sw.js", - }); + const patterns = [ + { from: "node_modules/@webrecorder/wabac/dist/sw.js", to: "sw.js" }, + ]; + extraPlugins.push(new CopyPlugin({ patterns })); } - /** @type {import('webpack').Configuration} */ const config = { target: "web", @@ -136,7 +128,7 @@ const browserConfig = (/*env, argv*/) => { output: { path: path.join(__dirname), - filename: "site/[name].js", + filename: "[name].js", libraryTarget: "self", globalObject: "self", publicPath: "/", @@ -146,7 +138,7 @@ const browserConfig = (/*env, argv*/) => { compress: true, port: 9990, open: false, - static: path.join(__dirname, "site"), + static: __dirname, //publicPath: "/" }, @@ -173,7 +165,7 @@ const browserConfig = (/*env, argv*/) => { __VERSION__: JSON.stringify(package_json.version), }), new webpack.BannerPlugin(BANNER_TEXT), - new CopyPlugin({ patterns }), + ...extraPlugins, ], module: {