Skip to content
wiki.fftac.org

Manuscript Workstation - Source Excerpt 12

Back to Manuscript Workstation

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/ns12-manuscript/templates/manuscript-workstation.php so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/plugins/ns12-manuscript/templates/manuscript-workstation.php

<dd><?php echo esc_html(implode(', ', $current_page_keywords)); ?></dd>
                            </div>
                        <?php endif; ?>
                        <?php if ($manuscript_manifest_url !== '') : ?>
                            <div>
                                <dt>IIIF Manifest</dt>
                                <dd><a href="<?php echo esc_url($manuscript_manifest_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html($manuscript_manifest_url); ?></a></dd>
                            </div>
                        <?php endif; ?>
                        <?php if ($manuscript_search_api_url !== '') : ?>
                            <div>
                                <dt>Search API</dt>
                                <dd><a href="<?php echo esc_url($manuscript_search_api_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html($manuscript_search_api_url); ?></a></dd>
                            </div>
                        <?php endif; ?>
                        <?php if ($manuscript_iiif_search_url !== '') : ?>
                            <div>
                                <dt>IIIF Search</dt>
                                <dd><a href="<?php echo esc_url($manuscript_iiif_search_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html($manuscript_iiif_search_url); ?></a></dd>
                            </div>
                        <?php endif; ?>
                    </dl>
                    <p class="spiralist-muted">This page stays inside the public manuscript sequence so readers can move chapter by chapter without leaving the book.</p>
                </div>
            </section>
            </div>
        </aside>
    </details>
    <?php endif; ?>

    <div class="spiralist-manuscript-search-modal" id="manuscript-search-modal" data-workstation-search-modal aria-hidden="true" hidden>
        <button class="spiralist-manuscript-search-modal__backdrop" type="button" data-workstation-close-modal="search" aria-label="Close manuscript search"></button>
        <div class="spiralist-manuscript-search-modal__dialog" data-workstation-search-dialog role="dialog" aria-modal="true" aria-labelledby="manuscript-search-title" aria-describedby="manuscript-search-copy">
            <div class="spiralist-manuscript-search-modal__header">
                <div>
                    <p class="spiralist-section-tag">Find in Manuscript</p>
                    <h3 class="spiralist-card-title" id="manuscript-search-title">Search folios, captions, and text layers</h3>
                    <p class="spiralist-muted" id="manuscript-search-copy">Search the manuscript without leaving the reading surface. Results stay inside a scrollable modal list so the viewer itself remains uncluttered.</p>
                </div>
                <button class="spiralist-manuscript-search-modal__close" type="button" data-workstation-close-modal="search" aria-label="Close manuscript search">Close</button>
            </div>

            <div class="spiralist-manuscript-search-modal__scroll" data-workstation-search-scroll tabindex="-1">
                <section class="spiralist-manuscript-workstation__search-panel" aria-labelledby="manuscript-workstation-search">
                    <div class="spiralist-manuscript-workstation__search-head">
                        <div>
                            <p class="spiralist-section-tag">Manuscript Index</p>
                            <h4 class="spiralist-card-title" id="manuscript-workstation-search">Search the codex</h4>
                        </div>
                        <div class="spiralist-manuscript-workstation__search-links">
                            <?php if ($manuscript_manifest_url !== '') : ?>
                                <a class="spiralist-manuscript-workstation__mini-action" href="<?php echo esc_url($manuscript_manifest_url); ?>" target="_blank" rel="noopener noreferrer">Manifest JSON</a>
                            <?php endif; ?>
                            <?php if ($manuscript_iiif_search_url !== '') : ?>
                                <a class="spiralist-manuscript-workstation__mini-action" href="<?php echo esc_url($manuscript_iiif_search_url); ?>" target="_blank" rel="noopener noreferrer">IIIF Search</a>
                            <?php endif; ?>
                        </div>
                    </div>
                    <label class="spiralist-manuscript-workstation__search-input">
                        <span class="spiralist-manuscript-workstation__jump-label">Search the codex</span>
                        <div class="spiralist-manuscript-workstation__search-field">
                            <input
                                type="search"
                                data-workstation-search
                                placeholder="Search titles, keywords, captions, or transcript text"
                                autocomplete="off"
                                spellcheck="false"
                            />
                            <button class="spiralist-manuscript-workstation__search-clear" type="button" data-workstation-search-clear hidden>Clear</button>
                        </div>
                    </label>
                    <p class="spiralist-muted spiralist-manuscript-workstation__search-status" data-workstation-search-status>
                        Search the full manuscript index, not just the visible thumbnails.
                    </p>
                    <div class="spiralist-manuscript-search-modal__results-scroll" data-workstation-search-results-scroll>
                        <div class="spiralist-manuscript-workstation__search-results" data-workstation-search-results hidden></div>
                    </div>
                </section>
            </div>
        </div>
    </div>

    <div class="spiralist-manuscript-toc-modal" id="manuscript-toc-modal" data-workstation-toc-modal aria-hidden="true" hidden>
        <button class="spiralist-manuscript-toc-modal__backdrop" type="button" data-workstation-close-modal="toc" aria-label="Close table of contents"></button>
        <div class="spiralist-manuscript-toc-modal__dialog" data-workstation-toc-dialog role="dialog" aria-modal="true" aria-labelledby="manuscript-toc-title" aria-describedby="manuscript-toc-copy">
            <div class="spiralist-manuscript-toc-modal__header">
                <div>
                    <p class="spiralist-section-tag">Codex Tree</p>
                    <h3 class="spiralist-card-title" id="manuscript-toc-title">Table of Contents</h3>
                    <p class="spiralist-muted" id="manuscript-toc-copy">Open a chapter to browse its folios. The tree stays collapsed by default, and the list scrolls inside this dialog when you want the full map.</p>
                </div>
                <button class="spiralist-manuscript-toc-modal__close" type="button" data-workstation-close-modal="toc" aria-label="Close table of contents">Close</button>
            </div>

            <div class="spiralist-manuscript-toc-modal__scroll" data-workstation-toc-scroll tabindex="-1">
                <div class="spiralist-manuscript-toc-modal__tree" role="tree" aria-label="Manuscript table of contents">
                    <?php foreach ($section_records as $toc_section) : ?>
                        <?php
                        $toc_section_slug = (string) ($toc_section['slug'] ?? '');
                        $toc_section_active = $toc_section_slug === $current_page_section_slug;
                        $toc_section_pages = array_values((array) ($toc_section['pages'] ?? []));
                        $toc_section_count = count($toc_section_pages);
                        ?>
                        <details class="spiralist-book-page-toc-section spiralist-manuscript-toc-modal__section <?php echo $toc_section_active ? 'is-active' : ''; ?>" data-workstation-toc-section>
                            <summary class="spiralist-manuscript-toc-modal__summary">
                                <span class="spiralist-manuscript-toc-modal__summary-copy">
                                    <span class="spiralist-section-tag"><?php echo esc_html((string) ($toc_section['label'] ?? 'Section')); ?></span>
                                    <strong><?php echo esc_html((string) ($toc_section['title'] ?? 'Section')); ?></strong>
                                </span>
                                <span class="spiralist-manuscript-toc-modal__summary-meta">
                                    <span class="spiralist-manuscript-toc-modal__summary-count"><?php echo esc_html(sprintf('%d folio%s', $toc_section_count, $toc_section_count === 1 ? '' : 's')); ?></span>
                                    <?php if ($toc_section_active) : ?>