{"id":2335,"url":"https://github.com/piemonte/Twinkle","last_synced_at":"2025-08-06T15:30:44.120Z","repository":{"id":27810906,"uuid":"31300362","full_name":"piemonte/Twinkle","owner":"piemonte","description":":sparkles: Twinkle interface elements in Swift","archived":false,"fork":false,"pushed_at":"2021-03-03T06:41:49.000Z","size":466,"stargazers_count":613,"open_issues_count":5,"forks_count":69,"subscribers_count":17,"default_branch":"main","last_synced_at":"2024-12-05T23:42:05.563Z","etag":null,"topics":["animation","caemitterlayer","ios","particles","sparkle","sparkles","swift","tvos","twinkle"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/piemonte.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}},"created_at":"2015-02-25T06:24:58.000Z","updated_at":"2024-12-05T19:17:55.000Z","dependencies_parsed_at":"2022-08-21T05:20:50.581Z","dependency_job_id":null,"html_url":"https://github.com/piemonte/Twinkle","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FTwinkle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FTwinkle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FTwinkle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piemonte%2FTwinkle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piemonte","download_url":"https://codeload.github.com/piemonte/Twinkle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228915468,"owners_count":17991409,"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":["animation","caemitterlayer","ios","particles","sparkle","sparkles","swift","tvos","twinkle"],"created_at":"2024-01-05T20:16:11.171Z","updated_at":"2025-08-06T15:30:44.107Z","avatar_url":"https://github.com/piemonte.png","language":"Swift","funding_links":[],"categories":["UI","Libs","Animation","Swift","UI [🔝](#readme)","ALL"],"sub_categories":["Animation","UI","Other free courses"],"readme":"![Twinkle](https://raw.github.com/piemonte/twinkle/master/twinkle.gif)\n\n## Twinkle :sparkles:\n\n`Twinkle` is a [Swift](https://developer.apple.com/swift/) and easy way to make any UIView in your iOS or tvOS app twinkle.\n\nThis library creates several CAEmitterLayers and animates them generating a sparkle effect.\n\nA version of Twinkle is also [available for Android](https://github.com/dev-labs-bg/twinkle).\n\nIf you like Twinkle, you may also like [Burst](https://github.com/piemonte/Burst).\n\n[![Build Status](https://travis-ci.com/piemonte/Twinkle.svg?branch=master)](https://travis-ci.com/piemonte/Twinkle) [![Pod Version](https://img.shields.io/cocoapods/v/Twinkle.svg?style=flat)](http://cocoadocs.org/docsets/Twinkle/) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Swift Version](https://img.shields.io/badge/language-swift%205.9-brightgreen.svg)](https://developer.apple.com/swift) [![GitHub license](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/piemonte/Twinkle/blob/master/LICENSE)\n\n## Requirements\n\n* iOS 15.0+ / tvOS 15.0+\n* Xcode 15.0+\n* Swift 5.9+\n\n# Quick Start\n\n`Twinkle` is available and recommended for installation using the Cocoa dependency manager [CocoaPods](http://cocoapods.org/). You can also simply copy the `Twinkle.swift` file into your Xcode project.\n\n```ruby\n# CocoaPods\npod \"Twinkle\", \"~\u003e 0.6.0\"\n\n# Carthage\ngithub \"piemonte/Twinkle\" ~\u003e 0.6.0\n\n# SwiftPM\nlet package = Package(\n    dependencies: [\n        .package(url: \"https://github.com/piemonte/Twinkle\", from: \"0.6.0\")\n    ]\n)\n```\n\n## Usage\n\nThe sample project provides an example of how to integrate `Twinkle`, otherwise you can follow this example.\n\n``` Swift\nimport Twinkle\n```\n\n``` Swift\n// Basic usage with UIView extension\nlet view = UIView(frame: CGRect(x: 0, y: 0, width: 150, height: 50))\nself.view.addSubview(view)\nview.twinkle()\n\n// With custom configuration\nvar config = Twinkle.Configuration()\nconfig.minCount = 10\nconfig.maxCount = 20\nconfig.birthRate = 12\nconfig.scale = 0.8\nview.twinkle(configuration: config)\n\n// With custom image\nlet customImage = UIImage(named: \"star\")\nview.twinkle(image: customImage)\n\n// Using the static method\nTwinkle.twinkle(myView, configuration: config)\n```\n\n## Community\n\n- Found a bug? Open an [issue](https://github.com/piemonte/twinkle/issues).\n- Feature idea? Open an [issue](https://github.com/piemonte/twinkle/issues).\n- Want to contribute? Submit a [pull request](https://github.com/piemonte/twinkle/pulls).\n\n## Resources\n\n* [Core Animation Reference Collection](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/CoreAnimation_framework/index.html)\n* [Swift Evolution](https://github.com/apple/swift-evolution)\n* [CAEmitterLayer – NSHipster](https://nshipster.com/caemitterlayer/)\n* [Twinkle for Android](https://github.com/dev-labs-bg/twinkle)\n* [Burst](https://github.com/piemonte/Burst)\n* [Shimmer](https://github.com/facebook/shimmer)\n* [Blurry](https://github.com/piemonte/Blurry)\n\n## License\n\nTwinkle is available under the MIT license, see the [LICENSE](https://github.com/piemonte/twinkle/blob/master/LICENSE) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiemonte%2FTwinkle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiemonte%2FTwinkle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiemonte%2FTwinkle/lists"}