-
Notifications
You must be signed in to change notification settings - Fork 0
Setup
This document explains how to set up the GitHub Wiki for the Deep Learning Protocol project.
GitHub Wiki is a built-in documentation system where you can create pages and organize them hierarchically. It's separate from your main repository code but lives alongside your project.
- Go to your repository:
https://github.com/quickattach0-tech/DeepLearningProtocol - Click Settings (top-right)
- Scroll down to Features section
- ✓ Check Wiki (should be enabled by default)
- Click Save
- In your repository, click the Wiki tab (right side, next to "Discussions")
- Click Create the first page (if empty)
- GitHub will create a default Home page
- Click Wiki tab
- Click New Page button
- Enter Page Title:
Getting Started - Enter Page Content: (copy from docs/Getting-Started.md)
- Click Save Page
Repeat for each page:
- Getting Started
- Architecture
- Testing
- DLP Guide
# Clone the wiki repository
git clone https://github.com/quickattach0-tech/DeepLearningProtocol.wiki.git
cd DeepLearningProtocol.wiki
# Copy pages from docs folder
cp ../docs/Getting-Started.md ./Getting-Started.md
cp ../docs/Architecture.md ./Architecture.md
cp ../docs/Testing.md ./Testing.md
cp ../docs/DLP-Guide.md ./DLP-Guide.md
# Commit and push
git add .
git commit -m "Add wiki documentation"
git push origin masterGitHub Wiki supports a _Sidebar.md file for navigation. Create it in the wiki:
- Click New Page
- Title:
_Sidebar - Content:
## Documentation
### Getting Started
- [[Getting Started|Getting-Started]]
- [[Installation & Prerequisites|Getting-Started#prerequisites]]
### Understanding the System
- [[Architecture Overview|Architecture]]
- [[Components|Architecture#components]]
- [[Data Flow|Architecture#data-flow]]
### Core Features
- [[Data Loss Prevention|DLP-Guide]]
- [[DLP Rules|DLP-Guide#detection-rules]]
- [[Backup System|DLP-Guide#backup-mechanism]]
### Development
- [[Testing Guide|Testing]]
- [[Contributing|https://github.com/quickattach0-tech/DeepLearningProtocol/blob/main/CONTRIBUTING.md]]
### Reference
- [[GitHub Repository|https://github.com/quickattach0-tech/DeepLearningProtocol]]
- [[Issues|https://github.com/quickattach0-tech/DeepLearningProtocol/issues]]
- [[Discussions|https://github.com/quickattach0-tech/DeepLearningProtocol/discussions]]- Click Save Page
Edit the default Home page to contain:
# Deep Learning Protocol Wiki
Welcome! Choose a topic below to get started.
## Quick Links
- **[Getting Started](Getting-Started)** — Setup in 5 minutes
- **[Architecture](Architecture)** — How the system works
- **[DLP Guide](DLP-Guide)** — Data protection explained
- **[Testing Guide](Testing)** — Test suite documentation
## For Different Roles
**I just want to use it:**
- [Getting Started](Getting-Started)
- [FAQ](../README.md#faq)
**I want to understand how it works:**
- [Architecture](Architecture)
- [DLP Guide](DLP-Guide)
**I want to contribute:**
- [Contributing Guide](../CONTRIBUTING.md)
- [Testing Guide](Testing)
---
See [Full Index](#page-index) below.- Installation instructions
- Prerequisites (.NET 10.0)
- Build & run commands
- VS Code setup
- FAQ for beginners
- System overview with diagrams
- Component descriptions (7 classes)
- Data flow walkthrough
- Interface hierarchy
- Extension points
- Running tests (all, specific, coverage)
- Test suite overview (7 tests)
- Writing new tests
- XUnit assertions reference
- CI/CD integration
- Troubleshooting
- What is DLP
- Detection rules (4 categories)
- Backup mechanism
- Real-world scenarios
- Configuration options
- FAQ
In GitHub Wiki, use this syntax:
# Link to another page
[[Page Title|Page-Name]]
# Examples:
[[Getting Started|Getting-Started]]
[[Architecture Overview|Architecture]]
[[DLP Guide|DLP-Guide]]
# External links (normal markdown)
[GitHub Repository](https://github.com/quickattach0-tech/DeepLearningProtocol)- Click Wiki tab
- Select page from list
- Click Edit (pencil icon)
- Update content
- Click Save Page
- Click Edit on the page
- Click Delete this page button at bottom
- Confirm deletion
GitHub Wiki doesn't have built-in reordering, but you can control order via _Sidebar.md.
✅ Do's:
- Keep pages focused and concise
- Use clear headings and subheadings
- Include code examples
- Add links between related pages
- Keep wiki updated with code changes
- Use
_Sidebar.mdfor navigation
❌ Don'ts:
- Don't duplicate README.md entirely
- Don't add outdated information
- Don't link to unstable/broken URLs
- Don't make wiki too deep (3 levels max)
- Don't ignore user feedback in Issues/Discussions
When making changes to code:
- Update Program.cs
- Update related docs in
/docsfolder - Manually update corresponding Wiki pages
- OR use Git method (Step 3B above)
# In GitHub Actions workflow (.github/workflows/dotnet.yml), add:
- name: Update Wiki
run: |
git clone https://github.com/${{ github.repository }}.wiki.git wiki
cp docs/*.md wiki/
cd wiki
git config user.email "[email protected]"
git config user.name "GitHub Action"
git add .
git commit -m "Auto-sync docs" || true
git pushThis automatically syncs /docs folder to Wiki on each push.
Problem: Can't find Wiki tab
Solution:
- Go to Settings
- Check Wiki is enabled in Features
- Refresh page
Problem: Updated page but changes don't show
Solution:
- Hard refresh browser: Ctrl+Shift+R
- Try incognito/private window
- Check you saved the page
Problem: "New Page" button disabled
Solution:
- Check repository access (need write permission)
- Verify Wiki is enabled in Settings
- Try via Git method instead
The project has three documentation layers:
- README.md — Project overview & quick start
-
/docsfolder — Detailed markdown guides - GitHub Wiki — Organized, web-based knowledge base
Workflow:
Code Change
↓
Update /docs/*.md (source of truth)
↓
Update README.md if user-facing
↓
Sync to GitHub Wiki via Git or manual copy
- Update Program.cs
- Add tests to DeepLearningProtocolTests.cs
- Update Architecture.md with new component
- Update Testing.md if needed
- Update README.md if user-visible
- Sync to Wiki:
- Option A: Manual copy-paste to Wiki page
- Option B: Use Git clone method (Step 3B)
Q: Should I use Wiki or GitHub Pages?
A: Wiki is perfect for this project. GitHub Pages is better for static sites.
Q: Can I version control wiki?
A: Yes! git clone https://github.com/owner/repo.wiki.git to work locally.
Q: How do users access the wiki?
A: Click Wiki tab in repository, or direct URL: github.com/owner/repo/wiki
Q: Can I embed images?
A: Yes! Upload to main repo (e.g., /images/), then link in wiki:
Q: Who can edit the wiki?
A: Anyone with repository access (controlled by repository permissions).
Next Steps:
- Follow "Setup Steps" above
- Create pages in GitHub Wiki
- Update as project evolves
- Link from README.md to Wiki
Support: Open Issue if you need help!