Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #43

Merged
merged 2 commits into from
Oct 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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