2025-11-14 11:33:49 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta name = "generator" content = "Markitect Markitect v0.8.1.dev24+gdbde13e03.d20251111" >
< title > Integration Test Document< / title >
<!-- Base styling for document content -->
< style >
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
color: #333;
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
background-color: #ffffff;
}
/* Responsive design */
@media (max-width: 768px) {
body {
padding: 1rem;
font-size: 0.9rem;
}
}
/* Content styling */
h1, h2, h3, h4, h5, h6 {
color: #2c3e50;
margin-top: 2rem;
margin-bottom: 1rem;
}
h1 { font-size: 2.5em; border-bottom: 3px solid #3498db; padding-bottom: 0.5rem; }
h2 { font-size: 2em; border-bottom: 2px solid #3498db; padding-bottom: 0.3rem; }
h3 { font-size: 1.5em; color: #34495e; }
p {
margin-bottom: 1.2rem;
text-align: justify;
}
a {
color: #3498db;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
blockquote {
border-left: 4px solid #3498db;
margin: 1.5rem 0;
padding-left: 1rem;
color: #7f8c8d;
}
code {
background-color: #f8f9fa;
padding: 0.2rem 0.4rem;
border-radius: 3px;
font-family: 'Courier New', monospace;
}
pre {
background-color: #f8f9fa;
padding: 1rem;
border-radius: 5px;
overflow-x: auto;
border: 1px solid #e9ecef;
}
img {
max-width: 100%;
height: auto;
border-radius: 5px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
table {
border-collapse: collapse;
width: 100%;
margin: 1.5rem 0;
}
th, td {
border: 1px solid #dee2e6;
padding: 0.75rem;
text-align: left;
}
th {
background-color: #f8f9fa;
font-weight: 600;
}
/* Print styles */
@media print {
.control-panel {
display: none !important;
}
body {
font-size: 12pt;
line-height: 1.4;
}
}
< / style >
<!-- Control system styles -->
< link rel = "stylesheet" href = "markitect/static/css/controls.css" >
<!-- External dependencies -->
< script src = "https://cdn.jsdelivr.net/npm/marked/marked.min.js"
onerror="console.error('CDN library failed to load - network or firewall blocking marked.js'); window.markitectMarkedError = true;">< / script >
< / head >
< body >
< div id = "markitect-content" >
< h1 id = "integration-test-document" > Integration Test Document< / h1 >
< p > This document tests the JavaScript controls integration with the HTML output after the Guardrail Principle refactoring.< / p >
< h2 id = "recent-changes" > Recent Changes< / h2 >
< h3 id = "latest-commit-dbde13e" > Latest Commit (dbde13e)< / h3 >
< ul >
< li > Enhanced control system with improved UI and debug functionality< / li >
< li > Added resize functionality to all controls with hover-only visibility< / li >
< li > Implemented small circle resize handles positioned in lower-right corner< / li >
< li > Added header-only toggle mode for space-efficient control management< / li >
< li > Created independent IndexedDB-based debug system with selection filtering< / li >
< / ul >
< h3 id = "previous-commit-3839a67" > Previous Commit (3839a67)< / h3 >
< ul >
< li > Fixed control positioning and drag behavior< / li >
< li > Updated compass positioning to be top-aligned instead of center-aligned< / li >
< li > Fixed drag offset calculation to maintain cursor position at icon< / li >
< li > Ensured expanded controls appear top-aligned with anchor position< / li >
< / ul >
< h2 id = "test-content" > Test Content< / h2 >
< h3 id = "headers" > Headers< / h3 >
< p > This document contains various content types to test the status control functionality.< / p >
< h4 id = "subsection" > Subsection< / h4 >
< p > Content in subsections should be properly counted.< / p >
< h3 id = "lists" > Lists< / h3 >
< ul >
< li > Item 1: Testing list counting< / li >
< li > Item 2: Multiple items< / li >
< li > Item 3: Final item< / li >
< / ul >
< h3 id = "tables" > Tables< / h3 >
< table >
< thead >
< tr >
< th > Column A< / th >
< th > Column B< / th >
< th > Column C< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > Row 1A< / td >
< td > Row 1B< / td >
< td > Row 1C< / td >
< / tr >
< tr >
< td > Row 2A< / td >
< td > Row 2B< / td >
< td > Row 2C< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "code-block" > Code Block< / h3 >
< div class = "codehilite" > < pre > < span > < / span > < code > < span class = "k" > def< / span > < span class = "w" > < / span > < span class = "nf" > test_function< / span > < span class = "p" > ():< / span >
< span class = "k" > return< / span > < span class = "s2" > " This code block should be counted" < / span >
< / code > < / pre > < / div >
< h3 id = "blockquote" > Blockquote< / h3 >
< blockquote >
< p > This is a blockquote that should be analyzed by the status control.< / p >
< / blockquote >
< h2 id = "expected-behavior" > Expected Behavior< / h2 >
< p > The JavaScript controls should:
1. Initialize successfully with proper error handling
2. Display accurate document statistics
3. Provide interactive drag/resize functionality
4. Work with the debug system integration
5. Handle errors gracefully per the Guardrail Principle< / p >
< p > This test will verify that our external JavaScript files work correctly with the HTML template system.< / p >
< hr / >
< p > < em > -- html from markdown by < a href = "https://coulomb.social/open/MarkiTect" target = "_blank" > MarkiTect< / a > on 2025-11-11 22:10:30 by < a href = "https://coulomb.social/open/worsch" target = "_blank" > worsch< / a > < / em > < / p >
< / div >
<!-- Core JavaScript modules -->
< script src = "markitect/static/js/core/debug-system.js" > < / script >
<!-- Control system -->
2025-11-14 23:37:17 +01:00
< script src = "../js/controls/control-base.js" > < / script >
< script src = "../js/controls/status-control.js" > < / script >
2025-11-14 11:33:49 +01:00
<!-- Main application -->
< script src = "markitect/static/js/main.js" > < / script >
<!-- Handle CDN loading errors -->
< script >
window.addEventListener('load', function() {
if (window.markitectMarkedError) {
console.error("CDN library failed to load - network or firewall blocking marked.js");
}
});
< / script >
< / body >
< / html >