diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..36f6b0b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,54 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: '[BUG] ' +labels: bug +assignees: '' +--- + + +## Bug Description + + + +## To Reproduce + +Steps to reproduce the behavior: + +1. +2. +3. + +## Expected Behavior + + + +## Actual Behavior + + + +## Code Sample + +```python +# Minimal code that reproduces the issue +from blocknote.converter import dict_to_blocks + +# Your code here +``` + +## Error Message + +``` +# Paste the full error message and stack trace here +``` + +## Environment + +- **OS**: [e.g., macOS 14.0, Ubuntu 22.04, Windows 11] +- **Python Version**: [e.g., 3.11.5] +- **blocknote-py Version**: [e.g., 0.1.0] +- **Installation Method**: [e.g., pip, uv] + +## Additional Context + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..5185013 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,40 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: '[FEATURE] ' +labels: enhancement +assignees: '' +--- + +## Feature Description + + + +## Problem Statement + + + + +## Proposed Solution + + + +## Use Case + + + +```python +# Example of how the feature might be used +from blocknote.converter import your_new_feature + +# Usage example +result = your_new_feature(...) +``` + +## Alternatives Considered + + + +## Additional Context + + diff --git a/README.md b/README.md index 95c1f8b..1e77ac6 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,40 @@ -# blocknote-py +# blocknote-py ๐Ÿโœจ -[![Python Version](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/) +[![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![PyPI version](https://badge.fury.io/py/blocknote-py.svg)](https://pypi.org/project/blocknote-py/) +[![CI](https://github.com/rohansharmasitoula/blocknote-py/workflows/CI/badge.svg)](https://github.com/rohansharmasitoula/blocknote-py/actions) -A Python library for working with Blocknote.js blocks. Convert between dictionaries, markdown, and Blocknote block objects with full type safety and validation. +> **Transform your BlockNote.js blocks like magic!** โœจ Convert between dictionaries, markdown, and BlockNote blocks with full type safety and validation. -## Features +Built with โค๏ธ using [Gemini CLI](https://codeium.com/windsurf) (Cascade) -- **Type-safe Blocknote blocks**: Pydantic models with full validation -- **Bidirectional conversion**: Convert between dictionaries, markdown, and Blocknote blocks -- **Dictionary conversion**: Convert dictionaries to validated Block objects -- **Markdown parsing**: Parse markdown into Blocknote blocks -- **Markdown generation**: Convert Blocknote blocks back to markdown -- **Text styling support**: Bold and italic text formatting -- **Lists**: Both ordered and unordered lists -- **Extensible architecture**: Easy to add new block types and converters -- **Comprehensive testing**: Full test coverage with pytest +## โœจ Why blocknote-py? -## Installation +Ever wanted to work with BlockNote.js blocks in Python? Now you can! ๐ŸŽ‰ -```bash -uv add blocknote-py -``` +- ๐Ÿ”„ **Bidirectional Magic**: Dict โ†” Blocks โ†” Markdown (it just works!) +- ๐Ÿ›ก๏ธ **Type-Safe**: Pydantic models keep your data squeaky clean +- ๐ŸŽจ **Style Support**: Bold, italic, and more formatting options +- ๐Ÿ“ **Lists Galore**: Bullets, numbers, checks - we got 'em all +- ๐Ÿงช **Battle-Tested**: 43 tests and counting +- ๐Ÿš€ **Fast & Easy**: Simple API, powerful results -Or install from source: +## ๐Ÿ“ฆ Installation ```bash -git clone https://github.com/yourusername/blocknote-py.git -cd blocknote-py -uv sync --dev +# With uv (recommended) +uv add blocknote-py + +# Or with pip +pip install blocknote-py ``` -## Quick Start +That's it! You're ready to roll! ๐ŸŽธ + +## ๐Ÿš€ Quick Start -### Basic Usage +### The Magic in Action ```python from blocknote.converter import dict_to_blocks, markdown_to_blocks, blocks_to_markdown, blocks_to_dict @@ -251,20 +251,30 @@ src/ โ”‚ โ””โ”€โ”€ test_md_to_blocknote.py ``` -## Contributing +## ๐Ÿค Contributing + +We love contributions! Got an idea? Found a bug? Let's make this better together! + +1. ๐Ÿด Fork it +2. ๐ŸŒฟ Create your feature branch (`git checkout -b feature/awesome-feature`) +3. โœจ Commit your changes (`git commit -m 'Add awesome feature'`) +4. ๐Ÿš€ Push to the branch (`git push origin feature/awesome-feature`) +5. ๐ŸŽ‰ Open a Pull Request + +Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more details! + +## ๐Ÿ“„ License + +MIT License - go wild! See [LICENSE](LICENSE) for details. -Contributions are welcome! Please feel free to submit a Pull Request. +## ๐Ÿ”— Related Projects -1. Fork the repository -2. Create your feature branch (`git checkout -b feature/amazing-feature`) -3. Commit your changes (`git commit -m 'Add some amazing feature'`) -4. Push to the branch (`git push origin feature/amazing-feature`) -5. Open a Pull Request +- [BlockNote.js](https://github.com/TypeCellOS/BlockNote) - The awesome JavaScript library that started it all -## License +--- -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. +Made with โค๏ธ and โ˜• by [Rohan Sharma](https://github.com/rohansharmasitoula) -## Related Projects +**Star this repo if you find it useful!** โญ -- [Blocknote.js](https://github.com/TypeCellOS/BlockNote) - The original JavaScript library \ No newline at end of file +[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-โ˜•-yellow.svg)](https://buymeacoffee.com/sitoularohansharma) \ No newline at end of file