Un sistema Wiki moderno basado en Git con Markdown, soporte para sincronización automática, resaltado de sintaxis y UI estilo Feishu.
🔗 Demo en vivo: https://powerwiki.ga666666.cn
English • 中文 • 日本語 • 한국어 • Español • Français • Deutsch • Русский
Documentación en otros idiomas:
- Sincronización Automática - Obtener y actualizar documentos automáticamente desde repositorios Git
- Resaltado de Sintaxis - Resaltado de sintaxis para múltiples lenguajes de programación
- Diseño Responsivo - Perfectamente adaptado a todo tipo de pantallas
- Índice Automático - Generar índice de contenidos automáticamente
- Interfaz Moderna - Diseño de interfaz limpio e intuitivo
- Soporte PDF - Renderizar archivos PDF en alta definición
- Estadísticas de Visitas - Estadísticas automáticas de visitas a artículos
- Ligero - Sin base de datos necesaria
- SEO Optimizado - Visibilidad en buscadores completamente optimizada
- Soporte Frontmatter - Analizar metadatos YAML
- Imágenes Locales - Soporte para referenciar imágenes locales en Markdown
- Multiidioma - Soporte para español e inglés
- Soporte Docker - Soporte completo de despliegue con Docker
- Node.js >= 14.0.0
- Git
# Clonar el repositorio
git clone https://github.com/steven-ld/PowerWiki.git
cd PowerWiki
# Crear archivo de configuración
cp config.example.json config.json
# Editar config.json con la URL de tu repositorio Git
# Iniciar con Docker Compose
docker-compose up -d# Clonar el repositorio
git clone https://github.com/steven-ld/PowerWiki.git
cd PowerWiki
# Instalar dependencias
npm install
# Crear archivo de configuración
cp config.example.json config.json
# Editar config.json con la URL de tu repositorio Git
# Iniciar el servidor
npm startVisitar http://localhost:3150 en tu navegador.
Editar 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"
}
}| Opción | Descripción | Por defecto |
|---|---|---|
gitRepo |
URL del repositorio Git | - |
repoBranch |
Nombre de la rama | main |
mdPath |
Subdirectorio de archivos Markdown | "" |
port |
Puerto del servidor | 3150 |
siteTitle |
Título del sitio | PowerWiki |
siteDescription |
Descripción del sitio | Wiki |
autoSyncInterval |
Intervalo de sincronización automática (ms) | 180000 |
sortOrder |
Orden de clasificación (modified o name) |
modified |
pages.home |
Archivo de página de inicio | "" |
pages.about |
Archivo de página Acerca de | "" |
@sayunchuan proporciona una imagen Docker para PowerWiki.
- Imagen:
sayunchuan/powerwiki - Docker Hub: sayunchuan/powerwiki
- Etiquetas:
latest,1.4.5,20260207
# Forma más simple
docker run -d -p 3150:3150 sayunchuan/powerwiki
# Con configuración personalizada
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=es
volumes:
- ./config.json:/app/config.json:ro
- powerwiki_data:/app/data
- powerwiki_cache:/app/cache
restart: unless-stopped
volumes:
powerwiki_data:
powerwiki_cache:# Iniciar servicios
docker-compose up -d
# Ver registros
docker-compose logs -f
# Detener servicios
docker-compose downAgradecimiento: Gracias a @sayunchuan por proporcionar la imagen Docker, haciendo que el despliegue de PowerWiki sea más conveniente.
PowerWiki soporta una estructura de carpetas jerárquica para organizar artículos:
your-wiki-repo/
├── README.md # Página de inicio
├── ABOUT.md # Página Acerca de
├── images/ # Imágenes globales (opcional)
├── Architecture/ # Carpeta de categoría
│ ├── images/ # Imágenes de categoría
│ ├── IoT-Device-Standards.md
│ ├── TLS-Encryption.md
│ └── README.md # Índice de categoría
└── Projects/ # Otra categoría
├── images/
├── URL-Shortener.md
└── README.md
Cada artículo puede incluir metadatos YAML frontmatter:
---
title: Título del artículo
description: Descripción del artículo para SEO
author: Nombre del autor
date: 2026-01-10
updated: 2026-01-10
keywords: palabra1, palabra2, palabra3
tags: [etiqueta1, etiqueta2]
---- Backend: Express.js
- Frontend: Vanilla JavaScript
- Git: simple-git
- Markdown: marked + highlight.js
- PDF: pdfjs-dist
- Contenedores: Docker
PowerWiki/
├── src/ # Código fuente
│ ├── index.js # Punto de entrada del servidor Express
│ ├── routes/ # Módulos de rutas
│ │ ├── api.js # Rutas API
│ │ ├── feeds.js # Rutas RSS/Sitemap
│ │ └── static.js # Rutas de archivos estáticos
│ ├── config/ # Módulos de configuración
│ │ ├── env.js # Variables de entorno
│ │ └── i18n.js # Internacionalización
│ └── utils/ # Módulos de utilidad
│ ├── cacheManager.js # Gestión de caché
│ ├── gitManager.js # Operaciones Git
│ └── markdownParser.js# Analizador Markdown
├── locales/ # Archivos de traducción
├── templates/ # Plantillas HTML
├── public/ # Activos estáticos
│ ├── index.html # HTML del Frontend
│ ├── app.js # Punto de entrada principal (modular)
│ ├── js/ # Módulos JavaScript
│ │ ├── theme.js # Gestión de temas
│ │ ├── i18n.js # Internacionalización
│ │ ├── cache.js # Caché del cliente
│ │ ├── utils.js # Utilidades
│ │ ├── posts.js # Lista de artículos y árbol
│ │ ├── article.js # Renderizado de artículos
│ │ ├── toc.js # Generación de tabla de contenidos
│ │ └── media.js # Copia de código, visor de imágenes, PDF
│ └── css/ # Módulos CSS
│ ├── base.css # Estilos base y variables
│ ├── layout.css # Diseño
│ ├── sidebar.css # Menú de navegación
│ ├── article.css # Artículos y Markdown
│ ├── toc.css # Barra de tabla de contenidos derecha
│ ├── media.css # Diseño responsivo
│ └── components.css # Componentes UI
├── config.example.json # Plantilla de configuración
└── package.json # Dependencias
MIT License - ver LICENSE para más detalles.
- @sayunchuan - Agregar soporte multilingüe, Mermaid, corregir varios problemas
Si este proyecto te ayuda, por favor ¡dale una ⭐ Estrella!