Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4d93f45
Add a[rel] and a[class] methods of finding the anchor
Mathnerd314 Sep 9, 2013
d024a66
Homestuck hack
Mathnerd314 Mar 20, 2015
a0442d3
Use descendant instead of child, for cases like a > div > img
Mathnerd314 May 2, 2015
4f8e2e2
Remove some same-origin checks, so that sites that auto-redirect from…
Mathnerd314 Sep 4, 2015
2405c51
Bump version
Mathnerd314 Nov 5, 2015
7783add
One 'class' suffices; stopping only at ID's breaks wordpress sites in…
Mathnerd314 May 7, 2016
620d28c
Update for FF 48
Mathnerd314 Sep 17, 2016
ee31447
Rel is more useful
Mathnerd314 Apr 26, 2017
94bcd2c
Noscript elements have content, don't remove them
Mathnerd314 Jun 4, 2017
1b247a8
Remove same-origin check that used deprecated (now removed) API
Mathnerd314 Jun 4, 2017
2a7cd8e
Turn into a WebExtension
Mathnerd314 Sep 15, 2017
5531ad6
Update build.py
Mathnerd314 Sep 15, 2017
328b246
Fix infinite loop on http://www.questionablecontent.net/view.php?comi…
Mathnerd314 Sep 18, 2017
17aace5
Fix scoping of focusElement. No idea of why it worked before...
Mathnerd314 Oct 12, 2017
364b234
No iframe, just use XHR DOM
Mathnerd314 Oct 26, 2017
4e08710
Fix options and Slideshow feature.
Mathnerd314 Nov 29, 2017
ef9813e
Update Readme.md
Mathnerd314 Nov 30, 2017
0850b3e
Update menu to use only 1 level and hide/show Stop properly
Mathnerd314 Feb 23, 2018
1ba6538
Fix validation errors
Mathnerd314 Feb 23, 2018
da4edd2
Fix Google repagination
Mathnerd314 May 12, 2018
0334bff
Update for FF71 and other maintenance
Mathnerd314 Oct 17, 2019
18796db
Fix German translation
Mathnerd314 May 27, 2020
b0870f8
Bump version
Mathnerd314 May 27, 2020
b0214aa
Port back changes from Chrome
Mathnerd314 Apr 12, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Re-Pagination
===

This add-on is mostly a rewrite of the old re-pagination/antipagination extension for Firefox.
Lev assigned ownership over to this project, so that this incarnation is now the official one.
This add-on is an update of the old re-pagination/antipagination extension for Firefox 57+.
Nils Maier has not assigned ownership over to this project, so this is still a fork.

Features
===

* Fully restartless
* Should prevent some |jank|ing compared to the original extension
* WebExtension compatible with Firefox Quantum
* Compatible with more sites
* All, limited and slideshow
85 changes: 85 additions & 0 deletions _locales/de/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"displaySubmenu_label": {
"message": "Untermenü anzeigen"
},
"displaySubmenu_desc": {
"message": "Wenn diese Option aktiviert ist (Standard), dann wird Re-Pagination als Untermenü angezeigt anstatt die verschiedenen Aktionen direkt im Kontextmenü anzuzeigen."
},
"showslideshow_label": {
"message": "'Slide-Show' Menüeintrag anzeigen"
},
"showalldomain_label": {
"message": "'Alle Tabs der aktuellen Domain' Menüeintrag anzeigen"
},
"loglevel_label": {
"message": "Protokoll Stufe"
},
"loglevel_desc": {
"message": "Die Nachrichten werden in der Fehlerkonsole protokolliert. Man sollte diese Einstellung auf 'Keine Protokollierung' belassen, wenn nicht anders angewiesen."
},
"loglevel_none_label": {
"message": "Keine Protokollierung"
},
"loglevel_error_label": {
"message": "Fehler protokollieren"
},
"loglevel_info_label": {
"message": "Fehler und Infos protokollieren"
},
"loglevel_debug_label": {
"message": "Alles protokollieren!"
},
"menu_label": {
"message": "Re-Pagination"
},
"repagination_nolimit": {
"message": "Alle laden"
},
"repagination_nolimit_domain": {
"message": "'Alle Tabs der aktuellen Domain'"
},
"repagination_limit": {
"message": "Begrenzt"
},
"repagination_slide": {
"message": "Slide-Show"
},
"repagination_slide_0": {
"message": "Sofort"
},
"repagination_slide_1": {
"message": "1 Sekunde"
},
"repagination_slide_60": {
"message": "1 Minute"
},
"repagination_stop": {
"message": "Stoppen!"
},
"repagination_limit_x": {
"message": "$1 Seiten"
},
"repagination_slide_120": {
"message": "2 Minuten"
},
"repagination_slide_x": {
"message": "$1 Sekunden"
},

