Contributing
Naming conventions
All file and folder names must use lowercase letters and hyphens instead of spaces.
Commit message conventions
All commit messages must follow the Conventional Commits format: type: short description
| Type | When to use | Example |
|---|---|---|
feat: |
Adding something new that did not exist before | feat: add Part 5 blog post |
fix: |
Correcting something broken or wrong | fix: correct broken nav link on mobile |
docs: |
Updating documentation only — site-docs, README, Markdown files | docs: update architecture section |
style: |
Visual or CSS changes that do not affect functionality | style: adjust newsletter padding on mobile |
chore: |
Maintenance tasks — reorganising files, renaming folders | chore: rename assets folder structure |
config: |
Changes to configuration files — mkdocs.yml, CNAME, workflow files | config: add navigation.footer to mkdocs features |
Submitting changes
Never push directly to main. This is a live site. Broken code pushed to main deploys immediately.
Always:
- Create a new branch for your change
- Make your changes on that branch
- Submit a Pull Request for review
- Merge to
mainonly after review
Code style
Indentation: 2 spaces throughout all HTML and CSS files.
Class naming: Use kebab-case — all lowercase, words separated by hyphens.
correct: nav-header, post-hero-inner, blog-footer-text
incorrect: navHeader, PostHeroInner, blogFooterText
CSS location:
- Global styles that apply across all pages:
styles.css - Page-specific styles that apply to one page only:
<style>tag inside that page's<head>
Em dashes: Do not use em dashes in any content, documentation, commit messages, or code comments. Use a comma, full stop, or colon instead.
Contractions: Do not use contractions in documentation or site-docs. Use full forms: "do not" not "don't", "does not" not "doesn't".
Reporting bugs and suggestions
If you find a bug or want to suggest an improvement, raise a GitHub Issue on the repository:
github.com/Douglasebhoman/douglasebhoman.github.io/issues
Describe the problem or suggestion clearly. Include the page affected, what you expected to happen, and what actually happened.