User talk:Cryptic/smiley.js

From Wikipedia, the free encyclopedia

User:Cryptic/smiley.js is an odious little script that replaces various ascii smilies with images from the Commons.

Contents

[edit] Installation

Copy the contents of User:Cryptic/smiley.js into your user js file. This will be in one of the following locations depending on the skin you're using:

[edit] Smilies replaced

=) :) :-) =) Image:Smile.png
:D :-D =D Image:Teeth.png
:( :-( =( Image:Sad.png
;) ;-) ;D ;-D Image:Smile_eye.png
:p :-p :P :-P =p =P Image:Tongue.png
:'( :'-( Image:Cry.png
8) 8-) 8D 8-D Image:Shade.png

[edit] How to add more

Each line in the smiley array at the start of the script consists of an array containing the following elements:

  1. A regular expression for the text to be replaced. Note that backslashes ("\") need to be doubled.
  2. The image name.
  3. The subdirectory where the image is stored. For example, if the image is at http://upload.wikimedia.org/wikipedia/commons/2/26/Smile.png, this should be "2/26".
  4. The image width.
  5. The image height.

[edit] Deficiencies

  • The images are linked in a specific place (e.g. http://upload.wikimedia.org/wikipedia/commons/2/26/Smile.png instead of http://en.wikipedia.org/wiki/Image:Smile.png). I don't see how this can be fixed.
  • The images aren't clickable on like the normal [[Image:...]] syntax. This is due to laziness on my part.
  • They're replaced everywhere, including on pages not in the Wikipedia: or *Talk: namespaces, within <pre> blocks, and in links like =). (They aren't replaced if they're immediately preceded or followed by a letter or number, like in "Template:Pt", though.) This is also due to laziness on my part.
  • It's slow. (You guessed it, laziness again.)