diff --git a/bin/compile b/bin/compile deleted file mode 100755 index 832aed5..0000000 --- a/bin/compile +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env php -compile(); -} catch (\Exception $e) { - echo 'Failed to compile phar: ['.get_class($e).'] '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine(); - exit(1); -} diff --git a/daux.phar b/daux.phar deleted file mode 100755 index 5729b68..0000000 Binary files a/daux.phar and /dev/null differ diff --git a/docs/05_Configuration/Confluence_upload.md b/docs/05_Configuration/Confluence_upload.md index 8816892..99e0168 100644 --- a/docs/05_Configuration/Confluence_upload.md +++ b/docs/05_Configuration/Confluence_upload.md @@ -71,7 +71,7 @@ By default, it will inform you that some pages aren't needed anymore and you can } ``` -By setting `delete` to `true` (or running `daux.phar` with the `--delete` flag) you tell the generator that it can safely delete the pages. +By setting `delete` to `true` (or running `daux` with the `--delete` flag) you tell the generator that it can safely delete the pages. ## Information message diff --git a/docs/10_For_Developers/Creating_a_Processor.md b/docs/10_For_Developers/Creating_a_Processor.md index acb92f7..2bf56c1 100644 --- a/docs/10_For_Developers/Creating_a_Processor.md +++ b/docs/10_For_Developers/Creating_a_Processor.md @@ -1,10 +1,10 @@ The recommended way to extend Daux is through Processors. -The main advantage, is that you can run it with the source or with `daux.phar` independently. You don't need to hack in the core. +The main advantage, is that you can run it with the source or with `daux` independently. You don't need to hack in the core. ## Adding classes -At the same level as your `daux.phar` file, you will see a `daux` directory, you can create all your classes here. +Next to your `docs` directory, you can create a `daux` directory that can contain your Processor. The classes must respect the PSR-4 Naming convention. And have `\Todaymade\Daux\Extension` as a base namespace. diff --git a/libs/Compiler.php b/libs/Compiler.php deleted file mode 100644 index 1de650f..0000000 --- a/libs/Compiler.php +++ /dev/null @@ -1,217 +0,0 @@ - - * @author Jordi Boggiano - * @author Stéphane Goetz - */ -class Compiler -{ - /** - * Compiles composer into a single phar file - * - * @throws \RuntimeException - * @param string $pharFile The full path to the file to create - */ - public function compile($pharFile = 'daux.phar') - { - echo "Compiling a new $pharFile\n"; - - if (file_exists($pharFile)) { - echo "-> Deleting the existing phar\n"; - unlink($pharFile); - } - - echo "-> Creating the new phar\n"; - $phar = new \Phar($pharFile, 0, 'daux.phar'); - $phar->setSignatureAlgorithm(\Phar::SHA1); - - $phar->startBuffering(); - - // Daux - echo "-> Adding all daux files\n"; - $finder = new Finder(); - $finder->files() - ->ignoreVCS(true) - ->name('*.php') - ->notName('Compiler.php') - ->in(__DIR__ . '/../templates') - ->in(__DIR__); - - foreach ($finder as $file) { - $this->addFile($phar, $file); - } - - // Composer libraries - echo "-> Adding all composer dependencies\n"; - $finder = new Finder(); - $finder->files() - ->ignoreVCS(true) - ->exclude('Tests') - ->notName('*.png') - ->in(__DIR__ . '/../vendor/guzzlehttp/guzzle/src') - ->in(__DIR__ . '/../vendor/guzzlehttp/promises/src') - ->in(__DIR__ . '/../vendor/guzzlehttp/psr7/src') - ->in(__DIR__ . '/../vendor/league/commonmark/src') - ->in(__DIR__ . '/../vendor/league/plates/src') - ->in(__DIR__ . '/../vendor/myclabs/deep-copy') - ->in(__DIR__ . '/../vendor/psr/http-message/src') - ->in(__DIR__ . '/../vendor/symfony/console') - ->in(__DIR__ . '/../vendor/symfony/polyfill-mbstring') - ->in(__DIR__ . '/../vendor/symfony/process') - ->in(__DIR__ . '/../vendor/symfony/process') - ->in(__DIR__ . '/../vendor/symfony/yaml') - ->in(__DIR__ . '/../vendor/webuni/front-matter/src') - ->in(__DIR__ . '/../vendor/webuni/commonmark-table-extension/src'); - - $excluded_files = [ - 'README.md', - 'composer.json', - 'LICENSE', - 'CHANGELOG.md', - 'phpunit.xml.dist', - ]; - - /** @var \SplFileInfo $file */ - $count = 0; - foreach ($finder as $file) { - if (in_array($file->getFilename(), $excluded_files)) { - continue; - } - $count++; - $this->addFile($phar, $file); - } - echo " Imported $count files\n"; - - // Composer autoload - echo "-> Adding the composer autoloader\n"; - $this->addComposer($phar); - - echo "-> Adding the main binary\n"; - $this->addBinary($phar); - - echo "-> Writing the stub\n"; - $phar->setStub($this->getStub()); - - $phar->stopBuffering(); - - echo "-> Writing the licence\n"; - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../LICENSE'), false); - - chmod($pharFile, 0775); - - unset($phar); - - echo "Done.\n"; - } - - private function addFile($phar, $file, $strip = true) - { - $path = strtr(str_replace(dirname(__DIR__) . DIRECTORY_SEPARATOR, '', $file->getRealPath()), '\\', '/'); - - $content = file_get_contents($file); - if ($strip) { - $content = $this->stripWhitespace($content); - } elseif ('LICENSE' === basename($file)) { - $content = "\n" . $content . "\n"; - } - - $phar->addFromString($path, $content); - } - - private function addComposer($phar) - { - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/autoload.php')); - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_classmap.php')); - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_files.php')); - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_namespaces.php')); - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_real.php')); - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/ClassLoader.php')); - - if (file_exists(__DIR__ . '/../vendor/composer/autoload_static.php')) { - $content = file_get_contents(__DIR__ . '/../vendor/composer/autoload_static.php'); - $content = str_replace('__DIR__ . \'/../..\' . \'/daux\'', 'PHAR_DIR . \'/daux\'', $content); - $phar->addFromString('vendor/composer/autoload_static.php', $content); - } - - $content = file_get_contents(__DIR__ . '/../vendor/composer/autoload_psr4.php'); - $content = str_replace('$baseDir . \'/daux\'', 'PHAR_DIR . \'/daux\'', $content); - $phar->addFromString('vendor/composer/autoload_psr4.php', $content); - } - - private function addBinary($phar) - { - $content = file_get_contents(__DIR__ . '/../bin/daux'); - $content = preg_replace('{^#!/usr/bin/env php\s*}', '', $content); - $phar->addFromString('bin/daux', $content); - } - - /** - * Removes whitespace from a PHP source string while preserving line numbers. - * - * @param string $source A PHP string - * @return string The PHP string with the whitespace removed - */ - private function stripWhitespace($source) - { - if (!function_exists('token_get_all')) { - return $source; - } - - $output = ''; - foreach (token_get_all($source) as $token) { - if (is_string($token)) { - $output .= $token; - } elseif (in_array($token[0], [T_COMMENT, T_DOC_COMMENT])) { - $output .= str_repeat("\n", substr_count($token[1], "\n")); - } elseif (T_WHITESPACE === $token[0]) { - // reduce wide spaces - $whitespace = preg_replace('{[ \t]+}', ' ', $token[1]); - // normalize newlines to \n - $whitespace = preg_replace('{(?:\r\n|\r|\n)}', "\n", $whitespace); - // trim leading spaces - $whitespace = preg_replace('{\n +}', "\n", $whitespace); - $output .= $whitespace; - } else { - $output .= $token[1]; - } - } - - return $output; - } - - private function getStub() - { - return <<<'EOF' -#!/usr/bin/env php - - * - * For the full copyright and license information, please view - * the license that is located at the bottom of this file. - */ - -define('PHAR_DIR', dirname(__FILE__)); - -Phar::mapPhar('daux.phar'); - -require 'phar://daux.phar/bin/daux'; - -__HALT_COMPILER(); -EOF; - } -} diff --git a/libs/Format/HTML/Template.php b/libs/Format/HTML/Template.php index 30aa0f4..ccd236e 100644 --- a/libs/Format/HTML/Template.php +++ b/libs/Format/HTML/Template.php @@ -15,14 +15,10 @@ class Template */ public function __construct($base, $theme) { - // Use internal templates or the ones in the phar - // archive if no templates dir exists in the working directory + // Use internal templates if no templates + // dir exists in the working directory if (!is_dir($base)) { - if (is_dir(__DIR__ . '/../../../templates')) { - $base = __DIR__ . '/../../../templates'; - } else { - $base = 'phar://daux.phar/templates'; - } + $base = __DIR__ . '/../../../templates'; } // Create new Plates instance diff --git a/libs/bootstrap.php b/libs/bootstrap.php index 622691c..8e5b669 100644 --- a/libs/bootstrap.php +++ b/libs/bootstrap.php @@ -10,15 +10,8 @@ function loadApp() { if (file_exists(__DIR__ . '/../vendor/autoload.php')) { return require_once __DIR__ . '/../vendor/autoload.php'; } - - // Loaded in the project itself, when vendor isn't installed - if (file_exists(__DIR__ . '/../daux.phar')) { - define('PHAR_DIR', __DIR__ . '/..'); - - return require_once 'phar://' . __DIR__ . '/../daux.phar/vendor/autoload.php'; - } - throw new Exception('Impossible to load Daux, missing vendor/ or daux.phar'); + throw new Exception('Impossible to load Daux, missing vendor/'); } $loader = loadApp(); diff --git a/serve b/serve deleted file mode 100755 index dd0dd02..0000000 --- a/serve +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -php -S 0.0.0.0:8085 index.php