Remove legacy options:
[dygraphs.git] / generate-documentation.py
index 1a66689..0d6760e 100755 (executable)
@@ -80,52 +80,36 @@ if debug_tests: sys.exit(0)
 
 # Extract a labels list.
 labels = []
-for nu, opt in docs.iteritems():
+for _, opt in docs.iteritems():
   for label in opt['labels']:
     if label not in labels:
       labels.append(label)
 
-print """<!DOCTYPE HTML>
-<html>
-<head>
-  <title>Dygraphs Options Reference</title>
-  <link rel="stylesheet" href="style.css">
-  <style type="text/css">
-    p.option {
-      padding-left: 25px;
-    }
-    div.parameters {
-      padding-left: 15px;
-    }
-    #nav {
-      position: fixed;
-    }
-    #content {
-      max-width: 800px;
-    }
-  </style>
-</head>
-<body>
+print """
+<!--#include virtual="header.html" -->
+
+<!--
+  DO NOT EDIT THIS FILE!
+
+  This file is generated by generate-documentation.py.
+-->
+
+<link rel=stylesheet href="options.css" />
+
 """
 
 print """
-<div id='nav'>
-<h2>Dygraphs</h2>
-<ul>
-  <li><a href="index.html">Home</a>
-  <li><a href="data.html">Data Formats</a></li>
-  <li><a href="annotations.html">Annotations</a></li>
-</ul>
-<h2>Options Reference</h2>
-<ul>
+<div class="col-lg-3">
+<div class="dygraphs-side-nav affix-top" data-spy="affix" data-offset-top="0">
+<ul class='nav'>
   <li><a href="#usage">Usage</a>
 """
 for label in sorted(labels):
   print '  <li><a href="#%s">%s</a>\n' % (label, label)
-print '</ul>\n</div>\n\n'
+print '</ul></div></div>\n\n'
 
 print """
-<div id='content'>
+<div id='content' class='col-lg-9'>
 <h2>Options Reference</h2>
 <p>Dygraphs tries to do a good job of displaying your data without any further configuration. But inevitably, you're going to want to tinker. Dygraphs provides a rich set of options for configuring its display and behavior.</p>
 
@@ -146,6 +130,9 @@ print """
                   new_option2: value2
                 });
 </pre>
+
+<p>Some options can be set on a per-axis and per-series basis. See the docs on <a href="per-axis.html">per-axis and per-series options</a> to learn how to do this. The options which may be set in this way are marked as such on this page.</p>
+
 <p>And, without further ado, here's the complete list of options:</p>
 """
 
@@ -163,7 +150,7 @@ def urlify_gallery(f):
 
 
 for label in sorted(labels):
-  print '<a name="%s"><h3>%s</h3>\n' % (label, label)
+  print '<a name="%s"></a><h3>%s</h3>\n' % (label, label)
 
   for opt_name in sorted(docs.keys()):
     opt = docs[opt_name]
@@ -194,7 +181,9 @@ for label in sorted(labels):
     if not opt['description']: opt['description'] = '(missing)'
 
     print """
-  <div class='option'><a name="%(name)s"></a><b>%(name)s</b><br/>
+  <div class='option'><a name="%(name)s"></a><b>%(name)s</b>
+  <a class="link" href="#%(name)s">#</a>
+  <br/>
   <p>%(desc)s</p>
   <i>Type: %(type)s</i><br/>%(parameters)s
   <i>Default: %(default)s</i></p>
@@ -217,10 +206,11 @@ Some callbacks take a point argument. Its properties are:<br/>
 <li>xval/yval: The data coordinates of the point (with dates/times as millis since epoch)</li>
 <li>canvasx/canvasy: The canvas coordinates at which the point is drawn.</li>
 <li>name: The name of the data series to which the point belongs</li>
+<li>idx: The row number of the point in the data set</li>
 </ul>
-</div>
-</body>
-</html>
+</div> <!-- #content -->
+
+<!--#include virtual="footer.html" -->
 """
 
 # This page was super-helpful: