Turn your boring README.md into a stunning landing page β with a single command.
β¨ Why readme-peacock?
- πΌοΈ Beautiful out of the box β Glassmorphism hero, animated gradient background, dark/light mode.
- β‘ Zero configuration β Takes your
README.mdand outputs a readyβtoβdeployindex.html. - π§ Smart extraction β Autoβdetects project title, shields.io badges, and repository links.
- π GitHub quick links β Add buttons for Issues, Pull Requests, Releases, Wiki and Star with
--repo. - π Multiple files β Process all Markdown files in a folder with
--all. - π¨ Themes β Choose between
glass(default) anddarkthemes via--template.
π¦ Installation
Make sure you have Python 3.8 or higher. Then install from PyPI:
pip install readme-peacock
Or install directly from the repository:
pip install git+https://github.com/ZvanTors/readme-peacock.git
π Usage
Basic (single file)
Run the following command in any directory containing a README.md:
peacock
This creates a site/ folder with an index.html inside. Open it with your browser β thatβs your landing page.
Custom paths and GitHub buttons
peacock README.md -o landing.html --repo "ZvanTors/readme-peacock"
This will:
- Read README.md
- Save the output to landing.html
- Add quickβlink buttons to your GitHub repository (Issues, Pull Requests, Releases, Wiki, Star)
Process all Markdown files in a directory
peacock --all
Scans the current directory for all .md files and generates matching HTML pages in the site/ folder.
README.md becomes index.html, others keep their original names (e.g., faq.md β faq.html).
You can combine --all with --repo and --template:
peacock --all --repo "ZvanTors/readme-peacock" --template dark
Choose a theme
peacock --template dark
Available themes:
- glass (default) β Light/dark auto-switching glassmorphism design.
- dark β Always dark, high-contrast style with orange accents.
Show help
peacock --help
ποΈ Features
- Automatic dark/light mode β Respects your OS theme (or forced dark with the
darktemplate). - Gradient background animation β A smooth, living backdrop that never gets boring.
- Badge extraction β All
shields.iobadges from your README appear in the hero section. - Title handling β The first
#heading is moved to the hero, avoiding duplication. - Multi-file support β Convert all your Markdown files at once with
--all. - Themes β Visual variety without losing the core design.
- Responsive design β Looks great on mobile, tablet, and desktop.
- No JavaScript API calls β Static buttons that always work, even offline.
πΌοΈ Demo

A landing page generated from the very README you are reading.
π Live Demo
Check out the live landing page generated by readme-peacock itself:
https://zvanTors.github.io/readme-peacock
π€ Contributing
Iβd love your help! To contribute:
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-idea) - Commit your changes (
git commit -m 'Add amazing idea') - Push to the branch (
git push origin feature/amazing-idea) - Open a Pull Request
Please make sure your code follows the existing style and that you test your changes.
π License
MIT Β© ZvanTors
Made with π¦ by ZvanTors
π GitHub Action
You can use readme-peacock as a GitHub Action to automatically build and deploy your landing page on every push.
- Create a workflow file in your repository at .github/workflows/peacock.yml
- Paste the following content into it:
name: Generate Landing Page on: push: branches: [main] workflow_dispatch:
permissions: contents: read pages: write id-token: write
concurrency: group: "pages" cancel-in-progress: false
jobs: build: runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - uses: ZvanTors/readme-peacock@v1 with: repo: ${{ github.repository }}
-
Go to your repository Settings β Pages β Source and select "GitHub Actions".
-
Push to main and your landing page will be live at https://USERNAME.github.io/REPO