{"id":25899390,"url":"https://github.com/zijievv/attribuilder","last_synced_at":"2025-03-03T01:28:29.565Z","repository":{"id":250544200,"uuid":"834752389","full_name":"zijievv/AttriBuilder","owner":"zijievv","description":"Swift DSL for constructing Attributed Strings with SwiftUI-like syntax","archived":false,"fork":false,"pushed_at":"2024-07-28T09:19:46.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-28T10:38:08.790Z","etag":null,"topics":["attributedstring","resultbuilder","swift","swiftui"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/zijievv.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}},"created_at":"2024-07-28T08:52:42.000Z","updated_at":"2024-07-28T10:38:12.671Z","dependencies_parsed_at":"2024-07-28T10:52:33.033Z","dependency_job_id":null,"html_url":"https://github.com/zijievv/AttriBuilder","commit_stats":null,"previous_names":["zijievv/attribuilder"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zijievv%2FAttriBuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zijievv%2FAttriBuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zijievv%2FAttriBuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zijievv%2FAttriBuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zijievv","download_url":"https://codeload.github.com/zijievv/AttriBuilder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241594303,"owners_count":19987775,"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":["attributedstring","resultbuilder","swift","swiftui"],"created_at":"2025-03-03T01:28:28.978Z","updated_at":"2025-03-03T01:28:29.553Z","avatar_url":"https://github.com/zijievv.png","language":"Swift","readme":"# AttriBuilder\n\n`AttriBuilder` is a Swift domain-specific language for constructing `AttributedString`'s with SwiftUI-like syntax.\n\n## Usage\n\n```swift\nvar body: some View {\n    VStack {\n        Text(nestedText)\n        article\n    }\n    .padding()\n}\n\n@AttributedStringBuilder\nprivate var nestedText: AttributedString {\n    Group {\n        \"Hello, \"\n            .color(.green)\n            .italic()\n        \"world\"\n            .underline(.init(pattern: .dot, color: .brown))\n            .bold()\n        \"!\"\n            .color(.orange)\n    }\n    .color(.blue)\n    .underline(.init(pattern: .dashDot, color: .yellow))\n    .fontAttribute(.largeTitle)\n}\n\n@AttributedStringBuilder\nprivate var article: Text {\n    Paragraph(prefixBlankLines: 0) {\n        \"Voluptate anim consectetur occaecat. Do sit laborum ad enim cillum consequat. Amet ad consectetur voluptate in do dolor elit dolor cillum cillum in.\"\n    }\n    Group {\n        Paragraph {\n            \"Title3 ullamco tempor ipsum incididunt.\"\n                .bold()\n        }\n        .url(\"https://www.apple.com\")\n        .configuring { attributedString in\n            attributedString.foregroundColor = .orange\n        }\n        .underline()\n        Paragraph(suffixBlankLines: 0) {\n            \"Footnote \"\n                .bold()\n            \"consectetur in voluptate qui. Nisi culpa nisi nisi. Veniam quis adipisicing voluptate Lorem ullamco adipisicing fugiat non sunt irure aliqua laborum dolor est. \"\n            \"Ad aute incididunt non est minim exercitation duis labore ad et occaecat duis eu incididunt culpa. \"\n                .italic()\n                .color(.teal)\n            \"Commodo velit quis anim commodo do.\"\n                .bold()\n                .fontAttribute(.system(.body, design: .monospaced).bold())\n        }\n        .fontAttribute(.footnote)\n    }\n    .fontAttribute(.system(.title3, design: .rounded))\n}\n```\n\n![Preview](https://github.com/user-attachments/assets/3960bdcd-3e1d-4b5e-9b58-18d72d431261)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzijievv%2Fattribuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzijievv%2Fattribuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzijievv%2Fattribuilder/lists"}