* customizations for chooser, coll-index and appmain to support usage in archiveweb.page - chooser: support panel/message view - move apiPrefix to misc - make coll-index extensible, overridable styles, filtering * api changes: make configurable in coll-index, now using '/w/' instead of '/wabac/', '/c/' prefix for coll apis * lint pass! * bulma: update to 0.9.2, fix delete spinner with latest bulma * ui fixes: - show 'Loading Archives...' on initial load until first api response succeeds - fix typo in oncontrollerchange not actually resolving the promise! * embed sandbox: add other allow options, except top-nav - first api load: keep loading message until first successful api load - don't reset hash on purge to keep current page - sw config: fix typo with latest wabac.js - embed: add 'noSandbox' option to avoid adding sandbox to iframe, needed to show PDFs, add more allow rules (all except top-navigation) * ui improvements: - refresh: ensure location refresh from hitting enter in location bar always resets url - pageentry doubleclick: ensure double-clicking on page in sidebar always triggers reload, even if current page - pageentry typo fix: fix missing var causing selection error (fixes webrecorder/archivewebpage#25) - lint: don't include 'event' as global - use latest wabac.js 2.7.0-beta.1 * add CHANGES for 1.4.0, add 'noSandbox' to embedding options - electron app: fix path to 'w/' - bump electron to 11.4.3 * docs: autoload current version from package.json - chooser: support .json files for multiwacz (experimental) - update CHANGES.md - add missing .eslintrc.js file * bump version to 1.4.0
ReplayWeb.page
Serverless Web Archive Replay
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
How to Use This Repo
ReplayWeb.page is built as a Node package can be installed using yarn:
yarn install
It is also a Jekyll site for use with GitHub pages. Jekyll is only needed to build the docs.
The package provides various commands that can be used with yarn:
-
yarn run start-dev- to run in dev mode with Webpack dev server on port 9990. Autobuilds dev assets. -
yarn run build- to build production assets sw.js, ui.js -
yarn run start-prod- to run production site on port 9990, with previously built assets -
yarn run start-electron- to start electron in dev mode, with previously built assets -
yarn run dist- to build production assets + Electron app (in dist/) -
yarn run build-docs- to build the Jekyll docs (for local use) and run Jekyll. Requires Ruby. -
yarn run start-jekyll- to build Jekyll docs and start Jekyll static server on port 4000.
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.