-<?php if (isset($listing)) : ?>
+
<div class="sidebar">
- <?php include __DIR__."/edit.phtml" ?>
+ <?php if (isset($entry)) : ?>
+
+ <div class="edit">
+ <a href="<?= $entry->getEditUrl() ?>">Edit</a>
+ </div>
+ <?php endif; ?>
+
+ <?php
+ if (isset($baseUrl) || !isset($entry)) {
+ $up = "./";
+ } else {
+ $up = str_repeat("../", count($entry->getParents()));
+ }
+ ?>
+
<ul>
- <li>↰ <a href="">Home</a></li>
- <?php if (($entry = $listing->getParent())) : ?>
- <li>↑ <a href="<?=$entry->formatUrl()?>"><?=$entry->formatLink()?></a></li>
- <?php endif; ?>
- <?php if (($entry = $listing->getSelf()) && ($link = $entry->formatLink())) : ?>
- <ul><li>↻ <?= $link ?>
- <?php endif; ?>
- <?php if (count($listing)) : ?>
+ <li>↰ <a href="<?= $up ?>">Home</a>
+ <?php if (isset($entry)) : /* @var \mdref\Entry $entry */ ?>
+
<ul>
- <?php foreach ($listing as $entry) : ?>
- <li>↳ <a href="<?=$entry->formatUrl()?>"><?=$entry->formatLink()?></a></li>
+ <li>
+ <?php foreach ($entry->getParents() as $parent) : ?>
+ <?php if ($parent->isFile()) : ?>
+
+ ↑ <a href="<?= $up.$esc($parent->getName()) ?>">
+ <?= $esc($entry->getRepo()->getEntry($parent)) ?>
+
+ </a>
+ <ul>
+ <li>
+ <?php endif; ?>
+ <?php endforeach; ?>
+
+ ↻ <strong><a href="<?= $up.$esc($entry->getName()) ?>"
+ ><?= $esc($entry) ?></a></strong>
+
+ <?php if ($entry->hasIterator()): ?>
+
+ <ul>
+ <?php foreach ($entry as $sub) : /* @var \mdref\Entry $sub */ ?>
+
+ <li>
+ ↳ <a href="<?= $up.$esc($sub->getName()) ?>"
+ ><?= $esc($sub) ?></a>
+ </li>
+ <?php endforeach; ?>
+
+ </ul>
+ <?php endif; ?>
+
+ <?php if (isset($parent)) : ?>
+ <?php
+ while ($parent && !$parent->isFile()) {
+ $parent = $parent->getParent();
+ }
+ ?>
+ <?php if ($parent && $parent->hasIterator()) : ?>
+ <?php
+ $parent_closed = true;
+ ?>
+
+ </ul>
+ <?php foreach ($parent as $sub) : ?>
+ <?php
+ if ($sub->getName() === $entry->getName()) {
+ continue;
+ }
+ ?>
+
+ <li>↲ <a href="<?= $up.$esc($sub->getName()) ?>"><?= $esc($sub) ?></a></li>
+ <?php endforeach; ?>
+ <?php endif; ?>
+ <?php endif; ?>
+ <?php foreach ($entry->getParents() as $parent) : ?>
+ <?php if (!empty($parent_closed)) : ?>
+ <?php
+ $parent_closed = false;
+ ?>
+ <?php elseif ($parent->isFile()) : ?>
+ <?php if (isset($parent_closed)) : ?>
+ <?php
+ unset($parent_closed);
+ ?>
+ <?php else : ?>
+
+ </li>
+ <?php endif; ?>
+
+ </ul>
+ <?php endif; ?>
+ <?php endforeach; ?>
+
+ </li>
+ </ul>
+ <?php elseif (isset($refs)) : ?>
+
+ <ul>
+ <?php foreach ($refs as $repo) : /* @var \mdref\Repo $repo */ ?>
+ <?php foreach ($repo as $sub) : /* @var \mdref\Entry $entry */ ?>
+
+ <li>
+ ↳ <a href="<?= $esc($sub->getName()) ?>"
+ ><?= $esc($sub->getTitle()) ?></a>
+ </li>
+ <?php endforeach; ?>
<?php endforeach; ?>
+
</ul>
- <?php endif; ?>
- <?php if (isset($link) && strlen($link)) : ?>
- </li></ul>
- <?php endif; ?>
+ <?php endif; ?>
+
+ </li>
</ul>
</div>
-<?php endif; ?>