Skip to content

Commit cce2e41

Browse files
Feat GitHub docs page (#1794)
* docs: add GitHub Pages URL to documentation homepage - Added note about online documentation availability - Testing automatic GitHub Pages deployment pipeline Related to GitHub Pages deployment task 4.2 * feat: implement GitHub Pages documentation deployment - Configure GitHub Pages to serve documentation from /docs folder - Add GitHub Pages URL to main README.md documentation section - Update CLAUDE.md with documentation deployment process - Add note about online documentation to docs/README.md - Create comprehensive PRD and task list for implementation - Test and validate documentation rendering and navigation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * docs: add GitHub Pages workflow to CONTRIBUTING.md - Added Documentation section explaining GitHub Pages deployment - Included workflow for contributors to update documentation - Updated task list to reflect additional documentation changes * chore: bump version to 2.4.0 - Updated version to 2.4.0 for GitHub Pages feature release - Upgraded Electron from 37.2.6 to 37.3.0 - Added release notes for GitHub Pages documentation deployment - Updated package-lock.json with new dependencies --------- Co-authored-by: Claude <[email protected]>
1 parent a7fb727 commit cce2e41

9 files changed

+327
-8
lines changed

CLAUDE.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,26 @@ The project currently lacks comprehensive test coverage. When contributing:
7474
- Consider adding tests using a framework like Jest
7575
- Ensure cross-platform compatibility (Linux primary, Windows/macOS supported)
7676

77+
## Documentation Deployment
78+
79+
The project documentation is automatically deployed to GitHub Pages from the `/docs` folder:
80+
81+
- **Live Documentation**: https://ismaelmartinez.github.io/teams-for-linux/
82+
- **Source**: `/docs` folder on main branch
83+
- **Deployment**: Automatic on every push to main branch
84+
- **Theme**: GitHub's default Jekyll theme
85+
86+
### Updating Documentation
87+
- Edit markdown files in `/docs` folder
88+
- Push changes to main branch
89+
- GitHub Pages automatically rebuilds and deploys within 1-5 minutes
90+
- No manual deployment steps required
91+
92+
### Known Limitations
93+
- Mermaid diagrams display as raw code (acceptable degradation)
94+
- GitHub alert syntax (`[!NOTE]`, `[!TIP]`) may not render (displays as text)
95+
- Jekyll uses basic theme with limited customization
96+
7797
## Important Notes
7898

7999
- The project is undergoing active refactoring to improve modularity

CONTRIBUTING.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,26 @@ npm run dist:linux:snap
5252
cd dist && sudo snap install teams-for-linux_*.snap --dangerous
5353
```
5454

55+
## Documentation
56+
57+
### Updating Documentation
58+
59+
Project documentation is located in the `/docs` folder and automatically deployed to **[GitHub Pages](https://ismaelmartinez.github.io/teams-for-linux/)**.
60+
61+
**To update documentation:**
62+
1. Edit markdown files in `/docs` folder
63+
2. Push changes to main branch
64+
3. GitHub Pages automatically rebuilds within 1-5 minutes
65+
66+
**Documentation Structure:**
67+
- `docs/README.md` - Homepage with navigation
68+
- `docs/configuration.md` - Complete configuration guide
69+
- `docs/knowledge-base.md` - Troubleshooting and FAQ
70+
- `docs/screen-sharing.md` - Screen sharing implementation
71+
- Additional guides for specific features
72+
73+
**Note:** When adding new features, update relevant documentation and add links to `docs/README.md` navigation.
74+
5575
## Release Process
5676

5777

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ Download from [GitHub Releases](https://github.com/IsmaelMartinez/teams-for-linu
6262

6363
## Documentation
6464

65+
📖 **[Complete Documentation](https://ismaelmartinez.github.io/teams-for-linux/)** — Full documentation available online
66+
6567
| Topic | Description |
6668
|-------|-------------|
6769
| **[Configuration Guide](docs/configuration.md)** | Complete setup and configuration options |

com.github.IsmaelMartinez.teams_for_linux.appdata.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@
1414
<url type="bugtracker">https://github.com/IsmaelMartinez/teams-for-linux/issues</url>
1515
<launchable type="desktop-id">com.github.IsmaelMartinez.teams_for_linux.desktop</launchable>
1616
<releases>
17+
<release version="2.4.0" date="2025-08-18">
18+
<description>
19+
<ul>
20+
<li>New: GitHub Pages documentation deployment - documentation now available online</li>
21+
<li>Update: Electron upgraded to 37.3.0</li>
22+
<li>Improvement: Enhanced contributor documentation with GitHub Pages workflow</li>
23+
<li>Enhancement: Added comprehensive documentation links throughout project</li>
24+
</ul>
25+
</description>
26+
</release>
1727
<release version="2.3.0" date="2025-08-13">
1828
<description>
1929
<ul>

docs/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
This directory contains documentation for Teams for Linux, organized for both users and developers.
44

5+
> [!NOTE]
6+
> Documentation is now available online at: https://ismaelmartinez.github.io/teams-for-linux/
7+
58
## User Documentation
69

710
### Getting Started

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "teams-for-linux",
3-
"version": "2.3.0",
3+
"version": "2.4.0",
44
"main": "app/index.js",
55
"description": "Unofficial client for Microsoft Teams for Linux",
66
"homepage": "https://github.com/IsmaelMartinez/teams-for-linux",
@@ -55,7 +55,7 @@
5555
"devDependencies": {
5656
"@electron/fuses": "^2.0.0",
5757
"@eslint/js": "^9.33.0",
58-
"electron": "^37.2.6",
58+
"electron": "^37.3.0",
5959
"electron-builder": "^26.0.19",
6060
"eslint": "^9.33.0",
6161
"globals": "^16.3.0",
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Product Requirements Document: GitHub Pages Documentation Deployment
2+
3+
<!-- toc -->
4+
5+
## Introduction/Overview
6+
7+
This PRD outlines the implementation of GitHub Pages deployment for the Teams for Linux documentation to make project documentation more accessible to end users without requiring them to clone the repository or navigate GitHub's file interface.
8+
9+
### Problem Statement
10+
Currently, Teams for Linux documentation resides in the `/docs` folder and is only accessible through GitHub's file browser interface. This creates barriers for end users who need installation guides, configuration help, and troubleshooting information but are not familiar with GitHub's interface.
11+
12+
### Goal
13+
Deploy the existing `/docs` folder as a GitHub Pages website to provide end users with easy access to documentation through a standard web interface.
14+
15+
## Goals
16+
17+
1. **Improve Documentation Accessibility**: Make documentation available via a standard website URL
18+
2. **Increase Documentation Usage**: Provide a user-friendly interface that encourages documentation consumption
19+
3. **Reduce Support Burden**: Enable users to self-serve through easily accessible documentation
20+
4. **Maintain Simplicity**: Implement with minimal configuration and maintenance overhead
21+
22+
## User Stories
23+
24+
1. **As an end user**, I want to access Teams for Linux documentation through a standard website so that I can easily find installation and configuration information without navigating GitHub.
25+
26+
2. **As a new user**, I want to quickly find troubleshooting guides and configuration options so that I can resolve issues independently.
27+
28+
3. **As a system administrator**, I want to reference documentation URLs in deployment scripts and internal wikis so that my team can access current information.
29+
30+
4. **As a project maintainer**, I want documentation updates to be automatically published so that users always see the latest information without additional deployment steps.
31+
32+
## Functional Requirements
33+
34+
1. **GitHub Pages Configuration**: The system must enable GitHub Pages deployment from the `/docs` folder using GitHub's built-in functionality.
35+
36+
2. **Automatic Deployment**: The system must automatically deploy documentation updates whenever changes are pushed to the main branch.
37+
38+
3. **Current Structure Preservation**: The system must maintain the existing documentation structure and file organization without requiring reorganization.
39+
40+
4. **Default Styling**: The system must use GitHub's default Jekyll theme for consistent, professional appearance with minimal configuration.
41+
42+
5. **Standard URL Access**: The system must make documentation available at the standard GitHub Pages URL format: `https://IsmaelMartinez.github.io/teams-for-linux`.
43+
44+
6. **Markdown Rendering**: The system must properly render all existing markdown content including headers, lists, code blocks, and links.
45+
46+
7. **Navigation Support**: The system must provide basic navigation through Jekyll's default theme capabilities.
47+
48+
8. **Mobile Compatibility**: The system must render documentation appropriately on mobile devices through the default theme's responsive design.
49+
50+
## Non-Goals (Out of Scope)
51+
52+
1. **Custom Theming**: No custom CSS, branding, or visual modifications beyond the default Jekyll theme
53+
2. **Search Functionality**: No built-in search capabilities (users can use browser search)
54+
3. **Custom Domain**: No custom domain configuration - standard GitHub Pages URL only
55+
4. **Mermaid Diagram Rendering**: No special configuration for Mermaid diagrams (acceptable if they don't render)
56+
5. **Content Reorganization**: No restructuring of existing documentation hierarchy
57+
6. **Advanced Jekyll Features**: No custom plugins, layouts, or Jekyll-specific enhancements
58+
7. **Analytics Integration**: No visitor tracking or usage analytics
59+
8. **Multi-language Support**: No internationalization features
60+
61+
## Design Considerations
62+
63+
### Content Structure
64+
- Maintain current `/docs/README.md` as the homepage
65+
- Preserve existing file hierarchy and navigation patterns
66+
- Ensure relative links between documentation files continue to work
67+
68+
### User Experience
69+
- Rely on Jekyll's default theme for consistent GitHub ecosystem appearance
70+
- Ensure documentation remains scannable and easy to navigate
71+
- Maintain fast page load times through minimal configuration
72+
73+
## Technical Considerations
74+
75+
### Implementation Approach
76+
- Use GitHub Pages' built-in `/docs` folder deployment option (no custom workflows required)
77+
- Leverage Jekyll's automatic markdown processing
78+
- No additional configuration files needed initially
79+
80+
### Dependencies
81+
- GitHub Pages service (no additional dependencies)
82+
- Jekyll (automatically provided by GitHub Pages)
83+
- Default Jekyll theme (automatically applied)
84+
85+
### Constraints
86+
- Limited to GitHub Pages' built-in Jekyll functionality
87+
- No custom plugins due to GitHub Pages security restrictions
88+
- Mermaid diagrams may not render (acceptable limitation)
89+
90+
### Maintenance
91+
- Zero maintenance overhead - automatic deployment from main branch
92+
- Documentation updates follow existing workflow (edit files in `/docs`)
93+
- No separate build or deployment processes required
94+
95+
## Success Metrics
96+
97+
### Primary Metrics
98+
1. **Documentation Page Views**: Increase in documentation access through web interface vs. GitHub file views
99+
2. **User Engagement**: Time spent on documentation pages and bounce rate improvement
100+
3. **Accessibility**: Successful deployment and consistent availability of documentation site
101+
102+
### Secondary Metrics
103+
1. **Support Request Reduction**: Decrease in basic configuration and setup questions
104+
2. **Community Growth**: Increased user self-sufficiency leading to better community engagement
105+
3. **Professional Appearance**: Positive feedback on documentation accessibility and presentation
106+
107+
## Open Questions
108+
109+
1. **Analytics**: Should we consider adding basic analytics in a future iteration to measure success metrics?
110+
2. **Content Gaps**: Are there any documentation gaps that should be addressed before or after deployment?
111+
3. **Feedback Mechanism**: Should we add a simple feedback mechanism for documentation quality?
112+
4. **SEO Optimization**: Should we consider basic SEO improvements like meta descriptions in a future iteration?
113+
114+
## Implementation Notes
115+
116+
### Phase 1: Basic Deployment
117+
- Enable GitHub Pages from repository settings
118+
- Configure source as `/docs` folder from main branch
119+
- Verify all existing documentation renders correctly
120+
- Test navigation and link functionality
121+
122+
### Phase 2: Validation
123+
- Verify automatic deployment on documentation updates
124+
- Test mobile responsiveness
125+
- Validate all existing content accessibility
126+
- Confirm URL structure and navigation work as expected
127+
128+
### Acceptance Criteria
129+
- [ ] GitHub Pages is enabled and serving from `/docs` folder
130+
- [ ] All existing markdown files render correctly
131+
- [ ] Internal links between documentation files work
132+
- [ ] Site is accessible at standard GitHub Pages URL
133+
- [ ] Automatic deployment occurs on main branch updates
134+
- [ ] Mobile devices can access and navigate documentation
135+
- [ ] No broken links or rendering issues in existing content

0 commit comments

Comments
 (0)