Skip to content

Commit

Permalink
Merge pull request #43 from bilaalrashid/bilaal/documentation
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
bilaalrashid authored Oct 12, 2024
2 parents 0159547 + 2c38314 commit 58d8b7d
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 9 deletions.
47 changes: 41 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,51 @@
# ReadBeeb
<p align="center">
<img src="https://github.com/user-attachments/assets/114c1533-a0fe-4c00-9eea-bccce21b5d14" alt="ReedBeeb Logo" width="300">
<br>
A better client for BBC News.
</p>

# ReadBeeb

![GitHub releases](https://img.shields.io/github/v/release/bilaalrashid/ReedBeeb)
![License](https://img.shields.io/github/license/bilaalrashid/ReedBeeb)
![Tests](https://github.com/bilaalrashid/ReedBeeb/actions/workflows/swift.yml/badge.svg)

A better BBC News client for iOS.

This project is for educational and research purposes only.

## Features

- Dedicated videos tab
- Supports all BBC News international services: English, Cymru, Arabic, Hindi, Mundo and Russian
- Localised news results (English service only)
- Support for low data mode
- Dark mode
- No analytics or tracking
- No account or authentication required
- Personalised news feed displayed in reverse-chronological order
- Rewrite webpage articles to native in-app pages (beta)

## Development

Download [SwiftLint](https://github.com/realm/SwiftLint):
```bash
Prerequisites:
- [SwiftLint](https://github.com/realm/SwiftLint)
- [Swift Package Manager](https://www.swift.org/documentation/package-manager/)

To get started:
```
brew install swiftlint
git clone https://github.com/bilaalrashid/ReadBeeb.git
open ReadBeeb/ReadBeeb.xcodeproj
```

Full contributing guidelines can be found in [CONTRIBUTING.md](CONTRIBUTING.md).

## Release

Update the list of installed topics:
1. Update the list of installed topics:
```bash
make topics API_KEY=<BBC News API Key>>
make topics API_KEY=<BBC News OAuth2 Token>
```

2. Bump the version and build number in [project.pbxproj](ReadBeeb.xcodeproj/project.pbxproj/)
3. Creating a matching tag and release once merged into `main`
2 changes: 1 addition & 1 deletion ReadBeeb/BbcMedia/BbcMedia.swift
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ struct BbcMedia {
configuration.httpAdditionalHeaders = [
// Pretend to be the BBC News app
// Example: BBCNews/25339 (iPhone15,2; iOS 16.6) MediaSelectorClient/7.0.0 BBCHTTPClient/9.0.0
// swiftlint:disable:next line_length force_https
// swiftlint:disable:next line_length
"User-Agent": "BBCNews/25339 (\(UIDevice.current.modelIdentifier); \(UIDevice.current.systemName) \(UIDevice.current.systemVersion)) MediaSelectorClient/7.0.0 BBCHTTPClient/9.0.0"
]
self.session = URLSession(configuration: configuration)
Expand Down
1 change: 0 additions & 1 deletion ReadBeeb/BbcMedia/MediaSelectorConnection.swift
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ struct MediaSelectorConnection: Codable, Equatable, Hashable {
var components = URLComponents(url: self.href, resolvingAgainstBaseURL: true)

let scheme = components?.scheme
// swiftlint:disable:next force_https
components?.scheme = scheme?.replacingOccurrences(of: "http", with: "https")

return components?.url
Expand Down
1 change: 0 additions & 1 deletion ReadBeeb/Components/Story/TextContainer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ struct TextContainer: View {
}
}
.environment(\.openURL, OpenURLAction { url in
// swiftlint:disable:next force_https
let schemesToHandle = ["http", "https"]
guard let scheme = url.scheme else { return .systemAction }

Expand Down

0 comments on commit 58d8b7d

Please sign in to comment.