Skip to content

Commit

Permalink
📔 readme & docs update
Browse files Browse the repository at this point in the history
  • Loading branch information
TrueMyst committed Jan 10, 2025
1 parent e4a90a0 commit 77e382d
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 60 deletions.
39 changes: 26 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ pipx install BeatPrints
This will install the CLI, making it ready for you to use.
For more more infomation, check out [pipx](https://github.com/pypa/pipx)

## 🌱 Environment Variables
## 🚀 Quick Start

### 🌱 Environment Variables

To get started with BeatPrints, you’ll need a `.env` file with these keys:

Expand All @@ -54,9 +56,7 @@ SPOTIFY_CLIENT_SECRET = "<your-client-secret>"

You can get these from the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/) by creating a new app with **Web API** as the scope.


## 🚀 Quick Start

### 🎀 Creating your FIRST Poster
Here’s how you can create your first poster:

```python
Expand All @@ -74,13 +74,19 @@ ly = lyrics.Lyrics()
ps = poster.Poster("./")
sp = spotify.Spotify(CLIENT_ID, CLIENT_SECRET)

# Search for a track
# Search for the track and fetch metadata
search = sp.get_track("Saturn - SZA", limit=1)

# Get the track's metadata and lyrics
# Pick the first result
metadata = search[0]

# Get lyrics and determine if the track is instrumental
lyrics = ly.get_lyrics(metadata)
highlighted_lyrics = ly.select_lines(lyrics, "5-9")

# Use the placeholder for instrumental tracks; otherwise, select specific lines
highlighted_lyrics = (
lyrics if ly.check_instrumental(metadata) else ly.select_lines(lyrics, "5-9")
)

# Generate the track poster
ps.track(metadata, highlighted_lyrics)
Expand All @@ -94,12 +100,19 @@ https://github.com/user-attachments/assets/3efb7028-c533-4bf4-880b-da3a71f8a3db

## 🖼️ Examples

Here are a few posters created with BeatPrints:

| **Track: Saturn by SZA** | **Album: Charm by Clairo** |
| -------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| ![Track Example](https://i.ibb.co.com/q5v8J9R/saturn-by-sza-1e3.png) | ![Album Example](https://i.ibb.co.com/TcrKKXV/charm-by-clairo-f8a.png) |


## 🎨 Themes
BeatPrints currently offers you **5 additional themes** to use!
- Catppuccin
- Gruvbox
- Nord
- Rosepine
- Everforest

For more examples, check out the [examples directory](https://github.com/TrueMyst/BeatPrints/tree/main/examples).


Expand All @@ -108,9 +121,9 @@ For more examples, check out the [examples directory](https://github.com/TrueMys
- **Polaroid Filter for Covers**: Give your track or album covers a vintage Polaroid look.
- **Multi-language Support**: Supports English, Hindi, Russian, Japanese, Chinese, and Korean.
- **Custom Cover Images**: Personalize posters with your own images.
- **Theme Customization**: Switch between Dark and Light themes.
- **Theme Customization**: Switch between different other themes.
- **Track & Album Selection**: Highlight your favorite track or entire album.
- **Lyrics Highlighting**: Feature impactful lyrics directly on your poster.
- **Lyrics Highlighting**: Highlight your favourite lyrics directly on your poster.


## 🤝 Contributors
Expand All @@ -134,7 +147,7 @@ I wanted to make it free for everyone to print themselves, as I believe my poste
## ❤️ Special Thanks

- A big thanks to [Spotify Poster Generator](https://github.com/AnveshakR/poster-generator/) by [@AnveshakR](https://github.com/AnveshakR) for inspiring BeatPrints with amazing ideas!
- Shoutout to [@Magniquick](https://github.com/Magniquick), [@Krishna-Gunjan](https://github.com/Krishna-Gunjan), [@itsnotrin](https://github.com/itsnotrin), [@T-Dynamos](https://github.com/T-Dynamos), and [@cherriae](https://github.com/cherriae) for their awesome contributions!
- Shoutout to [@Magniquick](https://github.com/Magniquick), [@itsnotrin](https://github.com/itsnotrin), [@wenbang24](https://github.com/wenbang24) and [@cherriae](https://github.com/cherriae) for their awesome contributions!


## 📜 License
Expand All @@ -151,5 +164,5 @@ Read the full license [here](https://github.com/TrueMyst/BeatPrints/blob/main/LI

<p align="center">
Made with 💜 <br>
elysianmyst, 2024
elysianmyst, 2025
</p>
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#module-sphinx.ext.autodoc

project = "BeatPrints"
copyright = "2024, elysianmyst"
copyright = "2025, elysianmyst"
author = "elysianmyst"
release = "v1.1.2"
release = "v1.1.3"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
Expand Down
42 changes: 24 additions & 18 deletions docs/guidebook/generate.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,36 @@ To generate a track poster, follow the steps below.

.. code-block:: python
import os, dotenv
from BeatPrints import lyrics, poster, spotify
import os, dotenv
from BeatPrints import lyrics, poster, spotify
dotenv.load_dotenv()
dotenv.load_dotenv()
# Spotify credentials
CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
CLIENT_SECRET = os.getenv("SPOTIFY_CLIENT_SECRET")
# Spotify credentials
CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
CLIENT_SECRET = os.getenv("SPOTIFY_CLIENT_SECRET")
# Initialize components
ly = lyrics.Lyrics()
ps = poster.Poster("./")
sp = spotify.Spotify(CLIENT_ID, CLIENT_SECRET)
# Initialize components
ly = lyrics.Lyrics()
ps = poster.Poster("./")
sp = spotify.Spotify(CLIENT_ID, CLIENT_SECRET)
# Search for a track
search = sp.get_track("Saturn - SZA", limit=1)
# Search for the track and fetch metadata
search = sp.get_track("Saturn - SZA", limit=1)
# Get the track's metadata and lyrics
metadata = search[0]
lyrics = ly.get_lyrics(metadata)
highlighted_lyrics = ly.select_lines(lyrics, "5-9")
# Pick the first result
metadata = search[0]
# Get lyrics for the track
lyrics = ly.get_lyrics(metadata)
# Use the placeholder for instrumental tracks; otherwise, select specific lines
highlighted_lyrics = (
lyrics if ly.check_instrumental(metadata) else ly.select_lines(lyrics, "5-9")
)
# Generate the track poster
ps.track(metadata, highlighted_lyrics)
# Generate the track poster
ps.track(metadata, highlighted_lyrics)
.. tip::

Expand Down
73 changes: 47 additions & 26 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Homepage
========
☕️ BeatPrints
=============

.. raw:: html

Expand Down Expand Up @@ -48,8 +48,12 @@ Or if you prefer using just the CLI:
This will install the CLI, making it ready for you to use.
For more more infomation, check out `pipx <https://github.com/pypa/pipx>`_


