Permalink
Browse files

Updated zotonic source code for edoc support.

This addresses issue #149.

Changes include:
 - Removed invalid @date tag, changed into "Date:"
 - Fixed all docstrings in .erl files in src/
 - Added "zotonic generate-edoc" subcommand
 - Added @hidden tags to all test modules
 - Generate edoc for src/ into doc/core
  • Loading branch information...
1 parent 6b86b50 commit 7404f425f29804d06fa9426c004a978086041f9f @arjan arjan committed Feb 24, 2011
Showing with 11,002 additions and 300 deletions.
  1. +24 −0 doc/core/edoc-info
  2. +43 −0 doc/core/epgsql_pool.html
  3. BIN doc/core/erlang.png
  4. +49 −0 doc/core/erlydtl.html
  5. +58 −0 doc/core/erlydtl_compiler.html
  6. +36 −0 doc/core/erlydtl_dateformat.html
  7. +30 −0 doc/core/erlydtl_dateformat_tests.html
  8. +45 −0 doc/core/erlydtl_deps.html
  9. +19 −0 doc/core/erlydtl_example_variable_storage.html
  10. +59 −0 doc/core/erlydtl_functional_tests.html
  11. +123 −0 doc/core/erlydtl_operators.html
  12. +42 −0 doc/core/erlydtl_parser.html
  13. +19 −0 doc/core/erlydtl_runtime.html
  14. +53 −0 doc/core/erlydtl_scanner.html
  15. +30 −0 doc/core/erlydtl_tests_init.html
  16. +30 −0 doc/core/erlydtl_unittests.html
  17. +35 −0 doc/core/gen_model.html
  18. +57 −0 doc/core/gen_scomp.html
  19. +17 −0 doc/core/index.html
  20. +48 −0 doc/core/iso639.html
  21. +48 −0 doc/core/m_acl.html
  22. +252 −0 doc/core/m_category.html
  23. +103 −0 doc/core/m_config.html
  24. +205 −0 doc/core/m_edge.html
  25. +216 −0 doc/core/m_identity.html
  26. +154 −0 doc/core/m_media.html
  27. +54 −0 doc/core/m_modules.html
  28. +48 −0 doc/core/m_persistent.html
  29. +134 −0 doc/core/m_predicate.html
  30. +54 −0 doc/core/m_req.html
  31. +281 −0 doc/core/m_rsc.html
  32. +40 −0 doc/core/m_rsc_export.html
  33. +47 −0 doc/core/m_rsc_import.html
  34. +86 −0 doc/core/m_rsc_update.html
  35. +65 −0 doc/core/m_search.html
  36. +48 −0 doc/core/m_session.html
  37. +72 −0 doc/core/m_site.html
  38. +119 −0 doc/core/modules-frame.html
  39. +25 −0 doc/core/overview-summary.html
  40. +12 −0 doc/core/overview.edoc
  41. +11 −0 doc/core/packages-frame.html
  42. +198 −0 doc/core/pgsql.html
  43. +42 −0 doc/core/pgsql_binary.html
  44. +216 −0 doc/core/pgsql_connection.html
  45. +42 −0 doc/core/pgsql_datetime.html
  46. +114 −0 doc/core/pgsql_pool.html
  47. +36 −0 doc/core/pgsql_types.html
  48. +37 −0 doc/core/rfc2047.html
  49. +55 −0 doc/core/stylesheet.css
  50. +113 −0 doc/core/z.html
  51. +150 −0 doc/core/z_acl.html
  52. +55 −0 doc/core/z_acl_queue.html
  53. +74 −0 doc/core/z_auth.html
  54. +100 −0 doc/core/z_config.html
  55. +429 −0 doc/core/z_context.html
  56. +121 −0 doc/core/z_convert.html
  57. +41 −0 doc/core/z_datamodel.html
  58. +175 −0 doc/core/z_datetime.html
  59. +250 −0 doc/core/z_db.html
  60. +197 −0 doc/core/z_depcache.html
  61. +140 −0 doc/core/z_dispatcher.html
  62. +81 −0 doc/core/z_dropbox.html
  63. +101 −0 doc/core/z_email.html
  64. +115 −0 doc/core/z_email_bounce_server.html
  65. +34 −0 doc/core/z_email_embed.html
  66. +75 −0 doc/core/z_email_server.html
  67. +36 −0 doc/core/z_gettext.html
  68. +42 −0 doc/core/z_gettext_compile.html
  69. +89 −0 doc/core/z_html.html
  70. +142 −0 doc/core/z_ids.html
  71. +46 −0 doc/core/z_install.html
  72. +41 −0 doc/core/z_install_data.html
  73. +40 −0 doc/core/z_install_defaultdata.html
  74. +36 −0 doc/core/z_installer.html
  75. +48 −0 doc/core/z_lib_include.html
  76. +106 −0 doc/core/z_media_archive.html
  77. +72 −0 doc/core/z_media_identify.html
  78. +74 −0 doc/core/z_media_preview.html
  79. +90 −0 doc/core/z_media_preview_server.html
  80. +69 −0 doc/core/z_media_tag.html
  81. +78 −0 doc/core/z_memo.html
  82. +77 −0 doc/core/z_module_dummy.html
  83. +108 −0 doc/core/z_module_indexer.html
  84. +163 −0 doc/core/z_module_manager.html
  85. +154 −0 doc/core/z_notifier.html
  86. +44 −0 doc/core/z_parse_multipart.html
  87. +58 −0 doc/core/z_path.html
  88. +163 −0 doc/core/z_pivot_rsc.html
  89. +33 −0 doc/core/z_quoted_printable.html
  90. +278 −0 doc/core/z_render.html
  91. +42 −0 doc/core/z_scomp.html
  92. +60 −0 doc/core/z_script.html
  93. +77 −0 doc/core/z_search.html
  94. +94 −0 doc/core/z_service.html
  95. +181 −0 doc/core/z_session.html
  96. +140 −0 doc/core/z_session_manager.html
  97. +173 −0 doc/core/z_session_page.html
  98. +35 −0 doc/core/z_site_startup.html
  99. +40 −0 doc/core/z_site_sup.html
  100. +105 −0 doc/core/z_sites_dispatcher.html
  101. +143 −0 doc/core/z_sites_manager.html
  102. +210 −0 doc/core/z_string.html
  103. +135 −0 doc/core/z_supervisor.html
  104. +55 −0 doc/core/z_tags.html
  105. +122 −0 doc/core/z_template.html
  106. +67 −0 doc/core/z_tracer.html
  107. +113 −0 doc/core/z_trans.html
  108. +108 −0 doc/core/z_trans_server.html
  109. +410 −0 doc/core/z_utils.html
  110. +54 −0 doc/core/z_validation.html
  111. +34 −0 doc/core/z_webmachine_error_handler.html
  112. +35 −0 doc/core/z_xml.html
  113. +75 −0 doc/core/zotonic.html
  114. +46 −0 doc/core/zotonic_app.html
  115. +87 −0 doc/core/zotonic_deps.html
  116. +46 −0 doc/core/zotonic_sup.html
  117. +1 −1 src/behaviours/gen_model.erl
  118. +2 −0 src/dbdrivers/postgresql/test/pgsql_pool_tests.erl
  119. +2 −0 src/dbdrivers/postgresql/test/pgsql_tests.erl
  120. +5 −5 src/dbdrivers/postgresql/z_db.erl
  121. +5 −5 src/erlydtl/erlydtl_compiler.erl
  122. +2 −2 src/i18n/z_gettext_compile.erl
  123. +2 −2 src/i18n/z_trans.erl
  124. +2 −3 src/i18n/z_trans_server.erl
  125. +5 −4 src/install/z_install.erl
  126. +4 −4 src/install/z_install_data.erl
  127. +2 −2 src/install/z_installer.erl
  128. +2 −2 src/models/m_acl.erl
  129. +8 −10 src/models/m_category.erl
  130. +2 −2 src/models/m_config.erl
  131. +9 −9 src/models/m_edge.erl
  132. +3 −3 src/models/m_identity.erl
  133. +5 −5 src/models/m_media.erl
  134. +2 −2 src/models/m_modules.erl
  135. +2 −2 src/models/m_persistent.erl
  136. +3 −3 src/models/m_predicate.erl
  137. +2 −2 src/models/m_req.erl
  138. +3 −3 src/models/m_rsc.erl
  139. +2 −2 src/models/m_rsc_import.erl
  140. +7 −4 src/models/m_rsc_update.erl
  141. +1 −1 src/models/m_search.erl
  142. +2 −2 src/models/m_session.erl
  143. +2 −2 src/models/m_site.erl
  144. +3 −0 src/models/tests/m_rsc_import_tests.erl
  145. +3 −0 src/models/tests/m_rsc_tests.erl
  146. +35 −0 src/scripts/zotonic-generate-edoc
  147. +3 −0 src/support/tests/z_convert_tests.erl
  148. +3 −0 src/support/tests/z_datetime_tests.erl
  149. +3 −0 src/support/tests/z_depcache_tests.erl
  150. +3 −0 src/support/tests/z_dispatcher_tests.erl
  151. +3 −0 src/support/tests/z_html_tests.erl
  152. +3 −0 src/support/tests/z_lib_include_tests.erl
  153. +3 −0 src/support/tests/z_media_preview_tests.erl
  154. +3 −0 src/support/tests/z_notifier_tests.erl
  155. +3 −0 src/support/tests/z_string_tests.erl
  156. +1 −1 src/support/z.erl
  157. +6 −6 src/support/z_acl.erl
  158. +1 −1 src/support/z_acl_queue.erl
  159. +3 −3 src/support/z_auth.erl
  160. +0 −4 src/support/z_config.erl
  161. +22 −30 src/support/z_context.erl
  162. +4 −4 src/support/z_convert.erl
  163. +1 −1 src/support/z_datamodel.erl
  164. +3 −3 src/support/z_datetime.erl
  165. +6 −6 src/support/z_depcache.erl
  166. +9 −24 src/support/z_dispatcher.erl
  167. +1 −2 src/support/z_dropbox.erl
  168. +3 −3 src/support/z_email.erl
  169. +1 −1 src/support/z_email_embed.erl
  170. +5 −4 src/support/z_email_server.erl
  171. +7 −7 src/support/z_html.erl
  172. +1 −1 src/support/z_lib_include.erl
  173. +4 −4 src/support/z_media_archive.erl
  174. +3 −3 src/support/z_media_identify.erl
  175. +5 −6 src/support/z_media_preview.erl
  176. +1 −2 src/support/z_media_preview_server.erl
  177. +2 −2 src/support/z_media_tag.erl
  178. +1 −1 src/support/z_memo.erl
  179. +1 −2 src/support/z_module_dummy.erl
  180. +3 −4 src/support/z_module_indexer.erl
  181. +11 −11 src/support/z_module_manager.erl
  182. +0 −3 src/support/z_notifier.erl
  183. +2 −2 src/support/z_parse_multipart.erl
  184. +7 −7 src/support/z_path.erl
  185. +7 −8 src/support/z_pivot_rsc.erl
  186. +16 −2 src/support/z_quoted_printable.erl
  187. +1 −1 src/support/z_render.erl
  188. +2 −2 src/support/z_script.erl
  189. +12 −12 src/support/z_search.erl
  190. +1 −1 src/support/z_service.erl
  191. +3 −4 src/support/z_session.erl
  192. +8 −8 src/support/z_session_manager.erl
  193. +1 −1 src/support/z_session_page.erl
  194. +2 −2 src/support/z_site_startup.erl
  195. +7 −8 src/support/z_sites_dispatcher.erl
  196. +8 −8 src/support/z_sites_manager.erl
  197. +4 −4 src/support/z_string.erl
  198. +1 −5 src/support/z_supervisor.erl
  199. +1 −1 src/support/z_template.erl
  200. +1 −1 src/support/z_utils.erl
  201. +2 −2 src/support/z_xml.erl
