{"id":21305983,"url":"https://github.com/whitetigle/fableconf2017","last_synced_at":"2025-03-15T19:41:18.607Z","repository":{"id":144167028,"uuid":"103836609","full_name":"whitetigle/fableconf2017","owner":"whitetigle","description":"Source code of my shiny particle based talk for FableConf 2017 !","archived":false,"fork":false,"pushed_at":"2017-09-27T11:53:08.000Z","size":4109,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-22T08:45:29.220Z","etag":null,"topics":["fable","fableconf","fsharp"],"latest_commit_sha":null,"homepage":"","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whitetigle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-17T14:47:54.000Z","updated_at":"2022-07-28T12:35:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"65580baf-88d7-49e8-8988-eebf40565b2e","html_url":"https://github.com/whitetigle/fableconf2017","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/whitetigle%2Ffableconf2017","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitetigle%2Ffableconf2017/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitetigle%2Ffableconf2017/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitetigle%2Ffableconf2017/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whitetigle","download_url":"https://codeload.github.com/whitetigle/fableconf2017/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243784099,"owners_count":20347409,"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":["fable","fableconf","fsharp"],"created_at":"2024-11-21T16:20:33.912Z","updated_at":"2025-03-15T19:41:18.583Z","avatar_url":"https://github.com/whitetigle.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FableConf Presentation\n\nThis is the project hosting my FableConf 2017 presentation files and projects\n\n![Presentation sample](https://raw.githubusercontent.com/whitetigle/fableconf2017/master/images/sample.gif)\n\n## How does it work?\n\nIt's a simple canvas based presentation.\n\n- One canvas is used to draw the background animation\n- whereas the texts are displayed on another canvas positionned on top of the first  (please check index.html to see css style)\n\nFeel free to read and hack the source code. It's easy to read and well documented (hopefully).\n\nUnderlying tech stack:\n\n* [Fable](http://fable.io/docs/getting-started.html) (obviously :wink:)\n* [Elmish](https://fable-elmish.github.io/elmish/)\n* [noisejs](https://github.com/josephg/noisejs)\n\n\n# Build requirements\n\n* [dotnet SDK](https://www.microsoft.com/net/download/core) 2.0 or higher\n* [node.js](https://nodejs.org) 6.11 or higher\n* A JS package manager: [yarn](https://yarnpkg.com) or [npm](http://npmjs.com/)\n\n\u003e npm comes bundled with node.js, but we recommend to use at least npm 5. If you have npm installed, you can upgrade it by running `npm install -g npm`.\n\nAlthough is not a Fable requirement, on macOS and Linux you'll need [Mono](http://www.mono-project.com/) for other F# tooling like Paket or editor support.\n\n## Building and running the app\n\n\u003e In the commands below, yarn is the tool of choice. If you want to use npm, just replace `yarn` by `npm` in the commands.\n\n* Install JS dependencies: `yarn install`\n* **Move to `src` folder**: `cd src`\n* Install F# dependencies: `dotnet restore`\n* Start Fable daemon and [Webpack](https://webpack.js.org/) dev server: `dotnet fable yarn-start`\n* In your browser, open: http://localhost:8080/\n\n### Paket\n\n[Paket](https://fsprojects.github.io/Paket/) is the package manager used for F# dependencies. It doesn't need a global installation, the binary is included in the `.paket` folder. Other Paket related files are:\n\n- **paket.dependencies**: contains all the dependencies in the repository.\n- **paket.references**: there should be one such a file next to each `.fsproj` file.\n- **paket.lock**: automatically generated, but should be committed to source control, [see why](https://fsprojects.github.io/Paket/faq.html#Why-should-I-commit-the-lock-file).\n- **Nuget.Config**: prevents conflicts with Paket in machines with some Nuget configuration.\n\n\u003e Paket dependencies will be installed in the `packages` directory. See [Paket website](https://fsprojects.github.io/Paket/) for more info.\n\n### yarn/npm\n\n- **package.json**: contains the JS dependencies together with other info, like development scripts.\n- **yarn.lock**: is the lock file created by yarn.\n- **package-lock.json**: is the lock file understood by npm 5, if you use it instead of yarn.\n\n\u003e JS dependencies will be installed in `node_modules`. See [yarn](https://yarnpkg.com) and/or [npm](http://npmjs.com/) websites for more info.\n\n### Webpack\n\n[Webpack](https://webpack.js.org) is a bundler, which links different JS sources into a single file making deployment much easier. It also offers other features, like a static dev server that can automatically refresh the browser upon changes in your code or a minifier for production release. Fable interacts with Webpack through the `fable-loader`.\n\n- **webpack.config.js**: is the configuration file for Webpack. It allows you to set many things: like the path of the bundle, the port for the development server or [Babel](https://babeljs.io/) options. See [Webpack website](https://webpack.js.org) for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitetigle%2Ffableconf2017","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhitetigle%2Ffableconf2017","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitetigle%2Ffableconf2017/lists"}