Comparer les révisions

...

11 Révisions
6.0 ... master

15 fichiers modifiés avec 80 ajouts et 85 suppressions

Voir le fichier

@ -1,8 +0,0 @@
# Contributing to resurrect-pages
I love pull requests from everyone.
In fact, since I don't have much time for coding (neither much skill, I must admit),
any pull request is very welcome!
If you find a bug in the source code, you can help me by submitting an issue to this [GitHub Repository][github].
Even better you can submit a Pull Request with a fix.

Voir le fichier

@ -1,17 +1,18 @@
[![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg)](LICENCE) - [![MAXVERSION](https://img.shields.io/badge/Firefox-57+-green.svg)](https://addons.mozilla.org/firefox/addon/resurrect-pages-isup-edition/)
# resurrect-pages-isup-edition
# Documentation
# Description
Dead pages, broken links, the scourge of the internet.
Powerhouse sites like Slashdot and Digg can bring a server to its knees.
What do we do when a page is dead but we still want to see it?
Call in the clerics, and perform a resurrection ceremony!
Or, the easier route, use this extension.
## Features
# Features
* Searches through six page cache/mirrors:
* [Google Cache](http://www.google.com/) (plus text-only version)
* [Cachew](https://cachedview.nl/)
* [The Internet Archive](http://web.archive.org/)
* [WebCite](http://www.webcitation.org/)
* [archive.is](https://archive.is/)
@ -27,8 +28,18 @@ Hit back and try another one!
* In the toolbar, just customize it to drag the button in.
* With the keyboard: press `Ctrl-Shift-U`
# Changelog
* Version 7
* Replaced Google with Cachew (Cache-view)
* Added sexy dark mode on popup
* Version 6.2.1
* Specify openerTabId for opened tabs
* Version 6.2
* changed archive.is tld to archive.md
* Version 6.1
* Revived context menu (PR #13 from DenB10)
* Version 6
* Merged with latest version from Arrantius
* Add "list all versions" for The Internet Archive.
@ -65,9 +76,10 @@ Hit back and try another one!
* Typo in some languages for Gigablast
* Removed yahoo cache (yahoo uses bing cache now)
* Removed coral CDN (almost alsways dead)
* Version 2.1 (Sep 19, 2013)
* Version 2.1 (Sep 19, 2013) FORK
* Firefox 22+ compatibility
* Added isup.me provider
* Version 2.0.7 (Jun 26, 2011)
* Firefox 5.0 compatibility.
* Updated translations from babelzilla.org.
@ -124,3 +136,16 @@ Hit back and try another one!
* Integrate into the net error page.
* Version 0.5.1
* Bugfix, broken shortcut key.
# Contact
Mastodon: https://soshar.dess.ga/@Albirew
Twitter: https://twitter.com/Albirew
# Installation
Use either release file or install from Firefox Addons:
https://addons.mozilla.org/firefox/addon/resurrect-pages-isup-edition/
# Licence
MIT Licence (https://choosealicense.com/licenses/mit/)

Voir le fichier

@ -19,14 +19,9 @@
"description": "Resurrect this link"
},
"resurrectGoogle": {
"message": "with Google",
"description": "with Google"
},
"resurrectGoogleText": {
"message": "with Google (text only)",
"description": "with Google (text only)"
"resurrectCachew": {
"message": "with Cachew",
"description": "with Cache-view"
},
"resurrectArchive": {

Voir le fichier

@ -20,8 +20,8 @@
},
"resurrectGoogle": {
"message": "avec Google",
"description": "with Google"
"message": "avec Cachew",
"description": "with Cache-view"
},
"resurrectGoogleText": {

Voir le fichier

@ -7,32 +7,24 @@ chrome.storage.local.get('openIn', item => {
chrome.contextMenus.create({
contexts: [context],
id: 'resurrect-' + context,
title: chrome.i18n.getMessage('resurrect' + i18n) + context,
title: chrome.i18n.getMessage('resurrect_' + context),
}, logLastError);
chrome.contextMenus.create({
enabled: false,
id: 'resurrect-' + where + '-' + context,
parentId: 'resurrect-' + context,
title: chrome.i18n.getMessage('resurrectConfig' + i18n),
});
for (let [name, id, icon] of [
['Google', 'google', 'google'],
['Google (text only)', 'googletext', 'google'],
['The Internet Archive', 'archive', 'waybackmachine'],
['The Internet Archive (list all)', 'archivelist', 'waybackmachine'],
['archive.is', 'archiveis', 'archiveis'],
['WebCite', 'webcitation', 'webcitation'],
['Memento Timetravel', 'mementoweb', 'mementoweb'],
['isup.me', 'IsUp', 'isup'],
['Cachew', 'cachew', 'cachew'],
['Archive', 'archive', 'waybackmachine'],
['ArchiveList', 'archivelist', 'waybackmachine'],
['ArchiveIs', 'archiveis', 'archiveis'],
['WebCitation', 'webcitation', 'webcitation'],
['MementoWeb', 'mementoweb', 'mementoweb'],
['IsUp', 'isup', 'isup'],
]) {
chrome.contextMenus.create({
contexts: [context],
icons: {16: 'icons/cacheicons/' + icon + '.png'},
id: 'resurrect-' + id + '-' + context,
parentId: 'resurrect-' + context,
title: chrome.i18n.getMessage('resurrect_' + context),
title: chrome.i18n.getMessage('resurrect' + name),
}, logLastError);
}
@ -43,23 +35,16 @@ chrome.storage.local.get('openIn', item => {
parentId: 'resurrect-' + context
}, logLastError);
chrome.contextMenus.create({
enabled: false,
id: 'resurrect-in-' + context,
parentId: 'resurrect-' + context,
title: 'In:',
});
for (let [name, where, checked] of [
['the current tab', 'current-tab', openIn == openInEnum.CURRENT_TAB],
['a new tab (foreground)', 'new-tab', openIn == openInEnum.NEW_TAB],
['a new tab (background)', 'bg-tab', openIn == openInEnum.NEW_BGTAB],
['a new window', 'new-window', openIn == openInEnum.NEW_WINDOW],
['CurrentTab', 'current-tab', openIn == openInEnum.CURRENT_TAB],
['NewTab', 'new-tab', openIn == openInEnum.NEW_TAB],
['BgTab', 'bg-tab', openIn == openInEnum.NEW_BGTAB],
['NewWindow', 'new-window', openIn == openInEnum.NEW_WINDOW],
]) {
chrome.contextMenus.create({
id: 'resurrect-' + where + '-' + context,
type: 'radio',
title: name,
title: chrome.i18n.getMessage('resurrectConfig' + name),
contexts: [context],
checked: checked,
parentId: 'resurrect-' + context
@ -76,22 +61,20 @@ chrome.contextMenus.onClicked.addListener(function(info, tab) {
} else if (id.endsWith('-link')) {
url = info.linkUrl;
}
if (id.startsWith('resurrect-google-')) {
goToUrl(genGoogleUrl(url), openIn);
} else if (id.startsWith('resurrect-googletext-')) {
goToUrl(genGoogleTextUrl(url), openIn);
if (id.startsWith('resurrect-cachew-')) {
goToUrl(genCachewUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-archive-')) {
goToUrl(genIaUrl(url), openIn);
goToUrl(genIaUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-archivelist-')) {
goToUrl(genIaListUrl(url), openIn);
goToUrl(genIaListUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-archiveis-')) {
goToUrl(genArchiveIsUrl(url), openIn);
goToUrl(genArchiveIsUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-isup-')) {
goToUrl(genIsUpUrl(url), openIn);
goToUrl(genIsUpUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-webcitation-')) {
goToUrl(genWebCiteUrl(url), openIn);
goToUrl(genWebCiteUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-mementoweb-')) {
goToUrl(genMementoUrl(url), openIn);
goToUrl(genMementoUrl(url), openIn, tab.id);
} else if (id.startsWith('resurrect-current-tab-')) {
setOpenIn(openInEnum.CURRENT_TAB);
} else if (id.startsWith('resurrect-new-tab-')) {

Voir le fichier

@ -5,25 +5,19 @@ openInEnum = {
NEW_WINDOW : 3
}
let openIn = openInEnum.CURRENT_TAB;
chrome.storage.local.get('openIn', item => {
if (item.openIn) {
openIn = item.openIn;
}
});
function logLastError() {
if (chrome.runtime.lastError) {
console.error('Resurrect error:', chrome.runtime.lastError);
}
}
function genGoogleUrl(url) {
return 'https://www.google.com/search?q=cache:' + encodeURIComponent(url);
}
function genGoogleTextUrl(url) {
return 'https://www.google.com/search?strip=1&q=cache:' + encodeURIComponent(url);
function genCachewUrl(url) {
return 'https://cachedview.nl/#' +url;
}
function genIaUrl(url) {
@ -37,7 +31,7 @@ function genIaListUrl(url) {
}
function genArchiveIsUrl(url) {
return 'https://archive.is/'+url;
return 'https://archive.ph/'+url;
}
function genWebCiteUrl(url) {
@ -77,16 +71,16 @@ function updateContextRadios() {
});
}
function goToUrl(url, where) {
function goToUrl(url, where, openerTabId) {
switch(Number(where)) {
case openInEnum.CURRENT_TAB:
chrome.tabs.update({'url': url});
break;
case openInEnum.NEW_TAB:
chrome.tabs.create({'url': url});
chrome.tabs.create({'url': url, openerTabId});
break;
case openInEnum.NEW_BGTAB:
chrome.tabs.create({'url': url, 'active': false});
chrome.tabs.create({'url': url, 'active': false, openerTabId});
break;
case openInEnum.NEW_WINDOW:
chrome.windows.create({'url': url});

6
contribute.md Fichier normal
Voir le fichier

@ -0,0 +1,6 @@
# Contribute
I love pull requests from everyone.
In fact, since I don't have much time for coding (neither much skill, I must admit), any pull request is very welcome!
If you find a bug in the source code, you can help me by submitting an issue to this repository.
Even better if you can submit a Pull Request with a fix.

BIN
icons/cacheicons/cachew.png Fichier normal

Fichier binaire non affiché.

Après

Largeur:  |  Hauteur:  |  Taille: 9.4 KiB

Fichier binaire non affiché.

Avant

Largeur:  |  Hauteur:  |  Taille: 4.5 KiB

Fichier binaire non affiché.

Avant

Largeur:  |  Hauteur:  |  Taille: 7.9 KiB

Après

Largeur:  |  Hauteur:  |  Taille: 6.8 KiB

Fichier binaire non affiché.

Avant

Largeur:  |  Hauteur:  |  Taille: 2.6 KiB

Après

Largeur:  |  Hauteur:  |  Taille: 6.6 KiB

Voir le fichier

Voir le fichier

@ -3,11 +3,11 @@
"name": "__MSG_extensionName__",
"short_name": "__MSG_extensionName__",
"description": "__MSG_extensionDescription__",
"version": "6",
"version": "7.0.1",
"default_locale": "en",
"homepage_url": "https://github.com/Albirew/resurrect-pages",
"applications": {
"browser_specific_settings": {
"gecko": {
"id": "resurrect-pages@albirew.fr",
"strict_min_version": "57.0"

Voir le fichier

@ -20,13 +20,16 @@ img {
vertical-align: bottom;
height: 16px;
}
@media (prefers-color-scheme: dark){
body {
filter: hue-rotate(180deg) invert(1);
background-color:#102;
}
}
</style>
<form>
<button data-locale="resurrectGoogle" data-gen="genGoogleUrl">
<img src="icons/cacheicons/google.png">
</button>
<button data-locale="resurrectGoogleText" data-gen="genGoogleTextUrl">
<img src="icons/cacheicons/google.png">
<button data-locale="resurrectCachew" data-gen="genCachewUrl">
<img src="icons/cacheicons/cachew.png">
</button>
<button data-locale="resurrectArchive" data-gen="genIaUrl">
<img src="icons/cacheicons/waybackmachine.png">

Voir le fichier

@ -4,14 +4,12 @@ chrome.storage.local.get('openIn', res => {
});
});
document.querySelectorAll('*[data-locale]').forEach(el => {
el.appendChild(document.createTextNode(
' ' + chrome.i18n.getMessage(el.getAttribute('data-locale'))
));
});
function onOpenInChange() {
setOpenIn(document.querySelector('input[name="openIn"]:checked').value);
};
@ -19,14 +17,13 @@ document.querySelectorAll('input[type=radio]').forEach(el => {
el.addEventListener('click', onOpenInChange, true);
});
function resurrect(gen) {
return function() {
chrome.tabs.query({active: true, currentWindow: true}, tabObj => {
logLastError();
let url = gen(tabObj[0].url);
console.info('Resurrecting via URL', url);
goToUrl(url, openIn);
goToUrl(url, openIn, tabObj[0].id);
window.close();
});
}