Sanitized mirror from private repository - 2026-04-20 01:32:01 UTC
This commit is contained in:
476
scripts/create-clean-organized-wiki.sh
Executable file
476
scripts/create-clean-organized-wiki.sh
Executable file
@@ -0,0 +1,476 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Clean Organized Gitea Wiki Creation Script
|
||||
# Creates a fresh, properly organized wiki with hierarchical navigation
|
||||
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
GITEA_TOKEN=REDACTED_TOKEN
|
||||
GITEA_URL="https://git.vish.gg"
|
||||
REPO_OWNER="Vish"
|
||||
REPO_NAME="homelab"
|
||||
BASE_URL="$GITEA_URL/api/v1/repos/$REPO_OWNER/$REPO_NAME/wiki"
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
PURPLE='\033[0;35m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}🚀 Creating CLEAN organized Gitea Wiki with hierarchical structure...${NC}"
|
||||
|
||||
# Function to create or update wiki page
|
||||
create_wiki_page() {
|
||||
local title="$1"
|
||||
local file_path="$2"
|
||||
local message="$3"
|
||||
|
||||
if [[ ! -f "$file_path" ]]; then
|
||||
echo -e "${RED}❌ File not found: $file_path${NC}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}📄 Creating: $title${NC}"
|
||||
|
||||
# Read file content and escape for JSON
|
||||
local content
|
||||
content=$(cat "$file_path" | jq -Rs .)
|
||||
|
||||
# Create JSON payload
|
||||
local json_payload
|
||||
json_payload=$(jq -n \
|
||||
--arg title "$title" \
|
||||
--argjson content "$content" \
|
||||
--arg message "$message" \
|
||||
'{
|
||||
title: $title,
|
||||
content_base64: ($content | @base64),
|
||||
message: $message
|
||||
}')
|
||||
|
||||
# Try to create new page
|
||||
local response
|
||||
response=$(curl -s -w "%{http_code}" -o /tmp/wiki_response.json \
|
||||
-X POST \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$json_payload" \
|
||||
"$BASE_URL/new")
|
||||
|
||||
local http_code="${response: -3}"
|
||||
|
||||
if [[ "$http_code" == "201" ]]; then
|
||||
echo -e "${GREEN}✅ Created: $title${NC}"
|
||||
return 0
|
||||
elif [[ "$http_code" == "409" ]] || [[ "$http_code" == "400" ]]; then
|
||||
# Page exists, try to update it
|
||||
response=$(curl -s -w "%{http_code}" -o /tmp/wiki_response.json \
|
||||
-X POST \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$json_payload" \
|
||||
"$BASE_URL/$title")
|
||||
|
||||
http_code="${response: -3}"
|
||||
|
||||
if [[ "$http_code" == "200" ]]; then
|
||||
echo -e "${GREEN}✅ Updated: $title${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}❌ Failed to update $title (HTTP $http_code)${NC}"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}❌ Failed to create $title (HTTP $http_code)${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Success counter
|
||||
success_count=0
|
||||
total_count=0
|
||||
|
||||
echo -e "${BLUE}📋 Creating main organized navigation hub...${NC}"
|
||||
|
||||
# Create REDACTED_APP_PASSWORD with clean organized navigation
|
||||
cat > /tmp/clean_wiki_home.md << 'EOF'
|
||||
# 🏠 Homelab Documentation Wiki
|
||||
|
||||
*Organized documentation for Vish's homelab infrastructure*
|
||||
|
||||
## 🎯 Quick Access
|
||||
|
||||
| Category | Description | Key Pages |
|
||||
|----------|-------------|-----------|
|
||||
| [🔧 **Administration**](Administration) | System management & operations | [GitOps Guide](GitOps-Guide), [Deployment](Deployment-Guide) |
|
||||
| [🏗️ **Infrastructure**](Infrastructure) | Core infrastructure & networking | [Overview](Infrastructure-Overview), [Networking](Networking-Guide) |
|
||||
| [🎯 **Services**](Services) | Application services & setup | [Service Index](Service-Index), [Dashboard Setup](Dashboard-Setup) |
|
||||
| [🚀 **Getting Started**](Getting-Started) | Beginner guides & quickstart | [Quickstart](Beginner-Quickstart), [What is Homelab](What-Is-Homelab) |
|
||||
| [🛠️ **Troubleshooting**](Troubleshooting) | Problem solving & diagnostics | [Common Issues](Common-Issues), [Emergency Guide](Emergency-Guide) |
|
||||
| [🔬 **Advanced**](Advanced) | Advanced topics & optimization | [Maturity Roadmap](Maturity-Roadmap), [Scaling](Scaling-Guide) |
|
||||
|
||||
---
|
||||
|
||||
## 📊 **System Status**
|
||||
|
||||
- **🚀 GitOps Status**: ✅ 18 active stacks, 50+ containers
|
||||
- **🖥️ Active Servers**: 5 (Atlantis, Calypso, Gaming VPS, Homelab VM, Concord NUC)
|
||||
- **🎯 Services**: 100+ containerized services
|
||||
- **📚 Documentation**: 300+ organized pages
|
||||
|
||||
---
|
||||
|
||||
## 🌐 **Access Points**
|
||||
|
||||
- **🔗 Git Repository**: https://git.vish.gg/Vish/homelab
|
||||
- **📖 Gitea Wiki**: https://git.vish.gg/Vish/homelab/wiki
|
||||
- **📚 DokuWiki Mirror**: http://atlantis.vish.local:8399/doku.php?id=homelab:start
|
||||
|
||||
---
|
||||
|
||||
## 📚 **Documentation Categories**
|
||||
|
||||
### 🔧 Administration
|
||||
Essential system management and operational procedures.
|
||||
- [GitOps Comprehensive Guide](GitOps-Guide) - Complete deployment procedures ⭐
|
||||
- [Deployment Documentation](Deployment-Guide) - Step-by-step deployment
|
||||
- [Operational Status](Operational-Status) - Current system status
|
||||
- [Security Hardening](Security-Guide) - Security procedures
|
||||
|
||||
### 🏗️ Infrastructure
|
||||
Core infrastructure, networking, and host management.
|
||||
- [Infrastructure Overview](Infrastructure-Overview) - Complete infrastructure guide
|
||||
- [Networking Guide](Networking-Guide) - Network configuration
|
||||
- [SSH Access Guide](SSH-Guide) - Access procedures
|
||||
- [Hardware Inventory](Hardware-Inventory) - Equipment catalog
|
||||
|
||||
### 🎯 Services
|
||||
Application services, dashboards, and service management.
|
||||
- [Service Index](Service-Index) - All available services
|
||||
- [Dashboard Setup](Dashboard-Setup) - Dashboard configuration
|
||||
- [Stoatchat Setup](Stoatchat-Guide) - Chat platform
|
||||
- [Media Services](Media-Services) - ARR suite and media
|
||||
|
||||
### 🚀 Getting Started
|
||||
Beginner-friendly guides and quick start procedures.
|
||||
- [Beginner Quickstart](Beginner-Quickstart) - Quick start guide
|
||||
- [What Is Homelab](What-Is-Homelab) - Introduction to homelabs
|
||||
- [Prerequisites](Prerequisites) - Requirements and setup
|
||||
- [Architecture Overview](Architecture-Overview) - System architecture
|
||||
|
||||
### 🛠️ Troubleshooting
|
||||
Problem solving, diagnostics, and emergency procedures.
|
||||
- [Common Issues](Common-Issues) - Frequently encountered problems
|
||||
- [Emergency Access Guide](Emergency-Guide) - Emergency procedures
|
||||
- [Disaster Recovery](Disaster-Recovery) - Recovery procedures
|
||||
- [Container Diagnosis](Container-Diagnosis) - Container troubleshooting
|
||||
|
||||
### 🔬 Advanced Topics
|
||||
Advanced configuration, optimization, and scaling.
|
||||
- [Homelab Maturity Roadmap](Maturity-Roadmap) - Growth planning
|
||||
- [Repository Optimization](Optimization-Guide) - Optimization strategies
|
||||
- [Terraform Implementation](Terraform-Guide) - Infrastructure as code
|
||||
- [Scaling Strategies](Scaling-Guide) - Growth and scaling
|
||||
|
||||
---
|
||||
|
||||
*🏠 **Source Repository**: https://git.vish.gg/Vish/homelab*
|
||||
*👨💻 **Maintainer**: Homelab Administrator*
|
||||
*📚 **Documentation**: Organized and navigable*
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Home" "/tmp/clean_wiki_home.md" "Created clean organized wiki home page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}📚 Creating category pages...${NC}"
|
||||
|
||||
# Create Administration category page
|
||||
cat > /tmp/administration.md << 'EOF'
|
||||
# 🔧 Administration
|
||||
|
||||
*System management and operational procedures*
|
||||
|
||||
## 🚀 Deployment & GitOps
|
||||
- [GitOps Comprehensive Guide](GitOps-Guide) - Complete deployment procedures ⭐
|
||||
- [Deployment Documentation](Deployment-Guide) - Step-by-step deployment
|
||||
- [Deployment Workflow](Deployment-Workflow) - Workflow procedures
|
||||
|
||||
## 🔧 System Administration
|
||||
- [Development Guide](Development-Guide) - Development procedures
|
||||
- [Agent Memory](Agent-Memory) - AI agent context
|
||||
- [Monitoring Setup](Monitoring-Setup) - Monitoring configuration
|
||||
- [Backup Strategies](Backup-Strategies) - Backup procedures
|
||||
- [Maintenance Procedures](Maintenance-Guide) - System maintenance
|
||||
|
||||
## 📊 Status & Reports
|
||||
- [Operational Status](Operational-Status) - Current system status
|
||||
- [Documentation Audit](Documentation-Audit) - Audit results
|
||||
|
||||
## 📚 Integration
|
||||
- [DokuWiki Integration](DokuWiki-Integration) - External wiki setup
|
||||
- [Gitea Wiki Integration](Gitea-Wiki-Integration) - Native wiki setup
|
||||
|
||||
---
|
||||
[🏠 Back to Home](Home)
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Administration" "/tmp/administration.md" "Created administration category page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
# Create Infrastructure category page
|
||||
cat > /tmp/infrastructure.md << 'EOF'
|
||||
# 🏗️ Infrastructure
|
||||
|
||||
*Core infrastructure, networking, and host management*
|
||||
|
||||
## 🌐 Core Infrastructure
|
||||
- [Infrastructure Overview](Infrastructure-Overview) - Complete infrastructure guide
|
||||
- [Infrastructure Health](Infrastructure-Health) - System health status
|
||||
- [Networking Guide](Networking-Guide) - Network configuration
|
||||
- [Storage Guide](Storage-Guide) - Storage configuration
|
||||
- [Host Management](Host-Management) - Host administration
|
||||
|
||||
## 🔐 Access & Security
|
||||
- [SSH Access Guide](SSH-Guide) - SSH access procedures
|
||||
- [User Access Guide](User-Access-Guide) - User management
|
||||
- [Authentik SSO](Authentik-SSO) - Single sign-on setup
|
||||
|
||||
## 🌐 Network Services
|
||||
- [Tailscale Setup](Tailscale-Guide) - VPN configuration
|
||||
- [Cloudflare Tunnels](Cloudflare-Tunnels) - Tunnel configuration
|
||||
- [Cloudflare DNS](Cloudflare-DNS) - DNS configuration
|
||||
- [Network Performance](Network-Performance) - Performance tuning
|
||||
|
||||
## 🏠 Hardware & Hosts
|
||||
- [Hardware Inventory](Hardware-Inventory) - Equipment catalog
|
||||
- [Atlantis Migration](Atlantis-Migration) - Migration procedures
|
||||
- [Mobile Setup](Mobile-Setup) - Mobile device configuration
|
||||
- [Laptop Setup](Laptop-Setup) - Laptop configuration
|
||||
|
||||
---
|
||||
[🏠 Back to Home](Home)
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Infrastructure" "/tmp/infrastructure.md" "Created infrastructure category page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
# Create Services category page
|
||||
cat > /tmp/services.md << 'EOF'
|
||||
# 🎯 Services
|
||||
|
||||
*Application services and configuration guides*
|
||||
|
||||
## 📊 Service Management
|
||||
- [Service Index](Service-Index) - All available services
|
||||
- [Verified Service Inventory](Service-Inventory) - Service catalog
|
||||
- [Dashboard Setup](Dashboard-Setup) - Dashboard configuration
|
||||
- [Homarr Setup](Homarr-Setup) - Homarr dashboard
|
||||
- [Theme Park](Theme-Park) - UI theming
|
||||
|
||||
## 🎬 Media Services
|
||||
- [ARR Suite Enhancements](ARR-Suite-Enhancements) - Media stack improvements
|
||||
- [ARR Suite Language Config](ARR-Language-Config) - Language configuration
|
||||
|
||||
## 💬 Communication Services
|
||||
- [Stoatchat Setup](Stoatchat-Guide) - Chat platform setup
|
||||
- [Matrix Setup](Matrix-Guide) - Matrix server configuration
|
||||
- [Mastodon Setup](Mastodon-Guide) - Social media platform
|
||||
- [Mattermost Setup](Mattermost-Guide) - Team communication
|
||||
|
||||
## 🔧 Development Services
|
||||
- [OpenHands](OpenHands-Guide) - AI development assistant
|
||||
- [Paperless](Paperless-Guide) - Document management
|
||||
- [Reactive Resume](Reactive-Resume-Guide) - Resume builder
|
||||
|
||||
---
|
||||
[🏠 Back to Home](Home)
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Services" "/tmp/services.md" "Created services category page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
# Create Getting Started category page
|
||||
cat > /tmp/getting-started.md << 'EOF'
|
||||
# 🚀 Getting Started
|
||||
|
||||
*Beginner guides and quick start procedures*
|
||||
|
||||
## 🎯 Quick Start
|
||||
- [Beginner Quickstart](Beginner-Quickstart) - Quick start guide
|
||||
- [What Is Homelab](What-Is-Homelab) - Introduction to homelabs
|
||||
- [Prerequisites](Prerequisites) - Requirements and setup
|
||||
- [Architecture Overview](Architecture-Overview) - System architecture
|
||||
|
||||
## 📚 Comprehensive Guides
|
||||
- [Beginner Homelab Guide](Beginner-Guide) - Complete beginner guide
|
||||
- [Shopping Guide](Shopping-Guide) - Hardware recommendations
|
||||
- [Complete Rebuild Guide](Rebuild-Guide) - Full rebuild procedures
|
||||
- [Quick Start Guide](Quick-Start) - Quick deployment
|
||||
|
||||
---
|
||||
[🏠 Back to Home](Home)
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Getting-Started" "/tmp/getting-started.md" "Created getting started category page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
# Create Troubleshooting category page
|
||||
cat > /tmp/troubleshooting.md << 'EOF'
|
||||
# 🛠️ Troubleshooting
|
||||
|
||||
*Problem solving, diagnostics, and emergency procedures*
|
||||
|
||||
## 🚨 Emergency Procedures
|
||||
- [Emergency Access Guide](Emergency-Guide) - Emergency procedures
|
||||
- [Disaster Recovery](Disaster-Recovery) - Recovery procedures
|
||||
- [Recovery Guide](Recovery-Guide) - System recovery
|
||||
|
||||
## 🔍 Diagnostics
|
||||
- [Common Issues](Common-Issues) - Frequently encountered problems
|
||||
- [Diagnostics Guide](Diagnostics-Guide) - Diagnostic procedures
|
||||
- [Container Diagnosis](Container-Diagnosis) - Container troubleshooting
|
||||
- [Performance Issues](Performance-Issues) - Performance troubleshooting
|
||||
|
||||
## 🔧 Specific Issues
|
||||
- [Watchtower Emergency](Watchtower-Emergency) - Watchtower issues
|
||||
- [Authentik SSO Rebuild](Authentik-Rebuild) - SSO troubleshooting
|
||||
- [Beginner Troubleshooting](Beginner-Troubleshooting) - Beginner help
|
||||
|
||||
---
|
||||
[🏠 Back to Home](Home)
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Troubleshooting" "/tmp/troubleshooting.md" "Created troubleshooting category page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
# Create Advanced category page
|
||||
cat > /tmp/advanced.md << 'EOF'
|
||||
# 🔬 Advanced Topics
|
||||
|
||||
*Advanced configuration, optimization, and scaling*
|
||||
|
||||
## 🚀 Growth & Optimization
|
||||
- [Homelab Maturity Roadmap](Maturity-Roadmap) - Growth planning
|
||||
- [Repository Optimization](Optimization-Guide) - Optimization strategies
|
||||
- [Stack Comparison Report](Stack-Comparison) - Technology comparisons
|
||||
- [Scaling Strategies](Scaling-Guide) - Growth and scaling
|
||||
|
||||
## 🏗️ Infrastructure as Code
|
||||
- [Terraform Implementation](Terraform-Guide) - Infrastructure as code
|
||||
- [Terraform Alternatives](Terraform-Alternatives) - Alternative approaches
|
||||
- [Ansible Guide](Ansible-Guide) - Automation with Ansible
|
||||
- [Customization Guide](Customization-Guide) - Advanced customization
|
||||
|
||||
## 🔗 Integration
|
||||
- [Service Integrations](Service-Integrations) - Service integrations
|
||||
|
||||
---
|
||||
[🏠 Back to Home](Home)
|
||||
EOF
|
||||
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "Advanced" "/tmp/advanced.md" "Created advanced topics category page"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}📚 Creating key documentation pages...${NC}"
|
||||
|
||||
# Create key pages that exist in the docs
|
||||
declare -A key_pages=(
|
||||
# Core pages
|
||||
["GitOps-Guide"]="docs/admin/GITOPS_DEPLOYMENT_GUIDE.md"
|
||||
["Deployment-Guide"]="docs/admin/DEPLOYMENT_DOCUMENTATION.md"
|
||||
["Operational-Status"]="docs/admin/OPERATIONAL_STATUS.md"
|
||||
["Development-Guide"]="docs/admin/DEVELOPMENT.md"
|
||||
["Agent-Memory"]="docs/admin/AGENTS.md"
|
||||
|
||||
# Infrastructure
|
||||
["Infrastructure-Overview"]="docs/infrastructure/INFRASTRUCTURE_OVERVIEW.md"
|
||||
["Infrastructure-Health"]="docs/infrastructure/INFRASTRUCTURE_HEALTH_REPORT.md"
|
||||
["SSH-Guide"]="docs/infrastructure/SSH_ACCESS_GUIDE.md"
|
||||
["User-Access-Guide"]="docs/infrastructure/USER_ACCESS_GUIDE.md"
|
||||
|
||||
# Security
|
||||
["Security-Guide"]="docs/security/SECURITY_HARDENING_SUMMARY.md"
|
||||
|
||||
# Services
|
||||
["Service-Index"]="docs/services/VERIFIED_SERVICE_INVENTORY.md"
|
||||
["Dashboard-Setup"]="docs/services/DASHBOARD_SETUP.md"
|
||||
["Homarr-Setup"]="docs/services/HOMARR_SETUP.md"
|
||||
["ARR-Suite-Enhancements"]="docs/services/ARR_SUITE_ENHANCEMENTS_FEB2025.md"
|
||||
|
||||
# Getting Started
|
||||
["Beginner-Quickstart"]="docs/getting-started/BEGINNER_QUICKSTART.md"
|
||||
["What-Is-Homelab"]="docs/getting-started/what-is-homelab.md"
|
||||
["Prerequisites"]="docs/getting-started/prerequisites.md"
|
||||
["Architecture-Overview"]="docs/getting-started/architecture.md"
|
||||
|
||||
# Troubleshooting
|
||||
["Emergency-Guide"]="docs/troubleshooting/EMERGENCY_ACCESS_GUIDE.md"
|
||||
["Common-Issues"]="docs/troubleshooting/common-issues.md"
|
||||
["Container-Diagnosis"]="docs/troubleshooting/CONTAINER_DIAGNOSIS_REPORT.md"
|
||||
["Disaster-Recovery"]="docs/troubleshooting/disaster-recovery.md"
|
||||
|
||||
# Hardware
|
||||
["Hardware-Inventory"]="docs/hardware/README.md"
|
||||
)
|
||||
|
||||
for title in "${!key_pages[@]}"; do
|
||||
file_path="${key_pages[$title]}"
|
||||
if [[ -f "$file_path" ]]; then
|
||||
total_count=$((total_count + 1))
|
||||
if create_wiki_page "$title" "$file_path" "Created organized page: $title"; then
|
||||
success_count=$((success_count + 1))
|
||||
fi
|
||||
sleep 0.1
|
||||
else
|
||||
echo -e "${YELLOW}⚠️ File not found: $file_path${NC}"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}🎯 Clean Organized Wiki Creation Summary:${NC}"
|
||||
echo -e "${GREEN}✅ Successful: $success_count/$total_count${NC}"
|
||||
echo -e "${RED}❌ Failed: $((total_count - success_count))/$total_count${NC}"
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}🌐 Clean Organized Gitea Wiki available at:${NC}"
|
||||
echo -e " ${BLUE}https://git.vish.gg/$REPO_OWNER/$REPO_NAME/wiki${NC}"
|
||||
echo -e " ${BLUE}https://git.vish.gg/$REPO_OWNER/$REPO_NAME/wiki/Home${NC}"
|
||||
|
||||
# Get final page count
|
||||
final_page_count=$(curl -s -H "Authorization: token $GITEA_TOKEN" "$BASE_URL/pages?limit=500" | jq '. | length' 2>/dev/null || echo "unknown")
|
||||
echo ""
|
||||
echo -e "${GREEN}📊 Clean Organized Wiki Statistics:${NC}"
|
||||
echo -e "${GREEN} Total Wiki Pages: $final_page_count${NC}"
|
||||
echo -e "${GREEN} Organized Structure: ✅ Clean hierarchical navigation${NC}"
|
||||
echo -e "${GREEN} Success Rate: $(( success_count * 100 / total_count ))%${NC}"
|
||||
|
||||
if [[ $success_count -eq $total_count ]]; then
|
||||
echo ""
|
||||
echo -e "${GREEN}✅ CLEAN Organized Gitea Wiki created successfully!${NC}"
|
||||
echo -e "${GREEN}🎉 Wiki now has clean, navigable structure!${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo ""
|
||||
echo -e "${YELLOW}⚠️ Clean Wiki creation completed with some issues.${NC}"
|
||||
echo -e "${YELLOW}📊 $success_count out of $total_count pages created successfully.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user