title: Integrating notebooks to Mathematica's documentation center
body: <p>If you have been using <em>Mathematica</em> for a while you probably have grown attached to the documentation center. There is always something new that you find in those pages. Let it be options for a function or just some examples that at some point did not seem useful to you.</p>
  
  <p>It is likely that you have written packages with your specialized functions that you use all the time. Sometimes you might think of a neat example to use with your function but it is likely that it ends up being forgotten somewhere in your hard disk. If you had written it to the documentation at the moment you thought of it maybe you wouldn't be looking for it desperately later on.</p>
  
  <p>For this reason I would like to know how to integrate documentation for your own functions with <em>Mathematica's</em> documentation center programmatically. This question is here to explore how to adapt documentation. If you have written scripts that help you do this, please share it with the community.</p>
  
  <p>Wolfram's Workbench is not an acceptable solution for this question. Everything must be done with the plain installation of <em>Mathematica</em>. There is a couple of points that the solution should cover:</p>
  
  <ol>
  <li>Creating documentation for a function (Preferably a template).</li>
  <li>Creating guides and tutorials (If they are deem useful).</li>
  <li>Linking the notebooks to the documentation center.</li>
  <li>Creating "usage" messages that display correctly in different enviroments.
  
  <ul>
  <li>In Mathematica Notebook <code>?Symbol</code></li>
  <li>In Documentation Center <code>Search: Symbol</code></li>
  </ul></li>
  </ol>
  
  <p>This is a really broad topic, I have solutions for 1, 2, and 3. I'm missing point number 4. So tell us, how do you document your functions with the documentation center?</p>
  
  <hr>
  
  <h3>Update</h3>
  
  <p>I have added another answer. Hopefully this answer is more encouraging to users of Mathematica to write documentation pages with their packages. I think that writing documentation pages is beneficial to the application writer as well as the users of the application. If you download the package I wrote I suggest you follow the tutorial so that you can see what happens in every step. This will give you valuable experience for future projects.</p>
  
  <h3>Github (May 24, 2014)</h3>
  
  <p>Since I wrote the package there has been several people interested in this package. I have uploaded the package to Github: <a href="https://github.com/jmlopez-rod/ApplicationMaker" rel="noreferrer">https://github.com/jmlopez-rod/ApplicationMaker</a>. Please contact me if you would like to be a contributor to the repository.</p>