]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7556 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 15 Jul 2025 15:59:00 +0000 (17:59 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 15 Jul 2025 15:59:00 +0000 (17:59 +0200)
.docker/dev/docker-compose.yml
app/Fluidbook/Compiler/Compiler.php
app/Models/FluidbookDocument.php

index c465adb444a924ed7904c8240d8b93914ac38c12..443b888a291d853697642de511660bfa901df19b 100644 (file)
@@ -38,7 +38,7 @@ services:
       - '/home/toolbox/dev/.docker/config/rsyslog/rsyslog.conf:/etc/rsyslog.conf'
       - '/home/toolbox/dev/.docker/config/rsyslog/50-default.conf:/etc/rsyslog.d/50-default.conf'
       # Supervisor
-      - '/home/toolbox/dev/.docker/config/supervisor/:/etc/supervisor/conf.d/'
+      - '/home/toolbox/dev/.docker/config/supervisor/:/etc/supervisor/'
       # Composer
       - '/home/toolbox/dev/.docker/config/composer/:/root/.config/composer/'
       - '/home/toolbox/dev/.docker/config/composer/:/application/.config/composer/'
index cfdef504b472db625c0e5f2e3326636ad07ca114..9ed818c8fcf91b925c3ef54cf6abfc142da5cee5 100644 (file)
@@ -1207,7 +1207,11 @@ class Compiler extends Base implements CompilerInterface, IVirtualDirectoryError
         }
         $svg = str_replace('$bookmark-color', Color::colorToCSS($this->themeSettings->bookmarkBackgroundColor), $svg);
         $res = [];
-        $xml = simplexml_load_string($svg);
+        try {
+            $xml = simplexml_load_string($svg);
+        } catch (\ErrorException $e) {
+            return $res;
+        }
         if (!$xml) {
             return $res;
         }
index 2eb9d60a1eb97534f93c86f3e811f631fbcc593b..de07efbcf0cdfe45ff1b0bdec718d5e2ca9f9a4a 100644 (file)
@@ -83,16 +83,18 @@ class FluidbookDocument extends ToolboxModel
         Farm::setRegion($this->getRegion());
 
         $this->processSync = $sync;
-        $this->updateProgression($uploadID, __('Nettoyage du document'), 1.3);
+        $this->updateProgression($uploadID, __('Nettoyage du document'), 1.2);
         $this->fixPDF();
-        $this->updateProgression($uploadID, __('Découpe du document'), 1.4);
+        $this->updateProgression($uploadID, __('Découpe du document'), 1.3);
         $this->cropAndCut();
-        $this->updateProgression($uploadID, __('Analyse du document'), 1.5);
+        $this->updateProgression($uploadID, __('Analyse du document'), 1.4);
         $this->checkInfos(true);
-        $this->updateProgression($uploadID, __('Séparation des pages'), 1.6);
+        $this->updateProgression($uploadID, __('Séparation des pages'), 1.5);
         $this->splitPDF();
-        $this->updateProgression($uploadID, __('Extraction des textes'), 1.75);
+        $this->updateProgression($uploadID, __('Extraction des textes'), 1.6);
         $this->extractTexts();
+        $this->updateProgression($uploadID, __('Extraction du HTML'), 1.75);
+        $this->extractMarkdown();
         $this->updateProgression($uploadID, __('Extraction des liens'), 1.9);
         $this->extractLinks();
         $this->updateProgression($uploadID, __('Conversion des pages'), 2);
@@ -152,6 +154,11 @@ class FluidbookDocument extends ToolboxModel
         Farm::extractHighlightsData($this->getPDFSource(), $this->path(), 'standard', '');
     }
 
+    public function extractMarkdown()
+    {
+        Farm::extractMarkdown($this->getPDFSource(), $this->path());
+    }
+
     public function extractLinks()
     {
         Farm::extractLinks($this->getPDFSource(), $this->path());
@@ -642,7 +649,7 @@ class FluidbookDocument extends ToolboxModel
         $moveFunction = ($file instanceof UploadedFile) ? 'move_uploaded_file' : 'rename';
 
         $moveFunction($file->getPathname(), Files::mkdir($document->path()) . 'original.pdf');
-        FluidbookDocumentUpload::updateProgression($uploadID, $document->id, __('Mise en file d\'attente du traitement du document'), 1.2);
+        FluidbookDocumentUpload::updateProgression($uploadID, $document->id, __('Mise en file d\'attente du traitement du document'), 1.05);
         $dispatch = $async ? 'dispatch' : 'dispatchSync';
         FluidbookDocumentUpload::$dispatch($uploadID, $document, backpack_user(), $fluidbook->id);
         return ['uploadID' => $uploadID, 'document' => $document->id];