Skip to main content

Automatic portfolio project generator

Project description

PortfolioGen

A Python package that automatically generates portfolio project folders with HTML, CSS, and JavaScript files.

Features

  • 🚀 Easy to use: Simple CLI and Python API
  • 📁 Complete structure: Generates HTML, CSS, JS, and assets folder
  • 🎨 Template support: Multiple templates (extensible for future themes)
  • 🔧 Customizable: Custom folder names and template selection
  • 📦 Pip installable: Standard Python package installation
  • 🌐 UTF-8 encoding: Proper file encoding for international characters
  • Error handling: Graceful handling of existing folders

Installation

From PyPI (when published)

pip install portfoliogen

From source

git clone https://github.com/sameer-lamichhane/portfoliogen.git
cd portfoliogen
pip install -e .

Usage

Command Line Interface

Generate a portfolio with default name "MyPortfolio":

portfoliogen

Generate a portfolio with custom name:

portfoliogen MyAwesomePortfolio

Generate with specific template:

portfoliogen MyPortfolio --template modern

Show help:

portfoliogen --help

Python API

from portfoliogen import generate_portfolio

# Generate with default settings
portfolio_path = generate_portfolio()
print(f"Portfolio created at: {portfolio_path}")

# Generate with custom name
portfolio_path = generate_portfolio("MyCustomPortfolio")

# Generate with template (future feature)
portfolio_path = generate_portfolio("MyPortfolio", template="modern")

Generated Structure

When you run PortfolioGen, it creates the following structure:

MyPortfolio/
├── index.html          # Main HTML file with portfolio structure
├── styles.css          # CSS styles with responsive design
├── script.js           # JavaScript with smooth scrolling and animations
├── assets/             # Folder for images and media
│   └── README.md       # Placeholder file

Templates

Currently supported templates:

  • default: Clean, professional portfolio layout
  • minimal: (Coming soon) Minimalist design
  • modern: (Coming soon) Modern, trendy layout
  • dark: (Coming soon) Dark theme portfolio

File Contents

HTML Features

  • Responsive design with mobile-first approach
  • Navigation with smooth scrolling
  • Sections for About, Projects, and Contact
  • Semantic HTML structure
  • Meta tags for SEO

CSS Features

  • Modern CSS Grid and Flexbox layouts
  • Smooth animations and transitions
  • Responsive breakpoints
  • Professional color scheme
  • Hover effects and interactions

JavaScript Features

  • Smooth scrolling navigation
  • Scroll-based header effects
  • Intersection Observer for animations
  • Utility functions for dynamic content
  • Modern ES6+ syntax

Development

Setting up development environment

git clone https://github.com/sameer-lamichhane/portfoliogen.git
cd portfoliogen
pip install -e ".[dev]"

Running tests

pytest

Code formatting

black portfoliogen/
flake8 portfoliogen/

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

v1.0.0

  • Initial release
  • Basic portfolio generation
  • CLI and Python API
  • Default template
  • UTF-8 encoding support
  • Error handling for existing folders

Roadmap

  • Additional templates (minimal, modern, dark)
  • Custom CSS/JS injection
  • Image optimization
  • Live preview server
  • Template customization options
  • Integration with popular CSS frameworks

Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Contact: your.email@examp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portfoliogen-1.0.0.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

portfoliogen-1.0.0-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file portfoliogen-1.0.0.tar.gz.

File metadata

  • Download URL: portfoliogen-1.0.0.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for portfoliogen-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d389440711d3d291329f67cc3949765cd4d2d98ea7a82ac470ea7cb6c8bd6b1e
MD5 10ce31b3d4c841d1d35133325adb9f8b
BLAKE2b-256 016cf0dd1c471550607802166c010fb95d6f65b3e33ca18d00bf0ca3c5b1005b

See more details on using hashes here.

File details

Details for the file portfoliogen-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: portfoliogen-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for portfoliogen-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a878ff52fbcb67fa3a439e350ab18f776862fc18882bd0f618716f6b1d6cfd1f
MD5 356578e7ef3c60c5da1a87abc8802f04
BLAKE2b-256 864bc9a09be6a66d8a6340c8c60962695272b5e88cc5673225dbe748e6f5ad9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page