Un système Wiki moderne basé sur Git avec Markdown, support de la synchronisation automatique, coloration syntaxique et interface style Feishu.
🔗 Démo en direct: https://powerwiki.ga666666.cn
English • 中文 • 日本語 • 한국어 • Español • Français • Deutsch • Русский
Documentation dans d'autres langues:
- Synchronisation Automatique - Récupérer et mettre à jour les documents automatiquement depuis les dépôts Git
- Coloration Syntaxique - Coloration syntaxique pour plusieurs langages de programmation
- Design Responsive - Parfaitement adapté à tous les écrans
- Table des Matières Auto - Générer automatiquement la table des matières
- Interface Moderne - Conception d'interface épurée et intuitive
- Support PDF - Rendre les fichiers PDF en haute définition
- Statistiques de Visites - Statistiques automatiques des vues d'articles
- Léger - Aucune base de données requise
- SEO Optimisé - Visibilité dans les moteurs de recherche entièrement optimisée
- Support Frontmatter - Analyser les métadonnées YAML
- Images Locales - Support pour référencer des images locales dans Markdown
- Multi-langues - Support pour le français et l'anglais
- Support Docker - Support complet du déploiement Docker
- Node.js >= 14.0.0
- Git
# Cloner le dépôt
git clone https://github.com/steven-ld/PowerWiki.git
cd PowerWiki
# Créer le fichier de configuration
cp config.example.json config.json
# Éditer config.json avec l'URL de votre dépôt Git
# Démarrer avec Docker Compose
docker-compose up -d# Cloner le dépôt
git clone https://github.com/steven-ld/PowerWiki.git
cd PowerWiki
# Installer les dépendances
npm install
# Créer le fichier de configuration
cp config.example.json config.json
# Éditer config.json avec l'URL de votre dépôt Git
# Démarrer le serveur
npm startVisitez http://localhost:3150 dans votre navigateur.
Éditer config.json:
{
"gitRepo": "https://github.com/your-username/your-wiki-repo.git",
"repoBranch": "main",
"port": 3150,
"siteTitle": "My Wiki",
"siteDescription": "Knowledge Base",
"autoSyncInterval": 180000,
"pages": {
"home": "README.md",
"about": "ABOUT.md"
}
}| Option | Description | Par défaut |
|---|---|---|
gitRepo |
URL du dépôt Git | - |
repoBranch |
Nom de la branche | main |
mdPath |
Sous-répertoire des fichiers Markdown | "" |
port |
Port du serveur | 3150 |
siteTitle |
Titre du site | PowerWiki |
siteDescription |
Description du site | Wiki |
autoSyncInterval |
Intervalle de sync automatique (ms) | 180000 |
sortOrder |
Ordre de tri (modified ou name) |
modified |
pages.home |
Fichier de la page d'accueil | "" |
pages.about |
Fichier de la page À propos | "" |
@sayunchuan fournit une image Docker pour PowerWiki.
- Image:
sayunchuan/powerwiki - Docker Hub: sayunchuan/powerwiki
- Tags:
latest,1.4.5,20260207
# Méthode la plus simple
docker run -d -p 3150:3150 sayunchuan/powerwiki
# Avec configuration personnalisée
docker run -d \
--name powerwiki \
-p 3150:3150 \
-v $(pwd)/config.json:/app/config.json:ro \
-v powerwiki_data:/app/data \
-v powerwiki_cache:/app/cache \
sayunchuan/powerwikiversion: '3.8'
services:
powerwiki:
image: sayunchuan/powerwiki:latest
ports:
- "3150:3150"
environment:
- NODE_ENV=production
- LANG=fr
volumes:
- ./config.json:/app/config.json:ro
- powerwiki_data:/app/data
- powerwiki_cache:/app/cache
restart: unless-stopped
volumes:
powerwiki_data:
powerwiki_cache:# Démarrer les services
docker-compose up -d
# Voir les logs
docker-compose logs -f
# Arrêter les services
docker-compose downRemerciements: Merci à @sayunchuan pour avoir fourni l'image Docker, rendant le déploiement de PowerWiki plus pratique.
PowerWiki supporte une structure de dossiers hiérarchique pour organiser les articles:
your-wiki-repo/
├── README.md # Page d'accueil
├── ABOUT.md # Page À propos
├── images/ # Images globales (optionnel)
├── Architecture/ # Dossier de catégorie
│ ├── images/ # Images de catégorie
│ ├── IoT-Device-Standards.md
│ ├── TLS-Encryption.md
│ └── README.md # Index de catégorie
└── Projects/ # Une autre catégorie
├── images/
├── URL-Shortener.md
└── README.md
Chaque article peut inclure des métadonnées YAML frontmatter:
---
title: Titre de l'article
description: Description de l'article pour SEO
author: Nom de l'auteur
date: 2026-01-10
updated: 2026-01-10
keywords: mot1, mot2, mot3
tags: [tag1, tag2]
---- Backend: Express.js
- Frontend: Vanilla JavaScript
- Git: simple-git
- Markdown: marked + highlight.js
- PDF: pdfjs-dist
- Conteneurisation: Docker
PowerWiki/
├── src/ # Code source
│ ├── index.js # Point d'entrée du serveur Express
│ ├── routes/ # Modules de routes
│ │ ├── api.js # Routes API
│ │ ├── feeds.js # Routes RSS/Sitemap
│ │ └── static.js # Routes de fichiers statiques
│ ├── config/ # Modules de configuration
│ │ ├── env.js # Variables d'environnement
│ │ └── i18n.js # Internationalisation
│ └── utils/ # Modules utilitaires
│ ├── cacheManager.js # Gestion du cache
│ ├── gitManager.js # Opérations Git
│ └── markdownParser.js# Analyseur Markdown
├── locales/ # Fichiers de traduction
├── templates/ # Modèles HTML
├── public/ # Actifs statiques
│ ├── index.html # HTML Frontend
│ ├── app.js # Point d'entrée principal (modulaire)
│ ├── js/ # Modules JavaScript
│ │ ├── theme.js # Gestion des thèmes
│ │ ├── i18n.js # Internationalisation
│ │ ├── cache.js # Cache client
│ │ ├── utils.js # Utilitaires
│ │ ├── posts.js # Liste des articles & arborescence
│ │ ├── article.js # Rendu des articles
│ │ ├── toc.js # Génération de la table des matières
│ │ └── media.js # Copie de code, visionneuse d'images, PDF
│ └── css/ # Modules CSS
│ ├── base.css # Styles de base & variables
│ ├── layout.css # Mise en page
│ ├── sidebar.css # Menu de navigation
│ ├── article.css # Articles & Markdown
│ ├── toc.css # Barre de table des matières droite
│ ├── media.css # Design réactif
│ └── components.css # Composants UI
├── config.example.json # Modèle de configuration
└── package.json # Dépendances
MIT License - voir LICENSE pour plus de détails.
- @sayunchuan - Ajout support multilingue, Mermaid, correction de divers problèmes
Si ce projet vous aide, merci de donner une ⭐ Étoile !