gaoyike / timeline

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Timeline

Embedding

You will notice that the Example Timeline has an 'embed' option in the bottom-left corner.

You can use the code in this panel to embed the timeline on your own website, e.g:

<div class="timeline" data-uri="/content/timelines/history-of-genetics-timeline/" data-eventid="" style="width:600px; height:600px; background-color: #000"></div>
<script type="text/javascript" src="http://wellcomelibrary.org/plugins/timeline/embed.min.js"></script><script type="text/javascript">/* wordpress fix */</script>

The timeline also supports 'deep linking' to events, where a hash value is appended to the Url as you browse e.g:

http://wellcomelibrary.org/.../genetics-timeline/#16121

##Developers

The timeline project is split into /src and /build directories, with a build.ps1 PowerShell script in the root of the project which combines and minifies the various JavaScript files into embed.min.js and wellcomeTimeline.min.js, (right click > Run with PowerShell). You will need Google Closure Compiler - and a Java runtime - and will need to edit the build file to point to it).

To get the project running on localhost, create a website pointing to the /src directory with a virtual directory called 'build' pointing to the /build directory.

Alternatively, to run with Visual Studio's built-in web server 'Cassini' open the /src directory as a Web Site and change the solution's Virtual Path in the properties panel to /. It is not possible to create a virtual directory to /build with Cassini, so follow the steps in the next paragraph to use the unminified scripts.

To debug individual scripts, open timeline.html, comment out wellcomeTimeline.min.js and uncomment the scripts directly underneath. Also open index.html and change the src of the script tag from build/embed.min.js to js/embed.js

Data Format

The example timeline data employs the use of Julian days. These are useful for plotting applications as they represent a calendar-independent, absolute unit of time.

However, the code controlling the main user interface only deals in moment objects.

The timeline loosely employs the Provider Model, which abstracts the date parsing out to wellcomeTimelineProvider.js.

Providers could be created to work with any arbitrary date format that can be converted to moment objects.

To change the provider, edit the provider option of the wellcomeTimeline widget in timeline.html.

Use the data-uri attribute of div.timeline to set the path to your custom data source.

Notes

The /* wordpress fix */ empty script in the embed code is for convenience when using the Wordpress WYSIWYG editor, which will otherwise strip out the script tags.

About

License:Other