Having to manually sign your forum or talk page posts is a silly waste of time and very discriminating against the more forgetful among us. This little JavaScript script fixes that inconvenience.


In some very rare case you will come across a page in a talk namespace that you don't want to sign. Forum:Index might be such an example. When that happens just uncheck the Sine checkbox next to your account navigation at the top!

In some equally rare cases you might want to sign a post that is outside a talk namespace. That might happen if a clever hacker decides to "opt out" of the message wall feature by creating a pseudo talk page - simply by adding "/talk" to his user page title. Just check the Sine checkbox!



Sine adds four tildes to the end of your posts. The MediaWiki software will expand that to your user name. As such it should work with whatever custom signature you have created for yourself. But apparently some people do not sign with four tildes. If you would like to sine with something else, you can do it like so:

Sine = {
    sine: 'something else'

Note that if you put ~~~ or ~~~~ without putting pre tags around them in comments like //<pre> and //</pre> around the tilden your signature will expand and the code will be virtually useless do to a lack of update timestamp.


Whenever Sine adds the four tildes on the same line as your last word, it will put a spacer between your text and the sine. The default spacer consists of two dashes: -- ~~~~

Some people may like this. Some may not. You can change the spacer if you like:

Sine = {
    spacer: '=>'

You can also remove it entirely:

Sine = {
    spacer: ''


Only posts in forum or talk namespace will be sined since putting your signature underneath articles is against wiki etiquette. The method to distinguish between articles and talk pages is quite simple. It is checked if the current page's namespace is on a list of talk namespaces or not. This is Sine's current list of talk namespace numbers:


Should your wiki have a custom namespace like "Portal", there will also be a custom talk space. Say it's number is 600, then you would teach Sine to find it like so:

Sine = {
    talkNameSpaces: [  600,  1,3,5,7,9,11,13,15,110,111,114,401,500,501,502,503]

Note that you have to provide a complete list of talk namepace numbers!