Quellcode durchsuchen

improved static build for additional files and folders

markseu vor 6 Jahren
Ursprung
Commit
b09c677b63
5 geänderte Dateien mit 37 neuen und 15 gelöschten Zeilen
  1. 0 0
      robots.txt
  2. 0 2
      system/config/config.ini
  3. 22 3
      system/plugins/command.php
  4. 1 7
      system/plugins/core.php
  5. 14 3
      system/plugins/update.php

+ 0 - 0
system/config/robots.txt → robots.txt


+ 0 - 2
system/config/config.ini

@@ -41,8 +41,6 @@ TextFile: text.ini
 ErrorFile: page-error-(.*).md
 NewFile: page-new-(.*).md
 LanguageFile: language-(.*).txt
-RobotsFile: robots.txt
-FaviconFile: favicon.ico
 ServerUrl:
 StartupUpdate: none
 Template: default

+ 22 - 3
system/plugins/command.php

@@ -1,10 +1,10 @@
 <?php
 // Command plugin, https://github.com/datenstrom/yellow-plugins/tree/master/command
-// Copyright (c) 2013-2018 Datenstrom, https://datenstrom.se
+// Copyright (c) 2013-2019 Datenstrom, https://datenstrom.se
 // This file may be used and distributed under the terms of the public license.
 
 class YellowCommand {
-    const VERSION = "0.7.11";
+    const VERSION = "0.7.12";
     public $yellow;                     //access to API
     public $files;                      //number of files
     public $links;                      //number of links
@@ -107,6 +107,9 @@ class YellowCommand {
             foreach ($this->getSystemLocations() as $location) {
                 $statusCode = max($statusCode, $this->buildStaticFile($path, $location));
             }
+            foreach ($this->getExtraLocations() as $location) {
+                $statusCode = max($statusCode, $this->buildStaticFile($path, $location));
+            }
             $statusCode = max($statusCode, $this->buildStaticFile($path, "/error/", false, false, true));
         }
         return $statusCode;
@@ -532,7 +535,23 @@ class YellowCommand {
         foreach ($fileNames as $fileName) {
             array_push($locations, $this->yellow->config->get("themeLocation").substru($fileName, $themeDirLength));
         }
-        array_push($locations, "/".$this->yellow->config->get("robotsFile"));
+        return $locations;
+    }
+
+    // Return extra locations
+    public function getExtraLocations() {
+        $locations = array();
+        $pathIgnore = "(".$this->yellow->config->get("staticDir")."|".
+            $this->yellow->config->get("cacheDir")."|".
+            $this->yellow->config->get("contentDir")."|".
+            $this->yellow->config->get("mediaDir")."|".
+            $this->yellow->config->get("systemDir").")";
+        $fileNames = $this->yellow->toolbox->getDirectoryEntriesRecursive(".", "/.*/", false, false);
+        foreach ($fileNames as $fileName) {
+            $fileName = substru($fileName, 2);
+            if (preg_match("#^$pathIgnore#", $fileName) || $fileName=="yellow.php") continue;
+            array_push($locations, "/".$fileName);
+        }
         return $locations;
     }
     

+ 1 - 7
system/plugins/core.php

@@ -1,6 +1,6 @@
 <?php
 // Core plugin, https://github.com/datenstrom/yellow-plugins/tree/master/core
-// Copyright (c) 2013-2018 Datenstrom, https://datenstrom.se
+// Copyright (c) 2013-2019 Datenstrom, https://datenstrom.se
 // This file may be used and distributed under the terms of the public license.
 
 class YellowCore {
@@ -66,8 +66,6 @@ class YellowCore {
         $this->config->setDefault("errorFile", "page-error-(.*).md");
         $this->config->setDefault("newFile", "page-new-(.*).md");
         $this->config->setDefault("languageFile", "language-(.*).txt");
-        $this->config->setDefault("robotsFile", "robots.txt");
-        $this->config->setDefault("faviconFile", "favicon.ico");
         $this->config->setDefault("serverUrl", "");
         $this->config->setDefault("startupUpdate", "none");
         $this->config->setDefault("template", "default");
@@ -2117,10 +2115,6 @@ class YellowLookup {
                 $fileName = $this->yellow->config->get("pluginDir").substru($location, $pluginLocationLength);
             } elseif (substru($location, 0, $themeLocationLength)==$this->yellow->config->get("themeLocation")) {
                 $fileName = $this->yellow->config->get("themeDir").substru($location, $themeLocationLength);
-            } elseif ($location=="/".$this->yellow->config->get("robotsFile")) {
-                $fileName = $this->yellow->config->get("configDir").$this->yellow->config->get("robotsFile");
-            } elseif ($location=="/".$this->yellow->config->get("faviconFile")) {
-                $fileName = $this->yellow->config->get("assetDir").$this->yellow->config->get("siteicon").".png";
             }
         }
         return $fileName;

+ 14 - 3
system/plugins/update.php

@@ -1,10 +1,10 @@
 <?php
 // Update plugin, https://github.com/datenstrom/yellow-plugins/tree/master/update
-// Copyright (c) 2013-2018 Datenstrom, https://datenstrom.se
+// Copyright (c) 2013-2019 Datenstrom, https://datenstrom.se
 // This file may be used and distributed under the terms of the public license.
 
 class YellowUpdate {
-    const VERSION = "0.7.23";
+    const VERSION = "0.7.24";
     const PRIORITY = "2";
     public $yellow;                 //access to API
     public $updates;                //number of updates
@@ -30,6 +30,18 @@ class YellowUpdate {
                 $this->yellow->config->save($fileNameConfig, array("staticDir" => "public/"));
             }
         }
+        if (true) {  //TODO: remove later, converts old robots file
+            $fileNameRobots = $this->yellow->config->get("configDir")."robots.txt";
+            $fileNameError = $this->yellow->config->get("configDir")."system-error.log";
+            if (is_file($fileNameRobots)) {
+                if (!$this->yellow->toolbox->renameFile($fileNameRobots, "./robots.txt")) {
+                    $fileDataError .= "ERROR renaming file '$fileNameRobots'!\n";
+                }
+                if (!empty($fileDataError)) {
+                    $this->yellow->toolbox->createFile($fileNameError, $fileDataError);
+                }
+            }
+        }
         if ($update) {  //TODO: remove later, converts old Markdown extension
             $fileNameConfig = $this->yellow->config->get("configDir").$this->yellow->config->get("configFile");
             $fileNameError = $this->yellow->config->get("configDir")."system-error.log";
@@ -45,7 +57,6 @@ class YellowUpdate {
                 }
                 $path = $this->yellow->config->get("configDir");
                 foreach ($this->yellow->toolbox->getDirectoryEntries($path, "/^.*\.txt$/", true, false) as $entry) {
-                    if (basename($entry) == $this->yellow->config->get("robotsFile")) continue;
                     if (!$this->yellow->toolbox->renameFile($entry, str_replace(".txt", ".md", $entry))) {
                         $fileDataError .= "ERROR renaming file '$entry!'\n";
                     }