less dumb title -> filename conversion

master
Ondřej Hruška 6 years ago
parent c1891e4f00
commit 3ac45668d4
Signed by: MightyPork
GPG Key ID: 2C5FD5035250423D
  1. 24
      background.js
  2. 2
      manifest.json

@ -14,13 +14,27 @@ function sanitizeUrl(unsafe) {
.replace(/;/g, "%3B");
}
/** Remove the most risky characters from a filename string */
/**
* Remove the most risky characters from a filename string
*
* Firefox doesn't allow these: |"*?:<>
*/
function cleanFilename(unsafe) {
return unsafe
.replace(/::/g, " - ")
.replace(/[/\\?*|"'<>:]+/g, " ")
.replace(/\s+/g, " ")
.replace(/[\._-]$/g, "")
.replace(/::/g, " - ") // common delimiter (e.g. My Cool Article :: Website.com)
.replace(/[?*]+/g, " ") // this is just noise, drop it
.replace(/[\<\[]/g, "(")
.replace(/[\>\]]/g, ")")
.replace(/ :/g, " -")
.replace(/: /g, " ")
.replace(/:/g, "_")
.replace(/"/g, "'") // firefox hates double quote
.replace(/[/\\|]/g, "-") // porobable delimiters that should be kept in some form
.replace(/-+/g, "-") // collapse multiple hyphen (may result from substitutions)
.replace(/[\+=]/g, "_") // other suspicious stuff
.replace(/\s+/g, " ") // collapse multiple whitespace
.replace(/[\._,-]+$/g, "") // the filename should not end on special chars
.replace(/^[\._,-]+/g, "") // nor start
.trim();
}

@ -2,7 +2,7 @@
"manifest_version":2,
"author": "Ondřej Hruška",
"name":"Save Link to File",
"version":"0.4",
"version":"0.5",
"description":"Saves the current page as a HTML file with auto-redirect. It's like a bookmark you can store anywhere on your disk.",
"icons":{
"48":"icon-dark.svg",

Loading…
Cancel
Save