"repagination_limited": {
"message": "($1 of $2) Re-Pagination arbeitet..."
},
"repagination_unlimited": {
"message": "($1) Re-Pagination arbeitet..."
},
"repagination_running": {
"message": "Re-Pagination arbeitet..."
},

"extensionName": {
"message": "Re-Pagination"
},
"extensionDescription": {
"message": "Alle fortlaufenden Seiten in einem einzigem Tab auf einmal laden"
}
}
83 changes: 83 additions & 0 deletions _locales/en/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"displaySubmenu_label": {
"message": "Display submenu"
},
"displaySubmenu_desc": {
"message": "When this option is enabled (default), then Re-Pagination will be displayed as a submenu instead of displaying the various actions directly within the context menu."
},
"showslideshow_label": {
"message": "Show 'Slideshow' menu item"
},
"showalldomain_label": {
"message": "Show 'All tabs for current domain' menu item"
},
"loglevel_label": {
"message": "Log level"
},
"loglevel_desc": {
"message": "The messages will be logged to the Error Console. You should leave this at 'No Logging' unless instructed otherwise"
},
"loglevel_none_label": {
"message": "No Logging"
},
"loglevel_error_label": {
"message": "Log Errors"
},
"loglevel_info_label": {
"message": "Log Errors and Infos"
},
"loglevel_debug_label": {
"message": "Log Everything!"
},
"menu_label": {
"message": "Re-Pagination"
},
"repagination_nolimit": {
"message": "Load all"
},
"repagination_nolimit_domain": {
"message": "All tabs for current domain"
},
"repagination_limit": {
"message": "Limited"
},
"repagination_limit_x": {
"message": "$1 pages"
},
"repagination_slide": {
"message": "Slideshow"
},
"repagination_slide_0": {
"message": "Immediately"
},
"repagination_slide_1": {
"message": "1 second"
},
"repagination_slide_x": {
"message": "$1 seconds"
},
"repagination_slide_60": {
"message": "1 minute"
},
"repagination_slide_120": {
"message": "2 minutes"
},
"repagination_stop": {
"message": "Stop!"
},
"repagination_limited": {
"message": "($1 of $2) Re-Pagination is running..."
},
"repagination_unlimited": {
"message": "($1) Re-Pagination is running..."
},
"repagination_running": {
"message": "Re-Pagination is running..."
},
"extensionName": {
"message": "Re-Pagination"
},
"extensionDescription": {
"message": "Load all consecutive pages in a single tab at once."
}
}
24 changes: 0 additions & 24 deletions bootstrap.js

This file was deleted.

37 changes: 7 additions & 30 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,11 @@
from zipfile import ZipFile, ZIP_STORED, ZIP_DEFLATED

resources = [
"install.rdf",
"chrome.manifest",
"*.xul",
"locale/*/*.dtd",
"locale/*/*.properties",
"defaults/preferences/prefs.js",
"icon.png", "icon64.png",
"manifest.json",
"_locales/*/messages.json",
"icon.png", "icon32.png", "icon64.png",
"LICENSE.txt",
"content-script.js"
"*.js", "options.html"
]
destination = "repagination.xpi"

Expand All @@ -34,26 +30,7 @@ def Minor():
yield


def get_js_requires(scripts):
known = set()
scripts = list(scripts)
for script in scripts:
with open(script) as sp:
for line in sp:
m = re.search(r"(?:r|lazyR)equire\((['\"])(.+?)\1", line)
if not m:
continue
m = m.group(2) + ".js"
if m in known:
continue
known.add(m)
scripts += m,
return set(scripts)


def get_files(resources):
for r in get_js_requires(("bootstrap.js", "loader.jsm")):
yield r
for r in resources:
if os.path.isfile(r):
yield r
Expand All @@ -73,9 +50,9 @@ def __exit__(self, type, value, traceback):
self.close()


if os.path.exists(destination):
print >>sys.stderr, destination, "is in the way"
sys.exit(1)
# if os.path.exists(destination):
# print >>sys.stderr, destination, "is in the way"
# sys.exit(1)

with Minor(), ZipOutFile(destination) as zp:
for f in sorted(get_files(resources), key=str.lower):
Expand Down
4 changes: 0 additions & 4 deletions chrome.manifest

This file was deleted.

Loading