- Adds TsconfigPathsPlugin - Custom icons, branding assets, and favicons now all live under `/src/assets` in organized folders (Mirrors Browsertrix folder organization and naming) - Assets can now be referenced with `import: varName from ~assets/assetpath` app wide! - SVGs continue to use `svg-inline-loader`, favicons are copied to `/site/favicons` on app build - Adds favicons to the main `index.html` page for ReplayWeb.page and `embed.html` example page - Replace README header with new branding - Lives under /assets because it's not app related - Adds new webmanifest app icons - Adds new Electron app .icns (macOS ) and .png (Windows & Linux) app icons - Replaces globe icon in the embed receipt with ReplayWebpage icon! - Adds lockup to the footer section - Removes logo animation - Removes logo values from `renderErrorReport()` in swmanager.ts in favour of additional import statements --------- Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
Serverless Web Archive Replay
Embedded Viewer Usage:
ReplayWeb.page provides a full web archive replay system running directly in the browser, available at: https://replayweb.page/
For full user docs, see: https://replayweb.page/docs.
See CHANGES.md for changes in the latest release.
The ReplayWeb.page App can be downloaded from the Releases page.
Embedding Guide
See the Embedding Guide for more info on embedding web archives in other sites.
What's in this repo
ReplayWeb.page is a static web site / offline web app + Electron app.
This repository contains the frontend UI for the replay system, while the backend is provided via a service worker implementation found at: https://github.com/webrecorder/wabac.js
The frontend is loaded from ui.js, while the backend service/web worker is loaded from sw.js.
This repository contains:
- The built assets for the site hosted at https://replayweb.page/ via GitHub Pages
- The package for npm module: https://www.npmjs.com/package/replaywebpage
- A build system for https://replayweb.page and ReplayWeb.page App.
- Docs hosted at: https://replayweb.page/docs
- App releases at: https://github.com/webrecorder/replayweb.page/releases
Running ReplayWeb.page
To run ReplayWeb.page and view web archives, a regular HTTP server is all that is needed.
ReplayWeb.page can run with any HTTP server locally. For example, you can run http-server -p 9990 or python -m http.server 9990 to run a static web server in the directory of this repository. Then, simply load http://localhost:9990/ and you'll have replayweb.page running locally.
Developing ReplayWeb.page
ReplayWeb.page is built as a Node package can be installed using yarn:
yarn install
The package provides various commands that can be used with yarn:
-
yarn start-dev- to run in dev mode with Webpack dev server on port 9990. Autobuilds dev assets. -
yarn build- to build production assets sw.js, ui.js -
yarn start-prod- to run production site on port 9990, with previously built assets -
yarn start-electron- to start electron in dev mode, with previously built assets -
yarn dist- to build production assets + Electron app (in dist/)
The static assets are placed in the root index.html, sw.js and ui.js, and can be used with any HTTP server.
For service workers to work, they must be served from either localhost or an HTTPS endpoint.
See the user docs for additional info about using ReplayWeb.page
LICENSE
ReplayWeb.page is made available under the AGPLv3 License.
If you would like to use it under a different license or have a question, please reach out as that may be a possibility.
Contributing and Bug Reports
Contributions are definitely welcome!
As this is still a new project and rapidly evolving, please open an issue first before submitting a pull request.