} } public function processBaseDirectory($directory) { $recursiveDirectoryIterator = new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS); /** @var $iterator RecursiveDirectoryIterator[] */ $iterator = new RecursiveIteratorIterator($recursiveDirectoryIterator); foreach ($iterator as $item) { if ($item->getExtension() == 'rst') { $path = $item->getPathname(); if (strpos($path, '_build/') === false && strpos($path, 'api/') === false) { $this->_prefix = str_replace('.rst', '', basename($path)); $this->processFile($path); $baseRstPath = 'transifex/base-rst/' . dirname($path); @mkdir($baseRstPath, 0777, true); file_put_contents($baseRstPath . '/' . $this->_prefix . '.rst', $this->_output); } } } $baseStrPath = 'transifex/strings/'; @mkdir($baseStrPath, 0777, true); file_put_contents($baseStrPath . '/en.json', json_encode($this->_uniqueStrings, JSON_PRETTY_PRINT)); } public function run() { $this->processBaseDirectory('en'); } } $d = new Docs(); $d->run();