text:
Talk:Doom (1993 video game)/Archive 1

http://uxu.textfiles.com/humor/COMPUTER/spispopd.txt

This should get added in as a link on the main....go for it Imran.

The link is ded, but I've found http://textfiles.fisher.hu/humor/COMPUTER/spispopd.txt and http://www.gamers.org/pub/games/uwp-uml/misc/spispopd.txt as well as http://www.trilobite.org/spispopd/ // Liftarn

JFYI, the separate extlink for the archived version of the Nokia cell phone Doom port will go away once this bug in the wikipedia software is fixed. Stay tuned. ^_~ -- Schnee 03:22, 11 Sep 2003 (UTC)

 * Worked around. -- Schnee 09:54, 21 Sep 2003 (UTC)

 * I've noticed id developers spell it with all capitals on many occasions as it is in the game, should this entry and others be edited to include the DOOM spelling instead of Doom?
 * Quoth

 * Good question. My personal experience is that the spelling "Doom" is more common than "DOOM", but I'd have to check to see what the official spelling from id is. If it's DOOM, then I'm all for adapting that variant in the article. :)
 * Schnee 16:27, 22 Sep 2003 (UTC)

 * Historically, the folks at id Software have been referring to Doom III as DOOM. Some fans of the original say it's DooM, others DOOM, and others just Doom. I prefer the last myself, because it just feels right.
 * Bloodshedder 00:18, 23 Sep 2003 (UTC)

 * Well the official website has it written as DOOM (Final DOOM, Ultimate DOOM) on the submenu's and overviews of the game but not in the main menu title Doom. Then again, in a number of places such as the Business section of the website Quake can be found in capitals frequently also, but never Wolfenstein 3D or Commander Keen. After going through the site, regardless of how the capitalisation of the other titles vary from occasion to occasion, DOOM is constantly DOOM or DOOM II, and as mentioned the only lowercase Doom is in the main menu and then it's refering to the series and not any one of the games.
 * This holds up with seeing the developers refer to DOOM and not Doom. The DooM variation I've only ever seen once, possibly from a reviewer or just a post in a forum and comes from writing it as it appears on some covers, in which the O's are made smaller to fit in a subtitle or the 'II'. Doom is the most commonly used because it is grammatically correct and people are used to the titles of publications (such as albums or games) being completely in capitals but not strictly so. Perhaps there was a conscious decision during the making of DOOM that it should be spelt like that, which would explain why the developers, years later, seem to be the only one's spelling it like that as can be seen on Tom Halls website today . So, personally, while the majority of people spell it Doom (the majority not being the developers :)) I'd feel more comfortable sticking to canon and having it as DOOM when referring to the particular games.
 * Quoth

 * Sounds fine. As far as the "DooM" spelling variation is concerned, that was actually in at least reasonably widespread use back when Doom was still all new, although its use seems to have waned these days. -- Schnee 14:16, 23 Sep 2003 (UTC)

I don't like this DOOM³ thing. Sure, the latest logo you can see on stuff from E3 looks like that, but that naming convention is by no means official. Bloodshedder 02:06, 27 Sep 2003 (UTC)

 * Neither do I. Personally, I'd be all for changing it back to DOOM III, DOOM 3 or something similar. -- Schnee 17:19, 29 Sep 2003 (UTC)

 * Well, the E3 trailer is official. And it makes a bit of sense, seeing as it's not so much the third in a series as it is just the first ones, yet much better, to the power of 3 in fact. In which case it doubles as a sequal number and a connotation. Fairly clever title if you ask me.
 * Quoth 13:02, 3 Oct 2003 (UTC)

Why is this article at DOOM (computer game) instead of just DOOM? Is there some other kind of DOOM? -- Minesweeper 01:46, Oct 16, 2003 (UTC)

 * It used to be Doom (computer game), which I guess was supposed to not be confused with Doom; but that article is just a redirect, too, so ultimately, I'm not sure. In any case, it's probably safe to move it to just DOOM. -- Schnee 15:36, 16 Oct 2003 (UTC)

Wouldn't it be nicer to let the paragraph about ports to GamePark 32, Nokia phones and so on stay at the top? They may be done with the help of the (released) source, but they're ports to new architectures rather than ports that "just" add new features, so I think it'd be more appropriate to let them stay with the paragraph about the architectures that Doom was ported to. -- Schnee 01:13, 18 Oct 2003 (UTC)

 * Well, those three ports I moved were created using the source code released by id Software. The systems/OSes mentioned up above those were, as far as I know, all official ports by id Software to those consoles or operating systems. I think the user-made ones should remain in the Source Ports section, simply because they aren't official. This distinguishes them from the official hardware/OS ports by id and "partner" companies. - Bloodshedder 02:50, 18 Oct 2003 (UTC)

What's up with the Microsoft ad (3rd paragraph)? It doesn't show up on the "Edit this Page" box, but it is listed in source code as it appears, with a leading paragraph tag. Then, it disappears on reloading the page. I know I didn't imagine it. Can anyone do something about this? It has less than nothing to do with DOOM. Or is this a problem in all wiki entries?

 * Someoned probably inserted it in an attempt to vandalize (or maybe just to test the editing function). Wikipedians are usually quick to revert such changes. Thanks for commenting! Fredrik 18:43, 23 Apr 2004 (UTC)

The article says "Union Aerospace Corporation (UAC), whose biggest supplier, the military". It's confusing - why would the military be a supplier to UAC? It would make sense that UAC was one of the largest military suppliers/subcontractors... It seems that the eixsting version comes from some official Doom intro (box cover, manual, etc.), but I think there was originally a mistake. Do you think there is a mistake and if yes, shall it be fixed here despite what the source says? Paranoid 18:21, 24 May 2004 (UTC)
 * Maybe it's supposed to demonstrate just how big and bad the UAC conglomerate is. The article should stick to what the source says, anyway. Fredrik 13:16, 25 May 2004 (UTC)

Fixed (broke?) many things, including
 * 1) What's 3D gameplay? And it was 2.5D anyway.
 * 2) Who would argue that it's an anachronism?
 * 3) BFG correction (it's still a simplification though).
 * 4) I fixed some minor factual errors (Cyberdemon, speed, etc.). I think the article should be factually correct even if it makes the text slightly drier.
 * 5) What allegory?
 * 6) Duke 3D was competing with Quake

If the reasons for some changes I made are unclear (and not clarified above), ask me to comment on them. Paranoid 19:07, 24 May 2004 (UTC)

 * 4) I re-added "cyborgs" because there are two of them in Doom (and of course even more Doom 2). This should be expanded, I'd like to spin off a DOOM gameplay or similar article for details. Also, the player actually does move faster than all monsters, including attacking lost souls (provided that you straferun). Last, I removed "fourth generation" from the DOOM 3 engine description because no explanation or link was provided for the term. Thanks for contributing, and feel free to improve the article further :) Fredrik 13:16, 25 May 2004 (UTC)

I think we need a lot more in the controversy department. Some more quotes, and ideally counter-quotes from id Software for NPOV. There should also be some more info on in which places DOOM was banned or censored, and how DOOM affected the use of rating systems. I'm personally not familiar with these aspects of its history, unfortunately. Fredrik (talk) 10:39, 16 Jun 2004 (UTC)

 * Heh, I think the article is pretty complete as it is. With all the effort spent on it (even more after it was featured on the main page) there is very little to be added. If people start insisting on adding "technical" info, this will start looking more and more like a FAQ, instead of an encyclopedia article. I do understand more information works only to make an article more attractive, but sometimes, things should be more dynamic. I've warned people about this before. If articles start building up with way too much info, they will cease to perform their function, which is to help people. They may start confusing them instead. Think about that.

 * If there is useful technical info that can be added, the right solution isn't to avoid it because it's technical, but put it in a separate article and keep a non-technical overview in the main one. That's why I put up a separate "game details" page (which by the way hardly has any work done to it yet). I wouldn't mind having one main article for each section here (for the related products section, ideally one for each item). Fredrik | talk 09:30, 24 Jun 2004 (UTC)

 * I believe something must be done about the links section, though. The way it is it looks pretty bad. Just a bunch of links packed up one up another. I think it should be divided into sections like it used to be before. "Official sites", for example. That helps a lot on the overall visibility of the links. Official sites and fan sites should be sorted into different categories. I would like to do that myself, but since this article is heavily patrolled, someone might get upset. That's why I'm commenting this here first. – Mackeriv 07:11, 24 Jun 2004 (UTC)

 * Dealt with. And don't worry about the site being patrolled... be bold, and just be prepared to defend controversial changes on this talk page. Fredrik | talk 09:30, 24 Jun 2004 (UTC)

 * Alright, Fredrik. Thanks for understanding my point. Dividing big articles into smaller ones sounds like a good idea, I don't know why I haven't thought of it this time. You are right. By the way, you've done a good work with those links. It's much better now. Keep up. – Mackeriv 20:46, 24 Jun 2004 (UTC)

Regarding german law and swastikas
Regarding german law and the display of swastikas or other Nazi symbols, it is worth nothing that the relevant paragraph (§ 86 Absatz 1 StGB) does *not* apply if displaying the symbol is (among other things) for educational, scientific or artistic purposes, so it could probably be argued that the display of a level map containing an image of a swastika is not illegal under german law - after all, Wikipedia's purpose *is* entirely educational. As such, there is probably no need for paranoia with regard to the "development of E1M4" image. -- Schnee 19:30, 2 Oct 2004 (UTC)

 * I heard that such uses still requires an application of a waiver from the government. Can someone confirm this? SYSS Mouse 01:11, 26 Oct 2004 (UTC)

 * I haven't heard about that myself, and I doubt it, too. The law is quite clear, after all: it states (in § 86 Absatz 3 StGB) that the relevant paragraph (§ 86 Absatz 1 StGB; I don't know why I wrote 90 earlier, sorry about that) does not apply under the conditions given above. A waiver of any form is not required. Of course, that doesn't mean there never will be attempts to prosecute the usage anyway; for example, Gerhard Seyfried, a radical left-wing artist, was prosecuted for two images containing swastikas about 1,5 years or so ago, but as far as I know, this case didn't even go to court (probably because the prosecutors knew they wouldn't have a chance). You can read the relevant paragraph at http://dejure.org/gesetze/StGB/86.html, BTW; it's in german only, unfortunately, though. More about the Seyfried case can be read at http://www.heise.de/tp/deutsch/inhalt/te/14606/1.html , for example.

 * I should note, of course, that IANAL (I Am Not A Lawyer). -- Schnee

Homages
What is "Labyrinth of Death" and how is it related to DOOM? The paragraph as it stands provides no context whatsoever and there are no references for it. Fredrik | talk 17:08, 19 Oct 2004 (UTC)

 * It's a fictional follow-up that appears in the works of the author mentioned. Probably doesn't need to be a Wikilink really, though, so I'll remove that. -- Schnee 03:09, 26 Oct 2004 (UTC)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Talk:Doom (1993 video game)/Archive 1


text:
Talk:Keigo

This article should be expanded, merged, and redirected with Japanese honorifics. Any objections? Exploding Boy 15:55, Apr 25, 2005 (UTC)

title: Talk:Keigo


text:
Viseu District

The District of Viseu (Distrito de Viseu ) is located in the Central Inland of Portugal, the District Capital is the city of Viseu.

Municipalities
The district is composed by 24 municipalities:

 * Armamar
 * Carregal do Sal
 * Castro Daire
 * Cinfães
 * Lamego
 * Mangualde
 * Moimenta da Beira
 * Mortágua
 * Nelas
 * Oliveira de Frades
 * Penalva do Castelo
 * Penedono
 * Resende
 * Santa Comba Dão
 * São João da Pesqueira
 * São Pedro do Sul
 * Sátão
 * Sernancelhe
 * Tabuaço
 * Tarouca
 * Tondela
 * Vila Nova de Paiva
 * Viseu
 * Vouzela

Summary of votes and seats won 1976-2022
!rowspan=2|Parties!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S!!%!!S !colspan=2 | 1976 !colspan=2 | 1979 !colspan=2 | 1980 !colspan=2 | 1983 !colspan=2 | 1985 !colspan=2 | 1987 !colspan=2 | 1991 !colspan=2 | 1995 !colspan=2 | 1999 !colspan=2 | 2002 !colspan=2 | 2005 !colspan=2 | 2009 !colspan=2 | 2011 !colspan=2 | 2015 !colspan=2 | 2019 !colspan=2 | 2022 ! Total seats || colspan=2|11 || colspan=10|10 || colspan=16|9 || colspan=4|8 ! colspan=33|Source: Comissão Nacional de Eleições
 * - class="unsortable"
 * - class="unsortable" align="center"
 * align="left"| PS || 23.0 || 3 || 21.4 || 2 || 20.9 || 2 || 30.9 || 4 || 20.0 || 2 || 17.9 || 2 || 19.4 || 2 || 38.4 || 4 || 38.1 || 4 || 31.1 || 3 || style="background:#FF66FF;"|40.4 || style="background:#FF66FF;"|4 || 34.7 || 4 || 26.7 || 3 || 29.7 || 3 || 35.4 || 4 || style="background:#FF66FF;"|41.5 || style="background:#FF66FF;"|4
 * align="left"| PSD || style="background:#FF9900;"|32.2 || style="background:#FF9900;"|4 || align=center colspan=4 rowspan=2|In AD || style="background:#FF9900;"|36.6 || style="background:#FF9900;"|4 || style="background:#FF9900;"|37.7 || style="background:#FF9900;"|5 || style="background:#FF9900;"|64.1 || style="background:#FF9900;"|8 || style="background:#FF9900;"|64.3 || style="background:#FF9900;"|7 || style="background:#FF9900;"|44.3 || style="background:#FF9900;"|4 || style="background:#FF9900;"|44.3 || style="background:#FF9900;"|4 || style="background:#FF9900;"|52.1 || style="background:#FF9900;"|5 || 40.2 || 4 || style="background:#FF9900;"|37.5 || style="background:#FF9900;"|4 || style="background:#FF9900;"|48.4 || style="background:#FF9900;"|5 || align=center colspan=2 rowspan=2|In PàF || style="background:#FF9900;"|36.2 || style="background:#FF9900;"|4 || 36.8 || 4
 * align="left"| CDS-PP || 31.2 || 4 || 20.7 || 2 || 19.9 || 2 || 7.0 || || 6.3 ||  || 11.5 || 1 || 10.5 || 1 || 10.6 || 1 || 8.6 || 1 || 13.4 || 1 || 12.4 || 1 || 5.9 ||  || 2.1 ||
 * align="left"| AD || colspan=2| || style="background:#00FFFF;"|64.1 || style="background:#00FFFF;"|8 || style="background:#00FFFF;"|66.8 || style="background:#00FFFF;"|8 || colspan=26|
 * align="left"| PRD || colspan=8| || 10.9 || 1 || 1.7 || 0 || colspan=20|
 * align="left"| PàF || colspan=26| || style="background:#00AAAA;"|51.1 || style="background:#00AAAA;"|6 || colspan=4|
 * align="left"| AD || colspan=2| || style="background:#00FFFF;"|64.1 || style="background:#00FFFF;"|8 || style="background:#00FFFF;"|66.8 || style="background:#00FFFF;"|8 || colspan=26|
 * align="left"| PRD || colspan=8| || 10.9 || 1 || 1.7 || 0 || colspan=20|
 * align="left"| PàF || colspan=26| || style="background:#00AAAA;"|51.1 || style="background:#00AAAA;"|6 || colspan=4|
 * align="left"| PRD || colspan=8| || 10.9 || 1 || 1.7 || 0 || colspan=20|
 * align="left"| PàF || colspan=26| || style="background:#00AAAA;"|51.1 || style="background:#00AAAA;"|6 || colspan=4|
 * align="left"| PàF || colspan=26| || style="background:#00AAAA;"|51.1 || style="background:#00AAAA;"|6 || colspan=4|
 * }

