{"repo":"danielsaidi/TagKit","free":true,"listed":false,"github":"https://github.com/danielsaidi/TagKit","clone":"git clone https://github.com/danielsaidi/TagKit.git","description":"Tag items and slugify strings in Swift and SwiftUI.","language":"Swift","stars":106,"topics":["swift","swiftui","tags","slugs"],"license":"MIT","category":"mobile-apps","readme_excerpt":"TagKit TagKit makes it easy to use tags and slugified strings in Swift and SwiftUI. You can make any type implement Taggable and Slugifiable to manage tags and slugs. You can use TagList to list tags and TagToggleList to list tags that can be toggled on and off. Installation TagKit can be installed with the Swift Package Manager: Getting started The two main areas of TagKit is to make it easy to manage tags and to slugify strings. Tags Tagging items make it possible to categorize, group, filter and search among items, based on their tags. TagKit has a Tagged protocol for types with immutable tags and a Taggable protocol for types with mutable tags. All Tagged types are extended with properties and functions like hasTags , hasTag( :) , slugifiedTags , etc. Taggable types are extended with mutable functions like addTag( :) , removeTag( :) , toggleTag( :) , etc. TagKit has tag-related views like TagList , TagToggleList and TagTextField . You can apply a tagFlow( :) modifier to control the flow of tags in a list, and tagCapsule(style:) to convert a view into a tag capsule. Slugs Slugifying means to remove unwanted characters and replacing whitespaces to get a unique identifier that can be used in e.g. URLs. TagKit has a Slugifiable protocol that makes it easy to slugify type values. A Slugifiable type must provide a slugValue after which you can use slugified(with:) to create a slugified representation of the type. You can use a custom SlugConfiguration or the standard one. Docum","default_branch":null,"files":null,"tree":[],"storefront":"/r/danielsaidi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/danielsaidi/TagKit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}