{"id":23291066,"url":"https://github.com/jplusplus/dataplayer","last_synced_at":"2025-10-26T07:14:20.849Z","repository":{"id":8046065,"uuid":"9456767","full_name":"jplusplus/dataplayer","owner":"jplusplus","description":"Dataplayer lets journalists and storytellers code interactive narratives from built-in templates. The all-JSON interface makes the production process lightning-fast.","archived":false,"fork":false,"pushed_at":"2018-07-19T10:58:15.000Z","size":2183,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-04-14T04:55:28.246Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://dataplayer.org","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jplusplus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-04-15T19:43:36.000Z","updated_at":"2020-05-20T22:23:22.000Z","dependencies_parsed_at":"2022-09-09T06:00:52.716Z","dependency_job_id":null,"html_url":"https://github.com/jplusplus/dataplayer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplusplus%2Fdataplayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplusplus%2Fdataplayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplusplus%2Fdataplayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jplusplus%2Fdataplayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jplusplus","download_url":"https://codeload.github.com/jplusplus/dataplayer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230537085,"owners_count":18241519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-20T05:14:01.212Z","updated_at":"2025-10-17T03:14:32.322Z","avatar_url":"https://github.com/jplusplus.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dataplayer\n## Installation\n### Software dependencies\nTo make this project up and running, you need:\n\n* **Node** 0.8.7\n* **NPM** 1.1.32\n* **Mongo** 2.0.6\n\n### Dependencies\nThis project is build at the top of the pleasant [Node Package Manager](http://npmjs.org/). To download and set up the whole dependancies three, simply run from the project's root directory :\n\n    $ npm install\n\n### Environment variables\nThe following environment variables can be use with the highest priority :\n\n* **PORT** defines the port to listen to (ex: *80*);\n* **DATABASE_URL** defines the way to connect to MongoDB (ex: *mongodb://localhost/db*);\n* **NODE_ENV** defines the runing mode (ex: *development*, *production*, etc);\n\n## Run\nTo launch the server (once the installation is complete), just run from the root of the project:\n\n```\n$ coffee app.coffee\n```\n\n### JSON file structure\nSuch as a configuration file, the JSON file must fit to the following structure :\n\n```javascript\n{\n    \"title\": \"Title of the app\",\n    \"navigation\": \"horizontal\",\n    \"menu-position\": \"right bottom\",\n    \"width\": 900,\n    \"height\": 600,\n    \"layout\": \"default\",\n    \"theme\": \"default\",\n    // An array detailing every steps\n    \"steps\": [\n        // Step configuration\n        {        \n            \"name\": \"name of the step\",\n            \"spots\": [ \n                // Spot configuration\n                {\n                    \"top\":  \"0%\",\n                    \"left\": \"50%\",\n                    // ...\n                }\n            ],\n            // ...\n        }\n    ]\n\n```\n\u003ca id=\"player\" /\u003e\n### Player configuration\nEvery player object can follow this options:\n\nName | Type | Description | Exemple |\n---- | ---- | ---- | ---- |\nname | String | Name of the player | Soft kitty\nnavigation | String | Navigation direction: *horizontal* (default) or *vertical* |\ntheme | String | Theme of the player: *dark* (default), *light*, *purple*, *green* |\nlayout | String | Layout of the player: *default*, *horizontal-tabs*, *vertical-tabs* |\nmenu-position | String | Menu position related to a corner: *top*, *bottom*, *left*, *right* | \"bottom right\"\nwidth | String, Number | Player width | 850\nheight | String, Number | Player height | 600\n\n\n\u003ca id=\"steps\" /\u003e\n### Step configuration\nEvery step object can follow this options:\n\nName | Type | Description | Exemple |\n---- | ---- | ---- | ---- |\nname | String | Name of the step, displaying on the main menu. | \"Soft kitty, warm kitty\"\nno-index | Boolean | Set to true exit the step from the main menu. |\npicture | String | URL to an image file to display as \"background\", take the whole width. | \nstyle | String | Inline CSS to apply to the current step. | \"font-size:17px; color: red\"\nspots | Array | List of spots display in that step, see also [Spot configuration](#spots). |\nclass | String | One or serveral space-separated classes to put on the step | \"purr\"\n\n\u003ca id=\"spots\" /\u003e\n### Spot configuration\nEvery spot object can follow this options:\n\nName | Type | Description | Exemple |\n---- | ---- | ---- | ---- |\ntype | String | Type of the spot: *default*, *link*, *iframe*, *image* | \"default\"\nsrc | String | **Types iframe and image only**;\nhref | String | **Type link only;** href value of the hotspot. Can be an URL or an anchor. | \"#step=1\"\ntop | String, Number | Top position of the spot from the top-left corner of the step. | \"10%\"\nleft | String, Number | Left position of the spot from the top-left corner of the step. | \"20%\"\nwidth | String, Number | Width of the spot. | \"100px\"\nheight | String, Number | Height of the spot. | 100\ntitle | String | Title of the spot, display at its head. | \"Little ball of fur\"\nsub-title | String  | Sub-title of the spot, display bellow the title. | \"Happy kitty, sleepy kitty\"\npicture | Object | A picture to dispay bellow the sub-title. Taken to properties: ```src```and ```alt``` |\nstyle | String | Inline CSS to apply to the current spot. | \"font-size:17px; color: red\"\nclass | String | One or serveral space-separated classes to put on the spot. | \"purr\"\nentrance | String | Animates the entrance of the spot when a step the get the focus. See also [#entrances](Entrance animation) | \"zoomIn\", \"left down\", etc\nentrance-duration | Integer | Duration of the entrance animation. Default to 300. | 1000\nqueue | Boolean | If true, the spot wait the end of the previous spot's entrance to appear. |\nbackground | String | URL to an image file to display as background of the step |\nbackground-direction | String, Number | Animate the background into that direction in a loop. Can be a number to specify a dicrection in degree. | \"left\", 90, \"top left\", etc\nbackground-speed | Number | Distance in pixels to run through at each animation step. 3 by default. | 10\nbackground-frequency | Number | Animation step frequency in millisecond. 0 by default. | 200\n\n\u003ca id=\"entrance\" /\u003e\n### Entrance animations\nTo animate the entrance of a spot, you can use one or several of the following animation class :\n\nName | Description\n---- | ----\nleft | Sliding to the left\nright | Sliding to the right\nup | Sliding to the top\ndown | Sliding to the bottom\nzoomIn | Zoom in (getting bigger)\nzoomOut | Zoom out (getting smaller)\nfadeIn | Fading entrance\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplusplus%2Fdataplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjplusplus%2Fdataplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjplusplus%2Fdataplayer/lists"}