diff --git a/src/inject.js b/src/inject.js index 71ee01f..2bb4da1 100755 --- a/src/inject.js +++ b/src/inject.js @@ -202,6 +202,7 @@ type = item.type index = path.lastIndexOf('/') name = $dummyDiv.text(path.substring(index + 1)).html() // sanitizes, closes #9 + item.id = PREFIX + path item.text = name item.icon = type // use `type` as class name for tree node @@ -213,7 +214,7 @@ item.a_attr = { href: '#' } } else if (type === 'blob') { - item.a_attr = { href: '/' + repo.username + '/' + repo.reponame + '/' + type + '/' + repo.branch + '/' + path } + item.a_attr = { href: '/' + repo.username + '/' + repo.reponame + '/' + type + '/' + repo.branch + '/' + encodeURIComponent(path) /* closes #97 */ } } else if (type === 'commit') { var moduleUrl = submodules[item.path] diff --git a/src/lib/js/jstree.js b/src/lib/js/jstree.js index 469d96a..94f4b56 100755 --- a/src/lib/js/jstree.js +++ b/src/lib/js/jstree.js @@ -85,7 +85,7 @@ */ plugins : {}, path : src && src.indexOf('/') !== -1 ? src.replace(/\/[^\/]+$/,'') : '', - idregex : /[\\:&'".,=\- \/$]/g + idregex : /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/$]/g }; /** * creates a jstree instance