logseq2gemtext/src/Parser.php

30 lines
752 B
PHP

<?php
declare(strict_types=1);
namespace LogseqGem;
use League\CommonMark\Node\Block\Document;
use League\CommonMark\Parser\MarkdownParser;
use League\CommonMark\Environment\Environment;
use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
abstract class Parser {
private MarkdownParser $parser;
protected Document $document;
public function __construct() {
$environment = new Environment();
$environment->addExtension(new CommonMarkCoreExtension());
$this->parser = new MarkdownParser($environment);
}
public function load(string $path) {
$markdown = file_get_contents($path);
$this->document = $this->parser->parse($markdown);
return $this->document;
}
}