Rosetta Code:Add a Language: Difference between revisions

Deleted instructions for creating pages that UnderBot now creates.
(→‎Category Page: This "Ayrch" stuff is becoming a common mistake)
(Deleted instructions for creating pages that UnderBot now creates.)
Line 5:
''Notice that, for the purpose of instruction, we call the language "Ayrch", but that's almost certainly not going to be the name of the language you're adding; Replace "Ayrch" with the name of your language.''
 
==Prerequisites==
 
For inclusion on Rosetta Code, the requirements are reasonable: There should be an existing implementation of that language that is either mature or, at the very least, under active development. Language notability is unimportant; if the number of languages on the site grows enough to require distinction, they can be differentiated by example coverage.
 
==Basic Information==
 
These are the bits that should be done for every language.
 
===Category Page===
 
Once you're sure the language doesn't already have a page on Rosetta Code, you'll need to create a category page for the language. Let's say you're adding a language called Ayrch ('''This is a hypothetical language name,; please change it to your actual language name when you actually add your langauge.'''). The first thing you need to do is create the category page. The easiest way is to click on the Search field on the left, type '''Category:Ayrch''', and click Go. It will tell you there is no current page with that name. Click "create this page", and it will give you an empty page to edit.
 
One simple way to start is to make this the entire body of the page:
Line 23:
That will automatically give you a basic language page, and even a nice little stub notification reminding people who visit to fill in more information.
 
===Redirect===
 
The next step is to create a redirect page. This is important, because the ''actual'' page for your Ayrch language is at '''http://rosettacode.org/wiki/Category:Ayrch''', and we want people to be able to go to '''http://rosettacode.org/wiki/Ayrch''', and be able to use syntax like <nowiki>[[Ayrch]]</nowiki> within the wiki to refer to it.
Line 35:
Now, when anyone goes to the Ayrch page, they will be immediately redirected to the category page for Ayrch.
 
===Examples===
 
''You're not done yet!''
Line 50:
 
<pre>
==={{header|Ayrch}}===
<lang ayrch>PRINT "GOODBYE, WORLD!"</lang>
</pre>
Line 56:
That's a very simple example; You might try adding some descriptive information before the <nowiki><lang></nowiki>, such as what compiler it works with, or perhaps some interesting information of how Ayrch does things differently from other languages. Whatever helps to illustrate the language and identify what makes this example interesting.
 
==More Advanced==
==Unimplemented Tasks==
 
Rosetta Code has the ability to automatically generate a list of all of the tasks for which nobody has offered a solution in a given language. In order to activate this feature, you need to create the relevant page.
 
You need to create the page '''Reports:Tasks not implemented in Ayrch'''. You can use the search field to navigate to the page, or you can navigate to the category page you created earlier, find the red link that says '''unimplemented tasks''' and click on it. Create the page, and drop this in the body (adjusted for your language, of course):
 
<pre>
{{unimpl_Page|Ayrch}}
</pre>
 
=More Advanced=
These aren't strictly necessary, but are generally a plus if you want to increase awareness and penetration of your language on the site.
 
===User Boxes===
You created a user page before doing your edits, didn't you? You don't have to, but it generally helps in identifying who created and contributed what.
 
Line 97 ⟶ 87:
If you just copy and paste that, you'll probably get the idea fairly quickly.
 
===User list pageImplementations===
 
Create the page <code>Category:Ayrch User</code> with the content <code><nowiki>{{</nowiki>langgroup|Ayrch}}</code>. This page will automatically be linked from <code>Category:Ayrch</code>, and will list everyone who lists Ayrch on their user page using [[Template:Mylang]].
 
==Implementations==
 
A language is only theoretical until it has an implementation. An implementation might be a compiler, an interpreter, or even a piece of silicon. It helps users tremendously if they can find implementations of the language you're trying to show them. One good way to do that is to create an implementation page.
Line 111 ⟶ 97:
That's a start, but if you're this far, then you can go a step or two beyond that. Instead of using <nowiki>{{stub}}</nowiki>, give a couple lines of description about the implementation, and, preferably, a link to the official page for the implementation.
 
==Conclusion==
 
If you've done all that, there's only one more thing you really ought to do: Get more people familiar with your language to fill in more tasks. Remember that page you created for "Unimplemented Tasks"? Pass that around to interested parties, and things will generally start happening.
845

edits