@@ -1,1 +1,55 @@ + 1. Blank lines are paragraph breaks + 2. Bullet list items are a "*" at the beginning of the line. + 3. Enumeration list items are a number at the beginning of a line. + 4. Indented pargraphs begin with a tab or two spaces. + 5. Hyperlinks are contained with square brackets: "[target]" + 6. Most ordinary HTML works.<a> <address> <b> <big> <blockquote> <br> <center> <cite> <code> <dd> <dfn> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <img> <i> <kbd> <li> <nobr> <ol> <p> <pre> <s> <samp> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul> <var> + 7. <verbatim> and <nowiki>. + + +<h1>Documentation outline</h1> +The documentation for fossil needs to be divided into these main sections: +* <cite>[Tutorial]</cite> +* <cite>[Cookbook]</cite> +* <cite>[Reference]</cite> +* <cite>[Developer Guide]</cite> + +<h2>Tutorial</h2> +The tutorial portion is the hand-holding portion that takes a new user through +the steps of getting, building and using fossil. Fossil's terms should be +defined here and basic workflow established. Ideally a sample project should +be used to show fossil in use and give the user something to type to magically +have fossil do cool stuff. + +<h2>Cookbook</h2> +The cookbook is a task-oriented portion (likely one that's ever-expanding as +fossil is increasingly developed and honed) designed for a user who has basic +skills in using fossil (like, say, me) but isn't familiar with all the fancier +aspects of it and the inobvious workflows that it supports. Each "recipe" (use +case) in the cookbook should follow a format with these following points: +* Succinct problem statement. +* Detailed statement of problem and motivation for solution. +* Detailed instructions (<em>no discussion!</em>) for implementing the solution. +* Discussion of the solution including, if applicable, pitfalls and +alternatives. + +<h2>Reference</h2> +The reference is self-explanatory. Basically take everything from <code>fossil +help *</code> and put it here. However, the terseness of <code>fossil +help</code>, while good for a quick reminder at the command line, is not +suitable for "real" documentation. Ideally each documented element in the +reference should have a full explanation, including links to related items, as +well as <em>examples</em>. (This has been what's killing me with grokking some +aspects of fossil: I just can't figure out what they do!) +<h2>Developer Guide</h2> +It is inevitable that people will want to start building third-party tools that +interface with fossil as fossil gets more widely adopted and more mature. We +might as well head off the inevitable and let developers have the information +they need without tearing apart the source to get to it. This would include +things like: +* any APIs it would be reasonable to expose +* a current, up-to-date database schema +* notes on inner workings (already supplied, but might need dusting off and +TLC) +* anything else we can think of (Lua/Tcl/whatever bindings?)