title: Viseu District


text:
Talk:Hookworm infection

Image
The image is that of Ancylostoma caninum worms, but the legend implies they are Ancylostoma duodenale and Necator americanus.

Untitled
what is the phylum of a hookworm????
 * Nematoda. The class is Phasmidia (Secernentea). I added some taxonomic information to the article, based on . Wmahan. 18:41, 2005 Apr 25 (UTC)

Contradiction
The quick facts section for A. duodenale under the categories for "portal of entry" and "mode of transmission" seem to indicate that A. duodenale's principal method of infection is via ingestion, whereas the second paragraph of the "Life Cycle" section indicates that ingestion is a rare occurence. Is there any citation to back the quick fact? I cannot seem to find ingestion as the main method of transmission mentioned anywhere else. —Preceding unsigned comment added by 90.195.93.250 (talk) 05:11, 9 April 2009 (UTC)

Anachronicity
Would it be possible to add some data from the 80s, 90s and 21st century to augment or even replace some of the 1911 Britannica material? --McDogm 00:10, 24 August 2005 (UTC)

Summary of biological life cycle
In the Summary of biological life cycle section it is stated that N. Americanus larvae may only infect through penetration of the skin, but if the larvae's goal is then to travel to the alveoli to be swallowed and enter the intestines (all in the same form) why could it not infect through ingestion as A. duodenale does? — Preceding unsigned comment added by 50.100.105.34 (talk) 02:09, 11 April 2014 (UTC)

Reproduction
How do hookworms reproduce?

Symmetry
Is it radial or bilateral?

Bilateral

Animal models for hookworm infestation
This section looks like notes from a medical journal. It needs to be rewritten in prose and fit into the context of the article. A proper references style should be used (see WP:CITE). JonHarder 16:01, 21 April 2006 (UTC)

Symptoms
What other symptoms besides anemia does hookworm infection have? I think there should be a section called "symptoms". —Preceding unsigned comment added by 74.194.11.112 (talk) 03:05, 12 December 2007 (UTC)
 * Done. --Joelmills (talk) 03:10, 12 December 2007 (UTC)

Carry disease?
Can hookworms carry other parasites that affect humans? Peoplesunionpro (talk) 16:24, 4 March 2008 (UTC)

Allergy Treatment
Should information from this article be added to this page? 71.249.15.149 (talk) 16:23, 1 July 2008 (UTC)

This is some additional information about allergy treatment. Note that the results of this study were only recently published (2009-10-22) http://www.heraldsun.com.au/lifestyle/the-other-side/worming-a-way-out-of-coeliac-disease-using-hook-worms-is-dr-james-davesons-mission/story-e6frfhk6-1225789785047 Twigmon (talk) 23:51, 22 October 2009 (UTC)

Size of female
The article lacks a mention of the absolute size of females (it only says much larger than the male). Can anyone add a more useful metric?FreeFlow99 (talk) 10:27, 19 September 2013 (UTC)

Capitalization
Capitalization is inconsistent. Is it Hookworm or hookworm? Does it matter whether "infection" or "disease" follows the noun? I'd make it all consistent it if I was sure which way to go...? - ZeniffMartineau (talk) 00:25, 16 February 2014 (UTC)

Information about hookworm infection should be on a separate page
For the other helminths, we tried to have one page for the organism and one page for the infection. For some reason here with hookworm it is all mixed together. Can someone separate it out? Maybe create a new page called "hookworm infection"? I assume the information contained here on the page about hookworm infection applies equally to the different types of hookworms. The hatnote states: ''this article is about the organism. For the infection by Necator americanus, see Necatoriasis. For the infection by Ancylostoma duodenale, see Ancylostomiasis.'' Thoughts, Doc_James? EvM-Susana (talk) 18:18, 19 June 2015 (UTC)
 * This article is primarily about the infection rather than the organism thus moved to hookworm infection. If the organism content becomes to large it can be split off. Doc James (talk · contribs · email) 00:06, 20 June 2015 (UTC)

Is the term "hookworm" really commonly used for "hookworm infection"?
I would take the "or hookworm" out of the first sentence as it leads to confusion. If there is good evidence that modern literature uses the term "hookworm" as a synonym for "hookworm infection" then this could be mentioned at a later point (it may be something of the past, therefore add it in the history section?) but does not need to be in the first sentence. The reference that User: Iztwoz added here does not convince me, seems like an arbitrary and quite old website? If you have a reference for a current medical article or other reputable source, then OK? EvM-Susana (talk) 23:06, 21 June 2015 (UTC)
 * I was just trying to cover the frequent later use of hookworm - which you have changed by adding infection to. Feel free to remove it.--Iztwoz (talk) 08:00, 22 June 2015 (UTC)
 * I've just seen that the title of ref 8 is "Hookworm: The great infection" (2005) the one I gave was (2008). Cheers --Iztwoz (talk) 08:07, 22 June 2015 (UTC)
 * OK, done (have added it to a section on terminology). This is interesting as the same has not happened for the other worm types like "roundworm" or "Ascaris"... EvM-Susana (talk) 09:32, 22 June 2015 (UTC)
 * Yes I guess one would say "I have hookworm" etc. Doc James  (talk · contribs · email) 13:25, 22 June 2015 (UTC)S

Should helminth be mentioned earlier in the text
Doc James - why not mention helminth in first para? Helminthiasis is referred to in para 3 - makes more sense to me to have helminth itself referred to before this. ? --Iztwoz (talk) 06:49, 3 December 2016 (UTC)
 * Roundworms are a type of worm or helminth sure. It is already in the name roundworm and IMO the Latin is not needed in the first sentence. We already call it a type of "helminthiasis" in paragraph three. Doc James  (talk · contribs · email) 07:18, 3 December 2016 (UTC)

Pathophysiology
There seems to be a lot of content lacking inline citations. The last sentence is incomplete. Is there a preference for using abbreviations for journals in Wikipedia? Wikipedia is intended for an inclusive audience. Only disciplinary insiders know what the abbreviations mean. Unlike the printed versions, Wikipedia has room for complete names.Oceanflynn (talk) 16:41, 12 December 2017 (UTC)

Why?
This

"===The Physiochemical Fingerprint of Necator Americanus=== A team of researchers at the University of Nottingham's School of Pharmacy led by Veeren Chauhan and David Pritchard, who used Atomic Force Microscopy (AFM) and Time-of-Flight Secondary Ion Mass Spectrometry (ToF-SIMS) to capture the hookworm's exsheathment, published their research in PLOS Neglected Tropical Diseases in December 2017. "

Doc James (talk · contribs · email) 04:27, 13 December 2017 (UTC)

 * This content has been removed now, right? EMsmile (talk) 00:10, 28 December 2017 (UTC)

Too many redundant articles
I think the various hookworm articles below need to be fixed as there's too much redundant, overlapping content. I'm thinking the "Hookworm infection" article needs to be deleted and redirected to the "Ancylostomiasis" and "Necatoriasis" articles, or those two need to be deleted and redirected to the former. Also the medical content in the Necator americanus article would need to be redirected to one of those two, with the article focusing on the zoology. We probably also need to remove all the medical content from the Hookworm article itself and direct readers to the appropriate articles.

 * Hookworm
 * Hookworm infection
 * Necator americanus
 * Ancylostomiasis
 * Necatoriasis

I'm going to post this Talk item in both "Hookworm" and "Hookworm infection" so it can be seen by more editors.-Rolypolyman (talk) 15:49, 14 July 2021 (UTC)

Uh... dehumanising?
“ The hosts of these worms are not human and the larvae can only penetrate the upper five layers of the skin” — WTF? This looks like it’s saying that anyone with this infection no longer counts as human. The other end of the preceding link clearly shows a human case. 71.236.206.225 (talk) 09:03, 4 November 2022 (UTC)

title: Talk:Hookworm infection


text:
Pyrrhocoridae

Pyrrhocoridae is a family of insects with more than 300 species world-wide. Many are red coloured and are known as red bugs and some species are called cotton stainers because their feeding activities leave an indelible yellow-brownish stain on cotton crops. A common species in parts of Europe is the firebug, and its genus name Pyrrhocoris and the family name are derived from the Greek roots for fire "pyrrho-" and bug "coris". Members of this family are often confused with, but can be quickly separated from, Lygaeidae by the lack of ocelli (simple eyes) on the top of the head.

Description
The membrane of the forewing has one or two cells from which about 7-8 branching veins emerge that may have branches that fuse together (anastomose) while the main veins reach the margins of the wing. They have three tarsal segments. They can be very difficult to separate from some members of the family Largidae, which also share some of these characters and belong to the same superfamily. Largids tend to have the edge of the pronotum (the top of the first thoracic segment) rounded, but the taxonomic feature for separating them is the found only in females. Female largids have the sixth visible (actually the seventh) abdominal segment appearing to be split in the middle, whereas it is undivided in female pyrrhocorids. A few bugs in the family Rhopalidae have similar colors (e.g., Corizus hyoscyami) but they have ocelli, as do lygaeids.

The scutellum is small and triangular. The antennae are made up of four segments, with the second segment longer than the third. The beak-like mouthpart, or rostrum, has four segments, and its tip reaches at least the base of the middle pair of legs. Some species have the wing reduced so that the abdomen is visible from above. More detailed distinguishing features that are usually visible only under a microscope, include a much reduced scent gland opening on the mid-thoracic segment. There are three sensory hairs or trichobothria on the abdominal segments 3 to 6 and two such hairs on the seventh segment.

The genus Myrmoplasta is found in the African and Oriental regions and is somewhat unusual in having highly reduced wings and appearing ant-like or myrmecomorphic. Males and females differ in their foreleg morphology, although such sexual dimorphism is also found in a few other genera.

Food
Most species feed on seeds or fruits particularly of plants belonging to the Malvales but a few feed on rotting debris including dead animal matter. A few species are predatory; Raxa nishidai is a predator of another pyrrhocorid, Melamphaus faber, while Antilochus coquebertii feeds on other bugs including Dysdercus cingulatus. A few are important crop pests. One species, Dysdercus suturellus, is well known in the southern cotton growing regions of the United States while Dysdercus cingulatus occurs on cotton in tropical Asia. They damage cotton bolls by staining as well as by cutting the fibres.

