@knight-lab/timelinejs 3.8.16 → 3.8.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{CHANGELOG → CHANGELOG.md} +71 -8
- package/README.md +21 -19
- package/RELEASING.md +4 -4
- package/dist/css/fonts/font.abril-droidsans.css +143 -0
- package/dist/css/fonts/font.amatic-andika.css +143 -0
- package/dist/css/fonts/font.bevan-pontanosans.css +141 -0
- package/dist/css/fonts/font.bitter-raleway.css +149 -0
- package/dist/css/fonts/font.clicker-garamond.css +141 -0
- package/dist/css/fonts/font.dancing-ledger.css +143 -0
- package/dist/css/fonts/font.default.css +155 -0
- package/dist/css/fonts/font.fjalla-average.css +141 -0
- package/dist/css/fonts/font.georgia-helvetica.css +123 -0
- package/dist/css/fonts/font.knightlab.css +125 -0
- package/dist/css/fonts/font.lustria-lato.css +147 -0
- package/dist/css/fonts/font.medula-lato.css +149 -0
- package/dist/css/fonts/font.oldstandard.css +135 -0
- package/dist/css/fonts/font.opensans-gentiumbook.css +155 -0
- package/dist/css/fonts/font.playfair-faunaone.css +156 -0
- package/dist/css/fonts/font.playfair.css +143 -0
- package/dist/css/fonts/font.pt.css +153 -0
- package/dist/css/fonts/font.roboto-megrim.css +143 -0
- package/dist/css/fonts/font.rufina-sintony.css +149 -0
- package/dist/css/fonts/font.ubuntu.css +145 -0
- package/dist/css/fonts/font.unicaone-vollkorn.css +143 -0
- package/dist/css/icons/tl-icons.eot +0 -0
- package/dist/css/icons/tl-icons.svg +63 -0
- package/dist/css/icons/tl-icons.ttf +0 -0
- package/dist/css/icons/tl-icons.woff +0 -0
- package/dist/css/icons/tl-icons.woff2 +0 -0
- package/dist/css/themes/timeline.theme.contrast.css +3125 -0
- package/dist/css/themes/timeline.theme.dark.css +3125 -0
- package/dist/css/timeline.css +3128 -0
- package/dist/css/timeline.css.map +1 -0
- package/dist/embed/compare.html +91 -0
- package/dist/embed/index.html +170 -0
- package/dist/embed/old-index.html +170 -0
- package/dist/embed/popular_timelines.json +1 -0
- package/dist/js/locale/af.json +75 -0
- package/dist/js/locale/ar.json +76 -0
- package/dist/js/locale/be.json +75 -0
- package/dist/js/locale/bg.json +75 -0
- package/dist/js/locale/ca.json +75 -0
- package/dist/js/locale/cz.json +108 -0
- package/dist/js/locale/da.json +75 -0
- package/dist/js/locale/de.json +76 -0
- package/dist/js/locale/el.json +75 -0
- package/dist/js/locale/en-24hr.json +75 -0
- package/dist/js/locale/en-week.json +75 -0
- package/dist/js/locale/en.json +152 -0
- package/dist/js/locale/eo.json +75 -0
- package/dist/js/locale/es.json +76 -0
- package/dist/js/locale/et.json +75 -0
- package/dist/js/locale/eu.json +75 -0
- package/dist/js/locale/fa.json +74 -0
- package/dist/js/locale/fi.json +95 -0
- package/dist/js/locale/fo.json +75 -0
- package/dist/js/locale/fr.json +119 -0
- package/dist/js/locale/fy.json +75 -0
- package/dist/js/locale/ga.json +75 -0
- package/dist/js/locale/gl.json +75 -0
- package/dist/js/locale/he.json +76 -0
- package/dist/js/locale/hi.json +76 -0
- package/dist/js/locale/hr.json +75 -0
- package/dist/js/locale/hu.json +114 -0
- package/dist/js/locale/hy.json +75 -0
- package/dist/js/locale/id.json +75 -0
- package/dist/js/locale/is.json +75 -0
- package/dist/js/locale/it.json +92 -0
- package/dist/js/locale/iw.json +76 -0
- package/dist/js/locale/ja.json +75 -0
- package/dist/js/locale/ka.json +75 -0
- package/dist/js/locale/ko.json +75 -0
- package/dist/js/locale/lb.json +75 -0
- package/dist/js/locale/lt.json +75 -0
- package/dist/js/locale/lv.json +75 -0
- package/dist/js/locale/ms.json +75 -0
- package/dist/js/locale/my.json +124 -0
- package/dist/js/locale/ne.json +75 -0
- package/dist/js/locale/nl.json +75 -0
- package/dist/js/locale/no.json +76 -0
- package/dist/js/locale/pl.json +75 -0
- package/dist/js/locale/pt-br.json +78 -0
- package/dist/js/locale/pt.json +78 -0
- package/dist/js/locale/rm.json +75 -0
- package/dist/js/locale/ro.json +75 -0
- package/dist/js/locale/ru.json +75 -0
- package/dist/js/locale/si.json +74 -0
- package/dist/js/locale/sk.json +75 -0
- package/dist/js/locale/sl.json +75 -0
- package/dist/js/locale/sr-cy.json +75 -0
- package/dist/js/locale/sr.json +75 -0
- package/dist/js/locale/sv.json +86 -0
- package/dist/js/locale/ta.json +75 -0
- package/dist/js/locale/te.json +74 -0
- package/dist/js/locale/th.json +108 -0
- package/dist/js/locale/tl.json +75 -0
- package/dist/js/locale/tr.json +75 -0
- package/dist/js/locale/uk.json +75 -0
- package/dist/js/locale/ur.json +123 -0
- package/dist/js/locale/vi.json +74 -0
- package/dist/js/locale/zh-cn.json +76 -0
- package/dist/js/locale/zh-tw.json +75 -0
- package/dist/js/timeline-min.js +12 -0
- package/dist/js/timeline.js +12 -0
- package/dist/js/timeline.js.map +1 -0
- package/dist/timeline3.zip +0 -0
- package/index.js +1 -0
- package/package.json +4 -4
- package/src/embed/old-index.html +128 -18
- package/src/js/__tests__/Timeline.test.js +18 -3
- package/src/js/core/Util.js +1 -1
- package/src/js/index.js +1 -1
- package/src/js/language/locale/zh-cn.json +1 -1
- package/src/js/media/MediaType.js +1 -1
- package/src/js/media/types/Audio.js +15 -1
- package/src/js/media/types/Image.js +2 -2
- package/src/js/media/types/PDF.js +2 -2
- package/src/js/media/types/Video.js +17 -1
- package/src/js/timeline/Timeline.js +7 -12
- package/src/less/fonts/font.georgia-helvetica.less +2 -2
- package/src/less/fonts/font.roboto-megrim.less +2 -2
- package/src/template/all-media-types.json +61 -24
- package/src/template/index.html +39 -19
- package/{contrib/women_in_computing.csv → src/template/my-own-timeline.csv} +5 -5
- package/contrib/README.md +0 -13
- package/contrib/csv_to_json.py +0 -106
- package/contrib/docs/ImageHosting.md +0 -120
- package/contrib/examples/autoload.html +0 -44
- package/contrib/examples/iBooksAuthor/README.md +0 -37
- package/contrib/examples/iBooksAuthor/TimelineJS.wdgt/Default.png +0 -0
- package/contrib/examples/iBooksAuthor/TimelineJS.wdgt/Info.plist +0 -27
- package/contrib/examples/iBooksAuthor/TimelineJS.wdgt/index.html +0 -13
- package/contrib/examples/react.html +0 -40
- package/contrib/examples/vue.html +0 -29
- package/contrib/fedorbeets/README.md +0 -3
- package/contrib/fedorbeets/timeline.py.txt +0 -56
- package/contrib/iamamoose/README.md +0 -3
- package/contrib/iamamoose/timeline.py.txt +0 -53
- package/contrib/women_in_computing.json +0 -263
- package/fabfile.py +0 -64
- package/requirements.txt +0 -29
- package/util/convert_json.py +0 -96
- package/website/__init__.py +0 -0
- package/website/app.py +0 -101
- package/website/core/__init__.py +0 -0
- package/website/core/settings/__init__.py +0 -0
- package/website/core/settings/base.py +0 -6
- package/website/core/settings/loc.py +0 -16
- package/website/examples.json +0 -114
- package/website/faq.json +0 -81
- package/website/static/css/desert.css +0 -34
- package/website/static/css/site.css +0 -74
- package/website/static/img/TimelineJSTags.jpg +0 -0
- package/website/static/img/examples/houston/eyesclosedftm_10001.jpg +0 -0
- package/website/static/img/examples/houston/family.jpg +0 -0
- package/website/static/img/examples/houston/family.png +0 -0
- package/website/static/img/examples/houston/wh1.jpg +0 -0
- package/website/static/img/examples/houston/wh2.jpg +0 -0
- package/website/static/img/examples/houston/wh3.jpg +0 -0
- package/website/static/img/examples/houston/whChild.jpg +0 -0
- package/website/static/img/examples/houston/whlead.jpg +0 -0
- package/website/static/img/examples/houston/young.jpg +0 -0
- package/website/static/img/examples/logos/Northwestern University.png +0 -0
- package/website/static/img/examples/logos/Social-Logos.png +0 -0
- package/website/static/img/examples/logos/knightlab-logo-background.png +0 -0
- package/website/static/img/examples/logos/knightlab-logo-small.png +0 -0
- package/website/static/img/examples/logos/knightlab-logo.png +0 -0
- package/website/static/img/examples/logos/less-small.png +0 -0
- package/website/static/img/examples/logos/logo_aljazeera.png +0 -0
- package/website/static/img/examples/logos/logo_arte.png +0 -0
- package/website/static/img/examples/logos/logo_beyondtheseal.png +0 -0
- package/website/static/img/examples/logos/logo_centerforpublicintegrity.png +0 -0
- package/website/static/img/examples/logos/logo_cnn.png +0 -0
- package/website/static/img/examples/logos/logo_denverpost.png +0 -0
- package/website/static/img/examples/logos/logo_engadget.png +0 -0
- package/website/static/img/examples/logos/logo_gigaom.png +0 -0
- package/website/static/img/examples/logos/logo_ibt.png +0 -0
- package/website/static/img/examples/logos/logo_knightlab.png +0 -0
- package/website/static/img/examples/logos/logo_ksat.png +0 -0
- package/website/static/img/examples/logos/logo_lemonde.png +0 -0
- package/website/static/img/examples/logos/logo_maneater.png +0 -0
- package/website/static/img/examples/logos/logo_mashable.png +0 -0
- package/website/static/img/examples/logos/logo_radiolab.png +0 -0
- package/website/static/img/examples/logos/logo_time.png +0 -0
- package/website/static/img/examples/logos/logo_vh1.png +0 -0
- package/website/static/img/examples/logos/logo_vinepair.png +0 -0
- package/website/static/img/examples/logos/logo_wbur.png +0 -0
- package/website/static/img/examples/thumbs/thumb_akira.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_aljazeera.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_artetv.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_banana.png +0 -0
- package/website/static/img/examples/thumbs/thumb_bulger.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_denver_shooting.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_houston.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_isis.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_lemonde.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_malaysia-airlines.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_mandela.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_mobile_device.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_northkorea.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_perpwalk.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_radiolab-colorwalking.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_republican.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_shtpeoplesay.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_supremecourt.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_univofmissouri.jpg +0 -0
- package/website/static/img/examples/thumbs/thumb_userinterface.png +0 -0
- package/website/static/img/examples/thumbs/thumb_wine.jpg +0 -0
- package/website/static/img/examples/user-interface/4s.jpg +0 -0
- package/website/static/img/examples/user-interface/apple.jpg +0 -0
- package/website/static/img/examples/user-interface/input.png +0 -0
- package/website/static/img/examples/user-interface/palm.png +0 -0
- package/website/static/img/examples/user-interface/pascaline.jpg +0 -0
- package/website/static/img/examples/user-interface/univac.JPG +0 -0
- package/website/static/img/font-options.png +0 -0
- package/website/static/img/kl-og.png +0 -0
- package/website/static/img/knightlab_logo.png +0 -0
- package/website/static/img/loading.gif +0 -0
- package/website/static/img/make/abril-droidsans.png +0 -0
- package/website/static/img/make/amatic-andika.png +0 -0
- package/website/static/img/make/bevan-pontanosans.png +0 -0
- package/website/static/img/make/bitter-raleway.png +0 -0
- package/website/static/img/make/clicker-garamond.png +0 -0
- package/website/static/img/make/dancing-ledger.png +0 -0
- package/website/static/img/make/default.png +0 -0
- package/website/static/img/make/fakedropdown.svg +0 -1
- package/website/static/img/make/fjalla-average.png +0 -0
- package/website/static/img/make/font-options.png +0 -0
- package/website/static/img/make/georgia-helvetica.png +0 -0
- package/website/static/img/make/lustria-lato.png +0 -0
- package/website/static/img/make/medula-lato.png +0 -0
- package/website/static/img/make/oldstandard.png +0 -0
- package/website/static/img/make/opensans-gentiumbook.png +0 -0
- package/website/static/img/make/playfair-faunaone.png +0 -0
- package/website/static/img/make/playfair.png +0 -0
- package/website/static/img/make/pt.png +0 -0
- package/website/static/img/make/publish_to_web_browser_url.png +0 -0
- package/website/static/img/make/publish_to_web_button_small-od1.png +0 -0
- package/website/static/img/make/publish_to_web_button_small.png +0 -0
- package/website/static/img/make/publish_to_web_small.png +0 -0
- package/website/static/img/make/publish_to_web_url_small.png +0 -0
- package/website/static/img/make/roboto-megrim.png +0 -0
- package/website/static/img/make/rufina-sintony.png +0 -0
- package/website/static/img/make/unicaone-vollkorn.png +0 -0
- package/website/static/img/make/v4_step_1.png +0 -0
- package/website/static/img/make/v4_step_2.png +0 -0
- package/website/static/img/timeline.png +0 -0
- package/website/static/img/timeline3_intro_image.png +0 -0
- package/website/static/js/faq-generator.js +0 -20
- package/website/static/js/main.js +0 -240
- package/website/static/welcome/step3.png +0 -0
- package/website/static/welcome/welcome.json +0 -266
- package/website/templates/_about.html +0 -23
- package/website/templates/_analytics.html +0 -10
- package/website/templates/_banner.html +0 -26
- package/website/templates/_demo.html +0 -5
- package/website/templates/_developers.html +0 -19
- package/website/templates/_examples.html +0 -156
- package/website/templates/_faq.html +0 -117
- package/website/templates/_footer.html +0 -54
- package/website/templates/_head.html +0 -38
- package/website/templates/_header.html +0 -18
- package/website/templates/_help.html +0 -50
- package/website/templates/_make.html +0 -291
- package/website/templates/_nav.html +0 -24
- package/website/templates/_overview.html +0 -32
- package/website/templates/_roadmap.html +0 -27
- package/website/templates/_storytelling_tools.html +0 -35
- package/website/templates/base.html +0 -37
- package/website/templates/docs/faq.html +0 -223
- package/website/templates/docs/index.html +0 -57
- package/website/templates/docs/instantiate-a-timeline.html +0 -207
- package/website/templates/docs/json-format.html +0 -477
- package/website/templates/docs/license.html +0 -29
- package/website/templates/docs/media-types.html +0 -82
- package/website/templates/docs/options.html +0 -503
- package/website/templates/docs/overriding-styles.html +0 -357
- package/website/templates/docs/using-spreadsheets.html +0 -94
- package/website/templates/error.html +0 -28
- package/website/templates/examples/_common_example_embed.html +0 -27
- package/website/templates/examples/embed-test/index.html +0 -41
- package/website/templates/examples/example.json +0 -328
- package/website/templates/examples/houston/index.html +0 -40
- package/website/templates/examples/houston/timeline2.json +0 -218
- package/website/templates/examples/houston/timeline3.json +0 -271
- package/website/templates/examples/mediatypes/index.html +0 -61
- package/website/templates/examples/mediatypes/timeline3.json +0 -421
- package/website/templates/examples/republican/index.html +0 -49
- package/website/templates/examples/republican/timeline2.json +0 -0
- package/website/templates/examples/republican/timeline3.json +0 -238
- package/website/templates/examples/shit-people-say/index.html +0 -39
- package/website/templates/examples/shit-people-say/timeline2.json +0 -243
- package/website/templates/examples/shit-people-say/timeline3.json +0 -336
- package/website/templates/examples/soundcite/index.html +0 -42
- package/website/templates/examples/soundcite/timeline3.json +0 -271
- package/website/templates/examples/timeline3.json +0 -271
- package/website/templates/examples/twain/index.html +0 -85
- package/website/templates/examples/twain/marktwain.json +0 -502
- package/website/templates/examples/user-interface/index.html +0 -40
- package/website/templates/examples/user-interface/timeline2.json +0 -260
- package/website/templates/examples/user-interface/timeline3.json +0 -327
- package/website/templates/index.html +0 -17
- package/website/templates/mediatype-tests.html +0 -121
- package/website/templates/test/GoogleSpreadsheetFeedLegacyFormat.json +0 -1
- package/website/templates/test/GoogleSpreadsheetFeedTJS3Format.json +0 -1
- package/website/templates/test/maps.html +0 -4
- package/website/templates/unit-tests.html +0 -775
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# iBooks Author Widget Example for TimelineJS3
|
|
2
|
-
|
|
3
|
-
It appears that in order to embed HTML in iBooks Author, you will need to create an HTML widget. Specifications for the iBook HTML widget format are here: https://support.apple.com/en-us/HT204433
|
|
4
|
-
|
|
5
|
-
The included example contains the specified .html, and .plist files and a Default.png file. Note: iBook is not an officially supported platform for Timeline. Our ability to help with this will be minimal. Also, this example is not well tested at all, but at first glance it appears to be working. Do this at your own risk. Be sure to let us know if you learn anything useful along the way -- we will try to include such information here as appropriate.
|
|
6
|
-
|
|
7
|
-
## Usage
|
|
8
|
-
|
|
9
|
-
First, you need to be familiar with the iBook Author application, as well as the concept of widgets used in that application. Please see the specification link above for detailed information about the requirements for an HTML widget.
|
|
10
|
-
|
|
11
|
-
To embed the example Timeline into your iBook:
|
|
12
|
-
|
|
13
|
-
* within the Author select Widgets > HTML.
|
|
14
|
-
* in the Widget dialog, select the `Choose ...` button and navigate to select contrib/examples/iBooksAuthor/TimelinJS.wdgt, and select `Insert`
|
|
15
|
-
|
|
16
|
-
Your widget is embedded and ready to go. Select the `Preview` button to preview your iBook and see the widget in action.
|
|
17
|
-
|
|
18
|
-
## Customizing
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### Set your spreadsheet as the source
|
|
22
|
-
|
|
23
|
-
Presumably, you want to use your own Timeline. Edit the index.html file to specify your own Timeline spreadsheet. For more information about Javascript-embedded Timelines, see the docs here: https://timeline.knightlab.com/docs/instantiate-a-timeline.html.
|
|
24
|
-
|
|
25
|
-
Alternatively, you could specify your data via JSON as also documented in the link above.
|
|
26
|
-
|
|
27
|
-
### Accessing the widget files
|
|
28
|
-
|
|
29
|
-
NOTE: The Mac finder will probably not allow you to navigate into the .wdgt folder. You may need to either temporarily rename the folder, or access the files in other ways, such as via the terminal. The folder name, however, must be changed back to a .wdgt name to work with the Author.
|
|
30
|
-
|
|
31
|
-
### Regarding height and width
|
|
32
|
-
|
|
33
|
-
I did not find that the iBook Author did a very good job with handling percentage based dimension settings, so this example uses explicit height and width settings in both the plist specification and the index.html file.
|
|
34
|
-
|
|
35
|
-
Also, I found that matching the sizes in the plist and the html files tended to cutoff the edges of the Timeline, so you will notice that the plist dimensions are slightly larger than the html dimensions.
|
|
36
|
-
|
|
37
|
-
You will likely want to experiment with the dimensions a bit to find what works for you. I have no experience with the iBook Author, and have no idea if it does any kind of responsive layout work. Again, this example is not well tested and you will want to test for the various viewports you expect to be supporting.
|
|
Binary file
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
|
|
3
|
-
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
4
|
-
<plist version="1.0">
|
|
5
|
-
<dict>
|
|
6
|
-
<key>CFBundleDevelopmentRegion</key>
|
|
7
|
-
<string>English</string>
|
|
8
|
-
<key>CFBundleDisplayName</key>
|
|
9
|
-
<string>TimelineJS Example</string>
|
|
10
|
-
<key>CFBundleIdentifier</key>
|
|
11
|
-
<string>com.knightlab.TimelineJSExample</string>
|
|
12
|
-
<key>CFBundleName</key>
|
|
13
|
-
<string>TimelineJS Example</string>
|
|
14
|
-
<key>CFBundleShortVersionString</key>
|
|
15
|
-
<string>1.0</string>
|
|
16
|
-
<key>CFBundleVersion</key>
|
|
17
|
-
<string>1.0</string>
|
|
18
|
-
<key>Height</key>
|
|
19
|
-
<integer>630</integer>
|
|
20
|
-
<key>MainHTML</key>
|
|
21
|
-
<string>index.html</string>
|
|
22
|
-
<key>Width</key>
|
|
23
|
-
<integer>1294</integer>
|
|
24
|
-
<key>IBNotifiesOnReady</key>
|
|
25
|
-
<true/>
|
|
26
|
-
</dict>
|
|
27
|
-
</plist>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<html>
|
|
2
|
-
<head>
|
|
3
|
-
</head>
|
|
4
|
-
<body>
|
|
5
|
-
<link title="timeline-styles" rel="stylesheet" href="https://cdn.knightlab.com/libs/timeline3/latest/css/timeline.css">
|
|
6
|
-
<script src="https://cdn.knightlab.com/libs/timeline3/latest/js/timeline.js"></script>
|
|
7
|
-
<div id="timeline-embed" style="height: 600; width: 1264;"></div>
|
|
8
|
-
<script type="text/javascript">
|
|
9
|
-
timeline = new TL.Timeline('timeline-embed',
|
|
10
|
-
'https://docs.google.com/spreadsheets/d/1cWqQBZCkX9GpzFtxCWHoqFXCHg-ylTVUWlnrdYMzKUI/pubhtml');
|
|
11
|
-
</script>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script crossorigin src="https://unpkg.com/react@16.7.0/umd/react.production.min.js"></script>
|
|
5
|
-
<script crossorigin src="https://unpkg.com/react-dom@16.7.0/umd/react-dom.production.min.js"></script>
|
|
6
|
-
<script src="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script>
|
|
7
|
-
<link title="timeline-styles" rel="stylesheet" href="https://cdn.knightlab.com/libs/timeline3/latest/css/timeline.css">
|
|
8
|
-
<script src="https://cdn.knightlab.com/libs/timeline3/latest/js/timeline.js"></script>
|
|
9
|
-
<style>
|
|
10
|
-
div#timeline-embed {
|
|
11
|
-
height: 600px;
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
|
|
17
|
-
<div>Content above React container</div>
|
|
18
|
-
<div id="react-container"></div>
|
|
19
|
-
<div>Content below React container</div>
|
|
20
|
-
|
|
21
|
-
<script type="text/babel">
|
|
22
|
-
/**
|
|
23
|
-
* Alternatively: create a React Component and create the timeline
|
|
24
|
-
* object in componentDidMount() and componentDidUpdate() functions.
|
|
25
|
-
*/
|
|
26
|
-
var timeline = null;
|
|
27
|
-
ReactDOM.render(<div>
|
|
28
|
-
<p>A React-rendered paragraph above Timeline</p>
|
|
29
|
-
<div id="timeline-embed"></div>
|
|
30
|
-
<p>A React-rendered paragraph below Timeline</p>
|
|
31
|
-
</div>,
|
|
32
|
-
document.getElementById('react-container'),
|
|
33
|
-
function() {
|
|
34
|
-
timeline = new TL.Timeline('timeline-embed', 'https://docs.google.com/spreadsheets/d/1cWqQBZCkX9GpzFtxCWHoqFXCHg-ylTVUWlnrdYMzKUI/pubhtml');
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
</script>
|
|
38
|
-
|
|
39
|
-
</body>
|
|
40
|
-
</html>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.8/dist/vue.js"></script>
|
|
5
|
-
<link title="timeline-styles" rel="stylesheet" href="https://cdn.knightlab.com/libs/timeline3/latest/css/timeline.css">
|
|
6
|
-
<script src="https://cdn.knightlab.com/libs/timeline3/latest/js/timeline.js"></script>
|
|
7
|
-
<style>
|
|
8
|
-
div#timeline-embed {
|
|
9
|
-
height: 600px;
|
|
10
|
-
}
|
|
11
|
-
</style>
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
|
|
15
|
-
<div>Some content before the Vue application</div>
|
|
16
|
-
<div id="timeline-embed"></div>
|
|
17
|
-
<div>Content after the Vue application</div>
|
|
18
|
-
|
|
19
|
-
<script>
|
|
20
|
-
var app = new Vue({
|
|
21
|
-
el: '#timeline-embed',
|
|
22
|
-
data: { },
|
|
23
|
-
mounted: function() {
|
|
24
|
-
timeline = new TL.Timeline('timeline-embed', 'https://docs.google.com/spreadsheets/d/1cWqQBZCkX9GpzFtxCWHoqFXCHg-ylTVUWlnrdYMzKUI/pubhtml');
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
</script>
|
|
28
|
-
</body>
|
|
29
|
-
</html>
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Convert google doc spreadsheet format for timelinejs to json file
|
|
2
|
-
# useful if you want to experiment using google doc but eventually
|
|
3
|
-
# host everything yourself privately.
|
|
4
|
-
|
|
5
|
-
# Example: go to google docs spreadsheet and do File -> Download As -> CSV (Comma Separated Values)
|
|
6
|
-
# save as timeline.csv, run this, you get a timeline.json out
|
|
7
|
-
#
|
|
8
|
-
# Or look at your google doc ID long string like for example 1xTn9OSdmnxbBtQcKxZYV-xXkKoOpPSu6AUT0LXXszHo
|
|
9
|
-
# wget -qO timeline.csv 'https://docs.google.com/spreadsheets/d/1xTn9OSdmnxbBtQcKxZYV-xXkKoOpPSu6AUT0LXXszHo/pub?output=csv'
|
|
10
|
-
|
|
11
|
-
import csv
|
|
12
|
-
import json
|
|
13
|
-
|
|
14
|
-
csvfile = open('timeline.csv','rb')
|
|
15
|
-
outfile = open('timeline.json','w')
|
|
16
|
-
reader = csv.DictReader(csvfile)
|
|
17
|
-
|
|
18
|
-
data = {}
|
|
19
|
-
events = []
|
|
20
|
-
eras = []
|
|
21
|
-
data['events']=events
|
|
22
|
-
data['eras']=eras
|
|
23
|
-
|
|
24
|
-
# Didn't support 'End Time': '', 'Time': ''
|
|
25
|
-
|
|
26
|
-
keymap = {'Media': 'media|url', 'Media Caption': 'media|caption', 'Media Thumbnail': 'media|thumbnail',
|
|
27
|
-
'Month': 'start_date|month', 'Day': 'start_date|day', 'Year': 'start_date|year',
|
|
28
|
-
'End Month': 'end_date|month', 'End Day': 'end_date|day', 'End Year': 'end_date|year',
|
|
29
|
-
'Headline': 'text|headline', 'Text': 'text|text',
|
|
30
|
-
'Group': 'group', 'Display Date': 'display_date'}
|
|
31
|
-
|
|
32
|
-
for row in reader:
|
|
33
|
-
event = {}
|
|
34
|
-
for a in keymap:
|
|
35
|
-
if row[a]:
|
|
36
|
-
if '|' in keymap[a]:
|
|
37
|
-
(x,y)=keymap[a].split("|")
|
|
38
|
-
if not x in event: event[x]={}
|
|
39
|
-
event[x][y] = row[a]
|
|
40
|
-
else:
|
|
41
|
-
event[keymap[a]] = row[a]
|
|
42
|
-
|
|
43
|
-
if row['Background']:
|
|
44
|
-
event['background'] = {}
|
|
45
|
-
if row['Background'].startswith("#"):
|
|
46
|
-
event['background']['color']=row['Background']
|
|
47
|
-
else:
|
|
48
|
-
event['background']['url']=row['Background']
|
|
49
|
-
if (row['Type'] == 'title'):
|
|
50
|
-
data['title']=event
|
|
51
|
-
elif (row['Type'] == 'era'):
|
|
52
|
-
eras.append(event)
|
|
53
|
-
else:
|
|
54
|
-
events.append(event)
|
|
55
|
-
|
|
56
|
-
json.dump(data,outfile, sort_keys=True,indent=4)
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
We tested out using TimelineJS using a google spreadsheet but wanted to then move everything internal. Rather than rewrite everything I made this Python program that can take the spreadsheet and convert it to a json file which you can then host internally etc. As there is no contrib/ directory I didn't submit a MR, but feel free to create some place for this and request a MR from me instead. Submittted under MPL as per LICENSE.
|
|
2
|
-
|
|
3
|
-
See: https://github.com/NUKnightLab/TimelineJS3/issues/398
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Convert google doc spreadsheet format for timelinejs to json file
|
|
2
|
-
# useful if you want to experiment using google doc but eventually
|
|
3
|
-
# host everything yourself privately.
|
|
4
|
-
|
|
5
|
-
# Example: go to google docs spreadsheet and do File -> Download As -> CSV (Comma Separated Values)
|
|
6
|
-
# save as timeline.csv, run this, you get a timeline.json out
|
|
7
|
-
#
|
|
8
|
-
# Or look at your google doc ID long string like for example 1xTn9OSdmnxbBtQcKxZYV-xXkKoOpPSu6AUT0LXXszHo
|
|
9
|
-
# wget -qO timeline.csv 'https://docs.google.com/spreadsheets/d/1xTn9OSdmnxbBtQcKxZYV-xXkKoOpPSu6AUT0LXXszHo/pub?output=csv'
|
|
10
|
-
|
|
11
|
-
import csv
|
|
12
|
-
import json
|
|
13
|
-
|
|
14
|
-
csvfile = open('timeline.csv','rb')
|
|
15
|
-
outfile = open('timeline.json','w')
|
|
16
|
-
reader = csv.DictReader(csvfile)
|
|
17
|
-
|
|
18
|
-
data = {}
|
|
19
|
-
events = []
|
|
20
|
-
data['events']=events
|
|
21
|
-
|
|
22
|
-
# Didn't support 'End Time': '', 'Time': ''
|
|
23
|
-
|
|
24
|
-
keymap = {'Media': 'media|url', 'Media Caption': 'media|caption', 'Media Thumbnail': 'media|thumbnail',
|
|
25
|
-
'Month': 'start_date|month', 'Day': 'start_date|day', 'Year': 'start_date|year',
|
|
26
|
-
'End Month': 'end_date|month', 'End Day': 'end_date|day', 'End Year': 'end_date|year',
|
|
27
|
-
'Headline': 'text|headline', 'Text': 'text|text',
|
|
28
|
-
'Group': 'group', 'Display Date': 'display_date' }
|
|
29
|
-
|
|
30
|
-
for row in reader:
|
|
31
|
-
event = {}
|
|
32
|
-
for a in keymap:
|
|
33
|
-
if row[a]:
|
|
34
|
-
if '|' in keymap[a]:
|
|
35
|
-
(x,y)=keymap[a].split("|")
|
|
36
|
-
if not x in event: event[x]={}
|
|
37
|
-
event[x][y] = row[a]
|
|
38
|
-
else:
|
|
39
|
-
event[keymap[a]] = row[a]
|
|
40
|
-
|
|
41
|
-
if row['Background']:
|
|
42
|
-
event['background'] = {}
|
|
43
|
-
if row['Background'].startswith("#"):
|
|
44
|
-
event['background']['color']=row['Background']
|
|
45
|
-
else:
|
|
46
|
-
event['background']['url']=row['Background']
|
|
47
|
-
|
|
48
|
-
if (row['Type'] == 'title'):
|
|
49
|
-
data['title']=event
|
|
50
|
-
else:
|
|
51
|
-
events.append(event)
|
|
52
|
-
|
|
53
|
-
json.dump(data,outfile, sort_keys=True,indent=4)
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"events": [
|
|
3
|
-
{
|
|
4
|
-
"media": {
|
|
5
|
-
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Ada_Lovelace_portrait.jpg/713px-Ada_Lovelace_portrait.jpg",
|
|
6
|
-
"credit": "Wikimedia Commons",
|
|
7
|
-
"caption": "<a href=\"https://en.wikipedia.org/wiki/Ada_Lovelace#/media/File:Ada_Lovelace_portrait.jpg\" title=\"\">Portrait by Alfred Edward Chalon</a>",
|
|
8
|
-
"thumbnail": ""
|
|
9
|
-
},
|
|
10
|
-
"start_date": {
|
|
11
|
-
"year": "1815",
|
|
12
|
-
"month": "12",
|
|
13
|
-
"day": "10"
|
|
14
|
-
},
|
|
15
|
-
"end_date": {
|
|
16
|
-
"year": "1852",
|
|
17
|
-
"month": "11",
|
|
18
|
-
"day": "27"
|
|
19
|
-
},
|
|
20
|
-
"text": {
|
|
21
|
-
"headline": "Ada Lovelace",
|
|
22
|
-
"text": "<p>Women have been programming since before it was a thing. Take <a href=\"https://en.wikipedia.org/wiki/Ada_Lovelace\">Ada Lovelace</a>: Daughter of Lord Byron, she's often credited as the first computer programmer. Her work on <a href=\"https://en.wikipedia.org/wiki/Analytical_Engine\">Charles Babbage's Analytical Engine</a> contains notes of the first machine-implemented algorithm.</p><span class=\"tl-note\">This slide demonstrates a simple \"image\" media type.</span>"
|
|
23
|
-
},
|
|
24
|
-
"group": ""
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"media": {
|
|
28
|
-
"url": "<blockquote>There is no demand for women engineers, as such, as there are for women doctors; but there's always a demand for anyone who can do a good piece of work. <cite>Edith Clarke, first female professor of electrical engineering in the United States</cite></blockquote>",
|
|
29
|
-
"credit": "",
|
|
30
|
-
"caption": "",
|
|
31
|
-
"thumbnail": ""
|
|
32
|
-
},
|
|
33
|
-
"start_date": {
|
|
34
|
-
"year": "1948",
|
|
35
|
-
"month": "3",
|
|
36
|
-
"day": "14"
|
|
37
|
-
},
|
|
38
|
-
"end_date": {
|
|
39
|
-
"year": "",
|
|
40
|
-
"month": "",
|
|
41
|
-
"day": ""
|
|
42
|
-
},
|
|
43
|
-
"text": {
|
|
44
|
-
"headline": "Edith Clarke: Bucking the Trend",
|
|
45
|
-
"text": ""
|
|
46
|
-
},
|
|
47
|
-
"group": ""
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"media": {
|
|
51
|
-
"url": "https://www.youtube.com/watch?v=aPweFhhXFvY",
|
|
52
|
-
"credit": "<a href=\"https://www.youtube.com/channel/UCHDr4RtxwA1KqKGwxgdK4Vg\">Computer History Museum</a>",
|
|
53
|
-
"caption": "Jean Bartik talks about the ENIAC women",
|
|
54
|
-
"thumbnail": ""
|
|
55
|
-
},
|
|
56
|
-
"start_date": {
|
|
57
|
-
"year": "1943",
|
|
58
|
-
"month": "7",
|
|
59
|
-
"day": ""
|
|
60
|
-
},
|
|
61
|
-
"end_date": {
|
|
62
|
-
"year": "1946",
|
|
63
|
-
"month": "",
|
|
64
|
-
"day": ""
|
|
65
|
-
},
|
|
66
|
-
"text": {
|
|
67
|
-
"headline": "...And the women who made it work",
|
|
68
|
-
"text": "<p>The ENIAC programmers included a number of women: Jean Bartik, Marlyn Wescoff Meltzer, Ruth Lichterman Teitelbaum, Kay McNulty Mauchly Antonelli, Frances Spence, and Frances Elizabeth \"Betty\" Holberton. Despite their groundbreaking work, the Army never released the names of the women who worked on the ENIAC, and they were largely forgotten until Kathy Kleiman discovered their story in 1985.</p> <span class=\"tl-note\">You can add a YouTube URL like this video on the ENIAC Women.\n.</span>"
|
|
69
|
-
},
|
|
70
|
-
"group": "",
|
|
71
|
-
"background": {
|
|
72
|
-
"url": "https://upload.wikimedia.org/wikipedia/commons/c/cd/ARL_ENIAC_02.png"
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"media": {
|
|
77
|
-
"url": "https://www.google.com/maps/place/University+of+Pennsylvania/@39.9522188,-75.1932137,17z/data=!3m1!4b1!4m2!3m1!1s0x89c6c65a7f3bccc1:0x9eaa6a2b2d6fe94",
|
|
78
|
-
"credit": "",
|
|
79
|
-
"caption": "",
|
|
80
|
-
"thumbnail": ""
|
|
81
|
-
},
|
|
82
|
-
"start_date": {
|
|
83
|
-
"year": "1943",
|
|
84
|
-
"month": "6",
|
|
85
|
-
"day": "5"
|
|
86
|
-
},
|
|
87
|
-
"end_date": {
|
|
88
|
-
"year": "",
|
|
89
|
-
"month": "",
|
|
90
|
-
"day": ""
|
|
91
|
-
},
|
|
92
|
-
"text": {
|
|
93
|
-
"headline": "The First Computer",
|
|
94
|
-
"text": "Code named \"Project PX\" and funded by the United States Army, the first general-purpose computer was the Electronic Numerical Integrator And Computer (ENIAC). It was developed at the University of Pennsylvania's Moore School of Electrical Engineering. \n<p><span class=\"tl-note\">Timeline can easily embed Google Maps</span>"
|
|
95
|
-
},
|
|
96
|
-
"group": ""
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"media": {
|
|
100
|
-
"url": "https://en.wikipedia.org/wiki/Reduction_(recursion_theory)",
|
|
101
|
-
"credit": "Wikipedia",
|
|
102
|
-
"caption": "",
|
|
103
|
-
"thumbnail": ""
|
|
104
|
-
},
|
|
105
|
-
"start_date": {
|
|
106
|
-
"year": "1951",
|
|
107
|
-
"month": "",
|
|
108
|
-
"day": ""
|
|
109
|
-
},
|
|
110
|
-
"end_date": {
|
|
111
|
-
"year": "",
|
|
112
|
-
"month": "",
|
|
113
|
-
"day": ""
|
|
114
|
-
},
|
|
115
|
-
"text": {
|
|
116
|
-
"headline": "R\u00f3zsa P\u00e9ter writes recursion",
|
|
117
|
-
"text": "<p>Hungarian-born R\u00f3zsa P\u00e9ter studied number theory and poetry before becoming interested in the idea that would become recursion theory. She published her paper \"Recursive Functions\" in 1951, but it wasn't until the mid-50's that she began to apply her work to the realm of computers. </p><span class=\"tl-note\">This excerpt is embedded from Wikipedia. Just include the URL to the Wikipedia article.</span>"
|
|
118
|
-
},
|
|
119
|
-
"group": ""
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"media": {
|
|
123
|
-
"url": "https://soundcloud.com/obamawhitehouse/grace-hopper-as-told-by-u-s",
|
|
124
|
-
"credit": "The White House",
|
|
125
|
-
"caption": "US Chief Technology Officer Megan Smith talks about Grace Hopper.",
|
|
126
|
-
"thumbnail": ""
|
|
127
|
-
},
|
|
128
|
-
"start_date": {
|
|
129
|
-
"year": "1952",
|
|
130
|
-
"month": "",
|
|
131
|
-
"day": ""
|
|
132
|
-
},
|
|
133
|
-
"end_date": {
|
|
134
|
-
"year": "",
|
|
135
|
-
"month": "",
|
|
136
|
-
"day": ""
|
|
137
|
-
},
|
|
138
|
-
"text": {
|
|
139
|
-
"headline": "Grace Hopper invents the compiler",
|
|
140
|
-
"text": "<p>In her career with the Navy, Rear Admiral Grace Hopper worked on the first commercial computer (UNIVAC) and laid the groundwork for the programming language COBOL. But her most notable invention was the compiler, which can transform a source language into binary code. (In other words, it can translate the code you and I write into 0s and 1s.) She developed it in 1952, but she said \"Nobody would touch it. They told me computers could only do arithmetic.\"</p><span class=\"tl-note\">Embed sound clips from Soundcloud.</span>"
|
|
141
|
-
},
|
|
142
|
-
"group": ""
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"media": {
|
|
146
|
-
"url": "https://vimeo.com/304869290",
|
|
147
|
-
"credit": "National Archives (posted by Ira Gallen)",
|
|
148
|
-
"caption": "Project Mercury training footage",
|
|
149
|
-
"thumbnail": ""
|
|
150
|
-
},
|
|
151
|
-
"start_date": {
|
|
152
|
-
"year": "1956",
|
|
153
|
-
"month": "",
|
|
154
|
-
"day": ""
|
|
155
|
-
},
|
|
156
|
-
"end_date": {
|
|
157
|
-
"year": "1962",
|
|
158
|
-
"month": "",
|
|
159
|
-
"day": ""
|
|
160
|
-
},
|
|
161
|
-
"text": {
|
|
162
|
-
"headline": "Contributions to space exploration",
|
|
163
|
-
"text": "One of the first African-American women to earn a Ph.D in mathematics, Evelyn Boyd Granville focused on aeronautics and space during her career. In 1956, she worked with NASA and IBM on Project Mercury, the first manned space flight. She worked with NASA again a few years later on the Apollo Project.<span class=\"tl-note\">Videos from Vimeo are also easy to embed.</span>"
|
|
164
|
-
},
|
|
165
|
-
"group": ""
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"media": {
|
|
169
|
-
"url": "https://www.women.cs.cmu.edu/ada/Resources/Women/pictures/mary_keller.png",
|
|
170
|
-
"credit": "The Ada Project",
|
|
171
|
-
"caption": "",
|
|
172
|
-
"thumbnail": ""
|
|
173
|
-
},
|
|
174
|
-
"start_date": {
|
|
175
|
-
"year": "1958",
|
|
176
|
-
"month": "",
|
|
177
|
-
"day": ""
|
|
178
|
-
},
|
|
179
|
-
"end_date": {
|
|
180
|
-
"year": "",
|
|
181
|
-
"month": "",
|
|
182
|
-
"day": ""
|
|
183
|
-
},
|
|
184
|
-
"text": {
|
|
185
|
-
"headline": "The First PhD in Computer Science",
|
|
186
|
-
"text": "One of the first women (if not the first woman) to earn a Ph.D in computer science, Sister Mary Kenneth Keller also contributed to the development of the BASIC language during her time at Dartmouth College. She then founded the computer science department at Clarke College and directed it for the next 20 years."
|
|
187
|
-
},
|
|
188
|
-
"group": ""
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
"media": {
|
|
192
|
-
"url": "https://www.youtube.com/watch?v=4-DyVzj-f3c",
|
|
193
|
-
"credit": "BCS Karen Sparck Jones Lecture",
|
|
194
|
-
"caption": "\"How to enjoy a career in computing: the power of networks,\" Professor Dame Wendy Hall",
|
|
195
|
-
"thumbnail": ""
|
|
196
|
-
},
|
|
197
|
-
"start_date": {
|
|
198
|
-
"year": "1972",
|
|
199
|
-
"month": "",
|
|
200
|
-
"day": ""
|
|
201
|
-
},
|
|
202
|
-
"end_date": {
|
|
203
|
-
"year": "",
|
|
204
|
-
"month": "",
|
|
205
|
-
"day": ""
|
|
206
|
-
},
|
|
207
|
-
"text": {
|
|
208
|
-
"headline": "Karen Sp\u00e4rck Jones makes search possible",
|
|
209
|
-
"text": "A professor at Cambridge Computer Laboratory, Sp\u00e4rck Jones was interested in natural language processing and information retrieval. In 1972, she introduced the concept of inverse document frequency, which most search engines still rely on."
|
|
210
|
-
},
|
|
211
|
-
"group": ""
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"media": {
|
|
215
|
-
"url": "https://www.youtube.com/watch?v=I7FYG-XVgk4",
|
|
216
|
-
"credit": "Imagining the Internet",
|
|
217
|
-
"caption": "Radia Perlman's acceptance speech at being inducted into the Internet Hall of Fame.",
|
|
218
|
-
"thumbnail": ""
|
|
219
|
-
},
|
|
220
|
-
"start_date": {
|
|
221
|
-
"year": "1985",
|
|
222
|
-
"month": "",
|
|
223
|
-
"day": ""
|
|
224
|
-
},
|
|
225
|
-
"end_date": {
|
|
226
|
-
"year": "",
|
|
227
|
-
"month": "",
|
|
228
|
-
"day": ""
|
|
229
|
-
},
|
|
230
|
-
"text": {
|
|
231
|
-
"headline": "\"The Mother of the Internet\"",
|
|
232
|
-
"text": "Often called \"the Mother of the Internet,\" Radia Perlman's work on spanning tree protocol enabled the development of modern networking. She holds more than 100 patents, which is what mothers do best."
|
|
233
|
-
},
|
|
234
|
-
"group": ""
|
|
235
|
-
}
|
|
236
|
-
],
|
|
237
|
-
"title": {
|
|
238
|
-
"media": {
|
|
239
|
-
"url": "",
|
|
240
|
-
"credit": "",
|
|
241
|
-
"caption": "",
|
|
242
|
-
"thumbnail": ""
|
|
243
|
-
},
|
|
244
|
-
"start_date": {
|
|
245
|
-
"year": "",
|
|
246
|
-
"month": "",
|
|
247
|
-
"day": ""
|
|
248
|
-
},
|
|
249
|
-
"end_date": {
|
|
250
|
-
"year": "",
|
|
251
|
-
"month": "",
|
|
252
|
-
"day": ""
|
|
253
|
-
},
|
|
254
|
-
"text": {
|
|
255
|
-
"headline": "Women in Computing",
|
|
256
|
-
"text": "<p class=\"lead\">In this sample timeline, we'll walk you through what TimelineJS can do by looking at some of the more important contributions women have made to computer science.</p>"
|
|
257
|
-
},
|
|
258
|
-
"group": "",
|
|
259
|
-
"background": {
|
|
260
|
-
"url": "https://upload.wikimedia.org/wikipedia/commons/1/17/World%27s_First_Computer%2C_the_Electronic_Numerical_Integrator_and_Calculator_%28ENIAC%29.gif"
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
package/fabfile.py
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
from os.path import abspath, basename, dirname, join
|
|
2
|
-
import sys
|
|
3
|
-
from fabric.api import env
|
|
4
|
-
from fabric.decorators import roles, runs_once, task
|
|
5
|
-
import distutils.core
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
# Project-specific settings, alter as needed
|
|
9
|
-
#
|
|
10
|
-
env.project_name = basename(dirname(__file__))
|
|
11
|
-
env.django = False
|
|
12
|
-
|
|
13
|
-
#
|
|
14
|
-
# Add paths
|
|
15
|
-
#
|
|
16
|
-
def add_paths(*args):
|
|
17
|
-
"""Make paths are in sys.path."""
|
|
18
|
-
for p in args:
|
|
19
|
-
if p not in sys.path:
|
|
20
|
-
sys.path.append(p)
|
|
21
|
-
|
|
22
|
-
project_path = dirname(abspath(__file__))
|
|
23
|
-
repos_path = dirname(project_path)
|
|
24
|
-
|
|
25
|
-
add_paths(project_path, repos_path)
|
|
26
|
-
|
|
27
|
-
#
|
|
28
|
-
# Import from fablib
|
|
29
|
-
#
|
|
30
|
-
from fablib import *
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
@task
|
|
34
|
-
def stage_latest():
|
|
35
|
-
abort('stage_latest is now an npm command')
|
|
36
|
-
|
|
37
|
-
@task
|
|
38
|
-
def stage():
|
|
39
|
-
abort('stage is now an npm command')
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
@task
|
|
43
|
-
def stage_wp():
|
|
44
|
-
"""* Use to copy over CSS/JS files to WP Plugin directory"""
|
|
45
|
-
print("This will copy over the css/js folders from within build to the Wordpress Plugin Directory")
|
|
46
|
-
if not confirm('Is your TimelineJS-Wordpress-Plugin Directory in the same directory as where TimelineJS is located? (y/n) '):
|
|
47
|
-
abort('Cancelling')
|
|
48
|
-
|
|
49
|
-
# # Copy over CSS files
|
|
50
|
-
build_css_dir = "dist/css"
|
|
51
|
-
wp_css_dir = "../TimelineJS-Wordpress-Plugin/v3/css"
|
|
52
|
-
distutils.dir_util.copy_tree(build_css_dir, wp_css_dir)
|
|
53
|
-
|
|
54
|
-
# # Copy over JS files
|
|
55
|
-
build_js_dir = "dist/js"
|
|
56
|
-
wp_js_dir = "../TimelineJS-Wordpress-Plugin/v3/js"
|
|
57
|
-
distutils.dir_util.copy_tree(build_js_dir, wp_js_dir)
|
|
58
|
-
|
|
59
|
-
print("\nRemember to push the updated files in TimelineJS-Wordpress-Plugin as well....")
|
|
60
|
-
|
|
61
|
-
@task
|
|
62
|
-
def stage_compiled():
|
|
63
|
-
abort("stage_compiled is obsolete")
|
|
64
|
-
|
package/requirements.txt
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
asn1crypto==0.24.0
|
|
2
|
-
bcrypt==3.1.4
|
|
3
|
-
boto==2.32.1
|
|
4
|
-
cffi==1.11.5
|
|
5
|
-
Click==7.0
|
|
6
|
-
cryptography==2.3.1
|
|
7
|
-
ecdsa>=0.13.3
|
|
8
|
-
enum34==1.1.6
|
|
9
|
-
Fabric==1.10.0
|
|
10
|
-
flask>=1.0.0
|
|
11
|
-
idna==2.7
|
|
12
|
-
ipaddress==1.0.22
|
|
13
|
-
ipython==2.3.0
|
|
14
|
-
itsdangerous==0.24
|
|
15
|
-
Jinja2==2.10.1
|
|
16
|
-
MarkupSafe==0.23
|
|
17
|
-
paramiko==2.4.2
|
|
18
|
-
pbr==1.3.0
|
|
19
|
-
pyasn1==0.4.4
|
|
20
|
-
pycparser==2.19
|
|
21
|
-
pycryptodome==3.9.8
|
|
22
|
-
PyNaCl==1.3.0
|
|
23
|
-
readline==6.2.4.1
|
|
24
|
-
six==1.9.0
|
|
25
|
-
stevedore==1.6.0
|
|
26
|
-
virtualenv==13.1.0
|
|
27
|
-
virtualenv-clone==0.2.6
|
|
28
|
-
virtualenvwrapper==4.6.0
|
|
29
|
-
werkzeug>=0.15.3
|