/**
* Generates JSON documentation from provided files.
*
* @return void
*/
public function generate()
{
foreach ($this->files as $file) {
$currentFile = substr(str_replace($this->executionPath, '', $file), 3);
$isPhp = strrpos($file, '.php') == strlen($file) - strlen('.php');
if ($isPhp) {
$fileReflector = new FileReflector($file);
$parser = new CodeParser($file, $currentFile, $fileReflector);
} else {
$content = file_get_contents($file);
$parser = new MarkdownParser($currentFile, $content);
}
$document = $parser->parse();
$writer = new Writer(json_encode($document), $this->outputPath);
$writer->write(substr($currentFile, 4));
$this->types->addType(['id' => $document['id'], 'title' => $document['title'], 'contents' => $document['id'] . '.json']);
}
}