{"id":28274804,"url":"https://github.com/greystate/turbulus","last_synced_at":"2026-01-27T15:02:31.218Z","repository":{"id":136623997,"uuid":"253000650","full_name":"greystate/turbulus","owner":"greystate","description":"A discovery into using TurboLinks and Stimulus for realz","archived":false,"fork":false,"pushed_at":"2020-04-05T12:01:04.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-19T23:09:10.879Z","etag":null,"topics":["codekit","stimulusjs","turbolinks"],"latest_commit_sha":null,"homepage":null,"language":"Kit","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/greystate.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-04T13:13:01.000Z","updated_at":"2020-04-05T16:28:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"f067984d-0a9c-400d-b6c2-c6577738be3a","html_url":"https://github.com/greystate/turbulus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"vokseverk/project-template","purl":"pkg:github/greystate/turbulus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greystate%2Fturbulus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greystate%2Fturbulus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greystate%2Fturbulus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greystate%2Fturbulus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greystate","download_url":"https://codeload.github.com/greystate/turbulus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greystate%2Fturbulus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28815385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T12:25:15.069Z","status":"ssl_error","status_checked_at":"2026-01-27T12:25:05.297Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["codekit","stimulusjs","turbolinks"],"created_at":"2025-05-21T02:13:21.634Z","updated_at":"2026-01-27T15:02:31.213Z","avatar_url":"https://github.com/greystate.png","language":"Kit","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Turbulus\n\nI've used Turbolinks on a couple of smaller projects,\nbut I'd really like to take the combo of [Turbolinks][] and [Stimulus][] for\na spin and see if I'd be able to loop them in on some of our Umbraco projects.\n\nI'm a big fan of building stuff that works, before trying to make it fancy,\nso these are right up my alley :)\n\n\n[Turbolinks]: https://github.com/turbolinks/turbolinks\n[Stimulus]: https://stimulusjs.org\n\n* * *\n\n## First experiment: A movie list\n\nShould come as no surprise to anyone who've been taught by me, or have been to\na talk of mine that I'll try something with movies :)\n\n- A single page that presents a list of movies.\n- A filter of some sort (e.g. a row of letters for alphabetic filtering)\n- Clicking a filter reloads the page showing only the filtered results\n\nI always do this the simplest way I know first, i.e. the filter adds a\nquerystring to the URL that the server then interprets when rendering the page.\n\n*Then* I'd start exploring ways to hijack the link and do the Ajax-thing where\nthe server only returns a chunk of JSON and... sorry, I fell asleep there. You\nwere saying?\n\nI can't tell you how many times it's never got any further than the first\nversion because _it already works great_. Few times have there been any appetite\nfor spending more time on a feature that is working great.\n\nEspecially when you start digging through the rabbit-holes of back-buttons that\nno longer works as expected and title tags that doesn't match the page they're\non. Or bookmarking a link to a specific filter, only to find out that the page\nhas no idea what that means on the first run. Yes, you can code around all that\nwith JavaScript, but that's not my idea of fun.\n\nAdding **Turbolinks** to a setup like the above, effectively takes care of all\nof those problems transparently, and if the script doesn't load for someone,\nthey get the original lo-fi version which still works.\n\nThat's just Turbolinks - I'm very curious to see what adding **Stimulus** to\nthe mix will let me do...\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreystate%2Fturbulus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreystate%2Fturbulus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreystate%2Fturbulus/lists"}