Kumi
2afc069724
Introduced a proxy mechanism for handling iframes to improve security by preventing direct embedding of external content. External iframe URLs are now encoded and passed through a proxy endpoint, which renders a new template warning users about potential security risks. Additionally, added button styles to CSS for consistent user experience and created an iframe security notice template. |
||
---|---|---|
src/small | ||
.gitignore | ||
LICENSE | ||
pyproject.toml | ||
README.md |
Small
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
- Responsive design for comfortable reading on various devices
Installation
-
Clone the repository:
git clone https://git.private.coffee/PrivateCoffee/small.git cd small
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate
-
Install the package:
pip install .
Usage
-
Start the Flask development server:
small
-
Open your web browser and navigate to
http://localhost:5000
-
To read a Medium article, replace
https://medium.com
in the article's URL withhttp://localhost:5000
For example:
- Original URL:
https://medium.com/@username/article-title-123abc
- Small URL:
http://localhost:5000/@username/article-title-123abc
- Original URL:
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Inspired by the 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.