- reorganized repository to match standard layout
diff --git a/doc/jsoncpp.dox b/doc/jsoncpp.dox
new file mode 100644
index 0000000..5463463
--- /dev/null
+++ b/doc/jsoncpp.dox
@@ -0,0 +1,90 @@
+/**

+\mainpage

+\section _intro Introduction

+

+<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>

+ is a lightweight data-interchange format. 

+It can represents integer, real number, string, an ordered sequence of value, and

+a collection of name/value pairs.

+

+Here is an example of JSON data:

+\verbatim

+// Configuration options

+{

+    // Default encoding for text

+    "encoding" : "UTF-8",

+    

+    // Plug-ins loaded at start-up

+    "plug-ins" : [

+        "python",

+        "c++",

+        "ruby"

+        ],

+        

+    // Tab indent size

+    indent : { length : 3, use_space = true }

+}

+\endverbatim

+

+\section _features Features

+- read and write JSON document

+- rewrite JSON document preserving original comments

+

+\code

+Json::Value root;   // will contains the root value after parsing.

+Json::Reader reader;

+bool parsingSuccessful = reader.parse( config_doc, root );

+if ( !parsingSuccessful )

+{

+    // report to the user the failure and their locations in the document.

+    std::cout  << "Failed to parse configuration\n"

+               << reader.getFormatedErrorMessages();

+    return;

+}

+

+// Get the value of the member of root named 'encoding', return 'UTF-8' if there is no

+// such member.

+std::string encoding = root.get("encoding", "UTF-8" ).asString();

+// Get the value of the member of root named 'encoding', return a 'null' value if

+// there is no such member.

+const Json::Value plugins = root["plug-ins"];

+for ( int index = 0; index < plugins.size(); ++index )  // Iterates over the sequence elements.

+   loadPlugIn( plugins[index].asString() );

+   

+setIndentLength( root["indent"].get("length", 3).asInt() );

+setIndentUseSpace( root["indent"].get("use_space", true).asBool() );

+

+// ...

+// At application shutdown to make the new configuration document:

+// Since Json::Value has implicit constructor for all value types, it is not

+// necessary to explicitely construct the Json::Value object:

+root["encoding"] = getCurrentEncoding();

+root["indent"]["length"] = getCurrentIndentLength();

+root["indent"]["use_space"] = getCurrentIndentUseSpace();

+

+Json::StyledWriter writer;

+// Make a new JSON document for the configuration. Preserve original comments.

+std::string outputConfig = writer.write( root );

+\endcode

+

+\section _plinks Build instructions

+The build instruction are located in the file 

+<a HREF="README.txt">README.txt</a> in the top-directory of the project.

+

+Permanent link to the lastest revision of the file in subversion: 

+<a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">lastest README.txt</a>

+

+\section _plinks Project links

+- <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a>

+- <a HREF="http://www.sourceforge.net/projects/jsoncpp">json-cpp sourceforge project</a>

+

+\section _rlinks Related links

+- <a HREF="http://www.json.org/">JSON</a> Specification and alternate language implementations.

+- <a HREF="http://www.yaml.org/">YAML</a> A data format designed for human readability.

+- <a HREF="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</a>.

+

+\section _license License

+The json-cpp library and this documentation are in Public Domain.

+

+\author Baptiste Lepilleur <blep@users.sourceforge.net>

+*/