Giter Club home page Giter Club logo

wayback-machine-versions's Introduction

Wayback Machine Versions

Development

To build, simply run the following commands:

  • npm install
  • gulp build

Add Wayback Machine Versions To Your Webpages

Simply append the following lines to the <head> of your HTML source:

<link rel="stylesheet" type="text/css" href="https://rawgit.com/internetarchive/wayback-machine-versions/master/build/css/wayback-machine-versions.min.css" />
<script type="text/javascript" src="https://rawgit.com/internetarchive/wayback-machine-versions/master/build/js/wayback-machine-versions.min.js"></script>

Wayback Machine Versions Menu

After adding the Wayback Machine Versions javascript and css to your HTML file, a new down arrow icon will appear next to all the decorated links in the page. Clicking the down arrow in this link icon will pop up a menu with one or more of the following items, depending on the decoration attributes provided in each of the links.

  • Get near link date ...: When clicking this menu item, the javascript library will use the datetime provided in the data-versiondate attribute along with the original url and redirect you to the closest archived playback page.

  • Get from ...: Clicking this menu item will redirect you to the playback page url provided in the data-versionurl attribute. The value of data-versionurl can be single URL or comma separated URLs. In the case of comma separated URLs, the items for the URLs will be listed in menu.

  • Get at current date: Clicking this menu item will take you to the original url provided in the data-originalurl attribute.

  • Get near page creation date ...: This menu item is similar to the Get near link date ..., except it uses the Schema.org attribute datePublished, if provided in the linking HTML page.

  • Get near page modified date ...: This menu item is similar to the Get near link date ..., except it uses the Schema.org attribute dateModified, if provided in the linking HTML page.

Exclude URLs from Wayback Machine Versions

You can exclude certain URLs in your webpage from showing the wayback machine versions drop down menu by adding following script before appending wayback-machine-versions.min.js

Add urls that should be excluded from wayback machine versions. Accepts full urls or valid regular expression patterns of urls.

<script>
var WLuriPatternsToExclude = [
    "https?://archive.org*",
    "https?://blog.archive.org*"
];
</script>

Example

This project is based on: http://robustlinks.mementoweb.org

wayback-machine-versions's People

Contributors

eagle19243 avatar kngenie avatar markjohngraham avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wayback-machine-versions's Issues

Wayback Machine Versions vs. Robust Links

Based on prior interactions about this effort with @markjohngraham , I must admit that I don't understand the rationale for diverging the approach from the Robust Link specification (http://robustlinks.mementoweb.org/spec/), which it previously aligned with.

The Robust Link specification is a major result from a 3-year Mellon funded project that quantified link rot and content drift at unprecedented scale (see papers https://doi.org/10.1371/journal.pone.0115253 ; https://doi.org/10.1371/journal.pone.0167475) and explored approaches to ameliorate their negative impact (see the analysis that led to the Robust Links spec at http://mementoweb.org//missing-link/)

Concerns with the here proposed approach can be summarized as follows:

  1. Semantics - The semantics of Robust Links are very clear: each link leads to an archived snapshot that was captured at/around the datetime of linking and hence provides fallback mechanisms to revisit the linked resource as it was at the moment the link was put in place. The semantics of links to multiple archived copies created at many different datetimes, on the other hand, as presented in this approach, are unclear. For example, what is the (difference in) meaning of each link? How many links to archived copies should one include? Which archived copies should be linked to, the last 3, the first 7, a random set of 11? How does this scale for popular and (hence) frequently archived pages such as cnn.com?

  2. Functionality - When clicking one of the links in the menu to an archived copy, as currently presented in this approach, one is lead to the archived resource in the Wayback Machine. The IA banner shown there provides access to all other archived copies for the linked resource. Why would a user return to the link menu to click one of the other linked archived copies listed there when all available snapshots are presented right there in the IA banner? So simply from the usability point of view, it is not clear what added value the multiple links bring.

  1. A (maybe minor) technical concern is about using a comma as the delimiter of URIs since a comma is an allowable character in a URI.

Note: This issue was discussed prior to posting with @hvdsomp , @phonedude, @hariharshankar who were instrumental in devising the Robust Links spec.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.