User:Xenocidic/wikiadopt
userpage | talk | dashboard | misc |
welcome to xenocidic's adoption classroom | return to the main adoption page
- Notes
- This page was part of my adoption centre, but I am no longer very active in adopting people.
- If you are an adopter, feel free to incorporate these lessons into your own adoption program (full attribution below)
- You can take the courses in any order you like (they're in alphabetical order, not order of importance).
- If you have any questions, please let me know on my talk page or your adoption subpage.
- Helpful pages
- Help:Contents
- Help:Tutorial
- Wikipedia:Five pillars
- WP:Vandalism
- WP:Deletion policy
- WP:Administrator intervention against vandalism
- Wikipedia:Sandbox - to be used for testing
- Special:Mypage/sandbox - your own sandbox
Cleanup patrol
In order to clearly and efficiently provide as much information as possible, Wikipedia has several editing guidelines to ensure that articles are kept neat and easy-to-read. The Manual of Style groups these guidelines into a type of user's guide to editing Wikipedia. It outlines how to properly structure articles, and how to take care of the little nuances of English grammar in certain situations (where and how to use punctuation, whether to use American, Australian, British, Canadian, or some other dialect of English, etc.). Other policies and guidelines refer to how to present that type of information. The Five Pillars of Wikipedia state that all information should be presented neutrally, and as such the Neutral Point of View, or NPOV policy is a very important policy to keep in mind when editing Wikipedia. Most pages on Wikipedia adhere to these policies and guidelines. For those that don't, we have cleanup.
WP:CLEANUP is a very large project with (currently) the third largest, and possibly oldest, backlog in the project, beaten out in size only by articles lacking sources and articles with unsourced statements. Pages get added to the cleanup category when an editor adds a cleanup template to the page. These templates point out to editors and casual readers that there is a problem within the page, and as such can't be relied upon to be completely accurate or even legible. Editors are constantly needed to work on these pages to resolve immediate problems to help improve things. This can be as simple as doing some basic copyediting for grammar or spelling, or re-wording sentences to remove bias, or in extreme cases completely re-writing entire articles.
While tedious, such cleanup patrols are essential to keeping Wikipedia running smoothly. The Manual of Style and WP:CLEANUP both give details on how to do all that.
The assignment
Take a look at and cleanup at least 5 pages within the Category:All pages needing cleanup, make sure that you have read WP:CLEANUP before making changes to articles. The common changes that you can make are copyediting for grammar, typo or spelling corrections, re-wording sentences to remove bias, or in extreme cases completely re-writing entire articles. When in doubt ask me before making changes. Once you have cleaned up 5 or more articles and removed the {{cleanup}} template from the page, leave a message on my talk page (or your adoption subpage) with a list of the articles that you cleaned up. I will review your changes and let you know what to improve on in the future.
Copyright on a free Wiki
Failure to adhere exactly according to policy can and will result in a block. Pay attention.
Wikipedia is as the slogan says, "The Free Encyclopedia". Unfortunately, this causes some problems when we use other materials that aren't so free, and other problems when we'd like to do something but really can't. Wikipedia is licensed under the GNU Free Documentation License, or GFDL. This is a copyleft license that allows for the free distribution of content under certain conditions. The main terms of this license are as follows:- Anything licensed under the GFDL must display a copy of the license (Wikipedia's is at the link I just gave you).
- Any "derivative works", or works based on something licensed under the GFDL, must be licensed under GFDL.
- Content licensed under the GFDL may be modified, but must include a history of all changes and who made them when.
- All content licensed under the GFDL must be freely available or available under "fair use".
There are other terms to the license, but those are the most important for what is done on Wikipedia. Wikipedia displays a copy of the license, which is fully protected under the authority of the Wikimedia office. Whenever we make an edit, that edit is logged in the page's edit history, as well as your contributions. When a page is deleted, contributions to that page are hidden, but are still visible to administrators or "sysops". Certain page revisions may also be hidden from public view in the event of extreme circumstances, but are still visible to those with the authority to remove them for GFDL compliance.
Unfortunately, the GFDL does have some limit on what we can do. When merging pages, we cannot delete the page that is now empty, even if it serves little useful purpose even as a redirect. The contributions to that page, which provided the information that was merged out, must be kept logged so that people know where it came from and what changes were made when. This has very recently caused a problem with one of Wikipedia's oldest projects, Bad Jokes and Other Deleted Nonsense. The project and its many subpages were put up for deletion and deletion review multiple times, and the most recent nomination (the 6th) finally met with success. The pages were a collection of all the random crap that gets posted to Wikipedia every day, and subsequently deleted or removed. Some of it is rather funny, some rather odd, some downright strange, but unfortunately most of it was not GFDL compatible. When the nonsense was copied to BJAODN, it usually did not include the username of the original contributor or where it came from. That problem was acknoledged by most of the editors on both sides of the deletion debate, and so consensus was to delete the 65+ subpages of BJAODN and mark the rest as historical. There are attempts being made to revive the project in a slightly more legal but hopefully no less entertaining fashion.
Problems such as those, however, are rare, as the Mediawiki software is designed to be GFDL compatible. (As a side note, the software itself is available under a similar license, the GPL.) The most common issue, and the one that most frequently results in blocks, is copyright. Any registered user can upload an image or media file. If they created the image, they can license it under a free license such as the GFDL or a Creative Commons license, or release it into the public domain (Although if you use any of those options, it's recommended to upload the image to the Wikimedia Commons instead so any language Wiki can use it.) Problems arise when people upload images that are not their own. Most images are under some form of copyright, even if it's not explicitly stated anywhere. This is usually the case with anything found on the internet. When these images are uploaded, Wikipedia must adhere to a very strict policy known as "fair use". What this basically is doing is giving us a reason to use an otherwise non-free image, on the basis that it is for educational purposes, using it has no measurable effect on the copyright holder's rights, and that we have no other alternative. The establishment of this reason is called the fair use rationale, part of a set of criteria that MUST accompany any fair use/copyright tag on Wikipedia. These criteria are:- A specific fair use tag (see link above) that describes what the image is.
- The source of the image (this is usually a website, but could also be a book or magazine that you scanned the picture out of)
- The image itself must be of low resolution. If it is high resolution, that version must be deleted and replaced with another (essentially, worse) version.
- A fair use rationale explaining:
- Where the image is to be used (This page MUST be in the main (article) namespace. Fair use images MUST NOT be used anywhere else)
- That the image cannot be used to replace any marketing role or otherwise infringe upon the owner's commercial rights to the image
- How the image is being used, in a way that fits within the fair use policy (i.e., identification purposes, etc.)
- That there is no way the image can possibly be replaced with a free version
- The image must have been previously published elsewhere
Only when an image meets all of these criteria may it be used. Fair use images must be used in at least one article (not "orphaned"), and articles using fair use images must use as few of them as possible. Any image that does not meet these criteria to the letter will be deleted. Any user that repeatedly uploads images not meeting these criteria to the letter will be blocked.
As a further note, I mentioned that fair use images must not be able to be replaced by a free alternative. What this basically means is, there is no way you, me, or anyone else could go out and take a picture of this same thing and release it under a free license. For example:
- I could upload a picture of George W. Bush from the White House. Normally government works are automatically public domain, but let's say for the purpose of this discussion that the White House holds the copyright to that particular picture of the President. I can claim fair use, but the claim would be invalid because you could just as easily go to a speech Bush is giving and take a picture of him yourself. (That's what happened here) This is considered replaceable fair use and so would be deleted.
- Person X could upload a picture of the Empire State Building from a marketing kit they distributed. This image would likely be copyrighted, and so they claim fair use. But I happen to have been to New York and have a picture of the ESB. I upload that instead and release it into the public domain. The first, copyrighted picture, is also replaceable.
- For the article on the Monterey Bay Aquarium, I want to upload an image of their logo (visible in no great detail here). I go to their website and upload their version. This fair use is allowable, because no matter where or how they display their logo, it'll be under the same copyright. Since the simple art of scanning or taking a picture of a piece of work is not enough to justify my ownership of the rights to the image, there is no way to obtain a free version of the logo.
For a full description of the policies and guidelines concerning fair use, you should read the page at WP:FU.
Deletion policies
While Wikipedia does strive to include as much information as possible, there is a practical limit as to what we're going to include as an article. Just because you think your pet cat is the cutest thing on the planet, that does not mean you should create an article about it. There's a whole list of things that Wikipedia is not. Some relate simply to style or formatting, such as Wikipedia is not a paper encyclopedia or Wikipedia is not censored. Most, however, relate to the content of the encyclopedia, and what is considered encyclopedic and what isn't. WP:NOT is an official policy, which means that all articles must adhere to it. If they don't, they're at risk of deletion.
Wikipedia has three methods to delete pages. The first, and by far fastest, is the Criteria for speedy deletion. These criteria depict what content absolutely cannot be kept on Wikipedia for whatever reason and must be removed immediately. The most commonly used ones are as follows:
- General criteria 1 (G1) or G2 - Patent Nonsense and/or Test pages. Commonly created by new accounts, these have no meaningful purpose at all. Mark these pages with the templates {{db-nonsense}} or {{db-test}}.
- G3 - Vandalism. Obvious junk that you can understand (and so isn't nonsense) but obviously isn't intended to be the least bit helpful. This includes redirects that get made as a result of someone moving pages around disruptively. Mark these with {{db-vandalism}}
- G4 - Recreation of deleted material. If a page is deleted through an XfD debate (see below) and it gets re-created essentially identically to the previous version (failing to address the reason it was deleted), it can be speedied under G4. This does not apply to pages deleted under any other method (although another speedy criteria may fit and can be used), or pages that have been "userfyed" (see below). Tag these with {{db-repost}}
- G10 - Attacks. If a page is created with the apparently singular purpose of attacking some person or entity, it is a candidate for deletion. Mark these with {{db-attack}}.
- G11 - Advertising. If a page is so blatantly advertising (for anything, even a person) that it really doesn't serve any other purpose at all, it can be deleted. {{db-ad}}
- G12 - Copyright violations, or "copyvio". If a page meets ALL of these criteria, it should be deleted immediately for GFDL compliance. Tag these with {{db-copyvio|website}}
- Direct copy of a non-GFDL-compatible website
- No non-copyrighted content in history
- All copyvio content added at once by one user
- No assertion of permission or fair use, or that content is public domain or freely available.
- Article criteria 1 (or A3) - Little to no context OR no content. For articles that provide no useful information about the subject, are completely empty, or consist only of links elsewhere. Note that an article can be as short as a single sentence but still qualify as a stub. Mark with {{db-empty}}.
- A7 - Non-notable subject. An article about a person, group, band, company, or website that does not establish why it is notable. If this is somewhat controversial, consider another deletion method. Mark with {{db-bio}}, {{db-corp}}, {{db-band}}, or {{db-web}}.
Whenever you mark a page for speedy deletion, it's usually nice to notify the author. Each of the speedy deletion tags shows the proper warning to use - just copy that code and paste it on their user talk page. You are not required to do this, but it usually helps alleviate some confusion on the part of the author.
Deletion discussions |
---|
|
Articles |
Templates and modules |
Files |
Categories |
Redirects |
Miscellany |
Speedy deletion |
Proposed deletion |
Finally, the XfD processes (XfD stands for Anything for Deletion) allow users to debate on the merits (or lack thereof) a particular article and decide by consensus what is to become of it. These are not votes - sheer numbers have no effect on the outcome of these debates. Only reasoned comments are considered towards the result of the debate. The template at right shows all the different types of deletion debates. The most frequently used is AfD, Articles for Deletion. Each XfD page outlines the process for each, which often is somewhat complicated. Deletion review is where users can appeal a deletion debate, and follows similar procedures.
Before anything is deleted, though, one should always check to see if there is any alternative. There are a wide range of cleanup templates that can be used to indicate an article needs attention (templates which we'll cover in more detail later, I'll just give you the link for now). One could always take care of the cleanup themselves. It's also possible there is usable content in the article that can be merged elsewhere, or it's just under the wrong title and needs to be moved. Wikipedia's purpose is to include as much information as possible, so deletion should always be a last resort.
The assignment
Whether you wish to use Twinkle to tag pages for deletion or tag them by had using the templates provided on this page, you will be required to tag at least 15 articles for speedy deletion correctly. If you ever have a question whether a article meets criteria for speedy deletion, do not tag it, instead leave a message with me. For a list of articles that are recently created and may meet criteria for speedy deletion see Special:Newpages. Keep in mind that it is unhelpful to tag a page immediately after creation, so you should consider working from the bottom of the page and working your way up. See also New page patrol for more information on this task. Once you have successfully tagged 15 pages or more, leave me a message and I will review your contributions.
Permissions
In order to keep the wiki running efficiently, some users have additional abilities (permissions) beyond those of basic users. These abilities are used for the maintenance of the site, but because of the potentially dangerous nature of these abilities, they are only given to trusted users.
The page here shows a table listing the rights of all types of users. I'll briefly cover the abilities of each type here, as well as how people get these abilities.
- Unregistered / New Accounts
Unregistered users have the lowest access levels. Because this is a wiki, they can still edit the site, but they are only able to edit pages which have not been protected or semi-protected. They cannot move pages (rename them) and they cannot create new pages that are not in their own userspace or in the Talk: namespace. These same restricted permissions apply to new accounts, those that have not been "autoconfirmed". For security reasons, an account must be at least four days old and have a certain minimum number of edits to make use of the privileges granted to registered users.
- Registered accounts
Registered users have normal access levels to the site. They can edit any page that is not fully protected, they can move and create pages, and upload files. Again, users must hold an account for four days and make a minimum number of edits in order to use these features.
- Rollbackers
- Administrators / Sysops
Alternate names for administrators: sysops (system operator), mop wielders, glorified janitors
BureaucratsBureaucrats have control over the "nuts and bolts" of permissions, hence the crossed wrenches in their logo. They retain the ability to alter a user's permissions, but only when promoting users to admin or bureaucrat status. They are not able to demote users or grant further access levels. They can also alter a bot's access levels and rename accounts. Bureaucrats are selected through a process similar to that of admins, Requests for bureaucratship, although the process is much more rare and requires a significantly higher consensus.
- Stewards
Stewards have full access to a user's permissions. They have the ability to grant and revoke any higher access level, including sysop, bureaucrat, checkuser, oversight, steward, and bot access, on any project in any language. Stewards are elected by the Wikimedia Board of Trustees (with one exception, Chair Emeritus and Steward Jimbo Wales, who was simply appointed) annually or as needed. Stewards will generally carry further access levels on their main project, but the access level of "steward" only grants them the ability to modify permissions.
- Checkuser
The checkuser tool allows a user to check if an account is a sockpuppet of another, by being able to access which IP address an account has accessed the project from and when. The tool is only to be used when there is a specific need for it - a controversial and disruptive case of sockpuppet abuse. Requests for checkuser is where people may request use of the tool, however the ability to use it is generally granted by invitation only, or in rare cases by the Arbitration Committee. This is a special permission only granted to specific users and is not included with other access levels. Checkusers are required to submit proof of identify to the Wikimedia Foundation, due to the sensitive nature of their duties, and to ensure they can be held legally liable for their actions.
- Oversight
The oversight tool allows a user to hide a certain revision from public view - essentially deleting that one specific revision from the page history. This is done for very rare cases, generally pertaining to legal reasons such as private personal information, libelous content, or copyrighted information. This tool is only granted to users with a particular need for the tool, generally current or former members of the Arbitration Committee, as use of the tool requires a very good legal reasoning, as it is essentially an "oversight" of the requirements of the GFDL. This is a special permission only granted to specific users and is not included with other access levels.
These permissions are all critical to the operation of the Wiki, however it should be kept in mind that not having (or having) one of these access levels really is no big deal. The important thing about a wiki is that you are able to edit it as needed, not that you can limit the ability of others to do so. If a higher access level is granted to you, however, you should always remember that it was granted in the spirit of trust, and that you are expected to use the tools only as needed and always fairly.
The assignment
Read through this lesson, then leave a message on my talk page (or your adoption subpage) with the answer to these questions (please do not copy your answer from the lesson above):
- What is a permission?
- What pages are un-registered users able to edit?
- What is an auto confirmed account?
- What permissions do registered accounts have?
- Who can grant rollback?
- What does rollback enable you to do?
- What should you not use rollback for?
- What are administrators able to do?
- How do you request adminship?
- What are bureaucrats main duties?
- What technical abilities do stewards have?
- What does checkuser enable a user to check?
- What is oversight?
- What type of a user must you be to be granted oversight?
Reviewing articles
Another skill editors should know is how to review an article. It's not something overly useful, but it's still good to know. Wikipedia grades, or "assesses" its articles on a scale according to how much information they provide and how well. This assessment scale is largely unofficial, with the majority of assessments made by WikiProjects who claim jurisdiction over the articles. There are, however, two official ratings which are given to those articles which are nominated by editors and reviewed to see if they meet a series of criteria. The full ranking is as follows:
Class | Description | Example |
---|---|---|
FA | Featured articles are examples of Wikipedia's best work. These provide in-depth information with brilliant prose and superb attention to detail. All information is neutrally presented, well sourced, and informative. Articles are promoted to FA status by consensus at WP:FAC after discussion of several editors. | Eagle Scout (Boy Scouts of America) (As of August 22, 2007; promoted June 23, 2006) |
A | A-Class articles are considered "completed," although edits will obviously continue to be made. They provide a wide range of neutrally presented information that is well sourced and shows a wide background of sources. Articles at this stage should be sent to Peer Review for further improvement and preparation for an FA nomination. Note: An article need not have been listed as a "Good Article" to reach A-Class | Albert Einstein (As of August 22, 2007; promoted to FA January 13, 2005; demoted November 16, 2007) |
GA | Good Articles are not as complete and useful as A-Class or FA-Class articles, but are well on their way to becoming so. They are well written, stable, accurate, well-referenced, and neutral. If they display any images, they are freely available or meet all fair use criteria. While not as complete as higher-class articles, they do not skip over any large facet of the topic. These articles are nominated by editors at WP:GAC and then reviewed by a single editor for GA status. | Elephant (As of August 22, 2007; listed April 5, 2006) |
B | B-Class articles have most of the information needed for a comprehensive article, but are lacking one or more key points. It is useful for general purposes, but not for in-depth research on the subject. It may have problems with editing, neutrality, copyright, or verification. | A Midsummer Night's Dream (As of August 22, 2007) |
Start | Start-Class articles are, as the name implies, just getting started. They have a meaningful amount of content, but lack large areas of information about a topic, possibly even key areas, and may have several problems with neutrality, verification, and/or copyright. They are in need of expansion and someone researching that topic would definitely need other sources. | Ubiquitous computing (As of August 22, 2007) |
Stub | Stubs are very short articles that, at most, provide simplistic background information about a subject. They may be useful to someone who didn't know what the subject was previously, but otherwise don't give much help. Articles shorter than this may be at risk of deletion under CSD A1 or A3. | Julia Pfeiffer Burns State Park (As of August 22, 2007) |
Other types of pages are graded outside this criteria. Lists are no more than that, long lists of topics that all relate to the main theme of the list. Lists don't provide any prose, and any references are there simply to confirm that the topic does meet the criteria for inclusion. Each list must provide a specific criteria for what is considered a member of that list. Usually this is clear in the title, such as in List of current heads of state and government, and only needs a little more background as to how the list should be organized. Other lists don't at first glance seem as exclusive, such as List of people affected by bipolar disorder, and require some strong referencing to merit inclusion.
Disambiguation pages are designed to help people find the right article. Some topics share names with other topics, leading to confusion. For example, if you were to search for George Washington, you're probably looking for George Washington, but you could also be looking for George Washington (who was featured on the Main Page last April Fool's), George Washington, George, Washington, or perhaps one of the George Washingtons. That last sentence contains a total of 8 links, all of which lead to a George Washington of some variety, and I certainly could have included more from George Washington (disambiguation).
The assignment
Now that you've seen the different kinds of articles, take a look at some of these and tell me what you think they should be graded as. Don't look at the talk pages, just read the article and give it your own assessment. Give a short reasoning of why you have graded it such. If you believe an article does not meet the requirements of any level, mark it as a "sub-stub". Once you have done that, leave me a message on my talk page (or your adoption subpage) with your suggested assessments.
Templates
Templates allow you to post large sections of text or complicated sections of code while only typing a few characters. Templates work similar to regular links, but instead of [[double square brackets]], you use {{curly braces}}. To call a template, just type the title of the template between the double braces. You don't need to include the "Template:" prefix; the MediaWiki software automatically searches within the Template namespace for what you're looking for. Only if the page you're looking for is in a different namespace do you need to specify it. See below:
What I type | What appears | Comments | ||
---|---|---|---|---|
{{user en}} |
|
This calls Template:User en. All content there (that is marked to be included, see below) appears where I type the template code. | ||
{{Xenocidic/Gamerscore}} | {{Xenocidic/Gamerscore}} | I get a red link because no page exists at Template:Xenocidic/Gamerscore. | ||
{{User:Xenocidic/Gamerscore}} |
|
When I specify the User: namespace, the userbox I have at that location appears. Thus, a template does not have to be in the Template: namespace to work. |
In that last example, I get a {{{1}}} where a number should appear. This is due to the fact that I did not specify a parameter in that template. One template you can use to welcome new users, Template:W-basic, has several parameters which can customize its appearance. Most of those parameters are named, in that you have to specify to the template what the name of the parameter is when you use it. {{w-basic|anon=true}} sets the parameter "anon" to "true", which generates a message directed towards anonymous users. The advantage to named parameters is that they can be placed in any order, but they must be spelled exactly right or they will not work. The template also uses an unnamed parameter, one which does not have to be specified when it is put into use. Templates automatically assign a numerical name to unnamed parameters when they are used, starting with "1". {{w-basic|message}} sets the unnamed parameter "1" to "message", which is what that parameter is used for in that template. The userbox above can specify the user's gamerscore with that same unnamed parameter (an optional second paramater can also print the user's gamerscore completion percentage). Unnamed parameters must be in sequential order to work properly, unless you force them to be out of order by using syntax such as {{template|2=foo|1=bar}}. Using "1=, 2=" is also required if the parameter has a = anywhere within (occasionally the case with some external links).
When writing templates, there are some extra tags and codes that have special effects when a template is called.
Code | What it does |
---|---|
{{{1}}} | Causes a parameter "1" to display at that location. |
{{{1|foo}}} | Sets a default value "foo" for parameter "1", which prevents the parameter from displaying as it does in the userbox above. This can be blank: {{{1|}}} |
<includeonly>foo</includeonly> | Causes the text "foo" to only appear when the template is called. It will not appear on the template page, or in previews when editing the template. As a result, any code included in these tags will not be executed until the template is called. |
<noinclude>foo</noinclude> | Removes the text "foo" from the template. Documentation (notes on how to use a template) is always included with these tags so that it is not called along with the template. |
{{{1|lorem ipsum}} <noinclude>dolor sit amet</noinclude> <includeonly>etc...</includeonly> | When this template is called, it will display parameter 1 first, followed by "etc...". If parameter 1 is not defined, the template will display "lorem ipsum etc..." |
Conditional templates allow for use of more intricate templates, with optional parameters or different effects depending on what a certain parameter is set to. They use parser functions such as #if: to apply certain conditions to the code. Use of these functions can allow you to create some rather advanced templates, but often get exceedingly complicated and should only be edited by those users who fully understand how they work. Since these are rather complex, they will not be covered in your exam, but if you'd like we can cover them after we've completed the other topics.
I forgot to mention - there are two ways to call a template. Transclusion is simply calling the template as I showed you above: {{template}}. This displays the template where you put the call for it, but leaves the curly braced call in place so that it's easy to remove. This also causes the template to update every time the page is loaded, if it has been edited or has a time-sensitive variable. Substitution, or "subst'ing" a template, causes the opposite effect. To substitute a template, add the code "subst:" at the beginning of the call: {{subst:template}}. When this is done, you are seeing the curly-braced call for the last time, because when you save the page, the MediaWiki software will replace that call with the template's code. This causes the template to lock in place - however it was when you called it, is how it's going to be from then on. This makes things a little difficult to remove, though, as instead of the simple template call, you've probably got lines of code that are now clogging up the source code of your page. Depending on how the template it written, it may require subst'ing to work properly, or it may require that it is not subst'ed. The page at WP:SUBST gives details on what templates should, must, or must not be substituted. When writing templates, it can also be useful to enclose the subst: code within <includeonly> tags. See below.
Code | Displays | Comments |
---|---|---|
{{CURRENTTIME}} | 20:49 | Template is transcluded, so updates every time you load the page. |
{{subst:CURRENTTIME}} | 21:20 | Template is substituted, so is stuck on the time I saved this page. |
{{<includeonly>subst:</includeonly>CURRENTTIME}} | 20:49 | Here, the template acts as though it were transcluded on the source page of this page, User:Xeno/wikiadopt. However, if I were to substitute this page somewhere, it would hard-code itself to the time of substitution. |
This lesson should show you how templates can be really useful for a lot of things. However, we can make templates even more functional and more powerful by having them do different things depending on what the parameters we set are. For more information on that, see the lesson below on Templates (advanced).
Templates (advanced)
Note: You should complete the Templates lesson before taking this lesson.
In the previous template lesson, you saw how you could use template parameters to add custom information into a template message. In this lesson, we'll look at how to use other templates to make even more happen, depending on what you enter as a parameter. These other templates are called "ParserFunctions" and are built into the MediaWiki software that Wikipedia is based on. Because of that, you can't edit these templates by going to their template page (because there isn't one), and they also are called in a unique way.
Before we look at these, let's have a quick review of how parameters work, because many of these ParserFunctions are going to depend on them, and you using them correctly. You create a parameter by using three curly brackets around a name (or number), like so: {{{foo}}}. In that case, calling the template "example" would require you to use a "foo" parameter, like this: {{example|foo=bar}}. That will cause the word "bar" to appear wherever you have the code "{{{foo}}}" in the template. If you forget the parameter, though, (just using {{example}}), bad things happen. Instead of a useful word, you get a big ugly {{{foo}}} in the middle of your message. We can avoid this by giving "foo" a default value with a pipe character: {{{foo|Hey, dummy, you forgot to set "foo".}}} Now, instead of an ugly parameter, we get a helpful message that tells us exactly what went wrong and how to fix it. If we'd rather our templates not insult us when we mess up, we can make the default value simply not appear at all: {{{foo|}}}. This works just as well, and in fact is exactly what we want to do for some of the ParserFunctions we're now going to look at.
#if:
The most basic function we have available is {{#if:}}. #if: probably looks fairly strange to you - since when do we start templates with a # sign? And what's with the colon? That is what tells us, and MediaWiki, that we're calling a ParserFunction instead of a normal template. Here's how #if: works:
{{#if: <text that either is or is not blank> | <what you want to appear if it isn't blank> | <what you want to appear if it is> }}
Huh?
#if: works a little differently than most "if... then..." structures work. #if: is set up like this: "If this space has something in it, I print this. If it's blank, I print that." How does this help us? Well, remember how we could set our parameters to have a blank default value? Imagine what would happen if I wrote this code:
{{#if: {{{1|}}} | Hello! | Goodbye! }}
Now, when I call the template that uses this code, I will do one of two things. I will either enter a parameter or I won't. If I don't, this code will display "Goodbye!" because there is nothing displayed between #if: and the first option; we set our parameter 1 to be blank by default, so there is nothing but blank space for #if: to look at. However, if I do enter a parameter, regardless of what it is, that code will display "Hello!". This is because when #if: looks at what you gave it, there's something between it and the first option. It doesn't care what that something is, it just cares that something exists. But now, here's why we had that short review on parameters:
{{#if: {{{1}}} | Hello! | Goodbye! }}
The difference between these two sets of code is minor, but causes the whole thing to bork up. This time, there is no pipe in our parameter, so there is no default value. As a result, when we don't set the parameter in the template, #if: still sees {{{1}}} right after its colon. So, regardless of what we do, we're always going to get "Hello!" as a result of this function.
#ifeq:
#ifeq: is a bit more useful. #ifeq: stands for "If equal" - instead of just checking to see if something exists, #ifeq: checks to see if that something is equal to something you specifically told it to look for. Here's how it works:
{{#ifeq: <text you input> | <text you want to compare against> | <what you want to appear if it they match> | <what you want to appear if they don't> }} {{#ifeq: {{{1}}} | foo | Hello! | Goodbye! }}
In the sample above, I want to see if the user typed "foo" as a parameter to my template. If they did, #ifeq: will see that and print out "Hello!". If they enter anything else, though, or in this case, nothing at all, #ifeq: will compare whatever they enter to "foo", see that they don't match, and print "Goodbye!" instead. ( bar =/= foo; {{{1}}} =/= foo ) This code is a bit more "secure" - if you want the template to do something if the user enters "yes" as a parameter, #if: is not what you want to use. If you use #if:, it'll do whatever you told it to do even if the user enters "no". By using #ifeq:, the function will only do this thing if they enter "yes", exactly like that. It won't work even if they enter "YES", because uppercase letters and lowercase letters aren't the same.
But what if you don't want to risk confusing the user? What if you do want "YES" to work? It's pretty pointless to make an #ifeq: for every single different capitalization of "yes". There's two options available to you. One is to use another ParserFunction, which we'll get to shortly, which acts like a super #ifeq:, checking for multiple different parameter values at once. Another, much easier way, is to tell the parameter to use all uppercase or lowercase letters. How? Magic. Observe:
Code | What comes out |
---|---|
{{lc:foo BAR}} | foo bar |
{{uc:foo BAR}} | FOO BAR |
{{lcfirst:BAR foo}} | bAR foo |
{{ucfirst:foo BAR}} | Foo BAR |
You can use these codes (which are examples of some Magic words) on just about anything - including your parameters. Obviously, it won't have much of an effect on {{{1}}}, but when your user types in "YES" when your #ifeq: is expecting to find "yes", adding the code {{lc: {{{1}}} }} will solve all of your problems.
#switch:
This is my favorite ParserFunction (yes, I'm a geek, and you're not one to talk; you ARE reading this, after all). This is the "super #ifeq:" I mentioned earlier. #switch: allows you to check a single line of text for a practically unlimited number of possible results (That is, the limit is set so high there's no way you're going to design a practical template that uses that many options). It works like this:
{{#switch: <text you input> | <possible value 1> = <what is displayed for possible value 1> | <possible value 2> = <what is displayed for possible value 2> | <possible value 3> | <possible value 4> = <what is displayed for possible values 3 AND 4> | #default = <what appears if the value you input doesn't match any possible value> }}
What this template does is this: It takes the value you enter (which is probably a parameter, which is probably forced to be either lower or upper case for the same reason it would be in #ifeq:) and moves down the list, comparing it to each possible value in turn. As soon as it matches something, it stops, and looks for the next equals sign. It then prints whatever you have between that equals sign and the next pipe. Let's look at an example, based on the above format:
{{#switch: {{lc: {{{1}}} }} | foo = bar | ice = cream | french | burnt = toast }}
If I enter "foo", #switch: replies with "bar". Likewise, "ice" gets "cream" as a response, and "burnt" gets "toast". But "french" also gets "toast". This is because "french" doesn't have anything set specifically for it - there's no equals sign after "french". Because of this, #switch: is going to keep looking for the next equals sign, which is after "burnt". This makes sense for me, because I want that to happen. "burnt toast" and "french toast" both make sense. However, I do have to be careful about what order I put things in; this code may look similar, but will cause "french" to come out with a different result:
{{#switch: {{lc: {{{1}}} }} | foo = bar | french | ice = cream | burnt = toast }}
Now, entering "french" will return "cream", because "ice = cream" is the next value in line for #switch: to find. For both of these, anything not listed in the ParserFunction will not return anything - nothing will be printed, because there is no default value. For #switch: to print something out regardless of what I type in, I would need to specify "#default = <something>" at the very end of the template. There's really no technical reason why #default has to be at the end, but it just makes it easier for other users.
#time:
Time is an interesting thing in how it is calculated and how it brings some order to our lives. Because of that, it's important we have a bit of code that allows us to display time however we would like. #time: is just that code, allowing you to enter your own custom time and change it however you wish. It's a very useful code, that you'll see used in many places thoughout Wikipedia - for example, proposed deletion templates "expire" after five days, and those templates use a #time: function to control that.
Time, of course, is rather complicated, and #time: itself is complicated to mirror that. Because there are many different ways to display the time, there are many different things you can tell #time: to do. Before we cover that, though, let's look at how #time: works:
{{#time: <how you want the time displayed> | <what time you want displayed> }} OR {{#time: <how you want the current time displayed> }} (to display the time at which the page was viewed)
As you can see, there are two ways to set this code up. You can display the current time, or a custom time that you specify. This custom time can be simply a change in timezone, a certain about of time before or after the current time, or a fixed time that you set. Here are some examples below of how that works. You can ignore the formatting code for just the moment, we'll cover that shortly. Just focus on what I have entered in the time slot on the right hand side.
What I'm doing | Code | Result |
---|---|---|
Printing the current time in UTC | {{#time: H:i:s }} | 20:49:42 |
Changing the time zone to U.S. Eastern Standard Time, during Daylight saving time) (Note that this is in fact backwards: EST is actually UTC-4 during DST.) |
{{#time: H:i:s | +4 }} | 16:49:42 |
Changing the time to 30 minutes ago | {{#time: H:i:s | -30 minutes }} | 20:19:42 |
Fixing the time to the time I saved this version of the lesson | {{#time: H:i:s | {{subst:CURRENTTIMESTAMP}} }} | 15:51:32 |
Fixing the time to 30 minutes before I saved this version of the lesson, in EST during DST (Combining everything you've seen so far) |
{{#time: H:i:s | {{subst:CURRENTTIMESTAMP}} +4 -30 minutes }} | 11:21:32 |
With me so far? You can do almost anything you want with the time that way, but there are some limitations to the template. For example, I was trying to set up a stopwatch here, that would display how many months, days, hours, and minutes had gone by since I saved the code onto the page. This is the code I tried to use: {{#time: n "months," j "days," G "hours, and" i "minutes" | -{{subst:CURRENTTIMESTAMP}} }}. There's nothing wrong with the format, and the time looks as though it might work, but instead I got this: Error: Invalid time.. Obviously not what I wanted. The problem was that I didn't specify any units for it to subtract, and the number {{CURRENTTIMESTAMP}} spits out is way to big to be considered a time zone. #time: is very finicky about what it will accept as a time - it has to be something it can easily recognize and use, or it's not going to bother. Here are some examples:
Code | Result | Notes |
---|---|---|
{{#time: H:i:s | {{CURRENTTIME}} }} | 20:49:00 | {{CURRENTTIME}} converts into a usable value for #time:, specifically the current hour and minute of the day: 20:49 |
{{#time: H:i:s | {{CURRENTHOUR}} }} | Error: Invalid time. | {{CURRENTHOUR}} only returns the current hour, a single number that doesn't mean much of anything to #time:. We know it refers to the hour of the day, but #time: doesn't know if it's the hour, minute, second, or even year. |
{{#time: j M Y | April 9 2008 }} | 9 Apr 2008 | #time: knows how to recognize names of months, as long as they're spelled correctly, so it knows to read that as Month-day-year. |
{{#time: j M Y | 04/09/2008 }} | 9 Apr 2008 | This sort of format is recognizable to me as the same date, but is ambiguous - see below. |
{{#time: j M Y | 09/04/2008 }} | 4 Sep 2008 | This date could also represent April 9th, and some people might expect #time: to display that. Keep in mind that #time: will always read in the order Month-Day-Year if things get confusing. |
{{#time: j M Y | December 7 1941 }} | 7 Dec 1941 | We would expect time to be able to display this properly, but it won't. Computers as we knew them didn't exist in 1941, and this is reflected in how we program things. As far as #time: is concerned, all life began on January 1st, 1970, and you're not going to convince it otherwise. |
{{#time: j M Y | October 14 1066 }} | 14 Oct 1066 | If you try too hard to convince it, #time: will get mad at you and throw a temper tantrum. Don't try it. |
Now that you roughly know how to tell #time: what time to show, let's look at how to get it to show it (following my grammar lesson on antecedants; moving on...). You'll have noticed from above that I've been sticking what seem to be random letters in the format side of #time:. #time: appears to be written for the sole purpose of being confusing as hell, because few of the codes for the format make any sort of sense whatsoever. No, simply typing "day" won't work - if you're lucky, #time: will simply print "day" out and it won't look horrible, but it's also possible you'll get another big red error message. So what does it take? Let's figure it out:
Code | What it shows | Example | Code | What it shows | Example | |
---|---|---|---|---|---|---|
Days and weeks | Years | |||||
W | The number of the week (see ISO week date) | 52 | Y | The year, using four digits | 2024 | |
d | The day of the month, with a leading zero if less than 10 | 24 | y | The year, using two digits | 24 | |
z | The day of the year (January 1 = 0) | 358 | Hours | |||
D | The abbreviation for day of the week | Tue | a | Returns am or pm for use in a 12-hour time format | pm | |
l | The full day of the week (lowercase letter L) | Tuesday | A | Same as above, but uppercase | PM | |
N | The number of the day of the week, ISO style (Monday = 1, Sunday = 7) | 2 | g | The hour of the day, in 12-hour format. | 8 | |
w | The number of the day of the week, US style (Sunday = 0, Saturday = 6) | 2 | h | The hour of the day, in 12-hour format, with a leading zero. | 08 | |
Months | G | The hour of the day, in 24-hour format. | 20 | |||
n | The month number | 12 | H | The hour of the day, in 24-hour format, with a leading zero. | 20 | |
m | The month number with a leading zero (January = 01) | 12 | Minutes and seconds | |||
M | The month's abbreviation | Dec | i | The minute of the hour, with a leading zero. | 49 | |
F | The full month name | December | s | The second of the minute, with a leading zero. | 42 | |
U | The total number of seconds that have passed since January 1, 1970, 00:00:00 UTC. This is used by computers to represent time. | 1735073382 |
Anything that doesn't appear in this list will generally be treated as what it actually is. So, you can wikilink dates by enclosing the format code in square brackets: {{#time: [[F d]] }} produces December 24. If, however, you want to type a letter that is in this list, you'll need to enclose it in quotes: {{#time: U represents a time }} comes out to:
- 1735073382 Tue, 24 Dec 2024 20:49:42 +0000UTCpTue, 24 Dec 2024 20:49:42 +0000UTC42UTC123142 pm 314912UTC
To get the template to display as you intend it to, you'll need to use {{#time: U "represents a time" }} (1735073382 represents a time) or something similar.
Things get easier from here out, don't worry!
#expr:
This is the last ParserFunction we'll cover, although there are more: this is the last of the more commonly used ones, however. #expr: stands for "expression", referring to the mathematical sort. #expr: is your calculator, allowing you to play with parameters and variables to spit out something that may or may not be useful. It also can be used for logical statements, where 0 is considered false and anything else is considered true. Here's what you can do with it:
Operator | What it does | Sample code | Result |
---|---|---|---|
Mathematical stuff | |||
+ | Adds stuff | {{#expr: 1 + 1 }} | 2 |
{{#expr: 3 + -2 }} | 1 | ||
- | Subtracts stuff | {{#expr: 1 - 1 }} | 0 |
{{#expr: 3 - -2 }} | 5 | ||
* | Multiplies stuff | {{#expr: 3 * 2 }} | 6 |
/ | Divides stuff | {{#expr: 3 / 2 }} | 1.5 |
mod | Finds the remainder after dividing whole numbers. Cuts off any decimal values. |
{{#expr: 3 mod 2 }} | 1 |
{{#expr: 3 mod 2.8 }} | 1 | ||
round | Rounds to the number of decimal places indicated to the right of "round" |
{{#expr: 3.1415926 round 2 }} | 3.14 |
{{#expr: 32345 round -3 }} | 32000 | ||
Logical stuff | |||
not | Changes non-zero to zero, and zero to one. (Makes it not true/false) |
{{#expr: not 30 }} | 0 |
{{#expr: not 0 }} | 1 | ||
and | Only true if both sides are true (non-zero) | {{#expr: 0 and 30 }} | 0 |
{{#expr: 1 and 30 }} | 1 | ||
or | True if one or both sides are true | {{#expr: 0 or 30 }} | 1 |
{{#expr: 0 or 0 }} | 0 | ||
!= | Exclusive or - only true if one side is true | {{#expr: 1 != 0 }} | 1 |
{{#expr: 1 != 1 }} | 0 | ||
= | Equals | {{#expr: 3 = 3 }} | 1 |
<> | Not equal | {{#expr: 3 <> 2 }} | 1 |
> | Greater than | {{#expr: 3 > 2 }} | 1 |
< | Less than | {{#expr: 3 < 2 }} | 0 |
>= | Greater than or equal | {{#expr: 3 >= 2 }} | 1 |
<= | Less than or equal | {{#expr: 3 <= 2 }} | 0 |
You can combine mathematical stuff and logical stuff in the same #expr:, as well as add parentheses to group operations - for example, {{#expr: (30 + 2) / 16 > 3}} will produce 0 ((30 + 2) / 16 = 32 / 16 = 2, which is less than 3, so false or 0). The function follows a specific order of operations, with all things going from left to right:
- Stuff in parentheses ()
- Positive and negative signs (+1, -1, not)
- Multiplication and division (*, /, mod)
- Addition and subtraction (+, -)
- Rounding with round
- Comparisons (=, <>, <, <=, >, >=, !=)
- and
- or
Make sure to be careful about this; just as in school, failing to pay attention to order of operations can easily cause your equation to come out to something you didn't expect.
Obviously there are some things you can't do with #expr: - it doesn't like letters, so using exponential formats such as 6.67E-11, or mathematical constants like e won't work. Also, it's limited by the usual laws of mathematics (for example, you can't divide by zero, etc.)
Other ParserFunctions
There are a total of 5 other ParserFunctions I haven't covered. I'll list these below, but won't go into detail about them because they are rarely used outside of meta-level templates, such as {{db-meta}}. Each of these is either fairly basic (along with what you already know) or can be easily represented by using one of the functions already covered. If you have an interest in these templates, they, along with the ones mentioned above, are covered in full detail at m:Help:ParserFunctions (Note: this page is on MetaWiki).
- #ifexist: Similar to #if:, this checks to see if a page exists at the given title, and returns one of two possible lines of text.
- #ifexpr: Combines #ifeq: and #expr:, checks a mathematical or logical expression to see if it results in zero, and returns one of two possible lines of text.
- #rel2abs: Converts a relative link to a direct link - for example, /subpage is a relative link which can be converted to the direct link, User:Xeno/wikiadopt/subpage.
- #titleparts: Returns a portion of a given page title as specified by the user.
- #iferror: Checks ParserFunctions that could return an error message, including #time:, #expr:, #ifexpr:, and #rel2abs:, and returns a specified line of text if an error is the result.
Templates and Tables
You've noticed that all of these functions use pipes, just like regular templates do. You've probably also noticed that most templates use tables to keep their formats in a readable order, and that these tables also use pipes. So, how does MediaWiki know when a pipe is a template pipe or a table pipe? Well, it doesn't.
Say you're setting up a template, that displays a table with an optional third row, triggered by the parameter {{{row}}}. Here's the code you try:
{| class="wikitable" |- !This is !a template. |- |This is |a row. {{#if: {{{row|}}} | |- |Here's an |extra row. }} |}
So, let's see what happens when we test this out. We made {{{row}}} be blank by default, so we should see a table that has only two rows.
|
|
Bleah. That's not quite what we wanted. Things came out this way because when we condense the #if: code to a single line, this is what we get: {{#if: {{{row|}}} | |- |Here's an |extra row. }}. #if: doesn't know that it's in a table. #if: just sees that for some reason it's being given four different bits of text to choose from. However, it only cares about the first two: the blank section between the first two pipes, and the dash between the second two. Oops. So how can we tell #if: it's in a table, and needs to ignore some of those pipes? We trick it.
The templates {{!}} {{!!}} and {{!-}} are all designed for this purpose. Since we can't put an actual pipe in there and have it work, we fake it with another template. What happens is that #if: sees the template as a template, that is, like this: {{!}}
. Since that's not a pipe, it assumes that's part of the text you want it to print out. But when it prints that text out into the table, it strips the template down into what it actually is, in this case, a pipe |. Now it's the table's turn. It goes through and sees the code left behind by #if:. Since there's a pipe there now, it deals with it accordingly, and spits out the table as we wanted to see it. So, this is how our code above should be written:
{| class="wikitable" |- !This is !a template. |- |This is |a row. {{#if: {{{row|}}} | {{!}}- <!-- That makes a new row --> {{!}} <!-- That makes a new cell --> Here's an {{!}} <!-- That makes a new cell --> extra row. }} |}
And so we get:
|
|
That's it! Remember, {{!-}} produces |-, {{!}} produces |, and {{!!}} produces ||.
That's everything! Try testing out these templates in a sandbox, and seeing what all they can do. Once you're confident with what they do, feel free to add this userbox to your user page - you'll have earned it! {{User t|3|c}}Vandalism 1.1
What we're going to do now is get you started with some basic vandalism patrols, and get you introduced to some of the tools available for helping with this. This is by no means something you will be obligated to do as an editor, however it is something you should know how to do due to the high risk of vandalism on Wikipedia. Should you ever become an administrator, you will likely be expected to deal with vandalism in some respect.
To start off, let's get some background. Wikipedia is, as you know, a wiki, meaning anyone can edit virtually any page. This is both a blessing and a curse, however, as while it does allow a wide range of information to be added and shared, it also allows people with less than benevolent intentions to come in and mess around with stuff. It requires a fair amount of work during every hour of every day to ensure that this vandalism does not run rampant and destroy the project. Fortunately, with a near-endless supply of volunteers across the world, this doesn't really cause a problem. The addition of various tools help aid our cause and make the "reversion", or removal, of vandalism happen within minutes (sometimes seconds).
What we define vandalism as is "an unhelpful or unconstructive edit" to an article or other page. Most commonly, these are pretty blatant - replacing a whole page or section with curse words, simply removing entire sections, and so forth. Occasionally, it's less obvious, like changing key words in a section to completely alter the meaning. Basically, anything that can't be helpful at all to the article should be considered vandalism, however you should always remember to assume good faith for questionable cases.
The most commonly used, and arguably the most critical tool in this respect, is Special:RecentChanges. Recent Changes is a special page that lists every edit made across the project within the last few minutes. You can find a link to it in the toolbar to the left. The page is formatted similarly to a page's history, with a few differences. Here's how a standard entry generally looks:
- (diff) (hist) . . Shigeru Miyamoto; 14:32 . . (+28) . . 201.152.102.192 (Talk) (→Competition with Sony and Microsoft)
So that you can know all the terminology (which in some cases will be used across the site), I'm going to explain what all of this means. Feel free to skip this if you've already clicked the links.
- A "diff" is the difference between two revisions. Wikipedia has a special feature that allows you to compare revisions to see exactly what was changed. This is particularly useful when on vandal patrol, as this is the best thing available to tell you if the edit was or was not vandalism. Clicking on the link above will only take you to the help page on diffs, unfortunately, however an actual diff link will bring you to a screen that looks like this one, an actual diff of another article. Content removed appears in red text in a yellow box on the left; content added appears in red text in a green box on the right.
- The "hist" link will bring you to the page's history. You can click on the "hist" link above to get to the help page for this feature. A page's history lists all edits ever made to a page, something which is required under the terms of the GFDL, Wikipedia's licensing.
- The next link is the article that the edit was made to.
- The time stamp will indicate when the edit was made. The time will appear in your time zone, as you have it defined in your Special:Preferences. Note that this is different from signature timestamps, which are always in UTC/GMT time.
- The green or red number after the timestamp will tell you how much was added or removed to the article in the edit. A green "+" number shows the number of bytes added to the article - a red "-" number indicates the number removed. In general, the number of bytes is equal to the number of characters, however this is not always the case: Certain special characters can contain more than one byte, and templates can completely mess this number up. Templates are covered in another lesson, however you will be using some in your patrols later. This number will be in bold if a very large number of characters were removed, which is usually a good indicator of vandalism.
- The next part is the name of the user who made the edit, which will link to their user page. In this case, an IP address made the edit, so the link will instead go to their contributions. Since most vandalism comes from these anonymous editors, this serves as another convenience to those on patrol. The user name is followed by a link to their talk page.
- The last part of a RC report is the edit summary. When editing a section of an article, the title of that section will automatically be included in the edit summary, as you see above. Other special edit summaries include "Replaced page with..." and "Blanked the page". In general, these last two are dead giveaways for vandalism edits, however you will occasionally see an editor blank his own user or user talk page, so be careful about that.
Now that you know how to use Recent Changes, I want you to and find some vandalism edits. I don't want you to remove the edit yourself just yet - we'll get to this shortly and chances are, another editor or bot will beat you to it. So before you go on, go to Special:RecentChanges and find three vandalism edits. So that I can check your work and we can discuss things, I want you to copy the links to the diffs of these three edits and paste them onto my talk page or your adoption subpage using the format below (insert the diff in between the [square brackets] - this is most easily done by copying the URL from your address bar while you're viewing the diff). Once you've done this, we'll discuss them and you can continue onto the second half of the lesson.
IMPORTANT WARNING: Due to the very nature of vandalism on Wikipedia, it is possible you will encounter something that will offend you. I take this time to point out Wikipedia's Content Disclaimer, which basically says that you can find just about anything on here and it's not WP's fault. While you may find something offensive in your searches and subsequent vandal patrols, it is best to simply brush it off and not take it to heart. Later on, when you are actually reverting vandalism, it is possible that your own user pages will be vandalized. My pages have been vandalized many times, and my friend Hersfold's has been vandalized more than 22 times so far, one of which was a death threat. Here the same thing applies - ignore and simply remove it. I do not tell these things to scare you, or to imply that it will happen. I am simply pointing out that it is possible, although exceedingly rare. In many cases, these attempts to attack you are in fact somewhat amusing. If it occurs, just remember how intellectually superior you clearly are to the vandal and be glad that you actually have a life. Keep this in mind while browsing, editing, and patrolling Wikipedia.
Now that that's over with, go do your task. Have fun! (By the way, please ignore new pages, indicated by a bold "N" on the log entry.)
- Diff 1: [] Why you think this is vandalism:
- Diff 2: [] Why you think this is vandalism:
- Diff 3: [] Why you think this is vandalism:
Additionally, read over our vandalism policy. It is very important that you know what the difference between what vandalism is, and what vandalism is not. When in doubt, always assume good faith.
How to revert (using the old-school undo method)
Now that you know how to recognize vandalism, we're going to have you start actually taking action against it. First I'll show you how to do it the "old-school" way of doing things, manually reverting each edit. Since this is rather slow, I'm also going to have you install a tool which can help you do all of this quicker. The reason I had you tell me your browser is because the tool I prefer to use these days works with everything except IE. While that tool is better suited for vandalism, the tool I'm going to have you use works as well, and has other advantages to it, so it's not worth making you switch browsers, which you probably wouldn't want to do anyway. Moving on now...
First off, and it's important that I show you this first, we're going to cover manual reversion. The definition of "revert" is (according to Wiktionary, our sister project) "To turn back, [...] or, to change back." That's what we're going to do. It would take an horribly long time to remove vandalism if we had to re-write each article every time it was vandalized. Since we have a record of every edit ever made, however, it's very easy to simply "turn back" to a previous version. Let's try this out.
So that we don't risk messing up any articles, or having things not work, we'll be doing these tests in my vandalism sandbox, at User:Xenocidic/vandbox. Go ahead and open that page in a new tab (or new window, if you're still using IE 6). Once there, go to the page history. You'll see that I've made a few nonsense edits to get things ready for you. This is what we're going to revert. Follow these steps carefully to make sure you don't miss anything:
- Click on the top most "(last)" link. This will bring you to a diff screen, showing you the changes I last made.
- On the right side, next to "Current revision (timestamp)", you'll see two links: (edit) and (undo).
- Click on "undo". You'll be brought to a screen that looks like a combination between a diff and the edit screen. This shows you what changes you're making, and allows you to make other changes at the same time, however this is not recommended.
- Go down to the edit summary and enter a reason why you are making the reversion after the pre-loaded stuff. Usually "vandalism" will do - other variations include "rvv" for "ReVert Vandalism" and so forth. Even though this isn't technically vandalism, go ahead and enter that here and save the page.
- You're done! The page should now look as it did before I made that edit. Well done.
How to revert (using popups)
This part of the lesson is compatible with Internet Explorer. If you wish, you can skip to the next section, however, the tool explained, popups, has many applications in addition to counter-vandalism.
The problem with the undo button is that it does take some time to do. You've got to go through extra pages, click extra buttons, and so forth. Chances are, someone else will have beaten you to the reversion before you are able to complete the action, resulting in either an edit conflict or you inadvertently re-adding the vandalism by reverting the reverter. So, to help out with that, we're going to have you install popups.
Popups are not what you might think they are - an annoying series of windows advertising junk that you can't seem to get rid of. Wrong! Rather, these popups are a useful javascript tool that you can install to your Wikipedia account that can help with a number of things - navigation, research, editing, and (in our case) vandalism patrol. With popups installed, you'll get this little box to appear whenever you hover over an internal link that will provide a short preview of the page it links to, as well as the first image displayed on that page. While I love having this particular extension, it's not for everyone, and I'm not by any means going to force you into using it. I'm just going to show you how to use it for reverting vandalism, and leave the rest up to you. The un-installation instructions are very simple; in fact, they're the exact opposite of the installation.
The code for these popups is offered as a gadget in your preferences - you just need to enable it. So, here's what to do:
- Go to Special:Preferences.
- Click on "Gadgets"
- Under "Browsing Gadgets", select "Navigation popups". You may also click any other buttons you feel like clicking, I checked about three others when I discovered this menu just now (it didn't used to be there!)
- Once done, click "Save".
- When you see the green box that says "Your preferences have been saved", go to your userpage.
- On your keyboard, press CTRL+F5 (Hold the Control Key while pressing F5). The page will reload. This bypasses your browser's cache to make sure the new settings take effect. (Other browsers have other methods, like CTRL-R)
- Now, hover your cursor over any blue link. Wait a moment and see what happens! (If nothing happens, chances are you hovered over a link to a Special: page. Try another one)
Take your time getting used to how this works, and go ahead and follow the instructions here to configure settings for the tool if you wish.
Now, then. Here's how this works for reverting stuff. Go back to my vandalism sandbox and click on the History tab. Now follow these steps:
- Hover your cursor over the topmost "last" link. This should correspond to the edit you just made a few minutes ago.
- The popup will appear, but instead of giving you a preview of the sandbox, it will display a shortened version of the diff. Anything you removed will be highlighted in red, anything you added will be in green.
- Look on your popup for a small link that says "rv". Click on it. (If you have only a few links at the top, hover over "Actions" and click "revert")
- DON'T CLICK ANYTHING AFTER "rv" or "revert". The script will automatically revert the edit(s) by the last editor and provide an edit summary to that effect. Once done, your screen should display the sandbox as it was when you first saw it.
See how much easier that was? Not only did you get a preview of the diff, the script did most of the work for you. Cool, huh?
There's one last thing. When reverting vandalism, you should leave a warning message on the vandal's talk page to let them know what happened. This serves a double purpose. If the vandal is not a vandal, but just screwed something up, it lets them know why their edit is now gone and how to correct the problem in the future. Either way, though, it also provides a record for other editors, to know that the person you warned has a history of (possible) vandalism. When enough of these warnings are received, the vandal may be blocked for a period of time by an administrator.
While there are a large series of these warning templates, I'm going to start you off simple and give you the code for the most general set. If you want to expand your knowledge of these warnings, the full list can be found at WP:UTM. To use these warnings, type or copy the appropriate code into the bottom of the vandal's talk page. Start small - if this is a user's first vandal edit, give them the level 1 template. If they have received other warnings, go up as appropriate. (For example, if someone else has given them a level 3 recently, you should go up to the next level, level 4). If the last warning given was a level 4, just slap on another level 4 template. Don't worry about reporting them just yet.
- Level 1:
{{uw-vand1}}
- Level 2:
{{uw-vand2}}
- Level 3:
{{uw-vand3}}
- Level 4:
{{uw-vand4}}
Keep in mind that these templates should be substituted. So, to leave a first level warning, you would type {{subst:uw-vand1}} Good luck going on patrol! Please let me know as soon as possible if you have any questions. If you are ever in doubt about what action to take in this situation, just don't take it. On patrol, there is always a more experienced editor just seconds behind you, so it'll be taken care of. As you do patrol, you'll become more and more confident about what it and what is not vandalism, and our next lesson on vandalism deals with those other kinds. Until then, happy editing as always.
For more information on vandalism patrols, see WP:CVU, headquarters of the Counter-Vandalism Unit, an unofficial, volunteer group of editors who spend some time roughly every day on patrol.
How to revert (using Twinkle)
This part of the lesson is designed for use with Firefox, Safari, Opera, Camino, and other similar browsers. If you use Internet Explorer, only the above section (on popups) is applicable. Do not attempt to install the script mentioned on in this section if you use Internet Explorer.
Twinkle is a user script designed and largely maintained by User:AzaToth, an administrator with a knack at coding scripts such as this. Twinkle provides a user-friendly interface that can automatically do a wide range of tasks, as well as providing non-administrators with admin-like tools. Chief among these, and the feature we're going to be using here, is "rollback", a reversion method that can undo multiple edits by a single editor at once. Rollback will undo all edits by the same editor, to the last revision made by a different editor. So, if Bob edits a page, then Vandal comes in and makes two edits, then you come in and rollback Vandal's edits, the article will be restored to Bob's version. This is different from the "undo" button, which can only do one edit at a time.
Until very recently, the official version of rollback was available only to administrators, due to its ability to undo a large number of edits with a single click of a button. As of January 9th, 2008, admins have been given the ability to grant other users the "rollbacker" permission mask, which allows non-admins the use of this feature. If and when you are given this permission, it provides an extra "[rollback]" link next to the undo button in page histories and diff pages. Long before then, however, Twinkle has allowed a similar version of rollback, with added compatibility for the other features offered by the script. If you are new to the site, it is unlikely that an admin will be willing to grant you the permission - such tools are granted as a matter of earned trust and demonstrated knowledge of policy - so we're going to use Twinkle, which also lets you do other stuff anyway. It's really no big deal - as Twinkle pretty much does the exact same thing and provides extra functionality (like the ability to enter an edit summary).
Before we go on, I am not going to force you, by any means, to use Twinkle. I use it on a regular basis and enjoy the features it has, but that's just me. If you decide you'd rather not use it, you have no obligation at all to keep it. You can remove the script by following the installation steps in reverse.
Here's how to install Twinkle. Go ahead and do this now, so that you can follow the tasks further on:
- Open Special:Mypage/monobook.js in a new tab. This is where you can install Javascript codes such as Twinkle. (NOTE: This assumes that you are using the "Monobook" skin. If you have selected another skin in your preferences, please let me know, as you'll have to go to a different page.)
- Copy the code below into the monobook.js page.
importScript('User:AzaToth/twinkle.js');
- Save the page.
- Bypass your browser's cache by following the directions for your browser here.
- Go to Main Page.
If the script installed correctly, you should see a bunch of extra tab buttons at the top of the page. This is Twinkle.
Each of the tabs you see allows you to take a different action on the page you are viewing. For the most part, we're only going to deal with one tab right now - the other function we'll be using is reached through the diff screen.
Go back to my vandalism sandbox and click on the page history. Now we're going to revert things the Twinkle way.
- Click on the top-most "(last)" link. This should now correspond with the edit you made to the page a few minutes ago.
- In addition to all the usual stuff you see on a diff screen, now you've got more buttons! These buttons are the Twinkle version of rollback. On the left, you'll see a brown "Restore this version" link. This will undo all edits back to that edition of the page. This shouldn't be used too often, although may be necessary if multiple vandals hit a page all at once. The ones you'll be dealing with are on the right side. There are three forms of rollback within Twinkle. All three work essentially the same way, and identically to the actual rollback feature I mentioned before. The difference between the three is the edit summary left by the script. For what you know is vandalism, click the red button only. If you're pretty sure the editor made a genuine mistake, but it still needs to be removed, then click the "AGF" button (stands for Assume Good Faith). The blue button in the middle generally won't be used, but it goes neither direction (does not assume good or bad faith). The below image shows an example of these extra Twinkle buttons:
- Now, to revert the last edit(s), click the red button (we'll be treating the last editor as a vandal just for this demonstration). A page will load and begin spitting out a bunch of lines of text, telling you what the script is doing.
- Sometime during the script's running, it will open a new tab or window. This new screen will have the last editor's talk page open for editing. This is so that you can give the vandal a warning.
- At the top of your talk page (in the new window), you'll see a small tab that says "warn", which should appear right next to "watch/unwatch". Click on this now (don't worry, you won't be giving the person a warning!)
- A blue box should appear. This form allows you to select a warning message to issue to the vandal. After you vandal-revert someone, the form will have some information already filled in for you. Leave this alone. What you are interested in are the two menus up top. The first one allows you to select the level of warning to issue. For a first-time vandal edit, you should usually select a "General Note (1)" warning. If the vandal has been given warnings previously, you can go to the next highest level they haven't been given yet. (If the last warning was a level 2, the next should be level 3, and so forth). In the second box, choose the most appropriate reason for the reversion and warning. "Vandalism" is rather general and vague, but sometimes is the best to issue. DO NOT CLICK SUBMIT (since it was just test vandalism. if you accidentally submit, make sure to revert yourself immediately). When you are done looking around, close the menu by clicking the red X.
Other functions of Twinkle allow you to report vandals to administration for blocking, mark or propose pages for deletion, request protection of a page, and more. We can get into these more later - the reporting function will be handled in the next vandalism lesson.
When using Twinkle, be very careful about what you are doing and why. Twinkle is a very powerful tool, and because of this, it creates a great potential to cause great damage. You are responsible for each and every of your actions even when using semi-automated tools such as Twinkle. Misuse of this tool, intentional or otherwise, can and will result in a block. You should not use the functions of this script until you understand how to do so. These will be explained to you in time. Even for those functions you do know how to use, if you are ever in doubt about what action to take in a situation, just don't take it. On patrol, there is always a more experienced editor just seconds behind you, so it'll be taken care of. As you do patrol, you'll become more and more confident about what it and what is not vandalism, and our next lesson on vandalism deals with those other kinds. Until then, good luck going on patrol! Please let me know as soon as possible if you have any questions. Happy editing as always.
Note regarding users removing vandalism warning templates from their talk page
Please note that the current policy states that users are allowed without penalization to remove vandalism warnings from their user talk pages, doing so is taken as confirmation that they have read the warning template. Do not attempt to re-add a warning template that a user has removed, as this can be considered harassment.
The assignment
Answer these questions on my talk page or your adoption subpage:
- What is vandalism?
- List 3 situations where a edit which could be considered vandalism, may not actually be vandalism.
- What are obvious indicators of a vandalism edit while watching recent changes?
- How do you revert vandalism?
- What warning template would you use if a user removed or blanked all the content from a page?
- What warning template would you use if a user add the words "i really hate wikipedia!" to an article?
- What warning template would you use if a user added the words "TEST...BLAH BLAH BLAH" to an article or talk page?
- How do you add an article to your watchlist?
- If you misuse tools such as Twinkle, what could happen?
Vandalism 1.2
Alright, now we step into a realm that may not be as much fun as dealing with the occasional vandal, but instead one who continues to vandalize, make attacks against you, and whose only intent is to harm wikipedia.
You occasionally get the repeat vandal. The vandal who is here, not because he is bored and has nothing better to do, but because he has a singular purpose of wreaking as much havoc as he can before he gets blocked. These vandals go in and remove entire sections of text, or replace entire pages with gibberish repeatedly. Even after you've given them a warning, they ignore it and continue. It is for these vandals we have multiple levels of warnings. Most of the warning templates come in four levels: (following from WP:UTM)
- Level 1 - Assumes good faith. Generally includes "Welcome to Wikipedia" or some variant. ({{uw-vand1}})
- Level 2 - No faith assumption ({{uw-vand2}})
- Level 3 - Assumes bad faith; stern cease and desist ({{uw-vand3}})
- Level 4 - Assumes bad faith; strong cease and desist, last warning ({{uw-vand4}})
In general, you will escalate up those levels from 1 to 4 as the vandalism continues. If it's nothing clearly malicious (see below), you should always assume that it was a careless mistake (in short, assume good faith, one of Wikipedia's foundation principles), and just let them know that you fixed it. As it continues, it becomes more and more obvious that they intend to cause trouble, so the warnings get more and more stern. Occasionally, you'll get the vandal, who despite all logical reasoning, continues to vandalize after that final warning. When this happens, we have no choice left but to block them. Since you're not an administrator, you lack this ability, so you must report them to those with that power at Administrator intervention against vandalism. That page provides complete instructions on how to file a proper report. If you have installed Twinkle, you can report a user to this page by clicking the "arv" tab at the top of any of their user pages. Usually, an administrator will take action within minutes, but until that happens, you need to continue watching the vandal's contributions and reverting any further vandalism. The Three-revert rule does not apply when dealing with clear and obvious vandalism.
Then you get the belligerent vandal. This is very similar to the last kind, although they actually take the time to read the warnings and take offense. They go by the logic that anyone can edit Wikipedia, so who are you to tell them that they can't edit in this particular way? To make this rather annoying point, they will leave an offensive message on your talk page, or more often simply add some sort of vandalism to your main user page, which you generally won't notice for several more minutes, or days, if someone else reverts it first.
When this happens, particularly that last version (although those are exceedingly rare), you just have to take it in stride, and remember that you are far more intelligent than them because you actually stop to read information instead of blanking it away, and thus the human race still has some hope for salvation. Just revert it, and slap them a {{uw-npa}} warning of whatever severity you deem necessary. The last version got a {{uw-npa4im}} warning, an "only warning" for the most severe offenses, and I still reported him straight off anyway.
The final version is the malicious vandal. These are hardest to notice, because their edits aren't immediately recognizable. They will seem to be improving the article at first glance, when really they're replacing true information with false, often libelous parodies. Others replace valid links with shock sites, or add hidden comments with offensive information. This last version doesn't actually appear in the article, but is there waiting when someone comes to edit it. A similar type of vandal, the "on wheels" vandal, is here for the sole purpose of destroying the encyclopedia. The namesake, Willy on Wheels, replaced dozens of pages with the text "{{BASEPAGENAME}} has been vandalized by User:Willy on Wheels!" The BASEPAGENAME variable is a magic word that displays the name of the page. After his blocking, Willy continued to create hundreds of sockpuppets for the same purpose. He also persistently moved pages to "PAGENAME on Wheels!" A similar prolific pagemove vandal is known as "Grawp" and moves pages to a much more vulgar-sounding location, often involving some mention of his "male equipment". This sort of vandal is clearly here to vandalize, as such actions are not accidental. With them, you can safely assume bad faith right from the start and slam them with a more severe warning and immediately report to WP:AIV. No, you don't have to escalate. The "4im" level is designed for initial cases of severe vandalism, an only warning to cease and desist.
Keep an eye out for all of these vandals, and keep that information in mind when stopping them. There is a full customized range of warning templates to be found at WP:UTM (and most are included with Twinkle) - use the most specific one possible, so that the vandal, if he did make a simple mistake, has the links at hand to learn from his mistake and improve. Any questions, please put them on the my talk page or your adoption subpage.
The assignment
Perform some recent changes patrols, locate and revert vandalism, then give the vandal the appropriate level of warning. If you are unsure the edit you are reverting is vandalism, then do not revert it! If you come across a vandal who needs attention from myself or another admin, leave me a message, report them to AIV, or for more complex situations, leave a note on WP:ANI with a clear explanation of the situation. Remember if the user vandalizes after a final warning, make sure to report them at WP:AIV. Good luck, let me know when you have completed more than 30 reverts and made at least 3 AIV reports.
Wikimarkup 101
So by now you know how to edit pages, one of the most important features of Wikipedia. The interesting bit, however, is getting things to look, well, interesting. There are a number of different bits of code that you can use in your editing to create different effects when the page is saved - they can be as simple as bold text or italics, but different bits of code can be combined to make a very appealing layout.
I should warn you that in most cases, special formatting is frowned upon in articles. It should only be used in certain situations, and when it is necessary to illustrate a particular point. Aside from those cases, text in articles should be just as you see it in this sentence - plain black, with only the occasional wikilink to spice things up.
Here, I'm going to show you what each of the buttons on your editing toolbar does and how to use the particular bit of code it produces. There are rather a lot of them, so what I'm going to do first is show you where you can go to test all this out while you're reading. There are two places: you can go to the main sandbox that everyone uses at Wikipedia:Sandbox. This is a special page that is cleaned out every so often automatically, that gives editors a place to play with new code and vandals a place to vandalize other than our articles. The only problem with the sandbox is this: Whatever you save there isn't likely to stay for long, and there is a high chance of you getting hit with a few edit conflicts. So, to avoid that, you can create your own sandbox! On Wikipedia, you are able to tack "subpages" onto your main user page to use for testing things out, writing new articles, or other projects like what we're doing here. This page (User:Xeno/wikiadopt) is a subpage of User:Xeno, and the header of this page (User:Xeno/wikiadopt/header) is a subpage of that subpage. You can create user subpages by searching for the page you want to create in the search box. It won't find it, of course, however a red link will appear at the top of the page. Click on that, and edit away! For example, try searching for User:Xenocidic/Example and creating it (don't save it, though).To make your sandboxes, we're going to skip a few steps. This is a handy little box that we can use to start making a new page. Replace the word "YOURUSERNAME" below with your user name ("Xenocidic", for example) and click the button. It will bring you to your own personal sandbox, which you can start using right away.
Now that you have somewhere to test all this code out in, let's start showing you what all it does. Here we go!
Toolbar Button |
What it does | The code it makes | Short description | What it looks like | Notes |
---|---|---|---|---|---|
Bold text | '''Bold text''' | Three apostrophes (') on either side of the bold text | Bold text | The title of an article is always in bold the first time you see it. | |
Italic text | ''Italic text'' | Two apostrophes (') on either side of the italic text | Italic text | ||
Internal, or "Wiki" link | [[Link Title]] | Two square brackets on either side of the link | Link Title OR Wikipedia OR User:Xeno/wikiadopt | Pages that do not exist appear in red (Hence the name "red link"), blue if they do exist, and in bold if they link to the page they are on. | |
Internal link, but this time with a twist | [[Link Title|displayed text]] | An internal link, with a pipe (usually found under the backspace) separating the title and the text to be displayed | The free encyclopedia | By inserting a pipe, you can make different text appear. Clicking on the link to the left will bring you to Wikipedia. | |
External link | [http://www.example.org link title] | A single square bracket on either side of the URL and title. The URL and link title are separated by a space. | link title | The arrow you see indicates an external link. Other symbols represent other types of pages: A lock for an https:// or "secure" site, an Adobe PDF logo for .pdf extensions, a smiley-face speech bubble for irc:// channels, among others. | |
Level 2 section heading | == Headline text == | Two equals signs on either side of the headline. | To avoid breaking the Table of Contents, I will not demonstrate this here. The heading with your username is a level 2 header, and the heading above this table (Wikimarkup 101) is a level 3 (=== level 3 ===) | Lower-level headers can be created with more equals signs. Only one equals sign on either side makes a level 1, usually only found in the title of the page. Level 2 headers are most common, and levels 3 and lower allow more specific divisions. | |
Insert image | [[File:Bad Title Example.png]] | Exactly the same as an internal link, however the pipe works differently. The Image: prefix and .jpg (or whatever) extension MUST be present. | The image size, framing, location, and captioning can all be controlled using the pipe character mentioned before. The most common application is [[File:Bad Title Example.png|thumb|caption here]], which produces a captioned thumbnail as you see in the picture of the toolbar above. Further settings are described in Wikipedia:Extended image syntax. | ||
Insert media | [[Media:Example.ogg]] OR [[Image:Example.ogg]] | Exactly the same as an internal link, however pipes should not be used. The "Media:" OR "Image:" prefix and ".ogg" extension MUST be present. | Media:Example.ogg OR | Sound files are always in .ogg format, for reasons we'll get to later on. Don't worry if you've never heard of it before, the MediaWiki software features a built-in player, which you can get to appear by using the "Image:" prefix instead of "Media:". It doesn't make any sense to me, but that's how it works. | |
Mathematical formula | <math>Insert formula here</math> | Two math "tags", a technical term (not really) for two angle brackets surrounding the word "math". A closing tag is indicated with a slash. | This gets super-complicated and math formulas are only used on a limited number of articles anyway, so I won't go into too much detail. If you really want to play with it, there's an index of character codes at Help:Math. If these formulas do not display properly, please let me know. | ||
Ignore wiki formatting | <nowiki>[[Insert]] '''non-formatted''' ''text'' here</nowiki> | Two "nowiki" tags. | [[Insert]] '''non-formatted''' ''text'' here | This code I've been using throughout the table to show you the code. Any wikimarkup inside a nowiki tag is ignored and displayed as written. | |
Signature with time stamp | --~~~~ | The operative bit of the code is four tildes (that squiggly bit next to the 1 key). The two dashes don't do anything. | Xeno (talk) 08:45, 15 April 2008 (UTC) | Three tildes (top) only display your signature. Four tildes (middle) show your signature with a timestamp, and are most commonly used. Five tildes (bottom) give only the timestamp. | |
Horizontal line | ---- | Four dashes. |
|
Please use sparingly. | |
Buttons shown below this line are only used on Wikipedia. While the code will do the same thing on other wikis, you may not see a button for it on your toolbar. | |||||
Create a redirect | #REDIRECT [[Insert title]] | The phrase "#REDIRECT" followed by a wikilink to the target page. | Preview "Acidic", a redirect page | Redirects are intended to correct spelling and capitalization mistakes in searches (since the search sucks) and reduce confusion over related terms. Any link to a redirect page will send you instead to the target - for example, click on Acidic and see where it takes you. WARNINGS: The code must be on the first line of a page to operate. Also, NEVER redirect to a redirect. This creates a "double redirect", which can screw up the server, your browser, and your brain, if you're the one trying to search for something. | |
Strike-through text | <s>Strike-through text</s> | This is one of the few active HTML tags. It's two "s" tags around the text. | This is usually used when someone is retracting a comment they made in a discussion or talk page, but wishes to leave the comment visible as a matter of record. Note that even if something is removed on Wikipedia, you can still find it in the history. | ||
Line break | Before<br />After | Again, an HTML tag. A single tag with two variations: <br> or <br />. I haven't been able to find any difference between the two. | Before After |
Useful on Wikipedia because simply hitting "Enter" doesn't work. You have to hit enter twice to make a new paragraph, or use this to knock it down a line. | |
Superscript | x<sup>3</sup> | HTML "sup" tags | x3 | Not much to say here. This is NOT what you use to make footnotes, though. That button comes later. This also doesn't work in math formulas, so don't try it. | |
Subscript | H<sub>2</sub>O | HTML "sub" tags | H2O | See above. | |
Smaller text | <small>Small Text</small> Big text | HTML "small" tags | Small Text Big text | Nothing to say here either. | |
Comment | <!-- Comment --> | Same as the HTML code for comments. Angle bracket, exclamation point, two dashes, your comment, two dashes, closing angle bracket. | Note how nothing appeared in that box. There is something there, it just didn't print. These are usually used to leave unobtrusive messages to editors about articles. For a funny example of a comment in action, go to Madness and click the edit button. | ||
Picture gallery | <gallery> Image:Example.png|Caption1 |
Two "gallery" tags, which enclose a list of images to be included in the gallery. Captions can be added by inserting a pipe after the image name, followed by the caption. | Demonstration not possible here. Click the link to the left to see an example. | Galleries are a way to show several pictures in an article without cluttering them up, but they have been criticized for being "tacky," and really should be used sparingly. | |
Quoted text (appears indented) | other text<blockquote> abc |
Two "blockquote" tags around the quote | other textother text |
Should be used for extended quotes. If you use this, make sure to provide a source for the quote, and to use direct quotes as little as possible to avoid copyright infringement. | |
Insert table | {| class="wikitable" |- |
Table syntax is complicated, and we'll cover that later on. | This is a table. | Like I said, we can cover this in a separate lesson if you want. It's not something I'm going to require. | |
Add a reference (footnote) | blah blah<ref>Reference</ref> | Two "ref" tags around the reference text. | blah blah[1] | References are displayed using the code <references />. There's a fancy bit of coding you can do to make the same reference appear multiple times, demonstrated in the second line. By adding a name="blah" parameter to the first instance of a reference, you can make the same reference appear more than once. I have these footnotes displayed below the table so you can see how they appear. | |
Add a duplicate reference | blah blah<ref name="copy">Duplicate</ref> blah blah<ref name="copy"/> | The duplicate reference has a slash at the end of the tag. | blah blah[2] blah blah[2] |
The references
(That was a level 4 header, with four equals signs)
Other stuff
You can make lists and indents by adding characters to the beginning of a paragraph, like so:
A space before your paragraph will make the paragraph display in a box with machine font, and will cause it to run off the page if it is long enough.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
A colon (:) will cause a block indent, with all lines starting away from the edge of the page.
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
An asterisk (*) will make a bullet.
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
A pound or number sign (#) makes a numbered list.
- First item
- Second item
You can mix and match the last three characters to get several different effects. The only caveat, though, is that you must have a continual line of #'s in order to maintain the numbering. This does not mean, however, that the numbered list has to be displayed at all times. See below for an example:
This code | Produces this |
---|---|
:Lorem
|
Adipisicing
|
Note that you don't have to hit enter twice when starting a new line from one of these types of paragraphs. However, when you don't use them, you do. Those last two sentences are on a different line from this one in the editing box, but there is no line break when they are displayed.
That's all I have for now. Please let me know what questions you have, although try playing with the code in your sandbox first.
The assignment
Create a sandbox or subpage and just play around. Show me that you know all the stuff that I taught in the lesson above. Just have fun with it. :p
These lessons were copied from Xeno who adapted them from Steve Crossin, who took them from Tiptoety, who took them from Hersfold (all with persmission). Last updated August 2008 - inaccuracies due to changes may exist.