added ptask
[www.git] / www / ptask / doc / 0.0.4 / index.html
diff --git a/www/ptask/doc/0.0.4/index.html b/www/ptask/doc/0.0.4/index.html
new file mode 100644 (file)
index 0000000..26ed8f4
--- /dev/null
@@ -0,0 +1,491 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 8.6.7" />\r
+<title>ptask README</title>\r
+<style type="text/css">\r
+body {\r
+    background: #FFFFFF;\r
+    color: #333333;\r
+    font-family: Ubuntu,Arial,sans-serif;\r
+    line-height: 1.6;\r
+    font-weight: lighter;\r
+    margin: 1em 2em 2em 2em;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+h1 {\r
+    font-size: 2.813em;\r
+    margin: 0 0 0.267em 0;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h2 {\r
+    font-size: 2em;\r
+    margin: 0 0 0.375em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h3 {\r
+    font-size: 1.438em;\r
+    margin: 0 0 0.522em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h4 {\r
+    font-size: 1.219em;\r
+    margin: 0 0 0.615em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+h5 {\r
+    font-size: 1em;\r
+    margin: 0 0 0.75em;\r
+    padding: 0 0 0 0;\r
+    font-weight: bold;\r
+}\r
+\r
+h6 {\r
+    font-weight: normal;\r
+    font-size: 0.813em;\r
+    letter-spacing: 0.1em;\r
+    margin: 0 0 0.923em;\r
+    text-transform: uppercase;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+li {\r
+    margin: 0 0 0 1em;\r
+    line-height: 1.6;\r
+}\r
+\r
+li p {\r
+    margin: 0 0 0 0;\r
+}\r
+\r
+ul {\r
+    margin: 0 0 0 0;\r
+    padding: 0 0 0 0;\r
+}\r
+\r
+a:link, a:visited {\r
+    color: #19B6EE;\r
+    text-decoration: none;\r
+}\r
+\r
+a:hover {\r
+    text-decoration: underline;\r
+}\r
+\r
+code, pre, tt {\r
+    font-family: "Ubuntu Mono","Courier New",Courier,monospace;\r
+    font-weight: normal;\r
+    color: #333333;\r
+}\r
+\r
+pre {\r
+    background: none repeat scroll 0 0 #e0e0e0;\r
+    border-radius: 4px;\r
+    padding: 0.5em 0.5em;\r
+    margin: 0 0 0 0;\r
+    white-space: pre-wrap;\r
+    word-wrap: break-word;\r
+}\r
+\r
+/* ASCIIDOC */\r
+\r
+div.toclevel2 {\r
+    margin-left: 1em;\r
+}\r
+\r
+#toctitle {\r
+    font-size: 1.219em;\r
+    margin: 0 0 0.615em;\r
+    padding: 0 0 0 0;\r
+    font-weight: normal;\r
+}\r
+\r
+#footer {\r
+    margin: 2em 0 0 0;\r
+    font-size: 0.8em;\r
+    font-weight: lighter;\r
+}\r
+</style>\r
+<script type="text/javascript">\r
+/*<![CDATA[*/\r
+var asciidoc = {  // Namespace.\r
+\r
+/////////////////////////////////////////////////////////////////////\r
+// Table Of Contents generator\r
+/////////////////////////////////////////////////////////////////////\r
+\r
+/* Author: Mihai Bazon, September 2002\r
+ * http://students.infoiasi.ro/~mishoo\r
+ *\r
+ * Table Of Content generator\r
+ * Version: 0.4\r
+ *\r
+ * Feel free to use this script under the terms of the GNU General Public\r
+ * License, as long as you do not remove or alter this notice.\r
+ */\r
+\r
+ /* modified by Troy D. Hanson, September 2006. License: GPL */\r
+ /* modified by Stuart Rackham, 2006, 2009. License: GPL */\r
+\r
+// toclevels = 1..4.\r
+toc: function (toclevels) {\r
+\r
+  function getText(el) {\r
+    var text = "";\r
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
+      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.\r
+        text += i.data;\r
+      else if (i.firstChild != null)\r
+        text += getText(i);\r
+    }\r
+    return text;\r
+  }\r
+\r
+  function TocEntry(el, text, toclevel) {\r
+    this.element = el;\r
+    this.text = text;\r
+    this.toclevel = toclevel;\r
+  }\r
+\r
+  function tocEntries(el, toclevels) {\r
+    var result = new Array;\r
+    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');\r
+    // Function that scans the DOM tree for header elements (the DOM2\r
+    // nodeIterator API would be a better technique but not supported by all\r
+    // browsers).\r
+    var iterate = function (el) {\r
+      for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
+        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {\r
+          var mo = re.exec(i.tagName);\r
+          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {\r
+            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);\r
+          }\r
+          iterate(i);\r
+        }\r
+      }\r
+    }\r
+    iterate(el);\r
+    return result;\r
+  }\r
+\r
+  var toc = document.getElementById("toc");\r
+  if (!toc) {\r
+    return;\r
+  }\r
+\r
+  // Delete existing TOC entries in case we're reloading the TOC.\r
+  var tocEntriesToRemove = [];\r
+  var i;\r
+  for (i = 0; i < toc.childNodes.length; i++) {\r
+    var entry = toc.childNodes[i];\r
+    if (entry.nodeName.toLowerCase() == 'div'\r
+     && entry.getAttribute("class")\r
+     && entry.getAttribute("class").match(/^toclevel/))\r
+      tocEntriesToRemove.push(entry);\r
+  }\r
+  for (i = 0; i < tocEntriesToRemove.length; i++) {\r
+    toc.removeChild(tocEntriesToRemove[i]);\r
+  }\r
+\r
+  // Rebuild TOC entries.\r
+  var entries = tocEntries(document.getElementById("content"), toclevels);\r
+  for (var i = 0; i < entries.length; ++i) {\r
+    var entry = entries[i];\r
+    if (entry.element.id == "")\r
+      entry.element.id = "_toc_" + i;\r
+    var a = document.createElement("a");\r
+    a.href = "#" + entry.element.id;\r
+    a.appendChild(document.createTextNode(entry.text));\r
+    var div = document.createElement("div");\r
+    div.appendChild(a);\r
+    div.className = "toclevel" + entry.toclevel;\r
+    toc.appendChild(div);\r
+  }\r
+  if (entries.length == 0)\r
+    toc.parentNode.removeChild(toc);\r
+},\r
+\r
+\r
+/////////////////////////////////////////////////////////////////////\r
+// Footnotes generator\r
+/////////////////////////////////////////////////////////////////////\r
+\r
+/* Based on footnote generation code from:\r
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html\r
+ */\r
+\r
+footnotes: function () {\r
+  // Delete existing footnote entries in case we're reloading the footnodes.\r
+  var i;\r
+  var noteholder = document.getElementById("footnotes");\r
+  if (!noteholder) {\r
+    return;\r
+  }\r
+  var entriesToRemove = [];\r
+  for (i = 0; i < noteholder.childNodes.length; i++) {\r
+    var entry = noteholder.childNodes[i];\r
+    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
+      entriesToRemove.push(entry);\r
+  }\r
+  for (i = 0; i < entriesToRemove.length; i++) {\r
+    noteholder.removeChild(entriesToRemove[i]);\r
+  }\r
+\r
+  // Rebuild footnote entries.\r
+  var cont = document.getElementById("content");\r
+  var spans = cont.getElementsByTagName("span");\r
+  var refs = {};\r
+  var n = 0;\r
+  for (i=0; i<spans.length; i++) {\r
+    if (spans[i].className == "footnote") {\r
+      n++;\r
+      var note = spans[i].getAttribute("data-note");\r
+      if (!note) {\r
+        // Use [\s\S] in place of . so multi-line matches work.\r
+        // Because JavaScript has no s (dotall) regex flag.\r
+        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
+        spans[i].innerHTML =\r
+          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
+          "' title='View footnote' class='footnote'>" + n + "</a>]";\r
+        spans[i].setAttribute("data-note", note);\r
+      }\r
+      noteholder.innerHTML +=\r
+        "<div class='footnote' id='_footnote_" + n + "'>" +\r
+        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
+        n + "</a>. " + note + "</div>";\r
+      var id =spans[i].getAttribute("id");\r
+      if (id != null) refs["#"+id] = n;\r
+    }\r
+  }\r
+  if (n == 0)\r
+    noteholder.parentNode.removeChild(noteholder);\r
+  else {\r
+    // Process footnoterefs.\r
+    for (i=0; i<spans.length; i++) {\r
+      if (spans[i].className == "footnoteref") {\r
+        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");\r
+        href = href.match(/#.*/)[0];  // Because IE return full URL.\r
+        n = refs[href];\r
+        spans[i].innerHTML =\r
+          "[<a href='#_footnote_" + n +\r
+          "' title='View footnote' class='footnote'>" + n + "</a>]";\r
+      }\r
+    }\r
+  }\r
+},\r
+\r
+install: function(toclevels) {\r
+  var timerId;\r
+\r
+  function reinstall() {\r
+    asciidoc.footnotes();\r
+    if (toclevels) {\r
+      asciidoc.toc(toclevels);\r
+    }\r
+  }\r
+\r
+  function reinstallAndRemoveTimer() {\r
+    clearInterval(timerId);\r
+    reinstall();\r
+  }\r
+\r
+  timerId = setInterval(reinstall, 500);\r
+  if (document.addEventListener)\r
+    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
+  else\r
+    window.onload = reinstallAndRemoveTimer;\r
+}\r
+\r
+}\r
+asciidoc.install(2);\r
+/*]]>*/\r
+</script>\r
+</head>\r
+<body class="article">\r
+<div id="header">\r
+<h1>ptask README</h1>\r
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>\r
+</div>\r
+<div id="content">\r
+<div id="preamble">\r
+<div class="sectionbody">\r
+<div class="paragraph"><p><tt>ptask</tt> is a GTK+ graphical user interface for managing tasks.</p></div>\r
+<div class="paragraph"><p>It is based on <a href="http://taskwarrior.org">taskwarrior</a>, a well-known and robust command line\r
+tasks manager.</p></div>\r
+<div class="paragraph"><p>Unlike <tt>taskwarrior</tt>, it is possible to associate a note (long\r
+description) to each task.</p></div>\r
+<div class="paragraph"><p><tt>ptask</tt> is licensed under the GPLv2 terms and should compile on any\r
+modern GNU/Linux distribution.</p></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_installation_on_ubuntu">1. Installation on Ubuntu</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>To install <tt>ptask</tt> on Ubuntu and derivates, the easiest way is to use the dedicated PPA:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>sudo apt-add-repository ppa:jfi/ptask\r
+sudo apt-get update\r
+sudo apt-get install ptask</tt></pre>\r
+</div></div>\r
+<div class="paragraph"><p>The PPA <tt>ppa:jfi/ptask</tt> contains the binary package of the last\r
+released version of <tt>ptask</tt> for the last released version of Ubuntu.</p></div>\r
+<div class="paragraph"><p>The PPA <tt>ppa:jfi/ptask-daily</tt> contains the binary package of the last\r
+development snapshot. It should only be used for testing purpose.</p></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_installation_from_source_archive">2. Installation from source archive</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p><tt>ptask</tt> can be compiled and installed on any modern GNU/Linux\r
+distribution.</p></div>\r
+<div class="sect2">\r
+<h3 id="_prerequisites">2.1. Prerequisites</h3>\r
+<div class="paragraph"><p>The compilation of <tt>ptask</tt> requires:</p></div>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+asciidoc\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+autotools\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+cppcheck (optional, static source checker)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+gcc\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+help2man\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+library gtk3\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+library json-c\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+make\r
+</p>\r
+</li>\r
+</ul></div>\r
+<div class="paragraph"><p>For Ubuntu 12.10:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>sudo apt-get install autoconf automake asciidoc cppcheck gcc gettext autopoint help2man libgtk-3-dev libjson0-dev make perl</tt></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_download_sources">2.2. Download sources</h3>\r
+<div class="paragraph"><p>Download a source tarballs of a release and extracts its content:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>mkdir TMP_DIR\r
+cd TMP_DIR\r
+wget http://wpitchoune.net/ptask/files/ptask-last.tar.gz\r
+tar -xzvf ptask-last.tar.gz\r
+cd ptask-*</tt></pre>\r
+</div></div>\r
+<div class="paragraph"><p>Alternatively, you can get the last development snapshot of the\r
+sources directly from the SVN source repository:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>mkdir TMP_DIR\r
+cd TMP_DIR\r
+svn co http://wpitchoune.net/svnpub/ptask/trunk\r
+cd trunk</tt></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_compilation">2.3. Compilation</h3>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>./configure\r
+make clean all</tt></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_installation">2.4. Installation</h3>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>make install</tt></pre>\r
+</div></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_resources">3. Resources</h2>\r
+<div class="sectionbody">\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+<strong>Home page</strong>: <a href="http://wpitchoune.net/ptask">http://wpitchoune.net/ptask</a>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>RSS feed</strong>: <a href="http://wpitchoune.net/blog/category/ptask/feed/">http://wpitchoune.net/blog/category/ptask/feed/</a>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>Release changes</strong>: <a href="NEWS.html">NEWS</a>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>Source tarballs</strong>: <a href="http://wpitchoune.net/ptask/files">http://wpitchoune.net/ptask/files</a>.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>Documentation</strong>: <a href="http://wpitchoune.net/ptask/doc">http://wpitchoune.net/ptask/doc</a>.\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_contact">4. Contact</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Bugs and comments can be sent to <a href="mailto:jeanfi@gmail.com">jeanfi@gmail.com</a>.</p></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div id="footnotes"><hr /></div>\r
+<div id="footer">\r
+<div id="footer-text">\r
+Last updated 2013-12-01 17:39:17 CET\r
+</div>\r
+</div>\r
+</body>\r
+</html>\r