Contributing to Mohammad Dastgheib’s Personal Website

Thank you for your interest in contributing to this project! This document provides guidelines and information for contributors.

🀝 How to Contribute

Reporting Issues

If you find a bug or have a suggestion for improvement:

  1. Check if the issue already exists in the Issues section
  2. Create a new issue with:
    • Clear, descriptive title
    • Detailed description of the problem or suggestion
    • Steps to reproduce (for bugs)
    • Expected vs. actual behavior
    • Screenshots (if applicable)

Making Changes

  1. Fork the repository

    git clone https://github.com/your-username/quarto-website.git
    cd quarto-website
  2. Create a feature branch

    git checkout -b feature/your-feature-name
  3. Make your changes

    • Follow the existing code style and structure
    • Test your changes locally using quarto preview
    • Ensure the site builds without errors
  4. Commit your changes

    git add .
    git commit -m "Add: brief description of your changes"
  5. Push to your fork

    git push origin feature/your-feature-name
  6. Create a Pull Request

    • Provide a clear title and description
    • Reference any related issues
    • Include screenshots for visual changes

πŸ“ Development Guidelines

Code Style

  • Markdown: Use consistent formatting and clear structure
  • CSS: Follow existing naming conventions and organization
  • Images: Optimize images for web use
  • Content: Maintain professional, academic tone

File Organization

  • Keep related files together
  • Use descriptive file and directory names
  • Follow the existing project structure

Testing

Before submitting changes:

  1. Local Testing

    quarto preview --watch
  2. Build Testing

    quarto render
  3. Cross-browser Testing

    • Test on different browsers and devices
    • Ensure responsive design works correctly

🎨 Content Guidelines

Writing Style

  • Use clear, professional language
  • Maintain academic tone appropriate for research content
  • Proofread for grammar and spelling
  • Keep content concise and focused

Image Guidelines

  • Use high-quality, relevant images
  • Optimize file sizes for web performance
  • Include appropriate alt text for accessibility
  • Maintain consistent aspect ratios where possible

Academic Content

  • Ensure accuracy of research information
  • Cite sources appropriately
  • Maintain consistency with CV and publications
  • Update dates and information as needed

πŸš€ Types of Contributions

Content Updates

  • Publications: Add new research papers or presentations
  • Projects: Update case studies or add new projects
  • About: Update biographical information or research focus
  • Skills: Add new methodologies or technical skills

Technical Improvements

  • Styling: Enhance CSS or visual design
  • Functionality: Add interactive features or improve existing ones
  • Performance: Optimize loading times or responsiveness
  • Accessibility: Improve site accessibility and usability

Documentation

  • README: Improve project documentation
  • Comments: Add helpful comments to code
  • Guides: Create tutorials or setup guides

πŸ“‹ Pull Request Process

  1. Review Process
    • All PRs will be reviewed by the maintainer
    • Feedback will be provided for improvements
    • Changes may be requested before merging
  2. Approval Criteria
    • Code follows project guidelines
    • Changes work as intended
    • No breaking changes to existing functionality
    • Appropriate documentation updates
  3. Merge Process
    • PRs will be merged after approval
    • Changes will be deployed automatically via Netlify
    • Contributors will be credited in commit history

πŸ› Bug Reports

When reporting bugs, please include:

  • Environment: Operating system, browser, Quarto version
  • Steps to Reproduce: Clear, numbered steps
  • Expected Behavior: What should happen
  • Actual Behavior: What actually happens
  • Screenshots: Visual evidence of the issue
  • Error Messages: Any console errors or warnings

πŸ’‘ Feature Requests

For new features, please provide:

  • Use Case: Why this feature would be valuable
  • Proposed Solution: How you envision it working
  • Alternatives: Other approaches you’ve considered
  • Additional Context: Any relevant background information

πŸ“ž Contact

If you have questions about contributing:

πŸ™ Recognition

Contributors will be recognized in:

  • Commit history and pull request comments
  • Project documentation (if significant contributions)
  • Personal acknowledgments for major contributions

πŸ“œ License

By contributing to this project, you agree that your contributions will be licensed under the same MIT License that covers the project.


Thank you for helping make this website better! Your contributions are greatly appreciated.

Back to top