Commit | Line | Data |
---|---|---|
eb35c2f3 DV |
1 | #!/usr/bin/env python |
2 | ||
3 | # Generates docs/download.html | |
4 | # Run: | |
5 | # ./generate-download.py > docs/download.html | |
6 | ||
7 | import json | |
8 | ||
9 | releases = json.load(file('releases.json')) | |
10 | ||
11 | def file_links(release): | |
12 | v = release['version'] | |
13 | return ['<a href="%(v)s/%(f)s">%(f)s</a>' % { | |
14 | 'f': f, 'v': v} for f in release['files']] | |
15 | ||
16 | ||
17 | # Validation of releases.json | |
18 | for idx, release in enumerate(releases): | |
19 | if idx == 0: continue | |
20 | assert 'version' in release, 'Release missing version: %s' % release | |
21 | assert 'files' in release, 'Release missing files: %s' % release | |
22 | assert release['version'] < releases[idx - 1]['version'], ( | |
23 | 'Releases should be in reverse chronological order in releases.json') | |
24 | ||
25 | current_html = '<p>' + ('</p><p>'.join(file_links(releases[0]))) + '</p>' | |
26 | ||
27 | ||
28 | previous_lis = [] | |
29 | for release in releases[1:]: | |
30 | previous_lis.append('<li>%(v)s: %(files)s (<a href="%(v)s/">%(v)s docs</a>)' % { | |
31 | 'v': release['version'], | |
32 | 'files': ', '.join(file_links(release)) | |
33 | }) | |
34 | ||
35 | ||
36 | print ''' | |
37 | <!--#include virtual="header.html" --> | |
38 | ||
39 | <!-- | |
40 | DO NOT EDIT THIS FILE! | |
41 | ||
42 | This file is generated by generate-download.py. | |
43 | --> | |
44 | ||
45 | <script src="modernizr.custom.18445.js"></script> | |
46 | <p>The current version of dygraphs is <b>%(version)s</b>. Most users will want to download minified files for this version:</p> | |
47 | ||
48 | <div id="current-release" class="panel"> | |
49 | %(current_html)s | |
50 | </div> | |
51 | ||
9d3a1c86 | 52 | <p>There's a hosted version of dygraphs on <a href="https://cdnjs.com/libraries/dygraph">cdnjs.com</a>:</p> |
19526d02 | 53 | |
6611837c | 54 | <pre><script href="//cdnjs.cloudflare.com/ajax/libs/dygraph/%(version)s/dygraph.min.js"></script> |
fd6b8dad DV |
55 | <link rel="stylesheet" src="//cdnjs.cloudflare.com/ajax/libs/dygraph/%(version)s/dygraph.min.css" /> |
56 | </pre> | |
19526d02 | 57 | |
fd6b8dad | 58 | <p>You can also install dygraphs using <a href="https://www.npmjs.org/package/dygraphs">NPM</a>:</p> |
19526d02 | 59 | |
19526d02 | 60 | <pre>$ npm install dygraphs |
fd6b8dad | 61 | # dygraphs is now in node_modules/dygraphs/dygraph.js</pre> |
19526d02 | 62 | |
fd6b8dad | 63 | <p>Most distributions include a source map to facilitate debugging.</p> |
eb35c2f3 DV |
64 | |
65 | <p>To generate your own minified JS, run:</p> | |
66 | ||
67 | <pre>git clone https://github.com/danvk/dygraphs.git | |
fd6b8dad | 68 | npm run build |
eb35c2f3 DV |
69 | </pre> |
70 | ||
fd6b8dad | 71 | <p>This will create a dygraph.min.js file in the <code>dist</code> directory.</p> |
eb35c2f3 DV |
72 | |
73 | <p>You may also download files for previously-released versions:</p> | |
74 | ||
75 | <ul> | |
76 | %(previous_lis)s | |
77 | </ul> | |
78 | ||
b66a63b1 DV |
79 | <p>See <a href="/versions.html">Version History</a> for more information on each release.</p> |
80 | ||
eb35c2f3 DV |
81 | |
82 | <!--#include virtual="footer.html" --> | |
83 | ''' % { | |
84 | 'version': releases[0]['version'], | |
85 | 'current_html': current_html, | |
86 | 'previous_lis': '\n'.join(previous_lis) | |
87 | } |