// Load same-named .md and render into .story-content using Marked. No fallbacks.
(function () {
  function getMarkdownPath() {
    var parts = (window.location.pathname || '').split('/');
    var last = parts[parts.length - 1] || '';
    if (!last) return '';
    return last.replace(/\.html?$/i, '.md');
  }

  function loadMarked(callback) {
    if (window.marked && typeof window.marked.parse === 'function') {
      callback();
      return;
    }
    var script = document.createElement('script');
    script.src = 'https://cdn.jsdelivr.net/npm/marked/marked.min.js';
    script.async = true;
    script.onload = callback;
    document.head.appendChild(script);
  }

  function renderMarkdown(container, text) {
    if (!window.marked || typeof window.marked.parse !== 'function') {
      container.innerHTML = '';
      return;
    }
    try {
      if (typeof window.marked.setOptions === 'function') {
        window.marked.setOptions({ gfm: true, breaks: true });
      }
      container.innerHTML = window.marked.parse(text);
    } catch (_) {
      container.innerHTML = '';
    }
  }

  function init() {
    var container = document.querySelector('.story-content');
    if (!container) return;

    // No fallback: clear immediately
    container.innerHTML = '';

    var mdPath = getMarkdownPath();
    if (!mdPath) return;

    loadMarked(function () {
      fetch(mdPath, { cache: 'no-cache' })
        .then(function (res) { if (!res.ok) throw new Error('md'); return res.text(); })
        .then(function (text) { renderMarkdown(container, text); })
        .catch(function () { container.innerHTML = ''; });
    });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();








