βββββββ ββββββββββββ ββββββββββ βββββββββββββββ βββββββββββββββ
βββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββ ββββββ ββββββ βββββββββ ββββββββββββββ ββββββββ
ββββββββββββββ βββββββββββββ βββββββββ ββββββββββββββ ββββββββ
βββ ββββββββββββββ βββββββββββββββββββββββββ ββββββββββββββ βββ
βββ ββββββββββββββ ββββββββββββ βββββββββββ ββββββββββββββ βββ
β¨ A powerful, configuration-driven portfolio system that transforms your story into a stunning web presence
Built with vanilla HTML, CSS, and JavaScript β’ Powered by TOML configuration β’ Designed for developers, designers, and dreamers
π Live Demo | π Documentation | π§ GitHub Repository
- π§ Fully Configurable - Configure every aspect through TOML files
- π Multipage Support - Home, About, Projects, Blog, Resume, and Contact pages
- π Markdown Content - All content stored in markdown files for easy editing
- π Dark/Light Theme - Automatic theme detection with manual toggle
- π± Responsive Design - Works perfectly on mobile and desktop
- β‘ Fast Loading - No frameworks, just clean vanilla code
- π SEO Friendly - Proper meta tags and semantic HTML
- ποΈ Enable/Disable Any Feature - Granular control over every component
- π Analytics Dashboard - Optional project analytics and charts
- π¨ UI Customization - Control animations, layouts, and interactions
- βΏ Accessibility Controls - Configure accessibility features
- π Performance Options - Lazy loading, caching, and optimizations
- π§ Debug Mode - Built-in debugging and development tools
- π― MCP Server Integration - AI assistant for Renderer framework
- π¬ Natural Language Configuration - Just describe what you want
- β Instant Validation - Check your TOML files with AI
- π Template Generation - Generate complete configs automatically
- π Smart Documentation - Ask questions, get instant answers
β Get started with Renderer MCP Server
Get your portfolio up in 15 minutes with AI help:
# 1. Install the MCP server
npm install -g renderer-mcp-server
# 2. Configure Claude Desktop
# Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"renderer": {
"command": "renderer-mcp"
}
}
}
# 3. Restart Claude Desktop and ask:
# "Create a portfolio for [Your Name] with projects and resume"Benefits:
- β Generate complete configurations automatically
- β Validate TOML files instantly
- β Get answers to any Renderer question
- β Save 85% setup time
# Clone the repository
git clone https://github.com/NishikantaRay/renderer.git
# Navigate to the project
cd renderer
# Serve locally (Python 3)
python -m http.server 8000
# or with Node.js
npx serve .
# Open your browser
open http://localhost:8000π‘ Pro Tip: Visit the live documentation at renderer.nishikanta.in/docs for comprehensive setup guides and configuration examples!
π Complete Documentation - Interactive documentation hub with:
- π€ AI Assistant (MCP Server) - Get AI help with setup and configuration
- Configuration Guides - Step-by-step TOML configuration examples
- Feature Tutorials - How to implement each portfolio feature
- Code Examples - Copy-paste ready code snippets
- Live Demos - Interactive previews of all components
- Best Practices - Tips for optimal portfolio performance
- Troubleshooting - Common issues and solutions
Quick Documentation Links:
- π€ AI Assistant Guide (NEW!) - Get AI help with Renderer
- π Home Configuration
- π Projects Setup
- π Blog System
- π Resume Builder
- π Social Links
minimal-portfolio/
βββ π HTML Pages
β βββ index.html # Home page with hero section
β βββ about.html # About page
β βββ projects.html # Projects showcase with analytics
β βββ blog.html # Blog with dynamic content loading
β βββ resume.html # Interactive resume
β βββ contact.html # Contact information
β βββ docs.html # Interactive documentation hub
β
βββ βοΈ Configuration (TOML)
β βββ home.toml # Home page: hero, clients, products, dashboard
β βββ projects.toml # Projects: features, analytics, sections
β βββ blog.toml # Blog: posts, pagination, settings
β βββ resume.toml # Resume: sections, skills, experience
β βββ social.toml # Social links and display settings
β
βββ π Content (Markdown)
β βββ about.md # About page content
β βββ projects.md # Projects content
β βββ blog.md # Blog posts and content
β βββ contact.md # Contact page content
β βββ [blog-posts].md # Individual blog posts
β
βββ π Documentation
β βββ docs/
β β βββ README.md # Main documentation
β β βββ HOME_CONFIG.md # Home configuration guide
β β βββ PROJECTS_CONFIG.md # Projects setup
β β βββ BLOG_CONFIG.md # Blog system guide
β β βββ RESUME_CONFIG.md # Resume builder
β β βββ SOCIAL_CONFIG.md # Social links setup
β
βββ π¨ Styling
β βββ css/
β β βββ home.css # Home page styles
β β βββ projects.css # Projects page styles
β β βββ blog.css # Blog styles
β β βββ resume.css # Resume styles
β β βββ [page].css # Other page styles
β
βββ π§ JavaScript
β βββ js/
β β βββ home.js # Home page functionality
β β βββ projects.js # Projects page logic
β β βββ blog-system.js # Blog system
β β βββ resume.js # Resume interactions
β β βββ [page]-config-toml.js # Configuration loaders
β β βββ [feature]-config.js # Feature configurations
β
βββ πΌοΈ Assets
β βββ images/ # Images and media files
β
βββ π Documentation
β βββ docs/
β β βββ HOME_CONFIG.md # Home page configuration guide
β β βββ PROJECTS_CONFIG.md # Projects configuration guide
β β βββ BLOG_CONFIG.md # Blog configuration guide
β β βββ RESUME_CONFIG.md # Resume configuration guide
β β βββ SOCIAL_CONFIG.md # Social links configuration
β β βββ DASHBOARD-CONFIG.md # Dashboard configuration
β
βββ π¦ Package Files
βββ package.json # Development dependencies
βββ README.md # This file
Control every aspect of your home page:
# Hero section
[hero]
name = "Nishikanta Ray"
title = "Full-Stack Developer & Designer"
intro = [
"Your introduction paragraph...",
"Additional details..."
]
[hero.actions]
primary_text = "Hire Me"
primary_link = "resume.html"
secondary_text = "Let's Talk"
secondary_link = "#contact"
# Enable/disable sections
[sections]
enabled_sections = ["freelance-clients", "latest-products", "dashboard"]
# Freelance clients section
[freelance_clients]
enabled = true
title = "Trusted by Clients"
subtitle = "Companies I've worked with"
# Add clients
[[freelance_clients.clients]]
name = "TechStart Inc."
logo = "π" # Emoji or image path
status = "completed"
period = "Oct-Dec 2024"
project = "E-commerce Platform"
# Latest products
[latest_products]
enabled = true
title = "Latest Products"
# Dashboard with analytics
[dashboard]
enabled = false # Set to true to enable
title = "Dashboard & Analytics"
[dashboard.sections]
charts = false # Project charts
recent_activity = false # Activity feed
skills_progress = false # Skills progress bars
statistics = false # Stats gridπ Full Guide: docs/HOME_CONFIG.md
Complete control over your projects showcase:
# Main page settings
[page]
title = "Projects"
subtitle = "A showcase of my recent work"
# Content loading
[content]
enable_markdown_content = true
enable_fallback_content = true
show_intro = true
# Featured projects
[featured_projects]
enabled = true
show_tech_stack = true # Technology badges
show_features_list = true # Key features
show_project_links = true # Demo/GitHub links
enable_hover_effects = true # Animations
# Analytics dashboard
[analytics]
enabled = false # Disable analytics section
title = "Project Analytics & Activity"
[analytics.charts]
enabled = true
weekly_activity = true # Activity charts
project_distribution = true # Distribution charts
[analytics.timeline]
enabled = true
max_events = 10 # Timeline events
# Project statistics
[project_stats]
enabled = true
animate_numbers = true # Animated counters
# Open source section
[opensource]
enabled = true
show_github_stats = true # GitHub statistics
show_star_counts = true # Repository stars
# Performance settings
[performance]
lazy_load_images = true # Lazy loading
preload_critical_content = true
# Accessibility
[accessibility]
high_contrast_mode = false # High contrast theme
focus_indicators = true # Enhanced focus
keyboard_navigation = true # Keyboard supportπ Full Guide: docs/PROJECTS_CONFIG.md
Configure your blog system:
# Blog metadata
[blog]
title = "Personal Blog"
description = "Thoughts on web development and technology"
author = "Nishikanta Ray"
# Pagination
[pagination]
posts_per_page = 6
enabled = true
# Feature settings
[settings]
enable_comments = true
enable_social_sharing = true
enable_search = true
enable_categories = true
# Blog posts
[[posts]]
id = "typescript-modern-web"
title = "Building Modern Web Applications with TypeScript"
description = "TypeScript best practices and implementation strategies"
date = "2024-10-12"
tags = ["TypeScript", "Web Development"]
featured = trueπ Full Guide: docs/BLOG_CONFIG.md
Create an interactive resume:
# Personal information
[personal]
name = "Nishikanta Ray"
title = "Full-Stack Developer"
email = "your@email.com"
phone = "+1234567890"
location = "Your City, Country"
# Experience
[[experience]]
title = "Senior Full-Stack Developer"
company = "Tech Company"
location = "City, Country"
start_date = "2022-01"
end_date = "Present"
description = "Led development of scalable web applications..."
# Skills
[[skills]]
category = "Frontend"
technologies = ["React", "TypeScript", "Vue.js"]
proficiency = "Expert"
# Settings
[settings]
show_gpa = true
show_location = true
enable_share_button = trueπ Full Guide: docs/RESUME_CONFIG.md
Manage your social media presence:
# Display settings
[display]
show_text = false # Icons only vs text + icons
show_tooltips = true # Hover tooltips
# Social links
[[links]]
id = "github"
name = "GitHub"
url = "https://github.com/NishikantaRay"
icon = "fab fa-github"
enabled = true
[[links]]
id = "linkedin"
name = "LinkedIn"
url = "https://linkedin.com/in/NishikantaRay"
icon = "fab fa-linkedin"
enabled = trueπ Full Guide: docs/SOCIAL_CONFIG.md
# Disable heavy features
[analytics]
enabled = false
[ui]
animations = false
[performance]
lazy_load_images = true
preload_critical_content = true
[interactive]
project_filtering = false
search_functionality = false[analytics]
enabled = true
[analytics.charts]
enabled = true
weekly_activity = true
project_distribution = true
[dashboard]
enabled = true
[dashboard.sections]
charts = true
statistics = true
recent_activity = true[accessibility]
high_contrast_mode = true
focus_indicators = true
keyboard_navigation = true
[ui]
animations = false # Reduce motion
smooth_scrolling = false
[performance]
preload_critical_content = true# Install dependencies (optional)
npm install
# Start development server
npm run dev
# or
python3 -m http.server 8000
# or
npx serve .[development]
debug_mode = true # Show debug information
performance_metrics = true # Performance timing
error_logging = true # Log errors- Add configuration option in appropriate TOML file
- Update JavaScript to respect the configuration
- Add CSS rules for styling
- Document in the corresponding guide
- Create markdown file in
content/ - Add post configuration to
config/blog.toml:
[[posts]]
id = "my-new-post"
title = "My New Blog Post"
description = "Post description"
date = "2024-10-16"
content_file = "my-new-post.md"
tags = ["web", "development"]- Edit
content/projects.mdfor markdown content - Or configure in
config/projects.tomlfor dynamic content
Update config/resume.toml with your experience, skills, and achievements.
Deploy to any static hosting service:
- Netlify: Drag and drop the folder
- Vercel: Connect your GitHub repository
- GitHub Pages: Enable in repository settings
- Cloudflare Pages: Connect repository
- Any static host: Upload files
Create different configuration files for different environments:
config/
βββ home.toml # Production
βββ home.dev.toml # Development
βββ home.staging.toml # Staging- Check browser console for TOML parsing errors
- Verify TOML syntax using an online validator
- Ensure configuration files exist in
config/directory
- Enable debug mode:
debug_mode = true - Check browser console for configuration status
- Clear browser cache and reload
- Verify markdown files exist in
content/directory - Check file paths in configuration
- Enable fallback content:
enable_fallback_content = true
- Fork the repository
- Create a feature branch
- Add configuration options for new features
- Update documentation
- Submit a pull request
- π Live Demo: renderer.nishikanta.in
- π Documentation: renderer.nishikanta.in/docs
- π» GitHub Repository: github.com/NishikantaRay/renderer
- π Clone Command:
git clone https://github.com/NishikantaRay/renderer.git
MIT License - Feel free to use and modify for your own portfolio!
β¨ Built with β€οΈ by Nishikanta Ray β’ Made for developers who value simplicity and power
Start building your story today at renderer.nishikanta.in π
- β No Build Process - Works immediately
- β No Framework Dependencies - Pure vanilla code
- β Complete Customization - Configure without coding
- β Fast Performance - Minimal overhead
- β SEO Optimized - Static HTML with proper meta tags
- β Accessible - Built-in accessibility features
- β Mobile First - Responsive design
- β Dark/Light Theme - Automatic and manual switching
- π¨βπ» Developers who want a professional portfolio
- π¨ Designers who need a clean showcase
- π Students building their first portfolio
- πΌ Professionals who want easy content management
- π Anyone who values performance and simplicity
π Star this repository if you find it helpful!
For detailed configuration guides, see the docs/ directory.
Need help? Open an issue or check the troubleshooting section above.