承接 pronomix-gmbh/bookstack-markdown-importer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

pronomix-gmbh/bookstack-markdown-importer

最新稳定版本:v1.0.15

Composer 安装命令:

composer require pronomix-gmbh/bookstack-markdown-importer

包简介

BookStack extension to import Markdown files into books.

README 文档

README

Importiert Markdown-, Text- und HTML-Dateien in BookStack-Buecher, inklusive ZIP-Upload mit optionaler Kapitel-Erstellung anhand der Ordnerstruktur.

Voraussetzungen

  • BookStack v23+ (Laravel 10/11/12)
  • PHP 8.2+
  • PHP-Erweiterungen: zip, mbstring, dom

Installation

  1. Paket installieren:
composer require pronomix/bookstack-markdown-importer
  1. Service-Provider registrieren:
  • Wenn Auto-Discovery aktiv ist (Standard in BookStack), ist kein Schritt noetig.
  • Wenn Auto-Discovery deaktiviert ist, Provider in config/app.php eintragen:
BookStackMarkdownImporter\ServiceProvider::class,
  1. Konfiguration veroeffentlichen (optional):
php artisan vendor:publish --tag=bookstack-markdown-importer-config
  1. Caches leeren:
php artisan cache:clear
php artisan view:clear

Konfiguration

Datei: config/bookstack-markdown-importer.php

  • max_upload_mb (int): Maximale Upload-Groesse in MB.
  • allow_zip (bool): ZIP-Uploads mit mehreren Dateien erlauben.
  • create_chapters_from_folders_default (bool): Standardwert fuer "Kapitel aus Ordnern erstellen".

Beispiel:

return [
    'max_upload_mb' => 20,
    'allow_zip' => true,
    'create_chapters_from_folders_default' => true,
];

Alternativ per Umgebungsvariablen:

BOOKSTACK_MD_IMPORT_MAX_UPLOAD_MB=20
BOOKSTACK_MD_IMPORT_ALLOW_ZIP=true
BOOKSTACK_MD_IMPORT_CREATE_CHAPTERS_DEFAULT=true

Nutzung

  1. Buch in BookStack oeffnen.
  2. Import im Buch-Aktionsmenue anklicken.
  3. Eine .md, .markdown, .txt, .html, .htm oder eine .zip hochladen.
  4. Optional Kapitel aus Ordnern erstellen fuer ZIP-Import aktivieren.
  5. Import absenden; eine Zusammenfassung erscheint als Flash-Nachricht.

Screenshots:

Book action menu Import form Import result

Verhalten im Detail

  • Einzelne .md/.txt/.html-Datei erzeugt eine Seite im ausgewaehlten Buch.
  • Mehrere Dateien koennen gleichzeitig hochgeladen werden; sie werden nacheinander verarbeitet.
  • .zip-Uploads erzeugen mehrere Seiten in alphabetischer Pfad-Reihenfolge.
  • Ordner auf oberster Ebene werden zu Kapiteln (falls aktiviert). Existiert ein Kapitel mit gleichem Namen bereits, wird es verwendet.
  • Der Seitentitel ist standardmaessig der Dateiname (ohne Endung). Wenn die erste Markdown-Ueberschrift # Titel existiert, wird diese als Titel verwendet und aus dem Inhalt entfernt. Bei HTML wird die erste <h1> als Titel verwendet und entfernt.
  • Bei Namenskollisionen wird numerisch erhoeht: Meine Seite (2), Meine Seite (3) usw.

Sicherheitshinweise

  • CSRF-geschuetztes Formular und authentifizierte Routen.
  • Berechtigungen: Nur Nutzer mit Buch-Bearbeitungsrecht und Seiten-Erstellrecht koennen importieren. Kapitel-Erstellung erfordert Kapitel-Erstellrecht.
  • Serverseitige Validierung von Dateityp und Groesse.
  • Markdown wird serverseitig mit league/commonmark in HTML konvertiert und mit HTMLPurifier bereinigt.
  • ZIP-Verarbeitung nutzt PHP ZipArchive und sichere Pfad-Pruefungen; keine externen Binaries erforderlich.

Deinstallation

  1. Paket entfernen:
composer remove pronomix/bookstack-markdown-importer
  1. Konfigurationsdatei loeschen (falls veroeffentlicht):
config/bookstack-markdown-importer.php
  1. Caches leeren:
php artisan cache:clear
php artisan view:clear

Lizenz

MIT

统计信息

  • 总下载量: 14
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-20

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固