{"id":16024320,"url":"https://github.com/axelson/scenic-starter-pack","last_synced_at":"2025-03-17T16:30:46.745Z","repository":{"id":66428999,"uuid":"150894466","full_name":"axelson/scenic-starter-pack","owner":"axelson","description":"A starter pack for Scenic Development with simple livereload built-in","archived":false,"fork":false,"pushed_at":"2019-07-09T18:35:59.000Z","size":155,"stargazers_count":39,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-11T08:54:48.986Z","etag":null,"topics":["scenic","starter-kit"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","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/axelson.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":"2018-09-29T19:01:06.000Z","updated_at":"2025-02-12T09:00:14.000Z","dependencies_parsed_at":"2023-02-22T09:30:19.638Z","dependency_job_id":null,"html_url":"https://github.com/axelson/scenic-starter-pack","commit_stats":{"total_commits":9,"total_committers":1,"mean_commits":9.0,"dds":0.0,"last_synced_commit":"05047a962a2cfcd5dc061dfa68800db33b7767d0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fscenic-starter-pack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fscenic-starter-pack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fscenic-starter-pack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fscenic-starter-pack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axelson","download_url":"https://codeload.github.com/axelson/scenic-starter-pack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243871389,"owners_count":20361345,"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":["scenic","starter-kit"],"created_at":"2024-10-08T19:06:31.479Z","updated_at":"2025-03-17T16:30:46.737Z","avatar_url":"https://github.com/axelson.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"Scenic Starter Pack is a kit that helps you easily get up and running with\nScenic. It is directly based on the\n[scenic_new](https://github.com/boydm/scenic_new) starter application but it\nadds live reload. Simply edit a file in the project and save it, then it will\nreload the currently selected scene!\n\nTo try it out after you have the project running (see below) in\n`lib/scenes/components.ex` try changing the `\"Primary\"` button to instead read\n`\"First!\"` and you should see the button on the text change.\n\n# Demo\n\nIn this demo I replace the text \"World\" with \"Scenic\", then change the color of\nthe text to purple. Next I change the shape of the bezier line.\n\n[![Screencast Demo](./demo.gif)](https://raw.githubusercontent.com/axelson/scenic-starter-pack/master/demo.gif)\n\n# Installation\n\nClone the repository\n\n    mix deps.get\n\n# Running\n\n    mix scenic.run\n    \nor\n\n    iex -S mix\n\nThen edit a file and you will see the changes reflected live!\n\n# How it works\n\nLive compilation is provided\n[ScenicLiveReload](https://github.com/axelson/scenic_live_reload) (which uses\n[ExSync](https://github.com/falood/exsync) to do the heavy lifting). The flow\ngoes like this:\n\n1. You edit a `.ex` file in your editor\n2. ExSync detects the file edit and recompiles and reloads the file you edited\n3. If there are no further file edits than ExSync calls the configured `:reload_callback`\n4. The default `:reload_callback` calls into `ScenicLiveReload` which finds the\n   current root scene and kills it\n5. The root scene's supervisor then restarts the root scene with the new code\n   that you just wrote\n\n# Adding your own scene\n\nNo special hooks are needed to add your own scene. You just create it and switch to it, likely using code like `ViewPort.set_root(viewport, {MyApp.Scene.SceneName, nil})`\n    \nOptionally add your new scene to the dropdown list in the `ScenicStarter.Component.Nav` component\n\nOptionally, if you want your new scene to load on startup then add set it as the second or only scene in `config/config.exs` in the `:default_scene` tuple\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelson%2Fscenic-starter-pack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxelson%2Fscenic-starter-pack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelson%2Fscenic-starter-pack/lists"}