🚀 Quick Start
--------------

🌱 Environment Variables
------------------------
^^^^^^^^^^^^^^^^^^^^^^^^

To get started with BeatPrints, you’ll need a ``.env`` file with these
keys:
Expand All @@ -61,37 +65,44 @@ keys:
You can get these from the `Spotify Developer Dashboard <https://developer.spotify.com/dashboard/>`_ by creating a new app with **Web API** as the scope.

🚀 Quick Start
--------------

🎀 Creating your FIRST Poster
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Here’s how you can create your first poster:

.. code:: python
import os, dotenv
from BeatPrints import lyrics, poster, spotify
import os, dotenv
from BeatPrints import lyrics, poster, spotify
dotenv.load_dotenv()
dotenv.load_dotenv()
# Spotify credentials
CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
CLIENT_SECRET = os.getenv("SPOTIFY_CLIENT_SECRET")
# Spotify credentials
CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
CLIENT_SECRET = os.getenv("SPOTIFY_CLIENT_SECRET")
# Initialize components
ly = lyrics.Lyrics()
ps = poster.Poster("./")
sp = spotify.Spotify(CLIENT_ID, CLIENT_SECRET)
# Initialize components
ly = lyrics.Lyrics()
ps = poster.Poster("./")
sp = spotify.Spotify(CLIENT_ID, CLIENT_SECRET)
# Search for the track and fetch metadata
search = sp.get_track("Saturn - SZA", limit=1)
# Search for a track
search = sp.get_track("Saturn - SZA", limit=1)
# Pick the first result
metadata = search[0]
# Get the track's metadata and lyrics
metadata = search[0]
lyrics = ly.get_lyrics(metadata)
highlighted_lyrics = ly.select_lines(lyrics, "5-9")
# Get lyrics for the track
lyrics = ly.get_lyrics(metadata)
# Generate the track poster
ps.track(metadata, highlighted_lyrics)
# Use the placeholder for instrumental tracks; otherwise, select specific lines
highlighted_lyrics = (
lyrics if ly.check_instrumental(metadata) else ly.select_lines(lyrics, "5-9")
)
# Generate the track poster
ps.track(metadata, highlighted_lyrics)
🥞 CLI
------
Expand All @@ -104,8 +115,6 @@ Here’s a short video showing how to generate posters using the CLI. For more i
🖼️ Examples
-----------

Here are a few posters created with BeatPrints:

======================== ==========================
**Track: Saturn by SZA** **Album: Charm by Clairo**
======================== ==========================
Expand All @@ -115,6 +124,18 @@ Here are a few posters created with BeatPrints:
.. |Track Example| image:: https://i.ibb.co.com/q5v8J9R/saturn-by-sza-1e3.png
.. |Album Example| image:: https://i.ibb.co.com/TcrKKXV/charm-by-clairo-f8a.png


🎨 Themes
---------

BeatPrints currently offers you **5 additional themes** to use!

- Catppuccin
- Gruvbox
- Nord
- Rosepine
- Everforest

For more examples, check out the `examples directory <https://github.com/TrueMyst/BeatPrints/tree/main/examples>`_.

✨ Features
Expand All @@ -125,7 +146,7 @@ For more examples, check out the `examples directory <https://github.com/TrueMys
- **Multi-language Support**: Supports English, Hindi, Russian,
Japanese, Chinese, and Korean.
- **Custom Cover Images**: Personalize posters with your own images.
- **Theme Customization**: Switch between Dark and Light themes.
- **Theme Customization**: Switch between different other themes.
- **Track & Album Selection**: Highlight your favorite track or entire
album.
- **Lyrics Highlighting**: Feature impactful lyrics directly on your
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "BeatPrints"
version = "1.1.2"
version = "1.1.3"
description = "Create eye-catching, pinterest-style music posters effortlessly."
authors = ["elysianmyst <74355265+TrueMyst@users.noreply.github.com>"]
license = "CC-BY-NC-4.0"
Expand Down

0 comments on commit 77e382d

Please sign in to comment.