Closed jessepollak closed 12 years ago
It's annoying that .safariextz appears to be compiled. Will it change every time the extension is updated? The nice part about (basic) extensions in Firefox and Chrome is all files are plain text, which is easier to review for shenanigans.
I think in order to make it publicly available, it's got to be in the compiled form; however, I'm also pretty sure for developers you can install from the source through the Safari Extension Builder. We should just have some sort of process (most likely going through you) that takes it from source code --> compiled --> public availability.
Sounds good to me. I'm going to merge then test since this is the first substantive commit.
Ok, I've tested very little, but I'll keep working on it. Tell me what you experience.
Good job!
It works for both Twitter and Facebook, but it looks like gmail for Safari uses a special element for its message bodies, which causes it to replace the link before it is sent. This will take more design, and is similar to the problem experienced with WYSIWYG editors.
A few other notes: It doesn't work for local files (eg file://). Is there a way to turn it on for local files? It is not a big deal, but It makes it easier to work with the testing file: https://github.com/smcgregor/privly-test The author should be Privly. Authors is displayed next to the extension when you look at installed extensions. If there is room for multiple authors, feel free to keep yourself in there as well.
Now all my browsers have Privly installed...nice.
I'll look into why it isn't working for local files. Any tips on how I might address the Gmail problem?
In terms of authorship, I couldn't care less. I'll change that now.
The gmail problem is probably related to a larger one no one has looked at, where WYSIWYG editors have different parent elements than normal form elements. We should probably move to explicitly naming the elements it works with, rather than excluding some elements, as is done in privly.js
var excludeParents = ["a", "applet", "button", "code", "form",
"input", "option", "script", "select", "meta",
"style", "textarea", "title", "div","span"];
var excludedParentsString = excludeParents.join(" or parent::");
Does that make sense?
The extension is skeletally implemented and built. Haven't done extensive testing (little to none), but figured I would push anyways so people could see the code.