Skip to content

A powerful, configuration-driven portfolio system that transforms your story into a stunning web presence.

Notifications You must be signed in to change notification settings

NishikantaRay/renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

                β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— 
                β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
                β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
                β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
                β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
                β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•β•β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β•

🌟 "Render your story, configure your future" 🌟

Made with ❀️ Vanilla JS TOML Config Zero Build Live Demo Documentation

✨ 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


✨ Features

Core Features

  • πŸ”§ 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

Advanced Configuration

  • πŸŽ›οΈ 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

πŸ€– AI-Powered Setup (NEW!)

  • 🎯 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

πŸš€ Quick Start

Option 1: AI-Assisted Setup (Recommended!) πŸ€–

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

β†’ Full MCP Server Guide


Option 2: Traditional Setup

# 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!

πŸ“š Documentation

🌐 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:

οΏ½πŸ“ Project Structure

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

βš™οΈ Configuration Guide

🏠 Home Page Configuration (config/home.toml)

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

πŸš€ Projects Page Configuration (config/projects.toml)

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

πŸ“ Blog Configuration (config/blog.toml)

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

πŸ“„ Resume Configuration (config/resume.toml)

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

πŸ”— Social Links Configuration (config/social.toml)

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

🎨 Customization Examples

Minimal Setup (Performance Focused)

# 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-Heavy Setup

[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-First Setup

[accessibility]
high_contrast_mode = true
focus_indicators = true
keyboard_navigation = true

[ui]
animations = false  # Reduce motion
smooth_scrolling = false

[performance]
preload_critical_content = true

πŸ› οΈ Development

Local Development

# Install dependencies (optional)
npm install

# Start development server
npm run dev
# or
python3 -m http.server 8000
# or
npx serve .

Enable Debug Mode

[development]
debug_mode = true           # Show debug information
performance_metrics = true # Performance timing
error_logging = true       # Log errors

Adding New Features

  1. Add configuration option in appropriate TOML file
  2. Update JavaScript to respect the configuration
  3. Add CSS rules for styling
  4. Document in the corresponding guide

πŸ“– Content Management

Adding Blog Posts

  1. Create markdown file in content/
  2. 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"]

Updating Projects

  1. Edit content/projects.md for markdown content
  2. Or configure in config/projects.toml for dynamic content

Managing Resume

Update config/resume.toml with your experience, skills, and achievements.

πŸš€ Deployment

Zero-Config Deployment

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

Environment-Specific Configuration

Create different configuration files for different environments:

config/
β”œβ”€β”€ home.toml          # Production
β”œβ”€β”€ home.dev.toml      # Development
└── home.staging.toml  # Staging

πŸ”§ Troubleshooting

Configuration Not Loading

  1. Check browser console for TOML parsing errors
  2. Verify TOML syntax using an online validator
  3. Ensure configuration files exist in config/ directory

Features Not Hiding

  1. Enable debug mode: debug_mode = true
  2. Check browser console for configuration status
  3. Clear browser cache and reload

Content Not Displaying

  1. Verify markdown files exist in content/ directory
  2. Check file paths in configuration
  3. Enable fallback content: enable_fallback_content = true

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add configuration options for new features
  4. Update documentation
  5. Submit a pull request

🌐 Links

πŸ“„ License

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 🌟

🎯 Why This Portfolio?

Advantages

  • βœ… 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

Perfect For

  • πŸ‘¨β€πŸ’» 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.

About

A powerful, configuration-driven portfolio system that transforms your story into a stunning web presence.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published