Contributing to brennan.day
This is a personal blog and literary space, but I welcome thoughtful collaboration that aligns with my values. Here's how you can contribute.
Ways to Contribute
💬 Community Engagement
The easiest and most valuable way to contribute:
- Leave thoughtful comments on posts that resonate with you
- Share responses on your own site with webmentions
- Join discussions on Mastodon or other platforms
- Sign the guestbook and introduce yourself
✍️ Guest Writing
I'm open to guest posts that align with this site's themes and voice.
Topics I'm interested in:
- Writing craft and creative practice
- Technology's impact on human experience (AI ethics, digital ownership, the Long Web)
- Literary analysis and book reviews
- Personal essays on growth, disability, and lived experience
- IndieWeb, POSSE, and community building
- Social justice, accessibility, and environmental sustainability
- Deep time, generational thinking, and legacy
What I'm looking for:
- Style: Personal, reflective, nuanced voice (not corporate or promotional)
- Length: 800-3,000 words typically
- Format: Markdown with proper front matter
- Approach: Curious rather than declarative, empathetic and inclusive
How to submit:
- Email me at mail@brennanbrown.ca with:
- Brief description of your idea
- Writing sample or draft
- Why you think it fits this space
- Or create a merge request on GitLab with your post in
src/posts/
🛠️ Technical Contributions
Bug fixes and improvements welcome:
- Accessibility improvements (ARIA labels, semantic HTML, alt text)
- Performance optimizations (image optimization, caching)
- IndieWeb feature enhancements (webmentions, WebSub, microformats)
- Feed improvements (RSS, JSON Feed, Atom)
- Grammar and typo corrections in existing posts
- Progressive enhancement features
Recent technical focus areas:
- Comment system integration and moderation
- WebSub hub notifications for real-time feed updates
- Pagefind search indexing
- Chart.js analytics visualization
- Image thumbnail generation with @11ty/eleventy-img
- Service worker for offline functionality
- Neocities deployment automation
How to contribute code:
- Create an issue on GitLab describing the proposed change
- Wait for discussion/feedback
- Fork the repository and create a descriptive branch
- Make your changes following our commit conventions
- Test locally with
npm run build - Submit a merge request with clear description
Development Setup
# Clone and set up locally
git clone https://gitlab.com/brennankbrown/brennan.day.git
cd brennan.day
npm install
npm start
The site runs on port 8081 by default.
Available commands:
npm start- Development server with incremental buildsnpm run build- Full production build with Pagefind search indexingnpm run validate:feeds- Validate RSS and JSON feedsnpm run init-comments- Initialize comment system
Commit Conventions
This project uses conventional commits (570+ commits and counting!). All commit messages should follow this format:
<type>: <description>
[optional body]
Types:
feat:- New features (e.g., new blog posts, pages, or functionality)fix:- Bug fixes, typo corrections, grammar improvementsdocs:- Documentation changesstyle:- Code formatting, CSS changesrefactor:- Code restructuring without changing functionalityperf:- Performance improvementstest:- Adding or updating testschore:- Maintenance tasks, dependency updates
Examples from recent history:
feat: add IndieWeb projects showcase page with 14 themes and toolsfix: correct grammar and improve clarity in work-in-progress essayfeat: add WebSub support with multiple topic URLs and HTTP Link headers
IndieWeb Principles
This site follows IndieWeb principles. Contributions should support:
- Own your data: Don't add external dependencies that compromise data ownership
- Real identity: Use proper attribution and authorship
- Interoperability: Support webmentions, microformats, and distributed conversations
- Accessibility: Ensure everyone can access and engage with content
- Progressive enhancement: Site works without JavaScript
What I'm Less Likely to Accept
- Features that compromise site simplicity or performance
- Content that doesn't align with my values
- Corporate or promotional content
- Technical changes that break IndieWeb functionality
- External dependencies that compromise privacy or data ownership
Reporting Issues
Found something broken?
- Create an issue on GitLab
- Provide clear details about what's not working
- Include browser/device information if relevant
License & Attribution
- Content: CC BY-SA 4.0 (share and adapt with attribution)
- Code: AGPL-3.0
- Guest posts: You retain copyright, grant license to publish here
- Always provide proper attribution for sources and inspirations
Getting in Touch
- Email: mail@brennanbrown.ca
- Mastodon: @brennan@social.lol
- GitLab: gitlab.com/brennankbrown/brennan.day
- Webmentions: Send from your own site
Thank you for your interest in contributing! This site is built on the principles of community, openness, and thoughtful engagement. Whether you're fixing a typo, writing a guest post, or just leaving a meaningful comment, your contribution matters.