1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-06-26 07:13:15 +00:00

Hash the state qualifier to make it shorter

We were having problems with TW5 generating filepaths that were longer
than Windows likes.

Fixes #240
This commit is contained in:
Jermolene 2013-11-28 10:53:37 +00:00
parent 1e14ba48f9
commit c0a6e94b21
2 changed files with 13 additions and 2 deletions

View File

@ -402,4 +402,15 @@ exports.getAnimationDuration = function() {
return parseInt($tw.wiki.getTiddlerText("$:/config/AnimationDuration","400"),10);
};
/*
Hash a string to a number
Derived from http://stackoverflow.com/a/15710692
*/
exports.hashString = function(str) {
return str.split("").reduce(function(a,b) {
a = ((a << 5) - a) + b.charCodeAt(0);
return a & a;
},0);
};
})();

View File

@ -188,7 +188,7 @@ Widget.prototype.hasVariable = function(name,value) {
};
/*
Construct a qualifying string based on concatenating the values of a given variable in the parent chain
Construct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain
*/
Widget.prototype.getStateQualifier = function(name) {
name = name || "transclusion";
@ -200,7 +200,7 @@ Widget.prototype.getStateQualifier = function(name) {
}
node = node.parentWidget;
}
return output.join("");
return "{" + $tw.utils.hashString(output.join("")) + "}";
};
/*