PHPackages                             pronomix-gmbh/bookstack-markdown-importer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pronomix-gmbh/bookstack-markdown-importer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pronomix-gmbh/bookstack-markdown-importer
=========================================

BookStack extension to import Markdown files into books.

v1.0.15(3mo ago)114MITPHPPHP ^8.2

Since Jan 20Pushed 3mo agoCompare

[ Source](https://github.com/pronomix-gmbh/bookstack-markdown-importer)[ Packagist](https://packagist.org/packages/pronomix-gmbh/bookstack-markdown-importer)[ RSS](/packages/pronomix-gmbh-bookstack-markdown-importer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (17)Used By (0)

BookStack Markdown-Importer
===========================

[](#bookstack-markdown-importer)

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

Voraussetzungen
---------------

[](#voraussetzungen)

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

Installation
------------

[](#installation)

1. Paket installieren:

```
composer require pronomix/bookstack-markdown-importer
```

2. 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,
```

3. Konfiguration veroeffentlichen (optional):

```
php artisan vendor:publish --tag=bookstack-markdown-importer-config
```

4. Caches leeren:

```
php artisan cache:clear
php artisan view:clear
```

Konfiguration
-------------

[](#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
-------

[](#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](docs/screenshots/book-action.png)](docs/screenshots/book-action.png)[![Import form](docs/screenshots/import-form.png)](docs/screenshots/import-form.png)[![Import result](docs/screenshots/import-result.png)](docs/screenshots/import-result.png)

Verhalten im Detail
-------------------

[](#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 `` als Titel verwendet und entfernt.
- Bei Namenskollisionen wird numerisch erhoeht: `Meine Seite (2)`, `Meine Seite (3)` usw.

Sicherheitshinweise
-------------------

[](#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
--------------

[](#deinstallation)

1. Paket entfernen:

```
composer remove pronomix/bookstack-markdown-importer
```

2. Konfigurationsdatei loeschen (falls veroeffentlicht):

```
config/bookstack-markdown-importer.php

```

3. Caches leeren:

```
php artisan cache:clear
php artisan view:clear
```

Lizenz
------

[](#lizenz)

MIT

###  Health Score

41

—

FairBetter than 88% of packages

Maintenance85

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

16

Last Release

109d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e4c615d8bd4ccd62a461e4f36b3f260f06aac8b2324b46ad468179dfdd81a955?d=identicon)[dirkdrutschmann](/maintainers/dirkdrutschmann)

---

Top Contributors

[![dirkdrutschmann](https://avatars.githubusercontent.com/u/55602317?v=4)](https://github.com/dirkdrutschmann "dirkdrutschmann (15 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pronomix-gmbh-bookstack-markdown-importer/health.svg)

```
[![Health](https://phpackages.com/badges/pronomix-gmbh-bookstack-markdown-importer/health.svg)](https://phpackages.com/packages/pronomix-gmbh-bookstack-markdown-importer)
```

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[phiki/phiki

Syntax highlighting using TextMate grammars in PHP.

3573.0M23](/packages/phiki-phiki)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k17](/packages/civicrm-civicrm-core)[getdkan/dkan

DKAN Open Data Catalog

385135.4k2](/packages/getdkan-dkan)[fisharebest/webtrees

webtrees online genealogy

73710.5k9](/packages/fisharebest-webtrees)[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
