Small is an alternative frontend for Medium articles, built with Flask. It allows users to read Medium articles without the clutter and distractions of the original Medium interface.
## Features
- Clean, minimalist interface for reading Medium articles
- Fetches article content directly from Medium's GraphQL API
- Parses and displays article content, including text and basic formatting
5. Create a `small.ini` file with the following content (adjust as needed):
```
[uwsgi]
module = small.app:app
uid = small
gid = small
master = true
processes = 5
plugins = python3
virtualenv = /srv/small/venv/
chdir = /srv/small/
http-socket = /tmp/small.sock
chown-socket = caddy
```
6. Start the uWSGI server (consider using a process manager like `systemd`):
```
uwsgi --ini small.ini
```
7. Configure Caddy to reverse proxy requests to the uWSGI server:
```
small.example.com {
reverse_proxy unix//tmp/small.sock
}
```
#### Proxy Fix
If you are using a reverse proxy like Nginx, and it is setting the `X-Forwarded-Host` header instead of passing the `Host` header, you can use the `ProxyFix` middleware to fix the issue. To enable it, simply set the `PROXY_FIX` environment variable to `1`.
For uWSGI, you can add the following line to the `small.ini` file:
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Inspired by the [Scribe](https://git.sr.ht/~edwardloveall/scribe) project built with Crystal and Lucky
- Thanks to Medium for providing the content through their API
## Disclaimer
This project is not affiliated with, endorsed, or sponsored by Medium. It's an independent project created to provide an alternative reading experience for Medium content.