diff --git a/ContributingCode.wiki b/ContributingCode.md
similarity index 65%
rename from ContributingCode.wiki
rename to ContributingCode.md
index 715abdf..cd6b57b 100644
--- a/ContributingCode.wiki
+++ b/ContributingCode.md
@@ -1,27 +1,24 @@
-#summary Guidelines for contributing code to Melange
-#labels Contents-Complete,Phase-Guidelines,Importance-Useful
+The [Melange project](MelangeIntro.md) welcomes code changes from everyone.
 
-The [MelangeIntro Melange project] welcomes code changes from everyone.
+## Contributor License Agreement
 
-== Contributor License Agreement ==
+**You must [sign a Contributor License Agreement](ContributorLicenseAgreements.md)
+before we can accept your contributions.**
 
-*You must [ContributorLicenseAgreements sign a Contributor License Agreement]
-before we can accept your contributions.*
+## Drafting Your Change
 
-== Drafting Your Change ==
-
-Please conform to [PythonStyleGuide Melange's Style Guide] when making
+Please conform to [Melange's Style Guide](PythonStyleGuide.md) when making
 your change. If your change is of sufficient complexity to warrant
 changed or additional test coverage, please change or add tests in
-accordance with [TestingGuidelines Melange's testing guidelines].
+accordance with [Melange's testing guidelines](TestingGuidelines.md).
 
-== Committing Your Change ==
+## Committing Your Change
 
 Any change to Melange requiring less than a day of work should be
 proposed in the form of one or more commits. When creating a commit,
 please deliberately author all three aspects of the commit.
 
-=== Commit Content ===
+### Commit Content
 
 The number of changed files and number of changed lines in your commit
 should be as small as possible. There should be no extraneous or
@@ -29,11 +26,11 @@
 `git diff`, and `git checkout` will help you create a commit
 containing just the content changes that you intend to include.
 
-=== Commit Metadata ===
+### Commit Metadata
 
 Commit log messages should be styled in the following manner:
 
-{{{
+```
 One line under 70 characters summarizing the change.
 
 After a blank line, a more detailed paragraph explaining the
@@ -44,14 +41,14 @@
 If necessary, additional paragraphs affording more information,
 also wrapped at 70 characters and separated from one another by
 single blank lines.
-}}}
+```
 
 Commit log messages should follow a "what, then if necessary, why,
 and if further necessary, how" rule for their content: the commit
 log message should first describe the content of the change. Then, if
 not clear from the context of the change, the commit log message
 should state the reason for the change (for example, if the change
-fixes issue 15, the log message might say "Fixes issue 15.").
+fixes issue 15 (on Google Code), the log message might say "Fixes issue 15 (on Google Code).").
 Lastly, if the means by which the change was made is not apparent
 from the context of the change (for example, if the change was made
 by running some tool over the entire codebase rather than by manual
@@ -62,54 +59,56 @@
 change and when it was made. Author and committer fields should be
 of the form:
 
-{{{
+```
 "FirstName LastName <somebody@example.com>"
-}}}
+```
 
 The commit's Date and Commit Date fields should be accurate.
 
-=== Provenance ===
+### Provenance
 
 Because integrating a git commit means integrating every commit from
 which it is descended, good changes should not be made "on top of"
 bad changes. New commits should be given
-[http://code.google.com/p/soc/source/list?num=300 the head of Melange's master branch]
+[the head of Melange's master branch](http://code.google.com/p/soc/source/list?num=300)
 as their parent commit unless some particular complexity germane to
 the change being made requires some other commit (or commits) to be
 chosen as parent(s) of the new commit.
 
-== Code Reviews ==
+## Code Reviews
 
 All code incorporated into Melange's codebase must first pass code
 review conducted by a Melange committer.
 
-=== Requesting A Code Review ===
+### Requesting A Code Review
 
-*Remember to check and double-check that all tests pass before asking for a code review.* Asking for review of code that does not work is considered unmannerly.
+**Remember to check and double-check that all tests pass before asking for a code review.** Asking for review of code that does not work is considered unmannerly.
 
-Please push your commit to our [[Gerrit]] instance.
+Please push your commit to our [[Gerrit](Gerrit.md)] instance.
 
 A Melange committer will conduct a review of your code, typically
 within two or three days.
 
-=== Responding To A Code Review ===
+### Responding To A Code Review
 
 Typically the reviewer will ask several questions during the course
 of the review; respond to these questions in a reply message. If
 appropriate, push a revised version of your commit for further review.
 
-*Contributions by first-time contributors typically go through several
-rounds of review.* We hope you both learn from and enjoy the process.
+**Contributions by first-time contributors typically go through several
+rounds of review.** We hope you both learn from and enjoy the process.
 
-=== After Code Review ===
+### After Code Review
 
 After you have created a commit that is suitable for inclusion in
 Melange, a Melange committer will commit the change to
-[http://melange.googlesource.com/soc Melange's master branch].
+[Melange's master branch](http://melange.googlesource.com/soc).
 Congratuations!
 
-----
+
+---
+
 _Copyright 2014 Google Inc._
 _This work is licensed under a_
-[http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html Creative Commons Attribution 2.5 License].
-[http://creativecommons.org/licenses/by/2.5/ http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png]
\ No newline at end of file
+[Creative Commons Attribution 2.5 License](http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-attribution-2_5.html).
+[![](http://soc.googlecode.com/svn/wiki/html/licenses/cc-by-2_5-88x31.png)](http://creativecommons.org/licenses/by/2.5/)
\ No newline at end of file
