Selam millet, ChatGPT'den yardım alıyorum ama her seferinde beni deli etmeyi başarıyor.

datawriter.php'deki kodlarımdan ilham alarak plugins.php oluşturmanızı istiyorum.
<?php
class DataWriter
{
private $dataDir;
private $menuItems = [];
private $contentMap = [];
private $metaData = [];

public function __construct($dataDir)
{
$this->dataDir = $dataDir;
$this->initialize();
}

private function initialize()
{
$files = glob($this->dataDir . '/*.md');
foreach ($files as $filePath) {
$content = file_get_contents($filePath);
$metaData = '';
if (preg_match('/^---\s*([\s\S]*?)\s*---/m', $content, $matches)) {
$metaData = $matches[1];
$content = str_replace($matches[0], '', $content);
}
$metaLines = explode("\n", $metaData);
$meta = [];
foreach ($metaLines as $line) {
if (preg_match('/^(\w+):\s*(.*)$/', trim($line), $metaMatch)) {
$meta[$metaMatch[1]] = $metaMatch[2];
}
}

// Find the first image in the content and set it as og:image
if (preg_match('/!\[.*?\]\((.*?)\)/', $content, $imageMatch)) {
$meta['og:image'] = $imageMatch[1];
}

if (isset($meta['oneciksin']) && $meta['oneciksin'] === 'yes') {
$this->menuItems[] = [
'file' => basename($filePath),
'title' => trim(preg_match('/^#\s*(.*)$/m', $content, $titleMatch) ? $titleMatch[1] : basename($filePath)),
'id' => isset($meta['id']) ? (int)$meta['id'] : null // id etiketi
];
}
$this->contentMap[basename($filePath)] = $content;
$this->metaData[basename($filePath)] = $meta; // Meta verileri burada saklanır
}

// id değerine göre sıralama
usort($this->menuItems, function ($a, $b) {
return $a['id'] <=> $b['id'];
});
}

public function getMenuItems()
{
return $this->menuItems;
}

public function getContentMap()
{
return $this->contentMap;
}

public function isDisqusEnabled($file)
{
return isset($this->metaData[$file]['disqus']) && $this->metaData[$file]['disqus'] === 'yes';
}

public function getFileForRequest($defaultFile)
{
return isset($_GET['file']) ? basename($_GET['file']) : $defaultFile;
}

public function getHtmlForFile($file, $parsedown)
{
return isset($this->contentMap[$file]) ? $parsedown->text($this->contentMap[$file]) : '<p>Dosya bulunamadı.</p>';
}

public function getTitleByFile($file)
{
if (isset($this->contentMap[$file])) {
if (preg_match('/^#\s*(.*)$/m', $this->contentMap[$file], $titleMatch)) {
return trim($titleMatch[1]);
}
}
return '404 Not Found';
}

public function getDescriptionByFile($file)
{
return isset($this->metaData[$file]['aciklama']) ? $this->metaData[$file]['aciklama'] : 'Yukarıdaki logodan anasayfaya dönebilirsiniz.';
}

public function getOgImage($file)
{
return isset($this->metaData[$file]['og:image']) ? $this->metaData[$file]['og:image'] : null;
}
}
?>
Yapılacak olay şu;
* /plugins/$pluginadi.php verisinde yes verisi olacak. Sonra o veriyi biz .md dosyasındaki metayı okutarak sayfada göstermesini istiyorum.