View
24 doc/core/edoc-info
@@ -0,0 +1,24 @@
+{packages,[]}.
+{modules,[epgsql_pool,erlydtl,erlydtl_compiler,erlydtl_dateformat,
+ erlydtl_dateformat_tests,erlydtl_deps,
+ erlydtl_example_variable_storage,erlydtl_functional_tests,
+ erlydtl_operators,erlydtl_parser,erlydtl_runtime,erlydtl_scanner,
+ erlydtl_tests_init,erlydtl_unittests,gen_model,gen_scomp,iso639,
+ m_acl,m_category,m_config,m_edge,m_identity,m_media,m_modules,
+ m_persistent,m_predicate,m_req,m_rsc,m_rsc_export,m_rsc_import,
+ m_rsc_update,m_search,m_session,m_site,pgsql,pgsql_binary,
+ pgsql_connection,pgsql_datetime,pgsql_pool,pgsql_types,rfc2047,z,
+ z_acl,z_acl_queue,z_auth,z_config,z_context,z_convert,z_datamodel,
+ z_datetime,z_db,z_depcache,z_dispatcher,z_dropbox,z_email,
+ z_email_bounce_server,z_email_embed,z_email_server,z_gettext,
+ z_gettext_compile,z_html,z_ids,z_install,z_install_data,
+ z_install_defaultdata,z_installer,z_lib_include,z_media_archive,
+ z_media_identify,z_media_preview,z_media_preview_server,z_media_tag,
+ z_memo,z_module_dummy,z_module_indexer,z_module_manager,z_notifier,
+ z_parse_multipart,z_path,z_pivot_rsc,z_quoted_printable,z_render,
+ z_scomp,z_script,z_search,z_service,z_session,z_session_manager,
+ z_session_page,z_site_startup,z_site_sup,z_sites_dispatcher,
+ z_sites_manager,z_string,z_supervisor,z_tags,z_template,z_tracer,
+ z_trans,z_trans_server,z_utils,z_validation,
+ z_webmachine_error_handler,z_xml,zotonic,zotonic_app,zotonic_deps,
+ zotonic_sup]}.
View
43 doc/core/epgsql_pool.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module epgsql_pool</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module epgsql_pool</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+<p><b>Behaviours:</b> <a href="supervisor.html"><tt>supervisor</tt></a>.</p>
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#init-1">init/1</a></td><td>supervisor callback.</td></tr>
+<tr><td valign="top"><a href="#start_link-1">start_link/1</a></td><td>API for starting the supervisor.</td></tr>
+<tr><td valign="top"><a href="#start_pool-3">start_pool/3</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="init-1">init/1</a></h3>
+<div class="spec">
+<p><tt>init(Opts::[]) -&gt; SupervisorTree</tt></p>
+</div><p>supervisor callback.</p>
+
+<h3 class="function"><a name="start_link-1">start_link/1</a></h3>
+<div class="spec">
+<p><tt>start_link(Opts) -&gt; ServerRet</tt></p>
+</div><p>API for starting the supervisor.</p>
+
+<h3 class="function"><a name="start_pool-3">start_pool/3</a></h3>
+<div class="spec">
+<p><tt>start_pool(Name, Size, Opts) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
BIN doc/core/erlang.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
49 doc/core/erlydtl.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+ Public interface for ErlyDTL.
+<p>Copyright © 2008 Roberto Saccon, Evan Miller</p>
+
+<p><b>Introduced in:</b> 2007-11-11 by Roberto Saccon, Evan Miller
+ -------------------------------------------------------------------</p>
+<p><b>Authors:</b> Roberto Saccon (<a href="mailto:rsaccon@gmail.com"><tt>rsaccon@gmail.com</tt></a>) [<em>web site:</em> <tt><a href="http://rsaccon.com" target="_top">http://rsaccon.com</a></tt>], Evan Miller (<a href="mailto:emmiller@gmail.com"><tt>emmiller@gmail.com</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>
+ Public interface for ErlyDTL
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#compile-3">compile/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#compile-4">compile/4</a></td><td></td></tr>
+<tr><td valign="top"><a href="#compile-5">compile/5</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="compile-3">compile/3</a></h3>
+<div class="spec">
+<p><tt>compile(FileOrBinary, Module, ZContext) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="compile-4">compile/4</a></h3>
+<div class="spec">
+<p><tt>compile(FileOrBinary, Module, Options, ZContext) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="compile-5">compile/5</a></h3>
+<div class="spec">
+<p><tt>compile(FileOrBinary, BaseFile, Module, Options, ZContext) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:43.</i></p>
+</body>
+</html>
View
58 doc/core/erlydtl_compiler.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_compiler</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_compiler</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+ ErlyDTL template compiler.
+<p>Copyright © 2008 Roberto Saccon, Evan Miller</p>
+
+<p><b>Introduced in:</b> 2007-12-16 by Roberto Saccon, Evan Miller
+
+ -------------------------------------------------------------------
+ Adapted and expanded for Zotonic by Marc Worrell &lt;marc@worrell.nl&gt;
+ -------------------------------------------------------------------</p>
+<p><b>Authors:</b> Roberto Saccon (<a href="mailto:rsaccon@gmail.com"><tt>rsaccon@gmail.com</tt></a>) [<em>web site:</em> <tt><a href="http://rsaccon.com" target="_top">http://rsaccon.com</a></tt>], Evan Miller (<a href="mailto:emmiller@gmail.com"><tt>emmiller@gmail.com</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>
+ ErlyDTL template compiler
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#compile-3">compile/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#compile-4">compile/4</a></td><td></td></tr>
+<tr><td valign="top"><a href="#compile-5">compile/5</a></td><td></td></tr>
+<tr><td valign="top"><a href="#parse-1">parse/1</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="compile-3">compile/3</a></h3>
+<div class="spec">
+<p><tt>compile(Binary, Module, ZContext) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="compile-4">compile/4</a></h3>
+<div class="spec">
+<p><tt>compile(Binary, Module, Options, ZContext) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="compile-5">compile/5</a></h3>
+<div class="spec">
+<p><tt>compile(Binary, BaseFile, Module, Options, ZContext) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="parse-1">parse/1</a></h3>
+<div class="spec">
+<p><tt>parse(Data) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:44.</i></p>
+</body>
+</html>
View
36 doc/core/erlydtl_dateformat.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_dateformat</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_dateformat</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#format-2">format/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#format-3">format/3</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="format-2">format/2</a></h3>
+<div class="spec">
+<p><tt>format(FormatString, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="format-3">format/3</a></h3>
+<div class="spec">
+<p><tt>format(Date, FormatString, Context) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:43.</i></p>
+</body>
+</html>
View
30 doc/core/erlydtl_dateformat_tests.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_dateformat_tests</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_dateformat_tests</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#run_tests-0">run_tests/0</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="run_tests-0">run_tests/0</a></h3>
+<div class="spec">
+<p><tt>run_tests() -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
45 doc/core/erlydtl_deps.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_deps</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_deps</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+ ErlyDTL helper module.
+<p>Copyright © 2008 Roberto Saccon, Evan Miller</p>
+
+<p><b>Introduced in:</b> 2007-12-16 by Roberto Saccon, Evan Miller
+ -------------------------------------------------------------------</p>
+<p><b>Authors:</b> Roberto Saccon (<a href="mailto:rsaccon@gmail.com"><tt>rsaccon@gmail.com</tt></a>) [<em>web site:</em> <tt><a href="http://rsaccon.com" target="_top">http://rsaccon.com</a></tt>], Evan Miller (<a href="mailto:emmiller@gmail.com"><tt>emmiller@gmail.com</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>
+ ErlyDTL helper module
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#get_base_dir-0">get_base_dir/0</a></td><td>Return the application directory for this application.</td></tr>
+<tr><td valign="top"><a href="#get_base_dir-1">get_base_dir/1</a></td><td>Return the application directory for Module.</td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="get_base_dir-0">get_base_dir/0</a></h3>
+<div class="spec">
+<p><tt>get_base_dir() -&gt; string()</tt></p>
+</div><p>Return the application directory for this application. Equivalent to
+ get_base_dir(?MODULE).</p>
+
+<h3 class="function"><a name="get_base_dir-1">get_base_dir/1</a></h3>
+<div class="spec">
+<p><tt>get_base_dir(Module) -&gt; string()</tt></p>
+</div><p>Return the application directory for Module. It assumes Module is in
+ a standard OTP layout application in the ebin or src directory.</p>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:43.</i></p>
+</body>
+</html>
View
19 doc/core/erlydtl_example_variable_storage.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Abstract module erlydtl_example_variable_storage [SomeVar]</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Abstract module erlydtl_example_variable_storage [SomeVar]</h1>
+
+
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
59 doc/core/erlydtl_functional_tests.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_functional_tests</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_functional_tests</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul> ErlyDTL test suite.
+<p>Copyright © 2008 Roberto Saccon, Evan Miller</p>
+
+<p><b>Introduced in:</b> 2008-02-11 by Roberto Saccon
+ -------------------------------------------------------------------</p>
+<p><b>Authors:</b> Roberto Saccon (<a href="mailto:rsaccon@gmail.com"><tt>rsaccon@gmail.com</tt></a>) [<em>web site:</em> <tt><a href="http://rsaccon.com" target="_top">http://rsaccon.com</a></tt>], Evan Miller (<a href="mailto:emmiller@gmail.com"><tt>emmiller@gmail.com</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2> ErlyDTL test suite
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#find_file-1">find_file/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#find_file-2">find_file/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#render-3">render/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#run_test-1">run_test/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#run_tests-0">run_tests/0</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="find_file-1">find_file/1</a></h3>
+<div class="spec">
+<p><tt>find_file(File) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="find_file-2">find_file/2</a></h3>
+<div class="spec">
+<p><tt>find_file(File, X2) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="render-3">render/3</a></h3>
+<div class="spec">
+<p><tt>render(Arg, Vars, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="run_test-1">run_test/1</a></h3>
+<div class="spec">
+<p><tt>run_test(Name) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="run_tests-0">run_tests/0</a></h3>
+<div class="spec">
+<p><tt>run_tests() -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
123 doc/core/erlydtl_operators.html
@@ -0,0 +1,123 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_operators</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_operators</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Operators for expression evaluation in templates.
+<p>Copyright © 2010 Marc Worrell</p>
+
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>Operators for expression evaluation in templates
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#and-3">'and'/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#not-2">'not'/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#or-3">'or'/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#xor-3">'xor'/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#add-3">add/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#divide-3">divide/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#eq-3">eq/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#ge-3">ge/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#gt-3">gt/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#le-3">le/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#lt-3">lt/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#modulo-3">modulo/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#multiply-3">multiply/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#ne-3">ne/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#negate-2">negate/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#sub-3">sub/3</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="and-3">'and'/3</a></h3>
+<div class="spec">
+<p><tt>and(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="not-2">'not'/2</a></h3>
+<div class="spec">
+<p><tt>not(A, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="or-3">'or'/3</a></h3>
+<div class="spec">
+<p><tt>or(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="xor-3">'xor'/3</a></h3>
+<div class="spec">
+<p><tt>xor(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="add-3">add/3</a></h3>
+<div class="spec">
+<p><tt>add(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="divide-3">divide/3</a></h3>
+<div class="spec">
+<p><tt>divide(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="eq-3">eq/3</a></h3>
+<div class="spec">
+<p><tt>eq(Input, Value, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="ge-3">ge/3</a></h3>
+<div class="spec">
+<p><tt>ge(Input, Value, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="gt-3">gt/3</a></h3>
+<div class="spec">
+<p><tt>gt(Input, Value, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="le-3">le/3</a></h3>
+<div class="spec">
+<p><tt>le(Input, Value, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="lt-3">lt/3</a></h3>
+<div class="spec">
+<p><tt>lt(Input, Value, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="modulo-3">modulo/3</a></h3>
+<div class="spec">
+<p><tt>modulo(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="multiply-3">multiply/3</a></h3>
+<div class="spec">
+<p><tt>multiply(A, B, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="ne-3">ne/3</a></h3>
+<div class="spec">
+<p><tt>ne(Input, Value, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="negate-2">negate/2</a></h3>
+<div class="spec">
+<p><tt>negate(A, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="sub-3">sub/3</a></h3>
+<div class="spec">
+<p><tt>sub(A, B, Context) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:43.</i></p>
+</body>
+</html>
View
42 doc/core/erlydtl_parser.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_parser</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_parser</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#format_error-1">format_error/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#parse-1">parse/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#parse_and_scan-1">parse_and_scan/1</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="format_error-1">format_error/1</a></h3>
+<div class="spec">
+<p><tt>format_error(Message) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="parse-1">parse/1</a></h3>
+<div class="spec">
+<p><tt>parse(Tokens) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="parse_and_scan-1">parse_and_scan/1</a></h3>
+<div class="spec">
+<p><tt>parse_and_scan(X1) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:43.</i></p>
+</body>
+</html>
View
19 doc/core/erlydtl_runtime.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_runtime</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_runtime</h1>
+
+
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:43.</i></p>
+</body>
+</html>
View
53 doc/core/erlydtl_scanner.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_scanner</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_scanner</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+ Template language scanner.
+<p>Copyright © 2008 Roberto Saccon, Evan Miller</p>
+
+<p><b>Introduced in:</b> 2007-11-11 by Roberto Saccon, Evan Miller
+ -------------------------------------------------------------------
+
+ -------------------------------------------------------------------
+ Adapted and expanded for Zotonic by Marc Worrell &lt;marc@worrell.nl&gt;
+ -------------------------------------------------------------------</p>
+<p><b>Authors:</b> Roberto Saccon (<a href="mailto:rsaccon@gmail.com"><tt>rsaccon@gmail.com</tt></a>) [<em>web site:</em> <tt><a href="http://rsaccon.com" target="_top">http://rsaccon.com</a></tt>], Evan Miller (<a href="mailto:emmiller@gmail.com"><tt>emmiller@gmail.com</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>
+ Template language scanner
+<h2><a name="types">Data Types</a></h2>
+
+<h3 class="typedecl"><a name="type-template">template()</a></h3>
+<p><tt>template() = string() | binary()</tt></p>
+<p>Template to parse</p>
+
+<h3 class="typedecl"><a name="type-tokens">tokens()</a></h3>
+<p><tt>tokens() = [tuple()]</tt></p>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#scan-1">scan/1</a></td><td>Scan the template string T and return the a token list or
+ an error.</td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="scan-1">scan/1</a></h3>
+<div class="spec">
+<p><tt>scan(T::<a href="#type-template">template()</a>) -&gt; {ok, S::<a href="#type-tokens">tokens()</a>} | {error, Reason}</tt></p>
+</div><p>Scan the template string T and return the a token list or
+ an error.</p>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:44.</i></p>
+</body>
+</html>
View
30 doc/core/erlydtl_tests_init.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_tests_init</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_tests_init</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#init-0">init/0</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="init-0">init/0</a></h3>
+<div class="spec">
+<p><tt>init() -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
30 doc/core/erlydtl_unittests.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module erlydtl_unittests</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module erlydtl_unittests</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#run_tests-0">run_tests/0</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="run_tests-0">run_tests/0</a></h3>
+<div class="spec">
+<p><tt>run_tests() -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
35 doc/core/gen_model.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module gen_model</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module gen_model</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Model behaviour.
+<p>Copyright © 2009 Marc Worrell
+ Date: 2009-04-12
+ </p>
+
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>Model behaviour
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#behaviour_info-1">behaviour_info/1</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="behaviour_info-1">behaviour_info/1</a></h3>
+<div class="spec">
+<p><tt>behaviour_info(Other) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
57 doc/core/gen_scomp.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module gen_scomp</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module gen_scomp</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Scomp behaviour definition.
+<p>Copyright © 2009 Marc Worrell
+
+ Copyright 2009 Marc Worrell
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ </p>
+
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2><p>Scomp behaviour definition. A scomp is a screen component that can optionally be cached.</p>
+
+ <p>render(Params, Vars, Context) -&gt; {ok, NewContext} | {ok, io_list()} | {error, Error}</p>
+
+ <p>vary(Params, Context) -&gt; {EssentialParams, MaxAge, Vary} | nocache | default</p>
+
+ Params = proplist()
+ EssentialParams = proplist() (proplist with params that make differences in the cache key)
+ MaxAge = integer()
+ Vary = TermList (used as dependencies for the depcache)
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#behaviour_info-1">behaviour_info/1</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="behaviour_info-1">behaviour_info/1</a></h3>
+<div class="spec">
+<p><tt>behaviour_info(Other) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:41.</i></p>
+</body>
+</html>
View
17 doc/core/index.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Overview</title>
+</head>
+<frameset cols="20%,80%">
+<frame src="modules-frame.html" name="modulesFrame" title="">
+
+<frame src="overview-summary.html" name="overviewFrame" title="">
+<noframes>
+<h2>This page uses frames</h2>
+<p>Your browser does not accept frames.
+<br>You should go to the <a href="overview-summary.html">non-frame version</a> instead.
+</p>
+</noframes>
+</frameset>
+</html>
View
48 doc/core/iso639.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module iso639</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module iso639</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#all2lang-0">all2lang/0</a></td><td></td></tr>
+<tr><td valign="top"><a href="#all3lang-0">all3lang/0</a></td><td></td></tr>
+<tr><td valign="top"><a href="#lc2lang-1">lc2lang/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#lc3lang-1">lc3lang/1</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="all2lang-0">all2lang/0</a></h3>
+<div class="spec">
+<p><tt>all2lang() -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="all3lang-0">all3lang/0</a></h3>
+<div class="spec">
+<p><tt>all3lang() -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="lc2lang-1">lc2lang/1</a></h3>
+<div class="spec">
+<p><tt>lc2lang(X1) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="lc3lang-1">lc3lang/1</a></h3>
+<div class="spec">
+<p><tt>lc3lang(X1) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:44.</i></p>
+</body>
+</html>
View
48 doc/core/m_acl.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module m_acl</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module m_acl</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Template access for access control functions and state.
+<p>Copyright © 2009 Marc Worrell
+ Date: 2009-04-27
+ </p>
+
+<p><b>Behaviours:</b> <a href="gen_model.html"><tt>gen_model</tt></a>.</p>
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>Template access for access control functions and state
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#m_find_value-3">m_find_value/3</a></td><td>Fetch the value for the key from a model source.</td></tr>
+<tr><td valign="top"><a href="#m_to_list-2">m_to_list/2</a></td><td>Transform a m_config value to a list, used for template loops.</td></tr>
+<tr><td valign="top"><a href="#m_value-2">m_value/2</a></td><td>Transform a model value so that it can be formatted or piped through filters.</td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="m_find_value-3">m_find_value/3</a></h3>
+<div class="spec">
+<p><tt>m_find_value(Action::Key, M::Source, Context) -&gt; term()</tt></p>
+</div><p>Fetch the value for the key from a model source</p>
+
+<h3 class="function"><a name="m_to_list-2">m_to_list/2</a></h3>
+<div class="spec">
+<p><tt>m_to_list(X1::Source, Context) -&gt; List</tt></p>
+</div><p>Transform a m_config value to a list, used for template loops</p>
+
+<h3 class="function"><a name="m_value-2">m_value/2</a></h3>
+<div class="spec">
+<p><tt>m_value(M::Source, Context) -&gt; term()</tt></p>
+</div><p>Transform a model value so that it can be formatted or piped through filters</p>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:44.</i></p>
+</body>
+</html>
View
252 doc/core/m_category.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module m_category</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module m_category</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Model for categories.
+<p>Copyright © 2009 Marc Worrell
+ Date: 2009-04-08
+ </p>
+
+<p><b>Behaviours:</b> <a href="gen_model.html"><tt>gen_model</tt></a>.</p>
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>Model for categories. Add, change and re-order categories.
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#all_flat-1">all_flat/1</a></td><td>Return a flattened representation of the complete category tree.</td></tr>
+<tr><td valign="top"><a href="#all_flat-2">all_flat/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#all_flat_meta-1">all_flat_meta/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#boundaries-2">boundaries/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#delete-3">delete/3</a></td><td>Delete the category, move referring pages to another category.</td></tr>
+<tr><td valign="top"><a href="#enumerate-1">enumerate/1</a></td><td>Take a category list and make it into a tree, recalculating the left/right and lvl nrs.</td></tr>
+<tr><td valign="top"><a href="#get-2">get/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_by_name-2">get_by_name/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_by_parent-2">get_by_parent/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_page_count-2">get_page_count/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_path-2">get_path/2</a></td><td>Return the path from a root to the category (excluding the category itself).</td></tr>
+<tr><td valign="top"><a href="#get_range-2">get_range/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_range_by_name-2">get_range_by_name/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_root-1">get_root/1</a></td><td></td></tr>
+<tr><td valign="top"><a href="#id_to_name-2">id_to_name/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#image-2">image/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#insert-4">insert/4</a></td><td></td></tr>
+<tr><td valign="top"><a href="#is_a-2">is_a/2</a></td><td>Return the list of categories (as atoms) that the category is part of.</td></tr>
+<tr><td valign="top"><a href="#is_a-3">is_a/3</a></td><td>Check if the id is within another category.</td></tr>
+<tr><td valign="top"><a href="#last_modified-2">last_modified/2</a></td><td>Return the last modification date of the category.</td></tr>
+<tr><td valign="top"><a href="#m_find_value-3">m_find_value/3</a></td><td>Fetch the value for the key from a model source.</td></tr>
+<tr><td valign="top"><a href="#m_to_list-2">m_to_list/2</a></td><td>Transform a m_config value to a list, used for template loops.</td></tr>
+<tr><td valign="top"><a href="#m_value-2">m_value/2</a></td><td>Transform a model value so that it can be formatted or piped through filters.</td></tr>
+<tr><td valign="top"><a href="#move_before-3">move_before/3</a></td><td>Move a category in front of another category, resetting the parent of the moved category to
+ the parent of the other category.</td></tr>
+<tr><td valign="top"><a href="#move_below-3">move_below/3</a></td><td>Move the category below another category, placing it at the end of the children of that category.</td></tr>
+<tr><td valign="top"><a href="#move_end-2">move_end/2</a></td><td>Move the category to the end of all categories, making it a top category in the process.</td></tr>
+<tr><td valign="top"><a href="#name_to_id-2">name_to_id/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#name_to_id_check-2">name_to_id_check/2</a></td><td></td></tr>
+<tr><td valign="top"><a href="#ranges-2">ranges/2</a></td><td>Given a list of category ids, return the list of numeric ranges they cover.</td></tr>
+<tr><td valign="top"><a href="#renumber-1">renumber/1</a></td><td>Renumber all categories so that the left/right and level indices are correct.</td></tr>
+<tr><td valign="top"><a href="#renumber_pivot_task-2">renumber_pivot_task/2</a></td><td>Resync all ids that have their category nr changed.</td></tr>
+<tr><td valign="top"><a href="#tree-1">tree/1</a></td><td>Return the tree of all categories.</td></tr>
+<tr><td valign="top"><a href="#tree-2">tree/2</a></td><td>Return the tree of all categories below a category id.</td></tr>
+<tr><td valign="top"><a href="#tree_depth-2">tree_depth/2</a></td><td>Return the tree of all categories till a certain depth.</td></tr>
+<tr><td valign="top"><a href="#tree_depth-3">tree_depth/3</a></td><td>Return the tree of all categories below a category id till a certain depth.</td></tr>
+<tr><td valign="top"><a href="#update_sequence-2">update_sequence/2</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="all_flat-1">all_flat/1</a></h3>
+<div class="spec">
+<p><tt>all_flat(Context) -&gt; any()</tt></p>
+</div><p>Return a flattened representation of the complete category tree. Can be used for overviews or select boxes.
+ The "meta" categories of predicate, category and group are suppressed.</p>
+
+<h3 class="function"><a name="all_flat-2">all_flat/2</a></h3>
+<div class="spec">
+<p><tt>all_flat(CatId, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="all_flat_meta-1">all_flat_meta/1</a></h3>
+<div class="spec">
+<p><tt>all_flat_meta(Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="boundaries-2">boundaries/2</a></h3>
+<div class="spec">
+<p><tt>boundaries(CatId::Id, Context::C) -&gt; {Left, Right}</tt></p>
+</div>
+
+<h3 class="function"><a name="delete-3">delete/3</a></h3>
+<div class="spec">
+<p><tt>delete(Id::<a href="#type-int">int()</a>, TransferId::<a href="#type-int">int()</a>, Context) -&gt; ok | {error, Reason}</tt></p>
+</div><p>Delete the category, move referring pages to another category. Fails when the transfer id is not a category.</p>
+
+<h3 class="function"><a name="enumerate-1">enumerate/1</a></h3>
+<div class="spec">
+<p><tt>enumerate(Cats::[Cat]) -&gt; [Sort]</tt>
+<ul class="definitions"><li><tt>Cat = {CatId, Parent, NodeSeq}</tt></li>
+<li><tt>Sort = {CatId, Nr, Level, Left, Right, Path}</tt></li>
+</ul></p>
+</div><p>Take a category list and make it into a tree, recalculating the left/right and lvl nrs</p>
+
+<h3 class="function"><a name="get-2">get/2</a></h3>
+<div class="spec">
+<p><tt>get(Name, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_by_name-2">get_by_name/2</a></h3>
+<div class="spec">
+<p><tt>get_by_name(Name, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_by_parent-2">get_by_parent/2</a></h3>
+<div class="spec">
+<p><tt>get_by_parent(Id, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_page_count-2">get_page_count/2</a></h3>
+<div class="spec">
+<p><tt>get_page_count(Id, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_path-2">get_path/2</a></h3>
+<div class="spec">
+<p><tt>get_path(Id, Context) -&gt; [CatId]</tt></p>
+</div><p>Return the path from a root to the category (excluding the category itself)</p>
+
+<h3 class="function"><a name="get_range-2">get_range/2</a></h3>
+<div class="spec">
+<p><tt>get_range(Id, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_range_by_name-2">get_range_by_name/2</a></h3>
+<div class="spec">
+<p><tt>get_range_by_name(Name, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_root-1">get_root/1</a></h3>
+<div class="spec">
+<p><tt>get_root(Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="id_to_name-2">id_to_name/2</a></h3>
+<div class="spec">
+<p><tt>id_to_name(Name, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="image-2">image/2</a></h3>
+<div class="spec">
+<p><tt>image(Id, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="insert-4">insert/4</a></h3>
+<div class="spec">
+<p><tt>insert(ParentId, Name, Props, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="is_a-2">is_a/2</a></h3>
+<div class="spec">
+<p><tt>is_a(Id::<a href="#type-int">int()</a>, Context) -&gt; <a href="#type-atomlist">atomlist()</a></tt></p>
+</div><p>Return the list of categories (as atoms) that the category is part of</p>
+
+<h3 class="function"><a name="is_a-3">is_a/3</a></h3>
+<div class="spec">
+<p><tt>is_a(Id::<a href="#type-int">int()</a>, Cat, Context) -&gt; <a href="#type-atomlist">atomlist()</a></tt></p>
+</div><p>Check if the id is within another category.</p>
+
+<h3 class="function"><a name="last_modified-2">last_modified/2</a></h3>
+<div class="spec">
+<p><tt>last_modified(Cat::term(), Context) -&gt; {ok, {{Y, M, D}, {Hour, Min, Sec}}} | {error, Reason}</tt></p>
+</div><p>Return the last modification date of the category. Returns false</p>
+
+<h3 class="function"><a name="m_find_value-3">m_find_value/3</a></h3>
+<div class="spec">
+<p><tt>m_find_value(Index::Key, M::Source, Context) -&gt; term()</tt></p>
+</div><p>Fetch the value for the key from a model source</p>
+
+<h3 class="function"><a name="m_to_list-2">m_to_list/2</a></h3>
+<div class="spec">
+<p><tt>m_to_list(M::Source, Context) -&gt; List</tt></p>
+</div><p>Transform a m_config value to a list, used for template loops</p>
+
+<h3 class="function"><a name="m_value-2">m_value/2</a></h3>
+<div class="spec">
+<p><tt>m_value(M::Source, Context) -&gt; term()</tt></p>
+</div><p>Transform a model value so that it can be formatted or piped through filters</p>
+
+<h3 class="function"><a name="move_before-3">move_before/3</a></h3>
+<div class="spec">
+<p><tt>move_before(CatId::<a href="#type-int">int()</a>, BeforeCatId::<a href="#type-int">int()</a>, Context) -&gt; ok | {error, Reason}</tt></p>
+</div><p>Move a category in front of another category, resetting the parent of the moved category to
+ the parent of the other category.</p>
+
+<h3 class="function"><a name="move_below-3">move_below/3</a></h3>
+<div class="spec">
+<p><tt>move_below(CatId::<a href="#type-int">int()</a>, NewParentId::<a href="#type-int">int()</a>, Context) -&gt; ok | {error, Reason}</tt></p>
+</div><p>Move the category below another category, placing it at the end of the children of that category.</p>
+
+<h3 class="function"><a name="move_end-2">move_end/2</a></h3>
+<div class="spec">
+<p><tt>move_end(CatId::<a href="#type-int">int()</a>, Context) -&gt; ok | {error, Reason}</tt></p>
+</div><p>Move the category to the end of all categories, making it a top category in the process</p>
+
+<h3 class="function"><a name="name_to_id-2">name_to_id/2</a></h3>
+<div class="spec">
+<p><tt>name_to_id(Id, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="name_to_id_check-2">name_to_id_check/2</a></h3>
+<div class="spec">
+<p><tt>name_to_id_check(Name, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="ranges-2">ranges/2</a></h3>
+<div class="spec">
+<p><tt>ranges(Cat::CatList, Context) -&gt; RangeList</tt></p>
+</div><p>Given a list of category ids, return the list of numeric ranges they cover.</p>
+
+<h3 class="function"><a name="renumber-1">renumber/1</a></h3>
+<div class="spec">
+<p><tt>renumber(Context) -&gt; ok</tt></p>
+</div><p>Renumber all categories so that the left/right and level indices are correct.</p>
+
+<h3 class="function"><a name="renumber_pivot_task-2">renumber_pivot_task/2</a></h3>
+<div class="spec">
+<p><tt>renumber_pivot_task(LowId, Context) -&gt; any()</tt></p>
+</div><p>Resync all ids that have their category nr changed.</p>
+
+<h3 class="function"><a name="tree-1">tree/1</a></h3>
+<div class="spec">
+<p><tt>tree(Context) -&gt; Tree</tt></p>
+</div><p>Return the tree of all categories</p>
+
+<h3 class="function"><a name="tree-2">tree/2</a></h3>
+<div class="spec">
+<p><tt>tree(CatId, Context) -&gt; TreeNode</tt></p>
+</div><p>Return the tree of all categories below a category id</p>
+
+<h3 class="function"><a name="tree_depth-2">tree_depth/2</a></h3>
+<div class="spec">
+<p><tt>tree_depth(Depth, Context) -&gt; Tree</tt></p>
+</div><p>Return the tree of all categories till a certain depth</p>
+
+<h3 class="function"><a name="tree_depth-3">tree_depth/3</a></h3>
+<div class="spec">
+<p><tt>tree_depth(CatId, Depth, Context) -&gt; TreeNode</tt></p>
+</div><p>Return the tree of all categories below a category id till a certain depth</p>
+
+<h3 class="function"><a name="update_sequence-2">update_sequence/2</a></h3>
+<div class="spec">
+<p><tt>update_sequence(Ids, Context) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:44.</i></p>
+</body>
+</html>
View
103 doc/core/m_config.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module m_config</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module m_config</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>Model for the zotonic config table.
+<p>Copyright © 2009 Marc Worrell
+ Date: 2009-04-09
+ </p>
+
+<p><b>Behaviours:</b> <a href="gen_model.html"><tt>gen_model</tt></a>.</p>
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>Model for the zotonic config table. Performs a fallback to the site configuration when
+ a key is not defined in the configuration table.
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#all-1">all/1</a></td><td>Return all configurations from the configuration table.</td></tr>
+<tr><td valign="top"><a href="#delete-3">delete/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get-2">get/2</a></td><td>Get the list of configuration key for the module.</td></tr>
+<tr><td valign="top"><a href="#get-3">get/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_id-3">get_id/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_value-3">get_value/3</a></td><td></td></tr>
+<tr><td valign="top"><a href="#get_value-4">get_value/4</a></td><td></td></tr>
+<tr><td valign="top"><a href="#m_find_value-3">m_find_value/3</a></td><td>Fetch the value for the key from a model source.</td></tr>
+<tr><td valign="top"><a href="#m_to_list-2">m_to_list/2</a></td><td>Transform a m_config value to a list, used for template loops.</td></tr>
+<tr><td valign="top"><a href="#m_value-2">m_value/2</a></td><td>Transform a model value so that it can be formatted or piped through filters.</td></tr>
+<tr><td valign="top"><a href="#set_prop-5">set_prop/5</a></td><td></td></tr>
+<tr><td valign="top"><a href="#set_value-4">set_value/4</a></td><td></td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="all-1">all/1</a></h3>
+<div class="spec">
+<p><tt>all(Context) -&gt; any()</tt></p>
+</div><p>Return all configurations from the configuration table. Returns a nested proplist (module, key)</p>
+
+<h3 class="function"><a name="delete-3">delete/3</a></h3>
+<div class="spec">
+<p><tt>delete(Module, Key, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get-2">get/2</a></h3>
+<div class="spec">
+<p><tt>get(Module, Context) -&gt; any()</tt></p>
+</div><p>Get the list of configuration key for the module.</p>
+
+<h3 class="function"><a name="get-3">get/3</a></h3>
+<div class="spec">
+<p><tt>get(Module, Key, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_id-3">get_id/3</a></h3>
+<div class="spec">
+<p><tt>get_id(Module, Key, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_value-3">get_value/3</a></h3>
+<div class="spec">
+<p><tt>get_value(Module, Key, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="get_value-4">get_value/4</a></h3>
+<div class="spec">
+<p><tt>get_value(Module, Key, Default, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="m_find_value-3">m_find_value/3</a></h3>
+<div class="spec">
+<p><tt>m_find_value(Module::Key, M::Source, Context) -&gt; term()</tt></p>
+</div><p>Fetch the value for the key from a model source</p>
+
+<h3 class="function"><a name="m_to_list-2">m_to_list/2</a></h3>
+<div class="spec">
+<p><tt>m_to_list(M::Source, Context) -&gt; List</tt></p>
+</div><p>Transform a m_config value to a list, used for template loops</p>
+
+<h3 class="function"><a name="m_value-2">m_value/2</a></h3>
+<div class="spec">
+<p><tt>m_value(M::Source, Context) -&gt; term()</tt></p>
+</div><p>Transform a model value so that it can be formatted or piped through filters</p>
+
+<h3 class="function"><a name="set_prop-5">set_prop/5</a></h3>
+<div class="spec">
+<p><tt>set_prop(Module, Key, Prop, PropValue, Context) -&gt; any()</tt></p>
+</div>
+
+<h3 class="function"><a name="set_value-4">set_value/4</a></h3>
+<div class="spec">
+<p><tt>set_value(Module, Key, Value, Context) -&gt; any()</tt></p>
+</div>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc, Feb 24 2011, 19:20:44.</i></p>
+</body>
+</html>
View
205 doc/core/m_edge.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Module m_edge</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module m_edge</h1>
+<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+<p>Copyright © 2009 Marc Worrell
+ Date: 2009-04-09
+
+ Copyright 2009 Marc Worrell
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.</p>
+
+<p><b>Behaviours:</b> <a href="gen_model.html"><tt>gen_model</tt></a>.</p>
+<p><b>Authors:</b> Marc Worrell (<a href="mailto:marc@worrell.nl"><tt>marc@worrell.nl</tt></a>).</p>
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#delete-2">delete/2</a></td><td>Delete an edge by Id.</td></tr>
+<tr><td valign="top"><a href="#delete-4">delete/4</a></td><td>Delete an edge by subject, object and predicate id.</td></tr>
+<tr><td valign="top"><a href="#delete_multiple-4">delete_multiple/4</a></td><td>Delete multiple edges between the subject and the object.</td></tr>
+<tr><td valign="top"><a href="#duplicate-3">duplicate/3</a></td><td>Duplicate all edges from one id to another id.</td></tr>
+<tr><td valign="top"><a href="#get-2">get/2</a></td><td>Get the complete edge with the id.</td></tr>
+<tr><td valign="top"><a href="#get_edges-2">get_edges/2</a></td><td>Return the full description of all edges from a subject, grouped by predicate.</td></tr>
+<tr><td valign="top"><a href="#get_id-4">get_id/4</a></td><td>Get the edge id of a subject/pred/object combination.</td></tr>
+<tr><td valign="top"><a href="#get_triple-2">get_triple/2</a></td><td>Get the edge as a triple {subject_id, predicate, object_id}.</td></tr>
+<tr><td valign="top"><a href="#insert-4">insert/4</a></td><td></td></tr>
+<tr><td valign="top"><a href="#m_find_value-3">m_find_value/3</a></td><td>Fetch all object/edge ids for a subject/predicate.</td></tr>
+<tr><td valign="top"><a href="#m_to_list-2">m_to_list/2</a></td><td>Transform a m_config value to a list, used for template loops.</td></tr>
+<tr><td valign="top"><a href="#m_value-2">m_value/2</a></td><td>Transform a model value so that it can be formatted or piped through filters.</td></tr>
+<tr><td valign="top"><a href="#object-4">object/4</a></td><td>Return the Nth object with a certaing predicate of a subject.</td></tr>
+<tr><td valign="top"><a href="#object_edge_ids-3">object_edge_ids/3</a></td><td>Return all object ids with the edge id for a predicate/subject_id.</td></tr>
+<tr><td valign="top"><a href="#object_predicate_ids-2">object_predicate_ids/2</a></td><td>Return the list of predicate ids in use by edges to objects from the id.</td></tr>
+<tr><td valign="top"><a href="#object_predicates-2">object_predicates/2</a></td><td>Return the list of predicates in use by edges to objects from the id.</td></tr>
+<tr><td valign="top"><a href="#objects-2">objects/2</a></td><td>Return all object ids of the