Genera
Genera within this family include:

 * 1) Aderrhis Bergroth, 1906
 * 2) Antilochus Stål, 1863
 * 3) Armatillus Distant, 1908
 * 4) Australodindymus Stehlík & Jindra, 2012
 * 5) Brancucciana Ahmad & Zaidi, 1986
 * 6) Callibaphus Stål, 1868
 * 7) Cenaeus Stål, 1861
 * 8) Dermatinus Stål, 1853
 * 9) Dindymus Stål, 1861
 * 10) Dynamenais Kirkaldy, 1905
 * 11) Dysdercus Guérin-Méneville, 1831
 * 12) Ectatops Amyot & Audinet-Serville, 1843
 * 13) Euscopus Stål, 1870
 * 14) Froeschnerocoris Ahmad & Kamaluddin, 1986
 * 15) Gromierus Villiers, 1951
 * 16) Guentheriana Stehlík, 2006
 * 17) Heissianus Stehlík, 2006
 * 18) Melamphaus Stål, 1868
 * 19) Myrmoplasta Gerstäcker, 1892
 * 20) Neodindymus Stehlik, 1965
 * 21) Neoindra Stehlik, 1965
 * 22) Paraectatops Stehlík, 1965
 * 23) Probergrothius Kirkaldy, 1904 (Odontopus Laporte, 1832 probably preoccupied )
 * 24) Pyrrhocoris Fallén, 1814
 * 25) Pyrrhopeplus Stål, 1870
 * 26) Roscius Stål, 1866
 * 27) Scantius Stål, 1866
 * 28) Schmitziana Stehlik, 1977
 * 29) Sericocoris Karsch, 1892
 * 30) Siango Blöte, 1933
 * 31) Sicnatus Villiers & Dekeyser, 1951
 * 32) Silasuwe Stehlík, 2006
 * 33) Stictaulax Stål, 1870
 * 34) Syncrotus Bergroth, 1895

title: Pyrrhocoridae


text:
Wikipedia:Articles for deletion/Wesley Maynard

 This page is an archive of the discussion about the proposed deletion of the article below. This page is no longer live. Further comments should be made on the article's talk page rather than here so that this page is preserved as an historic record. The result of the debate was delete moink 12:22, 8 May 2005 (UTC)

Wesley Maynard

 * Delete, blogger, non-notable until he actually gets somewhere with one of his many plans for world domination. FreplySpang (talk) 16:00, 25 Apr 2005 (UTC)
 * Delete. Not notable, and as to "thirty years from now," Wikipedia is not a crystal ball. android↔talk 21:29, Apr 25, 2005 (UTC)
 * Delete. Probable vanity. --Carnildo 21:36, 25 Apr 2005 (UTC)
 * Delete: vanity. Wile E. Heresiarch 05:17, 26 Apr 2005 (UTC)
 * Delete, not notable, vanity. Megan1967 07:08, 26 Apr 2005 (UTC)

 * This page is now preserved as an archive of the debate and, like some other VfD subpages, is no longer 'live'. Subsequent comments on the issue, the deletion, or the decision-making process should be placed on the relevant 'live' pages. Please do not edit this page.


text:
User:Rich Farmbrough/monobook.js

// See |Talk page if (mw.config.get('wgNamespaceNumber') >= 0) $(function{ var pCactions = document.getElementById('p-cactions'); if (!pCactions) return; var caMain = pCactions.getElementsByTagName('li')[0]; var caTalk = document.getElementById('ca-talk'); var caEdit = document.getElementById('ca-edit'); if (!caEdit) caEdit = document.getElementById('ca-viewsource'); var caHistory = document.getElementById('ca-history'); if (!caMain || !caTalk || !caEdit || !caHistory) return; var el_move, el_create, id2; if (mw.config.get('wgNamespaceNumber') % 2) { //talk space  el_move = caTalk; el_create = caMain; id2 = ''; } else {   el_move = caMain; el_create = caTalk; id2 = 'discussion'; } caEdit.firstChild.innerHTML = 'edit'; caHistory.firstChild.innerHTML = 'hist'; el_move.parentNode.insertBefore(caHistory, el_move.nextSibling); el_move.parentNode.insertBefore(caEdit, el_move.nextSibling); var href = el_create.firstChild.getAttribute('href', 2); if (el_create.className.indexOf('new') < 0){ addPortletLink('p-cactions', href + '?action=history', 'hist',    'ca-history-'+id2, id2+' history', '', el_create.nextSibling); addPortletLink('p-cactions', href + '?action=edit', 'edit',    'ca-edit-'+id2, 'Edit '+id2, '', el_create.nextSibling); }  caMain.style.marginRight = '0.3em'; caTalk.style.marginRight = '0.3em'; caTalk.style.marginLeft = '1.6em'; }) // /* Text character counter - appears in toolbox */ importScript('User:Dr pda/prosesize.js'); /*

