summaryrefslogtreecommitdiff
path: root/skins/htmldump/lookup.js
diff options
context:
space:
mode:
Diffstat (limited to 'skins/htmldump/lookup.js')
-rw-r--r--skins/htmldump/lookup.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/skins/htmldump/lookup.js b/skins/htmldump/lookup.js
deleted file mode 100644
index 5fd8d019..00000000
--- a/skins/htmldump/lookup.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * "Go" function for static HTML dump
- */
-function goToStatic(depth) {
- var url = getStaticURL(document.getElementById("searchInput").value, depth);
- if (url != "") {
- location = url;
- } else {
- alert("Invalid title");
- }
-}
-
-/**
- * Determine relative path for a given non-canonical title
- */
-function getStaticURL(text, depth) {
- var pdbk = getPDBK(text);
- if (pdbk == "") {
- return "";
- } else {
- var i;
- var path = getHashedDirectory(pdbk, depth) + "/" + getFriendlyName(pdbk) + ".html";
- if (!/(index\.html|\/)$/.exec(location)) {
- for (i = 0; i < depth; i++) {
- path = "../" + path;
- }
- }
- return path;
- }
-}
-
-function getPDBK(text) {
- // Spaces to underscores
- text = text.replace(/ /g, "_");
-
- // Trim leading and trailing space
- text = text.replace(/^_+/g, "");
- text = text.replace(/_+$/g, "");
-
- // Capitalise first letter
- return ucfirst(text);
-}
-
-function getHashedDirectory(pdbk, depth) {
- // Find the first colon if there is one, use characters after it
- var dbk = pdbk.replace(/^[^:]*:_*(.*)$/, "$1");
- var i, c, dir = "";
-
- for (i=0; i < depth; i++) {
- if (i) {
- dir += "/";
- }
- if (i >= dbk.length) {
- dir += "_";
- } else {
- c = dbk.charAt(i);
- cc = dbk.charCodeAt(i);
-
- if (cc >= 128 || /[a-zA-Z0-9!#$%&()+,[\]^_`{}-]/.exec(c)) {
- dir += c.toLowerCase();
- } else {
- dir += binl2hex([cc]).substr(0,2).toUpperCase();
- }
- }
- }
- return dir;
-}
-
-function ucfirst(s) {
- return s.charAt(0).toUpperCase() + s.substring(1, s.length);
-}
-
-function getFriendlyName(name) {
- // Replace illegal characters for Windows paths with underscores
- var friendlyName = name.replace(/[\/\\*?"<>|~]/g, "_");
-
- // Work out lower case form. We assume we're on a system with case-insensitive
- // filenames, so unless the case is of a special form, we have to disambiguate
- var lowerCase = ucfirst(name.toLowerCase());
-
- // Make it mostly unique
- if (lowerCase != friendlyName) {
- friendlyName += "_" + hex_md5(_to_utf8(name)).substring(0, 4);
- }
- // Handle colon specially by replacing it with tilde
- // Thus we reduce the number of paths with hashes appended
- friendlyName = friendlyName.replace(":", "~");
-
- return friendlyName;
-}
-