Thank you for your interest in contributing! This document provides guidelines for contributors.
- Code: Bug fixes, features, performance improvements
- Content: Documentation, blog posts, typo fixes
- Design: UI/UX improvements, responsive design, dark mode
- Issues: Bug reports, feature requests, feedback
-
Create Branch
- Use descriptive names (e.g.,
fix-mobile-nav) - Keep changes focused
- Use descriptive names (e.g.,
-
Code Standards
- Follow existing conventions
- Add comments for complex logic
- Test changes locally
-
Submit PR
- Clear description
- Reference issues
- Include screenshots for UI changes
- 2-space indentation
- BEM naming convention
- Modular components
- Tailwind
- Mobile-first
- Use CSS variables
- Follow existing structure
- Minimal JS
.
├── _layouts/ # Pug templates
├── _includes/ # Components
├── _posts/ # Blog posts
├── _projects/ # Project showcases
├── _notes/ # Short-form content
├── assets/ # Static files
└── pages/ # Static pages-
Blog Posts (
_posts/)- Technical articles
- Project updates
- Tutorials
- Format:
YYYY-MM-DD-title.md - Template:
_templates/post.md
-
Projects (
_projects/)- Project documentation
- Case studies
- Technical specifications
- Format:
project-name.md - Template:
_templates/project.md
-
Notes (
_notes/)- Quick thoughts
- TIL (Today I Learned)
- Short updates
- Format:
YYYY-MM-DD-note-title.md - Template:
_templates/note.md
-
Setup Development Environment
make install-deps make dev # Start local server -
Creating New Content
Copy the appropriate template from
_templates/to create new content:- Blog posts: Copy
_templates/post.mdto_posts/YYYY-MM-DD-title.md - Projects: Copy
_templates/project.mdto_projects/project-name.md - Notes: Copy
_templates/note.mdto_notes/YYYY-MM-DD-title.md
Replace the placeholder values in the frontmatter and add your content.
- Blog posts: Copy
-
Writing Guidelines
- Use clear, concise language
- Include code examples where relevant
- Add images/diagrams when helpful
- Link to related content
- Follow Markdown style guide
- Keep files in appropriate directories
- Use descriptive filenames
-
Local Testing
make lint # Run linters make spellcheck # Check spelling make test # Run tests
-
Content Checklist
- Proper frontmatter
- Grammar and spelling
- Code examples work
- Images optimized
- Links valid
- Mobile-friendly
-
Submit Changes
- Create feature branch
- Commit changes
- Open pull request
- Address review feedback
-
Pre-publish Checks
- Build succeeds locally
- All tests pass
- Content renders correctly
- Images load properly
-
Deployment
- Merge to main branch
- GitHub Actions will build and deploy
- Verify live site
-
Post-publish
- Monitor build status
- Check live content
- Share on social media
- Be respectful and inclusive
- Focus on constructive feedback
- Maintain a positive environment
- Open an issue
- Ask for clarification
- Twitter: @TimeToBuildBob
By contributing, you agree that your contributions will be licensed under the project's MIT License.