/*De-orphaner
importScript('User:Manishearth/orphantabs.js'); /*

Suddenly, Tammy!
importScript('User:Topbanana/RLRL_SR_Utility.js' ); /*

Ajax Preview
importScript("User:Js/ajaxPreview.js"); ajaxPreviewPos = 'bottom'; //Buttons on the bottom, replacing standard buttons.

/*

clever watchlist stuff

$(function { if (mw.config.get('wgCanonicalSpecialPageName') !='Watchlist') return; // Are we (not) on a watchlist?  //days = document.getElementById('bodyContent').getElementsByTagName('ul');  days = document.querySelectorAll('ul.special')  for (d = 0; d < days.length; d++) { //For each day    day = days[d];    newday = document.createElement('ul'); //This will replace the old listing    while ((diffs = day.getElementsByTagName('li')).length > 0) { //Are there any diffs left?      //Try to extract the namespace      As = diffs[0].getElementsByTagName('a');      if (As[0].innerHTML == 'diff')        pagename = As[2].innerHTML;      else        pagename = As[1].innerHTML;      if (pagename.indexOf(':') == -1)        namespace = 'Main';      else        namespace = pagename.split(':')[0]; //This will fail for articles which contain ":" in name      hdrs = newday.getElementsByTagName('h5'); //Get the list of namespace headers hdr = null; for (j=0; j<hdrs.length; j++) //Find the header if (hdrs[j].innerHTML==namespace) { hdr = hdrs[j]; break; }     if (hdr==null) { //Not found? Make a new one! hdr = document.createElement('h5'); hdr.innerHTML = namespace; newday.appendChild(hdr); namespacesub = document.createElement('ul'); newday.appendChild(namespacesub); }     hdr.nextSibling.appendChild(diffs[0]); //Move the diff }   newday.appendChild(document.createElement('hr')); //For readability day.parentNode.replaceChild(newday,day); } }); /*

closeafd

function closeafd(bold, notbold){ var txt = document.editform.wpTextbox1; txt.value = " " + bold + "" + notbold + ". – ~\n" + txt.value + "\n\n"; txt = document.editform.wpSummary; txt.value = "close discussion: " + bold + notbold; document.editform.wpWatchthis.checked = false; } /*

Reg-ex
function replace{ var s = prompt("Search reg exp?"); if(s){ var r = prompt("Replace reg exp?"); var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(new RegExp(s, "g"), r); } }

function headings(content){ const headingWithSpaces = /(^|\n)(={2,6})\s+(.+?)\s+\2(\s*)$/gsm; const headingWithoutSpaces = /(^|\n)(={2,6})[^\s=](.+?[^\s=])\2(\s*)$/gsm; const withSpaces = (content.match(headingWithSpaces) || []).length; const withoutSpaces = (content.match(headingWithoutSpaces) || []).length; if (withoutSpaces > withSpaces) { heading = /(^|\n)(={2,6})\s*(.+?)\s*\2(\s*)$/gm; content = content.replace(heading, (match, p1, p2, p3, p4) => `${p1}${p2}${p3}${p2}${p4}`); }   else{ heading = /(^|\n)(={2,6})(\s*)(.+?)(\s*)\2(\s*)$/gm; content = content.replace(heading, (match, p1, p2, p3, p4, p5, p6) => {           if (!p3 || !p5) return `${p1}${p2}${p4}${p2}`; // Use no spaces            return `${p1}${p2} ${p4} ${p2}`; // Use single spaces        }); }   return content }

function lists(content){ const listItemsWithSpaces = /(^|\n)([;:\*#]+) /gsm; const listItemsWithoutSpaces = /(^|\n)([;:\*#]+)[^;:\*# ]/gsm; const withSpaces = (content.match(listItemsWithSpaces) || []).length; const withoutSpaces = (content.match(listItemsWithoutSpaces) || []).length; if (withoutSpaces < withSpaces) { item = /(^|\n)([;:\*#]+)([^;:\*# ])/gm; content = content.replace(item, (match, p1, p2, p3) => `${p1}${p2} ${p3}`); }   return content }

/* Remember doesn't apply to pages outside main namespace */ msg="Copyedit. "; insist=0; diff=1; preview=0; submit=0; function always{ var txt = document.editform.wpTextbox1; let is_dab = /{{\s*[Dd](isambiguation|ab\b)/.test(txt.value); temp=txt.value; var test=0; txt.value = headings(txt.value); txt.value = lists(txt.value); txt.value = txt.value.replace(/ISBN:\s*/gm, "ISBN "); if (!txt.value.match(//)){ txt.value = txt.value.replace(/ +$/gm, "");             /* trailing spaces get rid of */ } txt.value = txt.value.replace(/==(\n)*/gm, "==$1"); /* remove blank line after headers */ txt.value = txt.value.replace(/([^=])(\n)(\n*)==/gm, "$1$2$2=="); /* One blank line before headers */ /* ^ should also not match a comment after a header followed by another header */

txt.value = txt.value.replace(/\[\[J\.* *R\.* *R\.* *Tolk($:ie|ei)n\]\]('|’)s/gim, "J. R. R. Tolkien$1s"); txt.value = txt.value.replace(/\[\[Country Music\|(C|c)ountry\]\]/gm, "$1ountry"); txt.value = txt.value.replace(/([a-z,] )\[\[Country Music\]\]/gm, "$1country music"); txt.value = txt.value.replace(/(\n|\.|\=\s*) \[\[Country Music\]\]/gm, "$1 Country music"); txt.value = txt.value.replace(/\(\[\[Country Music\]\]/gm, "(Country music"); txt.value = txt.value.replace(/{{template:/gim, "{{"); txt.value = txt.value.replace(/{{cite-section}}/gim, "{{Cite-section|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{expand}}/gim, "{{Expand|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(cleanup|clean|clean up|clean-up|attention)}}/gim, "{{Cleanup|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{\s*(an|cn|citation(_|-| |)needed|citation required|cite(_|-| |)needed|needs( |_)citation|reference( |_)needed|uncited|fact)\s*\|*\s*}}/gim, "{{Citation needed|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{\s*(recently revised|rrevised|)\s*\|*\s*}}/gim, "{{Recently revised|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(unsourced|references|unreferenced|unref|sources)}}/gim, "{{Unreferenced|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(unsourced|references|unreferenced|unref|sources)(\|\w+)}}/gim, "{{Unreferenced$2|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(nn|notability)}}/gim, "{{Notability|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(nn|notability)(\|\w+)}}/gim, "{{Notability$2|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(significance|importance|explain significance)}}/gim, "{{Importance|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(importance-s)}}/gim, "{{Importance-s|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{Cleanup-section}}/gim, "{{Cleanup-section|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(uncategorizedstub|uncatstub)}}/gim, "{{Uncategorizedstub|{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(unlinked|linkless|orphan)}}/gim, "{{Orphan|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); txt.value = txt.value.replace(/{{(classify|categories needed|catneeded|categori(s|z)e|nocats*|categoryneeded|uncat|uncategori(s|z)ed)}}/gim, "{{Uncategorized|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}"); if (test==1 && temp!=txt.value){temp=txt.value;document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+"4";}

txt.value = txt.value.replace(/^(==+)\s*external\s*links*\s*(==+)/gm, "$1External links$1"); txt.value = txt.value.replace(/^(==+)\s*references*\s*(==+)/gm, "$1References$1"); txt.value = txt.value.replace(/\[\[U\.S\.\|/gm, ""); txt.value = txt.value.replace(/\[\[USA\|/gm, "[[United States|");  txt.value = txt.value.replace(/\[\[US\|/gm, "[[United States|");  txt.value = txt.value.replace(/\[\[\s*(USA|US|U\.S\.)\s*\]\](\.|)/gm, "[[United States|US");  txt.value = txt.value.replace(/\[\[United States\|USA\]\](\.|)/gm, "US");  txt.value = txt.value.replace(/\[\[USA\]\]([^\.])/gm, "US$1");  txt.value = txt.value.replace(/\[\[U\.S\.\]\]/gm, "US");  if (!is_dab){    txt.value = txt.value.replace(/\[\[(([^\]\[\|:]+), +(Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire|New Jersey|New Mexico|New York|North Carolina|North Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West Virginia|Wisconsin|Wyoming|Washington, DC|Washington, D.C.|British Columbia|Alberta|Saskatchewan|Manitoba|Ontario|Quebec|New Brunswick|Nova Scotia|Prince Edward Island|Newfoundland and Labrador|Bedfordshire|Berkshire|City of Bristol|Buckinghamshire|Cambridgeshire|Cheshire|Cornwall|Cumbria|Derbyshire|Devon|Dorset|Durham|East Riding of Yorkshire|East Sussex|Essex|Gloucestershire|Greater London|Greater Manchester|Hampshire|Herefordshire|Hertfordshire|Isle of Wight|Kent|Lancashire|Leicestershire|Lincolnshire|City of London|Merseyside|Norfolk|Northamptonshire|Northumberland|North Yorkshire|Nottinghamshire|Oxfordshire|Rutland|Shropshire|Somerset|South Yorkshire|Staffordshire|Suffolk|Surrey|Tyne and Wear|Warwickshire|West Midlands|West Sussex|West Yorkshire|Wiltshire|Worcestershire|England|France|London|Paris|South Africa|Rome|Italy|New Zealand|Australia|Queensland|New South Wales|Tasmania|Queensland|South Australia|Victoria|Western Australia|Northern Territory|Australian Capital Territory|Spain|Germany|Portugal|Berlin|Greece|Europe|Turkey|Russia|Ukraine|Sweden|Norway|Finland|Denmark|Latvia|Lithuania|Estonia|Scotland|Wales|Ireland|Belgium|Netherlands|Luxemburg|Istanbul|Moscow|London|Paris|Madrid|Barcelona|Saint Petersburg|Milan|Rome|Athens|India|China|Mumbai|Calcutta|Punjab|MongoliaUlan Bator|Beijing|Tokyo|Kyoto|Osaka|Wellington|Washington|Usbekistan|Iraq|Iran|Afghanistan|Antarctica|Cuba|Brazil|Chuile|Jamaica|Mexico|Peru))\]\]/gim,"$2, $3");    txt.value = txt.value.replace(/\[\[([^\]\[\|:]+)\|([^\]\[\|:]+), +(Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire|New Jersey|New Mexico|New York|North Carolina|North Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West Virginia|Wisconsin|Wyoming|Washington, DC|Washington, D.C.|British Columbia|Alberta|Saskatchewan|Manitoba|Ontario|Quebec|New Brunswick|Nova Scotia|Prince Edward Island|Newfoundland and Labrador|Bedfordshire|Berkshire|City of Bristol|Buckinghamshire|Cambridgeshire|Cheshire|Cornwall|Cumbria|Derbyshire|Devon|Dorset|Durham|East Riding of Yorkshire|East Sussex|Essex|Gloucestershire|Greater London|Greater Manchester|Hampshire|Herefordshire|Hertfordshire|Isle of Wight|Kent|Lancashire|Leicestershire|Lincolnshire|City of London|Merseyside|Norfolk|Northamptonshire|Northumberland|North Yorkshire|Nottinghamshire|Oxfordshire|Rutland|Shropshire|Somerset|South Yorkshire|Staffordshire|Suffolk|Surrey|Tyne and Wear|Warwickshire|West Midlands|West Sussex|West Yorkshire|Wiltshire|Worcestershire|England|France|London|Paris|South Africa|Rome|Italy|New Zealand|Australia|Queensland|New South Wales|Tasmania|Queensland|South Australia|Victoria|Western Australia|Northern Territory|Australian Capital Territory|Spain|Germany|Portugal|Berlin|Greece|Europe|Turkey|Russia|Ukraine|Sweden|Norway|Finland|Denmark|Latvia|Lithuania|Estonia|Scotland|Wales|Ireland|Belgium|Netherlands|Luxemburg|Istanbul|Moscow|London|Paris|Madrid|Barcelona|Saint Petersburg|Milan|Rome|Athens|India|China|Mumbai|Calcutta|Punjab|Mongolia|Ulan Bator|Beijing|Tokyo|Kyoto|Osaka|Wellington|Washington|Usbekistan|Iraq|Iran|Afghanistan|Antarctica|Cuba|Brazil|Chuile|Jamaica|Mexico|Peru)\]\]/gim,"$2, $3");    txt.value = txt.value.replace(/\[\[Rome, Italy\|Rome\]\]/gim, "Rome");  }  txt.value = txt.value.replace(/\{\{lifetime\|/gim, "{{subst:ltm|");  if (temp==txt.value) {return;}  // add any custom message to summary  document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value + msg;  /* fix specific typo, if in edit summary */  document.forms.editform.wpSummary.value = document.forms.editform.wpSummary.value.replace(/([Tt])empalte/g, "$1emplate");  if (diff==1) {document.editform.wpDiff.click;}  else if (submit==1) {document.forms.editform.submit;} }

function quick{ var txt = document.editform.wpTextbox1; temp=txt.value; txt.value = txt.value.replace(/\[\[::(User|Special|Template)/gi,"[[$1"); txt.value = txt.value.replace(/\[\[::(File|Image|Category)/gi,"[[:$1");  if (temp==txt.value) {return;}  document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value + "Fix multiple : lint error."; }

function spelling{ var txt = document.editform.wpTextbox1; // canonicalise bda txt.value = txt.value.replace(/{{bda\|/i,"{{Birth date and age|"); txt.value = txt.value.replace(/{{dda\|/i,"{{Death date and age|");

/* Date order */ // Ranges first: txt.value = txt.value.replace(/(January|February|March|April|May|June|July|August|September|October|November|December)\s+((\d|[012]\d|30|31) *([-–—−\/]|through|to) *(\d|[012]\d|30|31))\b/ig, "$2 $1") //single dates txt.value = txt.value.replace(/(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d|[012]\d|30|31)\b/ig, "$2 $1") // normalise spacing txt.value = txt.value.replace(/(\b\d{1,2})\s+(January|February|March|April|May|June|July|August|September|October|November|December)/ig, "$1 $2") // leading 0 txt.value = txt.value.replace(/\b0(\d)\s+(January|February|March|April|May|June|July|August|September|October|November|December)/ig, "$1 $2") // delink txt.value = txt.value.replace(/\[\[\s*\b(\d{1,2})\s*(January|February|March|April|May|June|July|August|September|October|November|December)\s*\]\]/ig,"$1 $2") // remove comma and delink year txt.value = txt.value.replace(/\b(\d{1,2}) +(January|February|March|April|May|June|July|August|September|October|November|December)\s*,*\s*\[\[(\d{1,4})\b(\s*)\]\](\s*)/ig,"$1 $2 $3$4$5") // remove comma if year txt.value = txt.value.replace(/\b(\d{1,2}) +(January|February|March|April|May|June|July|August|September|October|November|December)\s*,*\s*(\d{3,4})\b(\s*)(\s*)/ig,"$1 $2 $3$4$5")

// Fix up birth/death date templates mf=y/yes

txt.value = txt.value.replace(/({{[\s_]*(?:(?:[Bb]irth[ _]*date|[Dd]eath[ _]*date)\s*(?:and[ _]*age)*|[Bb]irth[ _]+date[ _]+and[ _]+age2)\s*(?:\|\s*\d*\s*)*\|)\s*mf\s*=\s*[yY](?:es)*\s*(\||}|\n)/g,"$1df=y$2") // Fix up birth/death date templates only digits txt.value = txt.value.replace(/({{[\s_]*(?:(?:[Bb]ir|[Dd]ea)th[ _]*date[ _]*(?:and[ _]*age)*|[Bb]irth[ _]+date[ _]+and[ _]+age2)\s*(?:\|[ \d]*)*)}}/g,"$1|df=y}}")

// Update any existing dmy tag oldtxt = txt.value; txt.value = txt.value.replace(/{{[_ ]*(Dmy|Use[_ ]*dmy|Use[_ ]+dmy[_ ]+dates)[_ ]*\|\s*date\s*=\s*[a-z]+\s+\d+\s*}}/i, "{{Use dmy dates|date={{Subst:CURRENTMONTHNAME}} {{Subst:CURRENTYEAR}}}}") if (oldtxt == txt.value) { //    Add dmy template if not already here if (txt.value.indexOf('{{use dmy') == -1 && txt.value.indexOf('{{Use dmy') == -1) { txt.value = txt.value.replace(/\n*((?:{{DEFAULTSORT:[^}]*}}){0,1}\n\[\[Category:)/,"\n{{Use dmy dates|date={{Subst:CURRENTMONTHNAME}} {{Subst:CURRENTYEAR}}}}\n\n$1") if (txt.value.indexOf('{{dmy') == -1 && txt.value.indexOf('{{Use dmy') == -1) { txt.value = txt.value + "\n{{Use dmy dates|date={{Subst:CURRENTMONTHNAME}} {{Subst:CURRENTYEAR}}}}" }         }        document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value + "Date formats. "; }   else { document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value + "Update tag. "; }   document.editform.wpDiff.click; }

/*

Simplify wikilinks
function decomma{ var txt = document.editform.wpTextbox1; /* txt.value = txt.value.replace(/\[\[(.*)?  (.*)?\]\]/g,"$1 $2"); txt.value = txt.value.replace(/\[\[ /g,"");   txt.value = txt.value.replace(/ \]\]/g,""); */ txt.value = txt.value.replace(/ ==$/gm, "=="); txt.value = txt.value.replace(/^== /gm, "=="); /*De-pipe if possible */ txt.value = txt.value.replace(/\[\[([^\]\|]+)\|\1([^\]\|\-\'\s]*)\]\]/gm, "$1$2"); /* Pull text inside piped link */ txt.value = txt.value.replace(/\[\[([^\]\|]+)\|([^\]\|]+)\]\]([A-Za-z\'])([\w\d]*)([\.\,\;\:\"\!\?\s]+)/gm, "$2$3$4$5"); /*De-pipe if now possible */ txt.value = txt.value.replace(/\[\[([^\]\|]+)\|\1([^\]\|\-\'\s]*)\]\]/gm, "$1$2");   document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value + "Simplified wikilink. "; document.editform.wpDiff.click; /* document.forms.editform.submit; */ } /*

Repeated links
function replink{ var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/\[\[([^\]\|]+)\|([^\]]*)\]\](.*[.\n]*)\[\[\1\|\2\]\]/gm, "$2$3$2"); txt.value = txt.value.replace(/\[\[([^\]]+)\]\](.*[.\n]*)\[\[\1\]\]/gm, "$1$2$1"); document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value + "Remove duplicate wikilink. "; document.editform.wpDiff.click; }

function normcase{ var txt = document.editform.wpTextbox1; // txt.value = txt.value.replace(/ (==+)$/gm, "$1"); // txt.value = txt.value.replace(/^(==+) /gm, "$1"); /* txt.value = txt.value.replace( /(==\s*\"*[\w])(.*==)/ig,      function($0,$1,$2) {         return($1.toUpperCase+$2.toLowerCase);      }   );*/  txt.value = txt.value.replace( /(==+\s*\"*)(.*?)(==+)/ig ,      function($0,$1,$2,$3) {        var result=$1+toHeaderCase($2)+$3;        if ($0==result) {return (result);}        result = result.replace (/^(==+)\s*(.*?[^\s])\s*(==+)$/,"$1"+"$2"+"$3");        return (result);    //        return($1+toHeaderCase($2)+$3)      }         ); var txt = document.editform.wpSummary; var summary = "Correct caps in section header."; if (txt.value.indexOf(summary) == -1) { if (txt.value.match(/.*[^\s]$/)) { txt.value += " "; }	txt.value += summary; } document.editform.wpDiff.click; // document.forms.editform.submit; } /*

toHeaderCase
function toHeaderCase(txt){ // All caps stay all caps if more than 1 letter // First word gets a cap // Words containing a fullstop unchanged // DVD and LP to caps // TV to Television // USA to US // & to and // rest to lowercase var words = new Array; var result = ""; words = txt.split(' ');

for (var i=0;i 1) && (words[i] == words[i].toUpperCase ))        || ( words[i].indexOf('.')!= -1) || (words[i]=="I")      ){ //       Do nothing } //   Else capitalise first word else if (i==0) { words[i]=words[i].substring(0,1).toUpperCase+words[i].substring(1).toLowerCase; } //   Lowercase the rest else {words[i]=words[i].toLowerCase;} //   Add the word to the result string if (i==0) {result=words[i];} else {result=result+" "+words[i];} } //Uppercase/correct specific abbreviations result = result.replace(/\blp\b/gim, "LP"); result = result.replace(/\blps\b/gim, "LPs"); result = result.replace(/\bep\b/gim, "EP"); result = result.replace(/\beps\b/gim, "EPs"); result = result.replace(/\bdvd\b/gim, "DVD"); result = result.replace(/\bdvds\b/gim, "DVDs"); result = result.replace(/\bUSA\b/gim, "US");

return(result); }

/*

Units
function census{ var txt = document.editform.wpTextbox1;

// Convert &deg into ° symbol txt.value = txt.value.replace(/°/g, '°'); txt.value = txt.value.replace(/º/g, '°');

// Convert &sup into superscript ² symbol txt.value = txt.value.replace(/²/g, '²'); txt.value = txt.value.replace(/³/g, '³');

// Convert the word ohm(s) or the html entity into the actual Ω symbol (Omega, not the actual ohm symbol Ω) and make sure it's spaced txt.value = txt.value.replace(/(\d)\s?(Y|Z|E|P|T|G|M|k|K|h|da|d|c|m|µ|μ|µ|n|p|f|a|z|y)?\s?(Ω|ohm|Ohm)s?([\s,.\/\)])/g, '$1 $2Ω$4');

// Convert various micro symbols into the actual micro symbol, make sure it's spaced txt.value = txt.value.replace(/(\d)\s?(μ|μ|µ)(g|s|m|A|K|mol|cd|rad|sr|Hz|N|J|W|Pa|lm|lx|C|V|Ω|F|Wb|T|H|S|Bq|Gy|Sv|kat|°C|M)([\s,.\/\)])/g, '$1 µ$3$4');

// Convert capital K to lowercase k in units txt.value = txt.value.replace(/(\d)\s?K(g|s|m|A|K|mol|cd|rad|sr|Hz|N|J|W|Pa|lm|lx|C|V|Ω|F|Wb|T|H|S|Bq|Gy|Sv|kat|°C|M)([\s,.\/\)])/g, '$1 k$2$3');

// Fix common spelling error txt.value = txt.value.replace(/celcius/gi, 'Celsius');

// Capitalize units correctly txt.value = txt.value.replace(/(\d)\s?(khz)([\s,.\/\)])/gi, '$1 kHz$3');   txt.value = txt.value.replace(/(\d)\s?(mhz)([\s,.\/\)])/gi, '$1 MHz$3'); txt.value = txt.value.replace(/(\d)\s?(ghz)([\s,.\/\)])/gi, '$1 GHz$3');   txt.value = txt.value.replace(/(\d)\s?(Y|Z|E|P|T|G|M|k|K|h|da|d|c|m|µ|μ|µ|n|p|f|a|z|y)?(hz|HZ)([\s,.\/\)])/g, '$1 $2Hz$4'); txt.value = txt.value.replace(/(\d)\s?(Y|Z|E|P|T|G|M|k|K|h|da|d|c|m|µ|μ|µ|n|p|f|a|z|y)?(pa|PA)([\s,.\/\)])/g, '$1 $2Pa$4');

// Fix kilometres txt.value = txt.value.replace(/(\d)\s?(kms)([\s,.\/\)])/gi, '$1 km$3');   txt.value = txt.value.replace(/(\d)\s?(km)([\s,.\/\)])/gi, '$1 km$3');

// Standardise kilometres per hour and add space txt.value = txt.value.replace(/(\d)\s?(km\/hr)([\s,.\/\)])/gi, '$1 km/h$3');   txt.value = txt.value.replace(/(\d)\s?(kph)([\s,.\/\)])/gi, '$1 km/h$3'); txt.value = txt.value.replace(/(\d)\s?(kmph)([\s,.\/\)])/gi, '$1 km/h$3');   // txt.value = txt.value.replace(/(\d)\s?(kmh)([\s,.\/\)])/gi, '$1 km/h$3');

// txt.value = txt.value.replace(/(\d)\s?(km\/h)([\s,.\/\)])/gi, '$1 km/h$3');

// Space before horsepower symbol txt.value = txt.value.replace(/(\d)\s?(hp)([\s,.@])/gi, '$1 hp$3'); txt.value = txt.value.replace(/(\d)\s?(bhp)([\s,.@])/gi, '$1 bhp$3'); txt.value = txt.value.replace(/(\d)\s?(shp)([\s,.@])/gi, '$1 shp$3');

// Space before other units txt.value = txt.value.replace(/(\d)\s?(cc)([\s,.\/\)])/gi, '$1 cc$3');   txt.value = txt.value.replace(/(\d)\s?(ml)([\s,.\/\)])/gi, '$1 ml$3'); txt.value = txt.value.replace(/(\d)\s?(mm)([\s,.\/\)])/gi, '$1 mm$3');   txt.value = txt.value.replace(/(\d)\s?(km)([\s,.\/\)])/gi, '$1 km$3');

// Standardise miles per hour and rpm txt.value = txt.value.replace(/(\d)\s?(m.p.h.)([\s,.\/\)])/gi, '$1 mph$3');   txt.value = txt.value.replace(/(\d)\s?(mph)([\s,.\/\)])/gi, '$1 mph$3'); txt.value = txt.value.replace(/(\d) (mph)([\s,.\/\)])/gi, '$1 mph$3');

txt.value = txt.value.replace(/(\d)\s?(rpm)([\s,.\/\)])/gi, '$1 rpm$3');   txt.value = txt.value.replace(/(\d) (rpm)([\s,.\/\)])/gi, '$1 rpm$3');

// Standardise symbol for pounds txt.value = txt.value.replace(/(\d)\s?lbs/gi, '$1 lb'); txt.value = txt.value.replace(/(\d\+?)\s?lbs/gi, '$1 lb'); txt.value = txt.value.replace(/(\d lb)s/gi, '$1'); txt.value = txt.value.replace(/(\d)\s?(\[\[lbs\]\])/gi, '$1 \[\[Pound (mass)|lb\]\]');

// Standardise symbol for foot pounds txt.value = txt.value.replace(/(\d)\s?(ft[ -.•\/]lb[fs])/gi, '$1 ft·lbf'); txt.value = txt.value.replace(/(\d)\s?(lb[fs][ -.•\/]ft)/gi, '$1 ft·lbf'); txt.value = txt.value.replace(/(\d)\s?(lb[ -.•\/]ft)/gi, '$1 ft·lbf'); txt.value = txt.value.replace(/(\d)\s?(ft[ -.•\/]lb)/gi, '$1 ft·lbf');

txt.value = txt.value.replace(/(\d) (lb[fs][ -.•\/]ft)/gi, '$1 ft·lbf'); txt.value = txt.value.replace(/(\d) (ft[ -.•\/]lb[fs])/gi, '$1 ft·lbf'); txt.value = txt.value.replace(/(\d) (lb[ -.•\/]ft)/gi, '$1 ft·lbf'); txt.value = txt.value.replace(/(\d) (ft[ -.•\/]lb)/gi, '$1 ft·lbf');

// Symbols for feet and inches

txt.value = txt.value.replace(/([^;°]\s?\s?)(\d{1,4})\s?(['’])\s?(\d{1,2})\s?(["”])/gi, '$1$2 ft $4 in');   //txt.value = txt.value.replace(/([:=\/\(])\s*(\d{1,3)\s?(['’])\s?(1?\d)\s?(["”])/gi, '$1$2 ft $4 in');    //txt.value = txt.value.replace(/(1?\d)\s?(["”])/gi, '$1 in');    //txt.value = txt.value.replace(/(eight[:= ]{1,2})\s?(\d)-(\d{1,2})([\s,.\/\)])/gi, '$1 $2 ft $3 in');

// Give digital value a percent symbol '%' instead of word txt.value = txt.value.replace(/(\d)[\s?-]per *cent([^aei])/gi, '$1%$2');

// Add a space before dB or B   txt.value = txt.value.replace(/(\d)\s?(dB|B)\b/g, '$1 $2');

// Add a space before any units that were missed before txt.value = txt.value.replace(/(\d)\s?(Y|Z|E|P|T|G|M|k|K|h|da|d|c|m|µ|n|p|f|a|z|y)?(g|m|A|K|mol|cd|rad|sr|Hz|N|J|W|Pa|lm|lx|C|V|Ω|F|Wb|T|H|S|Bq|Gy|Sv|kat|°C|°F|M)([\s,.\\/)])/g, '$1 $2$3$4');

// Separate one for seconds since they give a lot of false positives like "1970s". Only difference is mandatory prefix. txt.value = txt.value.replace(/(\d)\s?(Y|Z|E|P|T|G|M|k|K|h|da|d|c|m|µ|n|p|f|a|z|y)(s)([\s,.\/\)])/g, '$1 $2$3$4');

// bps or b/s or bits/s --> bit/s txt.value = txt.value.replace(/([KkMmGgTtPpEeYyZz])(bps|bits?\/s|b\/s)/g, ' $1bit/s'); txt.value = txt.value.replace(/(\d)\s?(bps)/gi, '$1 bit/s');

// Bps or byte/s or bytes/s --> B/s txt.value = txt.value.replace(/([KkMmGgTtPpEeYyZz])(Bps|bytes?\/s)/g, ' $1B/s');

// After that, make capitalization correct txt.value = txt.value.replace(/K(bit|B)\/s/g, 'k$1/s'); txt.value = txt.value.replace(/m(bit|B)\/s/g, 'M$1/s'); txt.value = txt.value.replace(/g(bit|B)\/s/g, 'G$1/s'); txt.value = txt.value.replace(/t(bit|B)\/s/g, 'T$1/s'); txt.value = txt.value.replace(/e(bit|B)\/s/g, 'E$1/s'); txt.value = txt.value.replace(/y(bit|B)\/s/g, 'Y$1/s'); txt.value = txt.value.replace(/z(bit|B)\/s/g, 'Z$1/s');

// Common error txt.value = txt.value.replace(/mibi(bit|byte)/g, 'mebi$1');

// Add a tag to the summary box var txt = document.editform.wpSummary; var summary = "units"; if (txt.value.indexOf(summary) == -1) { if (txt.value.match(/[^\*\/\s][^\/\s]?\s*$/)) { txt.value += " | "; }		txt.value += summary; }

// Press the diff button to check it   document.editform.wpDiff.click } /*

Day slash dates
function slashdates{ var txt = document.editform.wpTextbox1; /*Note a leading colon could well be an "EasyTimeline" */ txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)(\d\d\d\d)\/([0|1|2]?\d)\/([0|1|2|3]?\d)/gm, "$1$4 zz$3zz $2"); txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)([0|1|2|3]?\d)\/([0|1|2]?\d)\/(\d\d\d\d)/gm, "$1$2 zz$3zz $4");

txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)(\d+)\/(\d+)\/([01]\d)/gm, "$1$2 zz$3zz 20$4"); txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)(\d{1,2})\/(\d{1,2})\/([23456789]\d)/gm, "$1$2 zz$3zz 19$4");

txt.value = txt.value.replace(/0(\d) zz/gm, "$1 zz"); txt.value = txt.value.replace(/zz0(\d)zz/gm, "zz$1zz");

txt.value = txt.value.replace(/zz1zz/gm, "January"); txt.value = txt.value.replace(/zz2zz/gm, "February"); txt.value = txt.value.replace(/zz3zz/gm, "March"); txt.value = txt.value.replace(/zz4zz/gm, "April"); txt.value = txt.value.replace(/zz5zz/gm, "May"); txt.value = txt.value.replace(/zz6zz/gm, "June"); txt.value = txt.value.replace(/zz7zz/gm, "July"); txt.value = txt.value.replace(/zz8zz/gm, "August"); txt.value = txt.value.replace(/zz9zz/gm, "September"); txt.value = txt.value.replace(/zz10zz/gm, "October"); txt.value = txt.value.replace(/zz11zz/gm, "November"); txt.value = txt.value.replace(/zz12zz/gm, "December");

document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+"Clarify date(s) from xx/xx/xxx format. "; } /*

Month slash dates
function slashdatesm{ /* month day year - pox. */ var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)(0?[1-9]|1[012])\/(\d+)\/(\d\d\d\d)/gm, "$1$3 zz$2zz $4"); txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)(0?[1-9]|1[012])\/(\d+)\/([01]\d)/gm, "$1$3 zz$2zz 20$4"); txt.value = txt.value.replace(/(\)|\>|\*|\||\(|\'|=|\s)(0?[1-9]|1[012])\/(\d+)\/([23456789]\d)/gm, "$1$3 zz$2zz 19$4");

txt.value = txt.value.replace(/0(\d) zz/gm, "$1 zz"); txt.value = txt.value.replace(/zz0(\d)zz/gm, "zz$1zz");

txt.value = txt.value.replace(/zz1zz/gm, "January"); txt.value = txt.value.replace(/zz2zz/gm, "February"); txt.value = txt.value.replace(/zz3zz/gm, "March"); txt.value = txt.value.replace(/zz4zz/gm, "April"); txt.value = txt.value.replace(/zz5zz/gm, "May"); txt.value = txt.value.replace(/zz6zz/gm, "June"); txt.value = txt.value.replace(/zz7zz/gm, "July"); txt.value = txt.value.replace(/zz8zz/gm, "August"); txt.value = txt.value.replace(/zz9zz/gm, "September"); txt.value = txt.value.replace(/zz10zz/gm, "October"); txt.value = txt.value.replace(/zz11zz/gm, "November"); txt.value = txt.value.replace(/zz12zz/gm, "December");

document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+"Clarify date(s) from xx/xx/xxx format. "; } /*

British Old English

function british{ var txt = document.editform.wpTextbox1;

txt.value = txt.value.replace(/\[\[Old English\]\]/gim, "Old English"); txt.value = txt.value.replace(/\[\[Old English\|/gim, ""); txt.value = txt.value.replace(/\[\[British\]\]/gim, "[[United Kingdom|British");  txt.value = txt.value.replace(/\[\[British\|/gim, "");  txt.value = txt.value.replace(/\[\[United kingdom\]\]/gim, "[[United Kingdom");  txt.value = txt.value.replace(/\[\[United kingdom\|/gim, "[[United Kingdom|");  document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+"dab/red UK/OE.";

} /*

Math
function math{ var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/\\binom\s*\{([^\}]*)\}\s*\{([^\}]*)\}/gim, "{ $1 \\choose $2 }"); txt.value = txt.value.replace(/\$\s*(.*?)\s*\$/gim, "\$1\<\/math\>"); txt.value = txt.value.replace(/\\displaystyle/gim, ""); txt.value = txt.value.replace(/\\partial/gim, "\\part"); txt.value = txt.value.replace(/\\end\{array\}/gim, "\\end{matrix}"); txt.value = txt.value.replace(/\\begin\{array\}\s*\(11\)/gim, "\\begin{matrix}"); txt.value = txt.value.replace(/\\rvert/gim, "|"); txt.value = txt.value.replace(/\\lvert/gim, "|"); txt.value = txt.value.replace(/\.\<\/math\>/gim, "\<\/math\>\."); txt.value = txt.value.replace(/\,\<\/math\>/gim, "\<\/math\>\,"); txt.value = txt.value.replace(/\\mbox/gim, ""); txt.value = txt.value.replace(/\\mathscr/gim, ""); txt.value = txt.value.replace(/“/gim, "\"");   txt.value = txt.value.replace(/”/gim, "\""); txt.value = txt.value + " " txt.value = txt.value + "" document.forms.editform.wpSummary.value="Import from Planet Math";

} /*

bold
function bold{ var txt = document.editform.wpTextbox1; /* var title = document.title.value; txt.value = txt.value.replace(/\<\/b\>/gim, "'''"); */ txt.value = txt.value.replace(/\<\/b\>/gim, "'''"); txt.value = txt.value.replace(/\<\/i\>/gim, "''"); txt.value = txt.value.replace(/\/gim, "'''"); txt.value = txt.value.replace(/\/gim, "''");

document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+"Bold/Italics"; } /*

State names
function statenames{ var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/\bAL\b/gm,"Alabama"); txt.value = txt.value.replace(/\bAK\b/gm,"Alaska"); txt.value = txt.value.replace(/\bAZ\b/gm,"Arizona"); txt.value = txt.value.replace(/\bAR\b/gm,"Arkansas"); txt.value = txt.value.replace(/\bCA\b/gm,"California"); txt.value = txt.value.replace(/\bCO\b/gm,"Colorado"); txt.value = txt.value.replace(/\bCT\b/gm,"Connecticut"); txt.value = txt.value.replace(/\bDE\b/gm,"Delaware"); txt.value = txt.value.replace(/\bDC\b/gm,"District of Columbia"); txt.value = txt.value.replace(/\bFL\b/gm,"Florida"); txt.value = txt.value.replace(/\bGA\b/gm,"Georgia"); txt.value = txt.value.replace(/\bHI\b/gm,"Hawaii"); txt.value = txt.value.replace(/\bID\b/gm,"Idaho"); txt.value = txt.value.replace(/\bIL\b/gm,"Illinois"); txt.value = txt.value.replace(/\bIN\b/gm,"Indiana"); txt.value = txt.value.replace(/\bIA\b/gm,"Iowa"); txt.value = txt.value.replace(/\bKS\b/gm,"Kansas"); txt.value = txt.value.replace(/\bKY\b/gm,"Kentucky"); txt.value = txt.value.replace(/\bLA\b/gm,"Louisiana"); txt.value = txt.value.replace(/\bME\b/gm,"Maine"); txt.value = txt.value.replace(/\bMD\b/gm,"Maryland"); txt.value = txt.value.replace(/\bMA\b/gm,"Massachusetts"); txt.value = txt.value.replace(/\bMI\b/gm,"Michigan"); txt.value = txt.value.replace(/\bMN\b/gm,"Minnesota"); txt.value = txt.value.replace(/\bMS\b/gm,"Mississippi"); txt.value = txt.value.replace(/\bMO\b/gm,"Missouri"); txt.value = txt.value.replace(/\bMT\b/gm,"Montana"); txt.value = txt.value.replace(/\bNE\b/gm,"Nebraska"); txt.value = txt.value.replace(/\bNV\b/gm,"Nevada"); txt.value = txt.value.replace(/\bNH\b/gm,"New Hampshire"); txt.value = txt.value.replace(/\bNJ\b/gm,"New Jersey"); txt.value = txt.value.replace(/\bNM\b/gm,"New Mexico"); txt.value = txt.value.replace(/\bNY\b/gm,"New York"); txt.value = txt.value.replace(/\bNC\b/gm,"North Carolina"); txt.value = txt.value.replace(/\bND\b/gm,"North Dakota"); txt.value = txt.value.replace(/\bOH\b/gm,"Ohio"); txt.value = txt.value.replace(/\bOK\b/gm,"Oklahoma"); txt.value = txt.value.replace(/\bOR\b/gm,"Oregon"); txt.value = txt.value.replace(/\bPA\b/gm,"Pennsylvania"); txt.value = txt.value.replace(/\bRI\b/gm,"Rhode Island"); /* and Providence Plantations, naturally */ txt.value = txt.value.replace(/\bSC\b/gm,"South Carolina"); txt.value = txt.value.replace(/\bSD\b/gm,"South Dakota"); txt.value = txt.value.replace(/\bTN\b/gm,"Tennessee"); txt.value = txt.value.replace(/\bTX\b/gm,"Texas"); txt.value = txt.value.replace(/\bUT\b/gm,"Utah"); txt.value = txt.value.replace(/\bVT\b/gm,"Vermont"); txt.value = txt.value.replace(/\bVA\b/gm,"Virginia"); txt.value = txt.value.replace(/\bWA\b/gm,"Washington"); txt.value = txt.value.replace(/\bWV\b/gm,"West Virginia"); txt.value = txt.value.replace(/\bWI\b/gm,"Wisconsin"); txt.value = txt.value.replace(/\bWY\b/gm,"Wyoming"); txt.value = txt.value.replace(/\bAS\b/gm,"American Samoa"); txt.value = txt.value.replace(/\bGU\b/gm,"Guam"); txt.value = txt.value.replace(/\bMP\b/gm,"Northern Mariana Islands"); txt.value = txt.value.replace(/\bPR\b/gm,"Puerto Rico"); txt.value = txt.value.replace(/\bVI\b/gm,"Virgin Islands"); txt.value = txt.value.replace(/\bFM\b/gm,"Federated States of Micronesia"); txt.value = txt.value.replace(/\bMH\b/gm,"Marshall Islands"); txt.value = txt.value.replace(/\bPW\b/gm,"Palau"); txt.value = txt.value.replace(/\bCZ\b/gm,"Panama Canal Zone"); txt.value = txt.value.replace(/\bPI\b/gm,"Philippines"); txt.value = txt.value.replace(/\bTT\b/gm,"Trust Territory of the Pacific Islands"); txt.value = txt.value.replace(/\bCM\b/gm,"Commonwealth of the Northern Mariana Islands"); document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+" Expand US postal abbreviations."; } /*

Dates
function dates{ var txt = document.editform.wpTextbox1; /* if (document.forms.editform.wpSummary.value==" Date fixes.") { document.forms.editform.submit; } else if(txt.value.indexOf("opyvio") == -1){ /* Prep accessdate= */ txt.value = txt.value.replace(/accessdate\s*=\s*(\w)/gm,"accessdate = $1X"); /* Ranges of days within months */ txt.value = txt.value.replace(/(January|February|March|April|May|June|July|August|September|October|November|December)\s*(\d{1,2})\s*-\s*(\d{1,2})(\D)/gm,"$1 $2-$1 $3$4"); txt.value = txt.value.replace(/\b([1-9]|1\d|2\d|3[01])\s*-\s*([1-9]|1\d|2\d|3[01])\s*(January|February|March|April|May|June|July|August|September|October|November|December)/gm,"$1 $3-$2 $3"); /* standard formats */ txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|3[01])(?:\s*)(?:th|rd|st|nd|)(?:\s*)(January|February|March|April|May|June|July|August|September|October|November|December)(?:[\s,]*)(\d{3,4})/gim, "$1$2 $3 $4"); txt.value = txt.value.replace(/([^\[\d])(January|February|March|April|May|June|July|August|September|October|November|December)(?:\s*)([1-9]|1\d|2\d|3[01])(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$2 $3 $4"); txt.value = txt.value.replace(/([^=\[\d])([1-9]|1\d|2\d|3[01])(?:\s*)(?:th|rd|st|nd|)(?:\s)(January|February|March|April|May|June|July|August|September|October|November|December)(\W+)/gim, "$1$2 $3$4"); txt.value = txt.value.replace(/([^=\[\d])(January|February|March|April|May|June|July|August|September|October|November|December)(?:\s*)([1-9]|1\d|2\d|3[01])(?:th|rd|st|nd|)([^\w])/gi, "$1$2 $3$4");

/* The xxx th of yyy */

txt.value = txt.value.replace(/(?:the)?(?:\s)([1-9]|1\d|2\d|3[01])(?:\s*)(?:th|rd|st|nd)?(?:\s*of\s*)(January|February|March|April|May|June|July|August|September|October|November|December)(?:[\s,]*)(\d{3,4})/gim, "$1 $2 $3");

txt.value = txt.value.replace(/(?:the)?(?:\s)([1-9]|1\d|2\d|3[01])(?:\s*)(?:th|rd|st|nd)?(?:\s*of\s*)(January|February|March|April|May|June|July|August|September|October|November|December)(\W+)/gim, "$1 $2$3"); /* xx th of yyy

txt.value = txt.value.replace(/([^=\[\d])([1-9]|1\d|2\d|3[01])(?:\s*)(?:th|rd|st|nd|)(January|February|March|April|May|June|July|August|September|October|November|December)(?:[\s,]*)(\d{3,4})/gim, "$1$2 $3 $4");

txt.value = txt.value.replace(/([^=\[\d])([1-9]|1\d|2\d|3[01])(?:\s*)(?:th|rd|st|nd|)(?:\s*of\s*)(January|February|March|April|May|June|July|August|September|October|November|December)(\W+)/gim, "$1$2 $3$4"); /* jan.... */ txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Jan\.?|January)(?:[\s,]*)(\d{3,4})/gim, "$1$2 January $4"); txt.value = txt.value.replace(/([^\[\d])(Jan\.?|January)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 January $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Jan\.?|January)(\W+)/gim, "$1$2 January$4"); txt.value = txt.value.replace(/([^\[\d])(Jan\.?|January])(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 January$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Feb)(?:[\s,]*)(\d{3,4})/gim, "$1$2 February $4"); txt.value = txt.value.replace(/([^\[\d])(Feb\.?|February)(?:\s*)([1-9]|1\d|2\d)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 February $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Feb)(\W+)/gim, "$1$2 February$4"); txt.value = txt.value.replace(/([^\[\d])(Feb\.?|February)(?:\s*)([1-9]|1\d|2\d)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 February$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Mar)(?:[\s,]*)(\d{3,4})/gim, "$1$2 March $4"); txt.value = txt.value.replace(/([^\[\d])(Mar\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 March $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Mar)(\W+)/gim, "$1$2 March$4"); txt.value = txt.value.replace(/([^\[\d])(Mar\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 March$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Apr)(?:[\s,]*)(\d{3,4})/gim, "$1$2 April $4"); txt.value = txt.value.replace(/([^\[\d])(Apr\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 April $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Apr)(\W+)/gim, "$1$2 April$4"); txt.value = txt.value.replace(/([^\[\d])(Apr\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 April$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Jun)(?:[\s,]*)(\d{3,4})/gim, "$1$2 June $4"); txt.value = txt.value.replace(/([^\[\d])(Jun\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 June $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Jun)(\W+)/gim, "$1$2 June$4"); txt.value = txt.value.replace(/([^\[\d])(Jun\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 June$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Jul)(?:[\s,]*)(\d{3,4})/gim, "$1$2 July $4"); txt.value = txt.value.replace(/([^\[\d])(Jul\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 July $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Jul)(\W+)/gim, "$1$2 July$4"); txt.value = txt.value.replace(/([^\[\d])(Jul\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 July$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Aug)(?:[\s,]*)(\d{3,4})/gim, "$1$2 August $4"); txt.value = txt.value.replace(/([^\[\d])(Aug\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 August $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Aug)(\W+)/gim, "$1$2 August$4"); txt.value = txt.value.replace(/([^\[\d])(Aug\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 August$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Sep|Sept)(?:[\s,]*)(\d{3,4})/gim, "$1$2 September $4"); txt.value = txt.value.replace(/([^\[\d])(Sep\.?|Sept\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 September $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Sep|Sept)(\W+)/gim, "$1$2 September$4"); txt.value = txt.value.replace(/([^\[\d])(Sep\.?|Sept\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 September$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Oct)(?:[\s,]*)(\d{3,4})/gim, "$1$2 October $4"); txt.value = txt.value.replace(/([^\[\d])(Oct\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 October $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Oct)(\W+)/gim, "$1$2 October$4"); txt.value = txt.value.replace(/([^\[\d])(Oct\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 October$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Nov)(?:[\s,]*)(\d{3,4})/gim, "$1$2 November $4"); txt.value = txt.value.replace(/([^\[\d])(Nov\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 November $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Nov)(\W+)/gim, "$1$2 November$4"); txt.value = txt.value.replace(/([^\[\d])(Nov\.?)(?:\s*)([1-9]|1\d|2\d|30)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 November$4");

txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s*)(Dec)(?:[\s,]*)(\d{3,4})/gim, "$1$2 December $4"); txt.value = txt.value.replace(/([^\[\d])(Dec\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|st|rd|nd|)(?:[\s,]+)(\d{3,4})/gim, "$1$3 December $4"); txt.value = txt.value.replace(/([^\[\d])([1-9]|1\d|2\d|30|31)(?:\s*)(?:th|rd|st|nd|)(?:\s)(Dec)(\W+)/gim, "$1$2 December$4"); txt.value = txt.value.replace(/([^\[\d\_])(Dec\.?)(?:\s*)([1-9]|1\d|2\d|30|31)(?:th|rd|st|nd|)([^\w])/gi, "$1$3 December$4");

/* accessmonthday, accessyear */ txt.value = txt.value.replace(/(accessmonthday\s*=\s*\[\[(?:\w+ \d+|\d+ \w+)\]\]\s*\|\s*accessyear\s*=\s*)(\d+)/gi, "$1$2"); txt.value = txt.value.replace(/(\s*accessyear\s*=\s*)(\d+)(\s*\|\s*accessmonthday\s*=\s*\[\[(?:\w+ \d+|\d+ \w+)\]\])/gi, "$1$2$3");

/* De-Prep accessdate= */ txt.value = txt.value.replace(/ac+es+date(\s*=\s*)(\w)X/gm,"accessdate$1$2");

/* document.forms.editform.wpSummary.value=document.forms.editform.wpSummary.value+"tidy dates (where month and day both present)."; */ document.editform.wpDiff.click; /*document.forms.editform.submit; */ } /* if not a copyvio */ } /*

Capitals
A crude first pass fixer for text that is almost all in lowercase function capitals{ var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/([\.|\n]) +a/gm, "$1 A"); txt.value = txt.value.replace(/([\.|\n]) +b/gm, "$1 B"); txt.value = txt.value.replace(/([\.|\n]) +c/gm, "$1 C"); txt.value = txt.value.replace(/([\.|\n]) +d/gm, "$1 D"); txt.value = txt.value.replace(/([\.|\n]) +e/gm, "$1 E"); txt.value = txt.value.replace(/([\.|\n]) +f/gm, "$1 F"); txt.value = txt.value.replace(/([\.|\n]) +g/gm, "$1 G"); txt.value = txt.value.replace(/([\.|\n]) +h/gm, "$1 H"); txt.value = txt.value.replace(/([\.|\n]) +i/gm, "$1 I"); txt.value = txt.value.replace(/([\.|\n]) +j/gm, "$1 J"); txt.value = txt.value.replace(/([\.|\n]) +k/gm, "$1 K"); txt.value = txt.value.replace(/([\.|\n]) +l/gm, "$1 L"); txt.value = txt.value.replace(/([\.|\n]) +m/gm, "$1 M"); txt.value = txt.value.replace(/([\.|\n]) +n/gm, "$1 N"); txt.value = txt.value.replace(/([\.|\n]) +o/gm, "$1 O"); txt.value = txt.value.replace(/([\.|\n]) +p/gm, "$1 P"); txt.value = txt.value.replace(/([\.|\n]) +q/gm, "$1 Q"); txt.value = txt.value.replace(/([\.|\n]) +r/gm, "$1 R"); txt.value = txt.value.replace(/([\.|\n]) +s/gm, "$1 S"); txt.value = txt.value.replace(/([\.|\n]) +t/gm, "$1 T"); txt.value = txt.value.replace(/([\.|\n]) +u/gm, "$1 U"); txt.value = txt.value.replace(/([\.|\n]) +v/gm, "$1 V"); txt.value = txt.value.replace(/([\.|\n]) +w/gm, "$1 W"); txt.value = txt.value.replace(/([\.|\n]) +x/gm, "$1 X"); txt.value = txt.value.replace(/([\.|\n]) +y/gm, "$1 Y"); txt.value = txt.value.replace(/([\.|\n]) +z/gm, "$1 Z"); document.forms.editform.wpSummary.value+=" Caps"; } /*

Dewikify dates
function dewikifydates { var txt = document.editform.wpTextbox1; // century txt.value = txt.value.replace(/\[\[(\d{1,2}(?:st|nd|rd|th))[ -](century)\]\]/gi, '$1 century'); txt.value = txt.value.replace(/\[\[\d{1,2}(?:st|nd|rd|th)[ -]century\|(\d{1,2}(?:st|nd|rd|th))\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[\d{1,2}(?:st|nd|rd|th)[ -]century\|(\d{1,2}(?:st|nd|rd|th)[ -]century)\]\]/gi, '$1 century'); txt.value = txt.value.replace(/\[\[\d{1,2}(?:st|nd|rd|th)[ -]century\|(\d{1,2}(?:st|nd|rd|th))[ -](centuries)\]\]/gi, '$1 centuries');

// decades txt.value = txt.value.replace(/\[\[(\d{1,4}s)\]\]/gi, '$1');

// months txt.value = txt.value.replace(/\[\[(January|February|March|April|May|June|July|August|September|October|November|December)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[January\|(Jan)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[February\|(Feb)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[March\|(Mar)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[April\|(Apr)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[May\|(May)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[June\|(Jun)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[July\|(Jul)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[August\|(Aug)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[September\|(Sep)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[October\|(Oct)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[November\|(Nov)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[December\|(Dec)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[((?:January|February|March|April|May|June|July|August|September|October|November|December) \d{3,4})\]\]/gi, '$1');

// days of the week including optional plurals txt.value = txt.value.replace(/\[\[(Mondays?|Tuesdays?|Wednesdays?|Thursdays?|Fridays?|Saturdays?|Sundays?)\]\]/gi, '$1'); // days of the week but leave out 'Sun' as potentially valid link to the Sun txt.value = txt.value.replace(/\[\[(Mon|Tue|Tues|Wed|Thu|Thur|Thurs|Fri|Sat)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Mondays?\|(Mondays?)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Tuesdays?\|(Tuesdays?)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Wednesdays?\|(Wednesdays?)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Thursdays?\|(Thursdays?)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Fridays?\|(Fridays?)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Saturdays?\|(Saturdays?)\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[Sundays?\|(Sundays?)\]\]/gi, '$1');

// ranked days txt.value = txt.value.replace(/\[\[(\d{1,2}(?:st|nd|rd|th))\]\]/gi, '$1');

// misconfigured txt.value = txt.value.replace(/\[\[((?:January|February|March|April|May|June|July|August|September|October|November|December) \d{1,2}(?:st|nd|rd|th))\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[(?:January|February|March|April|May|June|July|August|September|October|November|December) \d{1,2}\|(\d{1,2})\]\]/gi, '$1');

// Month plus year txt.value = txt.value.replace(/\[\[((?:January|February|March|April|May|June|July|August|September|October|November|December)\s*,*\s* \d\d\d+)\]\]/gi, '$1');

// year //BC etc txt.value = txt.value.replace(/\[\[(\d{1,4} (?:AD|BC|CE|BCE))\]\]/gi, '$1'); txt.value = txt.value.replace(/\[\[\d{1,4} (?:AD|BC|CE|BCE)\|(\d{1,4})\]\]/gi, '$1'); //4 digits years piped into 2 txt.value = txt.value.replace(/\[\[\d{1,4}\|(\d{1,2})\]\]/gi, '$1'); var x=0; while (x<3) {x++; //year: text on left, avoid links on right txt.value = txt.value.replace(/([\w\(\);:.\*\|\&]\s?,?\-?\s?)\[\[(\d{1,4})\]\]([^\[]{4})/gi, '$1$2$3'); //year pair: text on left, avoid links on right txt.value = txt.value.replace(/([\w\(\);:.\*\|\&]\s?,?\-?\s?)\[\[(\d{1,4})\]\](.?.?.?.?.?.?)\[\[(\d{1,4})\]\]([^\[]{4})/gi, '$1$2$3$4$5');

//year:avoid links on left, text on right txt.value = txt.value.replace(/([^\]]{4})\[\[(\d{1,4})\]\](\s?,?\-?\s?[\w\(\);:.\*\|\&])/gi, '$1$2$3'); //year pair: avoid links on left, text on right txt.value = txt.value.replace(/([^\]]{4})\[\[(\d{1,4})\]\](.?.?.?.?.?.?)\[\[(\d{1,4})\]\](\s?,?\-?\s?[\w\(\);:.\*\|\&])/gi, '$1$2$3$4$5');

//year:avoid links on both sides txt.value = txt.value.replace(/([^\]]{4})\[\[(\d{1,4})\]\]([^\[]{4})/gi, '$1$2$3'); //year pair: avoid links on both sides txt.value = txt.value.replace(/([^\]]{4})\[\[(\d{1,4})\]\](.?.?.?.?.?.?)\[\[(\d{1,4})\]\]([^\[]{4})/gi, '$1$2$3$4$5');

//year: last character in link on left is not month or digit, avoid links on right txt.value = txt.value.replace(/([^yhletr\d]\]\]\s?,?\-?\s?)\[\[(\d{1,4})\]\]([^\[]{4})/gi, '$1$2$3'); //year pair: last character in link on left is not month or digit, avoid links on right txt.value = txt.value.replace(/([^yhletr\d]\]\]\s?,?\-?\s?)\[\[(\d{1,4})\]\](.?.?.?.?.?.?)\[\[(\d{1,4})\]\]([^\[]{4})/gi, '$1$2$3$4$5');

//year: avoid links on left, first character in link on right is not month or digit txt.value = txt.value.replace(/([^\]]{4})\[\[(\d{1,4})\]\](\s?,?\-?\s?\[\[[^jfmasond\d])/gi, '$1$2$3'); //year pair: avoid links on left, first character in link on right is not month or digit txt.value = txt.value.replace(/([^\]]{4})\[\[(\d{1,4})\]\](.?.?.?.?.?.?)\[\[(\d{1,4})\]\](\s?,?\-?\s?\[\[[^jfmasond\d])/gi, '$1$2$3$4$5');

//year: last character in link on left is not month or digit, first character in link on right is not month or digit txt.value = txt.value.replace(/([^yhletr\d]\]\]\s?,?\-?\s?)\[\[(\d{1,4})\]\](\s?,?\-?\s?\[\[[^jfmasond\d])/gi, '$1$2$3');   //year pair: last character in link on left is not month or digit, first character in link on right is not month or digit    txt.value = txt.value.replace(/([^yhletr\d]\]\]\s?,?\-?\s?)\[\[(\d{1,4})\]\](.?.?.?.?.?.?)\[\[(\d{1,4})\]\](\s?,?\-?\s?\[\[[^jfmasond\d])/gi, '$1$2$3$4$5');  }

// Add a tag to the summary box var txt = document.editform.wpSummary; var summary = "Date fragments delinked."; if (txt.value.indexOf(summary) == -1) { if (txt.value.match(/[^\*\/\s][^\/\s]?\s*$/)) { txt.value += " "; }		txt.value += summary; }

// Press the diff button to check it   document.editform.wpDiff.click } /*

Deiso dates
const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; function deisodates { var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/\b(\d{4})-(\d{2})-(\d{2})\b/g, (match, year, month, day) => {       const monthIndex = parseInt(month, 10) - 1;        return `${parseInt(day, 10)} ${monthNames[monthIndex]} ${year}`;    });

// Add a tag to the summary box var txt = document.editform.wpSummary; var summary = "Format dates."; if (txt.value.indexOf(summary) == -1) { if (txt.value.match(/[^\*\/\s][^\/\s]?\s*$/)) { txt.value += " "; }		txt.value += summary; }

// Press the diff button to check it   document.editform.wpDiff.click }

/*

Cardinals
Up to 99 function cardinals{ var txt = document.editform.wpTextbox1; txt.value = txt.value.replace(/ 10( |\. |\, )/gm, " ten$1"); txt.value = txt.value.replace(/ 11( |\. |\, )/gm, " eleven$1"); txt.value = txt.value.replace(/ 12( |\. |\, )/gm, " twelve$1"); txt.value = txt.value.replace(/ 13( |\. |\, )/gm, " thirteen$1"); txt.value = txt.value.replace(/ 14( |\. |\, )/gm, " fourteen$1"); txt.value = txt.value.replace(/ 15( |\. |\, )/gm, " fifteen$1"); txt.value = txt.value.replace(/ 16( |\. |\, )/gm, " sixteen$1"); txt.value = txt.value.replace(/ 17( |\. |\, )/gm, " seventeen$1"); txt.value = txt.value.replace(/ 18( |\. |\, )/gm, " eighteen$1"); txt.value = txt.value.replace(/ 19( |\. |\, )/gm, " nineteen$1"); txt.value = txt.value.replace(/ 20( |\. |\, )/gm, " twenty$1"); txt.value = txt.value.replace(/ 30( |\. |\, )/gm, " thirty$1"); txt.value = txt.value.replace(/ 40( |\. |\, )/gm, " forty$1"); txt.value = txt.value.replace(/ 50( |\. |\, )/gm, " fifty$1"); txt.value = txt.value.replace(/ 60( |\. |\, )/gm, " sixty$1"); txt.value = txt.value.replace(/ 70( |\. |\, )/gm, " seventy$1"); txt.value = txt.value.replace(/ 80( |\. |\, )/gm, " eighty$1"); txt.value = txt.value.replace(/ 90( |\. |\, )/gm, " ninety$1"); txt.value = txt.value.replace(/ 100( |\. |\, )/gm, " one hundred$1"); txt.value = txt.value.replace(/ 2(\d)( |\. |\, )/gm, " twenty-$1$2"); txt.value = txt.value.replace(/ 3(\d)( |\. |\, )/gm, " thirty-$1$2"); txt.value = txt.value.replace(/ 4(\d)( |\. |\, )/gm, " forty-$1$2"); txt.value = txt.value.replace(/ 5(\d)( |\. |\, )/gm, " fifty-$1$2"); txt.value = txt.value.replace(/ 6(\d)( |\. |\, )/gm, " sixty-$1$2"); txt.value = txt.value.replace(/ 7(\d)( |\. |\, )/gm, " seventy-$1$2"); txt.value = txt.value.replace(/ 8(\d)( |\. |\, )/gm, " eighty-$1$2"); txt.value = txt.value.replace(/ 9(\d)( |\. |\, )/gm, " ninety-$1$2"); txt.value = txt.value.replace(/(-| )1( |\. |\, )/gm, "$1one$2"); txt.value = txt.value.replace(/(-| )2( |\. |\, )/gm, "$1two$2"); txt.value = txt.value.replace(/(-| )3( |\. |\, )/gm, "$1three$2"); txt.value = txt.value.replace(/(-| )4( |\. |\, )/gm, "$1four$2"); txt.value = txt.value.replace(/(-| )5( |\. |\, )/gm, "$1five$2"); txt.value = txt.value.replace(/(-| )6( |\. |\, )/gm, "$1six$2"); txt.value = txt.value.replace(/(-| )7( |\. |\, )/gm, "$1seven$2"); txt.value = txt.value.replace(/(-| )8( |\. |\, )/gm, "$1eight$2"); txt.value = txt.value.replace(/(-| )9( |\. |\, )/gm, "$1nine$2"); document.forms.editform.wpSummary.value += " cardinals"; } /*

Ordinals
function ordinals{ var txt = document.editform.wpTextbox1;

txt.value = txt.value.replace(/(mid-|early-|late-| )1st/gm, "$1first"); txt.value = txt.value.replace(/(mid-|early-|late-| )2nd/gm, "$1second"); txt.value = txt.value.replace(/(mid-|early-|late-| )3rd/gm, "$1third"); txt.value = txt.value.replace(/(mid-|early-|late-| )4th/gm, "$1fourth"); txt.value = txt.value.replace(/(mid-|early-|late-| )5th/gm, "$1fifth"); txt.value = txt.value.replace(/(mid-|early-|late-| )6th/gm, "$1sixth"); txt.value = txt.value.replace(/(mid-|early-|late-| )7th/gm, "$1seventh"); txt.value = txt.value.replace(/(mid-|early-|late-| )8th/gm, "$1eighth"); txt.value = txt.value.replace(/(mid-|early-|late-| )9th/gm, "$1ninth"); txt.value = txt.value.replace(/(mid-|early-|late-| )10th/gm, "$1tenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )11th/gm, "$1eleventh"); txt.value = txt.value.replace(/(mid-|early-|late-| )12th/gm, "$1twelfth"); txt.value = txt.value.replace(/(mid-|early-|late-| )13th/gm, "$1thirteenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )14th/gm, "$1fourteenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )15th/gm, "$1fifteenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )16th/gm, "$1sixteenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )17th/gm, "$1seventeenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )18th/gm, "$1eighteenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )19th/gm, "$1nineteenth"); txt.value = txt.value.replace(/(mid-|early-|late-| )20th/gm, "$1twentieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )30th/gm, "$1thirtieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )40th/gm, "$1fortieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )50th/gm, "$1fiftieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )60th/gm, "$1sixtieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )70th/gm, "$1seventieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )80th/gm, "$1eightieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )90th/gm, "$1ninetieth"); txt.value = txt.value.replace(/(mid-|early-|late-| )2(\d)(st|nd|rd|th)/gm, "$1twenty-$2$3"); txt.value = txt.value.replace(/ 3(\d)(st|nd|rd|th)/gm, " thirty-$1$2"); txt.value = txt.value.replace(/ 4(\d)(st|nd|rd|th)/gm, " forty-$1$2"); txt.value = txt.value.replace(/ 5(\d)(st|nd|rd|th)/gm, " fifty-$1$2"); txt.value = txt.value.replace(/ 6(\d)(st|nd|rd|th)/gm, " sixty-$1$2"); txt.value = txt.value.replace(/ 7(\d)(st|nd|rd|th)/gm, " seventy-$1$2"); txt.value = txt.value.replace(/ 8(\d)(st|nd|rd|th)/gm, " eighty-$1$2"); txt.value = txt.value.replace(/ 9(\d)(st|nd|rd|th)/gm, " ninety-$1$2"); txt.value = txt.value.replace(/-1st/gm, "-first"); txt.value = txt.value.replace(/-2nd/gm, "-second"); txt.value = txt.value.replace(/-3rd/gm, "-third"); txt.value = txt.value.replace(/-4th/gm, "-fourth"); txt.value = txt.value.replace(/-5th/gm, "-fifth"); txt.value = txt.value.replace(/-6th/gm, "-sixth"); txt.value = txt.value.replace(/-7th/gm, "-seventh"); txt.value = txt.value.replace(/-8th/gm, "-eighth"); txt.value = txt.value.replace(/-9th/gm, "-ninth"); document.forms.editform.wpSummary.value += " ordinals"; } function afdresult{ var res = prompt("Result?"); if(!res) return; document.editform.wpSummary.value = 'VFD result - ' + res.replace(/'/g, ''); var txt = document.editform.wpTextbox1; if(txt.value.length > 0) txt.value += '\n'; txt.value += '==VFD==\nOn DAY MONTH 2005, this article was nominated for deletion. The result was ' + res + '. See Articles for deletion/ for a record of the discussion. – ~';   txt.focus; }

function hideafd{ var divs = document.getElementsByTagName("div"); for(var x = 0; x < divs.length; ++x) if(divs[x].className.indexOf("afd") != -1) divs[x].style.display = "none"; document.getElementById('footer').style.display = 'none'; }

function showafd{ var divs = document.getElementsByTagName("div"); for(var x = 0; x < divs.length; ++x) if(divs[x].className.indexOf("afd") != -1) divs[x].style.display = ""; document.getElementById('footer').style.display = ''; }

function afdlinks{ mw.util.addPortletLink( 'p-cactions', 'javascript:hideafd', 'hide closed', 'ca-hide'); mw.util.addPortletLink( 'p-cactions', 'javascript:showafd', 'show closed', 'ca-show'); }

function addPurge{ if (!(mw.config.get('wgCanonicalNamespace') == 'Special')) mw.util.addPortletLink('p-cactions', mw.config.get('wgServer') + '/w/index.php?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=purge', 'Purge', 'ca-purge', 'Purge server cache for this page.', '0'); }

importScript('Wikipedia:WikiProject User scripts/Scripts/Add edit section 0');

function changeLinks{ if(!document.getElementById) return; document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk'; document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist'; document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions'; }

function addPreSaveTransform{ if(!/&action=edit/.test(window.location.href)) return; if(/&section=new/.test(window.location.href)) return; if(!document.forms.editform) return; document.forms.editform.wpSave.onclick = preSaveTransform; }

function preSaveTransform{ updateSummary }

function updateSummary{ // Functionality for talk pages only follows: if (mw.config.get('wgNamespaceNumber') % 2 == 0) { return true } // If we've created a new second level section on a section edit, change the edit summary to reflect this. // Also update edit summary if section header changed. // Check if it's a section edit. var summary = document.forms.editform.wpSummary.value; var old_header = summary.match(/(\/\* (.*) \*\/)/); if (!old_header) {return true} // No header in the summary so this wasn't a section edit. // Since we haven't stashed the page, we assume that the last level 2 section is the new one. // Let's load all the level 2 headers from the edit window var temp = document.editform.wpTextbox1.value; var headerRegex = /^==\s*([^=].*?)\s*==/gm; // Must only match level 2 for now. var headers = [...temp.matchAll(headerRegex)]; if (headers.length == 0) {return true;} // No headers, nothing to do   if (headers.length == 1 && old_header == 'top') {return true;} // Lets leave it in this case. // Grab the last header and use that. var editedSectionHeader = headers[headers.length - 1][1]; summary_text = summary.match(/\/\* .* \*\/(.*)/)[1].trim; var new_summary = "/* " + editedSectionHeader + " */"; if (summary_text) { new_summary += " " + summary_text; }   document.forms.editform.wpSummary.value = "/* " + editedSectionHeader + " */ " + summary_text; return true; }

function afddelete{ var form = document.forms.deleteconfirm; form.wpReason.value = 'Articles for deletion/' + unescape(window.location.href.replace(/^.*\?title=([^&]+)&action=delete.*$/, '$1').replace(/_/g, ' ')) + ''; form.wpConfirm.checked = true; } /*

morelinks
Basically afd results, shortcuts and non-mainspace pst function morelinks{ /*   if(document.title.indexOf("Move ") == 0 && document.title.indexOf(" - ") != -1){ var txt = document.editform.wpTextbox1;

document.forms.editform.submit; } */   if(document.title.indexOf("Editing Wikipedia:Articles for deletion") == 0){ mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("keep", "")', 'keep', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("merge and redirect", " to " + prompt("Merge and redirect to?") + "")', 'merge', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("redirect", " to " + prompt("Redirect to?") + "")', 'redir', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("transwiki", " to " + prompt("Transwiki to?"))', 'trans', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("transwiki", " to Wiktionary")', 'wikt', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("speedy delete", "")', 'speedy', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd("delete", "")', 'del', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:closeafd(prompt("Result?"), "")', 'other', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:replace', 'replace', ''); }else if(document.title.indexOf("Editing ") == 0){ mw.util.addPortletLink( 'p-cactions', 'javascript:spelling', 's', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:replink', '[', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:normcase', '.', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:replace', 'r', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:ordinals', 'ⁿ', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:cardinals', '1', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:dewikifydates', '–', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:deisodates', '-', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:bold', 'b', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:decomma', ',', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:census', '2', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:dates', 'd', 't'); mw.util.addPortletLink( 'p-cactions', 'javascript:statenames', '+', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:slashdates', '/', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:slashdatesm', 'm/', ''); //       mw.util.addPortletLink( 'p-cactions', 'javascript:math', 'm', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:british', 'B', ''); mw.util.addPortletLink( 'p-cactions', 'javascript:capitals', 'C', ''); if ( document.title.indexOf("Editing Talk:")         == 0          || document.title.indexOf("Editing User talk:")     == 0          || document.title.indexOf("Editing Template:")      == 0          || document.title.indexOf("Editing Template talk:") == 0          || document.title.indexOf("Editing Category:")      == 0          || document.title.indexOf("Editing Category talk:") == 0          || document.title.indexOf("Editing Wikipedia talk:")== 0          || document.title.indexOf("Editing File:")          == 0          || document.title.indexOf("Editing File talk:")     == 0          || document.title.indexOf("Editing User:")          == 0          || document.title.indexOf("Editing Mediawiki:")     == 0          || document.title.indexOf("Editing Mediawiki talk:")== 0          || document.title.indexOf("Editing Wikipedia:")     == 0          || document.title.indexOf("Editing Help:")          == 0 || document.title.indexOf("Editing Help talk:")    == 0 || document.title.indexOf("Editing Thread:")       == 0 || document.title.indexOf("Editing Summary:")      == 0 || document.title.indexOf("Editing Portal:")       == 0 || document.title.indexOf("Editing Book:")         == 0 || document.title.indexOf("Editing Thread talk:")  == 0 || document.title.indexOf("Editing Summary talk:") == 0 || document.title.indexOf("Editing Portal talk:")  == 0 || document.title.indexOf("Editing Book talk:")    == 0 ){           quick        }        else  {             if(document.title.indexOf("/") == -1){                if (document.forms.editform.wpSummary.value == msg && insist==1) {document.forms.editform.submit;}                else if  (document.forms.editform.wpSummary.value != msg)  {always;}            }         };        mw.util.addPortletLink( 'p-cactions', 'javascript:afdresult', 'afd rst', );    }else if(document.title.indexOf("Confirm delete - Delete") == 0){        mw.util.addPortletLink( 'p-cactions', 'javascript:afddelete', 'afd', );    }    if(document.title.indexOf("/") == -1){ /*        usermessage plainlinks */            } }

function addToolBoxLinks{ mw.util.addPortletLink( 'p-tb', '/wiki/Special:Newpages', 'New pages', ''); mw.util.addPortletLink( 'p-tb', '/wiki/Special:Shortpages', 'Short pages', ''); } /*

myLoadFuncs
function myLoadFuncs{ addPurge; changeLinks; addPreSaveTransform; if(document.title.indexOf("Wikipedia:Articles for deletion") != -1 && document.title.indexOf("Editing ") != 0) afdlinks; morelinks; addToolBoxLinks; if(document.title.indexOf("Confirm delete - Delete") == 0) addVfdLink; //    document.forms.editform.wpSummary.value= "(SA )" +  document.forms.editform.wpSummary.value; } /*

main
$.when($.ready,mw.loader.using('mediawiki.util')).then(myLoadFuncs)

/* */

title: User:Rich Farmbrough/monobook.js


text:
Amomum

Amomum is a genus of plants containing about 111 species native to China, the Indian subcontinent, Southeast Asia, New Guinea, and Queensland. It includes several species of cardamom. Plants of this genus are remarkable for their pungency and aromatic properties.

Among ancient writers, the name amomum was ascribed to various odoriferous plants that cannot be positively identified today. The word derives from Latin amomum, which is the latinisation of the Greek ἄμωμον (amomon), a kind of an Indian spice plant. Edmund Roberts noted on his 1834 trip to China that amomum was used as a spice to "season sweet dishes" in culinary practice.

Selected species
See list of Amomum species for a complete list.

The following have further information:
 * Amomum exertum
 * Amomum smithiae
 * Amomum subulatum (black cardamom) - type species

Formerly placed here

 * Amomum compactum – now Wurfbainia compacta
 * Amomum costatum – now Hornstedtia costata
 * Amomum dallachyi – now Meistera dallachyi
 * Amomum elegans – now Wurfbainia elegans
 * Amomum ensal – now Elettaria cardamomum
 * Amomum epiphyticum – now Epiamomum epiphyticum
 * Amomum filiforme – now Hedychium coronarium
 * Amomum melegueta – now Aframomum melegueta
 * Amomum mioga – now Zingiber mioga
 * Amomum ovoideum – now Wurfbainia uliginosa
 * Amomum pulchellum – now Cyphostigma pulchellum
 * Amomum repens – now Renealmia alpinia
 * Amomum robustum – now Wurfbainia uliginosa
 * Amomum tsao-ko – now Lanxangia tsaoko
 * Amomum uliginosum – now Wurfbainia uliginosa
 * Amomum uncinatum – now Elettaria cardamomum
 * Amomum villosum – now Wurfbainia villosa
 * Amomum zambesiacum – now Aframomum zambesiacum

title: Amomum