[{"data":1,"prerenderedAt":70},["Reactive",2],{"blog-post-markdown-blockquotes-advanced-styling-complete-guide":3},{"slug":4,"title":5,"description":6,"excerpt":7,"date":8,"category":9,"author":10,"keywords":11,"readingMinutes":12,"html":13,"headings":14,"tools":46,"related":47},"markdown-blockquotes-advanced-styling-complete-guide","Markdown Blockquotes: Advanced Styling and Professional Implementation Guide for Enhanced Content Presentation","Master advanced blockquote techniques in Markdown for professional content presentation. Learn CSS styling, nested quotes, platform-specific implementations, and accessibility best practices for compelling visual content.","Blockquotes in Markdown provide powerful tools for highlighting important content, presenting testimonials, showcasing citations, and creating visually distinct content sections that enhance…","2025-09-16","Tutorial","Matthew Rathbone","markdown blockquotes, markdown quotes, blockquote styling, nested blockquotes, css blockquotes, markdown citation formatting, professional markdown quotes, blockquote accessibility",19,"\u003Cp>Blockquotes in Markdown provide powerful tools for highlighting important content, presenting testimonials, showcasing citations, and creating visually distinct content sections that enhance readability and professional presentation. While basic blockquote syntax offers fundamental functionality, advanced techniques using CSS integration, nested structures, and platform-specific implementations transform simple quotes into sophisticated content elements that improve user engagement and document organization.\u003C/p>\n\u003Ch2 id=\"why-master-advanced-blockquote-techniques\">Why Master Advanced Blockquote Techniques?\u003C/h2>\n\u003Cp>Professional blockquote implementation provides essential benefits for content creation:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Content Hierarchy\u003C/strong>: Clear visual separation creates scannable document structure\u003C/li>\n\u003Cli>\u003Cstrong>Authority Building\u003C/strong>: Professional citation formatting establishes credibility and expertise\u003C/li>\n\u003Cli>\u003Cstrong>Engagement Enhancement\u003C/strong>: Visually appealing quotes draw reader attention to key information\u003C/li>\n\u003Cli>\u003Cstrong>Accessibility Improvement\u003C/strong>: Proper semantic markup improves screen reader compatibility\u003C/li>\n\u003Cli>\u003Cstrong>Brand Consistency\u003C/strong>: Custom styling maintains visual identity across documentation\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"basic-blockquote-foundation\">Basic Blockquote Foundation\u003C/h2>\n\u003Ch3 id=\"standard-markdown-syntax\">Standard Markdown Syntax\u003C/h3>\n\u003Cp>Understanding fundamental blockquote structure enables advanced implementation:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\"># Basic Blockquote Syntax\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; This is a simple blockquote that spans a single line and demonstrates the most basic implementation of quoted content in Markdown.\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; This is a multi-line blockquote that demonstrates how content can span across multiple lines while maintaining the blockquote formatting throughout the entire quoted section.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; The blockquote continues here with proper spacing and formatting maintained across line breaks.\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Blockquotes with Attribution\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; &quot;The best way to predict the future is to invent it.&quot;\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; — Alan Kay, Computer Scientist\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; &quot;Documentation is a love letter that you write to your future self.&quot;\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; — Damian Conway, Software Engineer\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Multiple Paragraph Blockquotes\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; First paragraph of the blockquote provides context and introduces the main concept being discussed.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; Second paragraph continues the thought and provides additional detail or elaboration on the topic.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; Final paragraph concludes the quoted material with summary or call-to-action elements.\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch3 id=\"nested-blockquote-structure\">Nested Blockquote Structure\u003C/h3>\n\u003Cp>Advanced nesting creates hierarchical quote structures:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\"># Nested Blockquotes for Complex Citations\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; ## Primary Source Quote\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &quot;The most important property of a program is whether it accomplishes the intention of its user.&quot;\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; &gt; ### Commentary on the Quote\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; This statement from C.A.R. Hoare emphasizes user-centered design principles in software development, highlighting the fundamental importance of meeting user needs over technical complexity.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; \u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; #### Technical Implementation Note\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; When implementing this philosophy in practice, consider user acceptance testing as the primary measure of software success rather than code elegance or performance metrics alone.\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Discussion Thread Style\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; \u003Cspan class=\"hljs-strong\">**Original Question**\u003C/span>: How should we approach database schema design for scalability?\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; &gt; \u003Cspan class=\"hljs-strong\">**Senior Developer Response**\u003C/span>: Start with proper normalization principles, but don&#x27;t be afraid to denormalize for performance when you have concrete evidence of bottlenecks.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; \u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; \u003Cspan class=\"hljs-strong\">**Follow-up Question**\u003C/span>: What metrics should we monitor to identify when denormalization is necessary?\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; \u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; &gt; \u003Cspan class=\"hljs-strong\">**Performance Expert**\u003C/span>: Monitor query response times, database CPU usage, and I/O wait times. Consider denormalization when queries consistently exceed 100ms response time targets.\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch2 id=\"advanced-css-styling-implementation\">Advanced CSS Styling Implementation\u003C/h2>\n\u003Ch3 id=\"comprehensive-blockquote-styling-system\">Comprehensive Blockquote Styling System\u003C/h3>\n\u003Cp>Professional CSS framework for enhanced blockquote presentation:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* advanced-blockquotes.css - Complete styling system */\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">/* Root variables for consistent theming */\u003C/span>\n\u003Cspan class=\"hljs-selector-pseudo\">:root\u003C/span> {\n  \u003Cspan class=\"hljs-attr\">--blockquote-primary-color\u003C/span>: \u003Cspan class=\"hljs-number\">#2563eb\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-secondary-color\u003C/span>: \u003Cspan class=\"hljs-number\">#64748b\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-accent-color\u003C/span>: \u003Cspan class=\"hljs-number\">#f59e0b\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-success-color\u003C/span>: \u003Cspan class=\"hljs-number\">#059669\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-warning-color\u003C/span>: \u003Cspan class=\"hljs-number\">#d97706\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-error-color\u003C/span>: \u003Cspan class=\"hljs-number\">#dc2626\u003C/span>;\n  \n  \u003Cspan class=\"hljs-attr\">--blockquote-bg-primary\u003C/span>: \u003Cspan class=\"hljs-number\">#f8fafc\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-bg-secondary\u003C/span>: \u003Cspan class=\"hljs-number\">#f1f5f9\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-bg-accent\u003C/span>: \u003Cspan class=\"hljs-number\">#fef3c7\u003C/span>;\n  \n  \u003Cspan class=\"hljs-attr\">--blockquote-border-width\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">8px\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-padding\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-margin\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \n  \u003Cspan class=\"hljs-attr\">--blockquote-font-family\u003C/span>: Georgia, \u003Cspan class=\"hljs-string\">&#x27;Times New Roman&#x27;\u003C/span>, serif;\n  \u003Cspan class=\"hljs-attr\">--blockquote-font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.125rem\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-line-height\u003C/span>: \u003Cspan class=\"hljs-number\">1.7\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Base blockquote styling */\u003C/span>\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg-primary);\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border-width) solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border-radius);\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-padding);\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-margin);\n  \u003Cspan class=\"hljs-attribute\">font-family\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-font-family);\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-font-size);\n  \u003Cspan class=\"hljs-attribute\">line-height\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-line-height);\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#374151\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: relative;\n  \u003Cspan class=\"hljs-attribute\">box-shadow\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">2px\u003C/span> \u003Cspan class=\"hljs-number\">4px\u003C/span> \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0.1\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">content\u003C/span>: \u003Cspan class=\"hljs-string\">&#x27;&quot;&#x27;\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">4rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: absolute;\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: -\u003Cspan class=\"hljs-number\">10px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">20px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-family\u003C/span>: Georgia, serif;\n  \u003Cspan class=\"hljs-attribute\">opacity\u003C/span>: \u003Cspan class=\"hljs-number\">0.3\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">line-height\u003C/span>: \u003Cspan class=\"hljs-number\">1\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Nested blockquote styling */\u003C/span>\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-left-width\u003C/span>: \u003Cspan class=\"hljs-number\">3px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-secondary-color);\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg-secondary);\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">2.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: -\u003Cspan class=\"hljs-number\">5px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">15px\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">border-left-width\u003C/span>: \u003Cspan class=\"hljs-number\">2px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0.75rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.9rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">0.5\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">10px\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Typography enhancements */\u003C/span>\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">p\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">1rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-style\u003C/span>: italic;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">400\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">p\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:last-child\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">margin-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h1\u003C/span>,\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h2\u003C/span>,\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h3\u003C/span>,\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h4\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">margin-top\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">600\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h1\u003C/span> { \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>; }\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h2\u003C/span> { \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.3rem\u003C/span>; }\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h3\u003C/span> { \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.1rem\u003C/span>; }\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h4\u003C/span> { \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>; }\n\n\u003Cspan class=\"hljs-comment\">/* Attribution styling */\u003C/span>\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">footer\u003C/span>,\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">cite\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: block;\n  \u003Cspan class=\"hljs-attribute\">margin-top\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.9rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-secondary-color);\n  \u003Cspan class=\"hljs-attribute\">font-style\u003C/span>: normal;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">500\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">footer\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span>,\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">cite\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">content\u003C/span>: \u003Cspan class=\"hljs-string\">&#x27;— &#x27;\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: bold;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Specialized blockquote types */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.blockquote-info\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">linear-gradient\u003C/span>(\u003Cspan class=\"hljs-number\">90deg\u003C/span>, \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">37\u003C/span>, \u003Cspan class=\"hljs-number\">99\u003C/span>, \u003Cspan class=\"hljs-number\">235\u003C/span>, \u003Cspan class=\"hljs-number\">0.1\u003C/span>) \u003Cspan class=\"hljs-number\">0%\u003C/span>, transparent \u003Cspan class=\"hljs-number\">100%\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-success\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-success-color);\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">linear-gradient\u003C/span>(\u003Cspan class=\"hljs-number\">90deg\u003C/span>, \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">5\u003C/span>, \u003Cspan class=\"hljs-number\">150\u003C/span>, \u003Cspan class=\"hljs-number\">105\u003C/span>, \u003Cspan class=\"hljs-number\">0.1\u003C/span>) \u003Cspan class=\"hljs-number\">0%\u003C/span>, transparent \u003Cspan class=\"hljs-number\">100%\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-warning\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-warning-color);\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg-accent);\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-error\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-error-color);\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">linear-gradient\u003C/span>(\u003Cspan class=\"hljs-number\">90deg\u003C/span>, \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">220\u003C/span>, \u003Cspan class=\"hljs-number\">38\u003C/span>, \u003Cspan class=\"hljs-number\">38\u003C/span>, \u003Cspan class=\"hljs-number\">0.1\u003C/span>) \u003Cspan class=\"hljs-number\">0%\u003C/span>, transparent \u003Cspan class=\"hljs-number\">100%\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-minimal\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: transparent;\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">2px\u003C/span> solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-secondary-color);\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">1rem\u003C/span> \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">box-shadow\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-minimal\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: none;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Pull quote styling */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: transparent;\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">text-align\u003C/span>: center;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">300\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">3rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: relative;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::after\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">content\u003C/span>: \u003Cspan class=\"hljs-string\">&#x27;&quot;&#x27;\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">6rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: absolute;\n  \u003Cspan class=\"hljs-attribute\">opacity\u003C/span>: \u003Cspan class=\"hljs-number\">0.2\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-family\u003C/span>: Georgia, serif;\n  \u003Cspan class=\"hljs-attribute\">line-height\u003C/span>: \u003Cspan class=\"hljs-number\">1\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: -\u003Cspan class=\"hljs-number\">20px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">20px\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::after\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">bottom\u003C/span>: -\u003Cspan class=\"hljs-number\">40px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">right\u003C/span>: \u003Cspan class=\"hljs-number\">20px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">transform\u003C/span>: \u003Cspan class=\"hljs-built_in\">rotate\u003C/span>(\u003Cspan class=\"hljs-number\">180deg\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-comment\">/* Responsive design */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">max-width\u003C/span>: \u003Cspan class=\"hljs-number\">768px\u003C/span>) {\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">3rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">10px\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.25rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::after\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">4rem\u003C/span>;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Print styles */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> print {\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: white;\n    \u003Cspan class=\"hljs-attribute\">border\u003C/span>: \u003Cspan class=\"hljs-number\">2px\u003C/span> solid \u003Cspan class=\"hljs-number\">#000\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">box-shadow\u003C/span>: none;\n  }\n  \n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#000\u003C/span>;\n  }\n}\n\u003C/code>\u003C/pre>\u003Ch3 id=\"interactive-blockquote-components\">Interactive Blockquote Components\u003C/h3>\n\u003Cp>JavaScript-enhanced blockquotes for dynamic content:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- Interactive blockquote with expand/collapse functionality --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">blockquote\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;expandable-quote&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">data-collapsed\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;quote-header&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">h3\u003C/span>&gt;\u003C/span>API Design Principles\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">h3\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">button\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;expand-button&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Expand quote&quot;\u003C/span>&gt;\u003C/span>+\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">button\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;quote-preview&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>&quot;Good API design is about making the simple things easy and the complex things possible...&quot;\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;quote-full-content&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">style\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;display: none;&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>&quot;Good API design is about making the simple things easy and the complex things possible. The key is to provide sensible defaults, clear documentation, and consistent patterns that developers can learn once and apply everywhere.&quot;\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>This philosophy extends beyond just REST APIs to include:\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Library interfaces and function signatures\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Configuration file structures\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Command-line tool parameters\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Database schema design\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">footer\u003C/span>&gt;\u003C/span>— Sarah Johnson, Principal Software Architect\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">footer\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">blockquote\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">script\u003C/span>&gt;\u003C/span>\u003Cspan class=\"language-javascript\">\n\u003Cspan class=\"hljs-comment\">// Enhanced blockquote functionality\u003C/span>\n\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">ExpandableBlockquote\u003C/span> {\n  \u003Cspan class=\"hljs-title function_\">constructor\u003C/span>(\u003Cspan class=\"hljs-params\">element\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">element\u003C/span> = element;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">button\u003C/span> = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.expand-button&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">preview\u003C/span> = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.quote-preview&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">fullContent\u003C/span> = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.quote-full-content&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">isCollapsed\u003C/span> = element.\u003Cspan class=\"hljs-property\">dataset\u003C/span>.\u003Cspan class=\"hljs-property\">collapsed\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>;\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">init\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">init\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">button\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">toggle\u003C/span>());\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">updateDisplay\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">toggle\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">isCollapsed\u003C/span> = !\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">isCollapsed\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">element\u003C/span>.\u003Cspan class=\"hljs-property\">dataset\u003C/span>.\u003Cspan class=\"hljs-property\">collapsed\u003C/span> = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">isCollapsed\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">updateDisplay\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">updateDisplay\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">isCollapsed\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">preview\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;block&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">fullContent\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;none&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">button\u003C/span>.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;+&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">button\u003C/span>.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-label&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;Expand quote&#x27;\u003C/span>);\n    } \u003Cspan class=\"hljs-keyword\">else\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">preview\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;none&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">fullContent\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;block&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">button\u003C/span>.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;−&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">button\u003C/span>.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-label&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;Collapse quote&#x27;\u003C/span>);\n    }\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">// Initialize all expandable blockquotes\u003C/span>\n\u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;DOMContentLoaded&#x27;\u003C/span>, \u003Cspan class=\"hljs-keyword\">function\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n  \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.expandable-quote&#x27;\u003C/span>).\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">quote\u003C/span> =&gt;\u003C/span> {\n    \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">ExpandableBlockquote\u003C/span>(quote);\n  });\n});\n\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">script\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">style\u003C/span>&gt;\u003C/span>\u003Cspan class=\"language-css\">\n\u003Cspan class=\"hljs-selector-class\">.expandable-quote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: \u003Cspan class=\"hljs-number\">2px\u003C/span> solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">8px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">overflow\u003C/span>: hidden;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.quote-header\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: flex;\n  \u003Cspan class=\"hljs-attribute\">justify-content\u003C/span>: space-between;\n  \u003Cspan class=\"hljs-attribute\">align-items\u003C/span>: center;\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color);\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: white;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.quote-header\u003C/span> \u003Cspan class=\"hljs-selector-tag\">h3\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: white;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.1rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.expand-button\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">0.2\u003C/span>);\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: white;\n  \u003Cspan class=\"hljs-attribute\">width\u003C/span>: \u003Cspan class=\"hljs-number\">30px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">height\u003C/span>: \u003Cspan class=\"hljs-number\">30px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">50%\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.2rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: bold;\n  \u003Cspan class=\"hljs-attribute\">cursor\u003C/span>: pointer;\n  \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: background-color \u003Cspan class=\"hljs-number\">0.2s\u003C/span> ease;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.expand-button\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:hover\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">255\u003C/span>, \u003Cspan class=\"hljs-number\">0.3\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-class\">.quote-preview\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.quote-full-content\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.quote-preview\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">font-style\u003C/span>: italic;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#6b7280\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span> dashed \u003Cspan class=\"hljs-number\">#d1d5db\u003C/span>;\n}\n\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">style\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch2 id=\"platform-specific-implementation\">Platform-Specific Implementation\u003C/h2>\n\u003Ch3 id=\"github-pages-and-jekyll-integration\">GitHub Pages and Jekyll Integration\u003C/h3>\n\u003Cp>Jekyll provides powerful templating for systematic blockquote management:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-liquid\">&lt;!-- _includes/blockquote.html --&gt;\n{% assign type = include.type | default: &quot;default&quot; %}\n{% assign author = include.author %}\n{% assign source = include.source %}\n{% assign url = include.url %}\n\n&lt;blockquote class=&quot;blockquote-{{ type }}&quot;&gt;\n  {% if include.title %}\n    &lt;h3&gt;{{ include.title }}&lt;/h3&gt;\n  {% endif %}\n  \n  &lt;div class=&quot;quote-content&quot;&gt;\n    {{ include.content | markdownify }}\n  &lt;/div&gt;\n  \n  {% if author or source %}\n    &lt;footer class=&quot;quote-attribution&quot;&gt;\n      {% if url %}\n        &lt;a href=&quot;{{ url }}&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;\n      {% endif %}\n      \n      {% if author %}\n        &lt;strong&gt;{{ author }}&lt;/strong&gt;\n      {% endif %}\n      \n      {% if author and source %}, {% endif %}\n      \n      {% if source %}\n        &lt;em&gt;{{ source }}&lt;/em&gt;\n      {% endif %}\n      \n      {% if url %}\n        &lt;/a&gt;\n      {% endif %}\n    &lt;/footer&gt;\n  {% endif %}\n&lt;/blockquote&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-liquid\">&lt;!-- _includes/testimonial.html --&gt;\n{% assign rating = include.rating | default: 5 %}\n\n&lt;blockquote class=&quot;testimonial-quote&quot;&gt;\n  &lt;div class=&quot;testimonial-content&quot;&gt;\n    {{ include.content | markdownify }}\n  &lt;/div&gt;\n  \n  &lt;div class=&quot;testimonial-rating&quot;&gt;\n    {% for i in (1..5) %}\n      {% if i &lt;= rating %}\n        &lt;span class=&quot;star filled&quot;&gt;★&lt;/span&gt;\n      {% else %}\n        &lt;span class=&quot;star&quot;&gt;☆&lt;/span&gt;\n      {% endif %}\n    {% endfor %}\n  &lt;/div&gt;\n  \n  &lt;footer class=&quot;testimonial-author&quot;&gt;\n    {% if include.image %}\n      &lt;img src=&quot;{{ include.image | relative_url }}&quot; alt=&quot;{{ include.name }}&quot; class=&quot;author-image&quot;&gt;\n    {% endif %}\n    \n    &lt;div class=&quot;author-info&quot;&gt;\n      &lt;div class=&quot;author-name&quot;&gt;{{ include.name }}&lt;/div&gt;\n      {% if include.position %}\n        &lt;div class=&quot;author-position&quot;&gt;{{ include.position }}&lt;/div&gt;\n      {% endif %}\n      {% if include.company %}\n        &lt;div class=&quot;author-company&quot;&gt;{{ include.company }}&lt;/div&gt;\n      {% endif %}\n    &lt;/div&gt;\n  &lt;/footer&gt;\n&lt;/blockquote&gt;\n\u003C/code>\u003C/pre>\u003Cp>\u003Cstrong>Usage in Content\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">{% include blockquote.html \n   type=&quot;success&quot;\n   title=&quot;Performance Improvement&quot;\n   author=&quot;John Smith&quot;\n   source=&quot;Database Optimization Guide&quot;\n   url=&quot;https://example.com/guide&quot;\n   content=&quot;After implementing the recommended indexing strategies, we saw a 60% improvement in query response times across our primary application endpoints.&quot; %}\n\n{% include testimonial.html\n   name=&quot;Sarah Wilson&quot;\n   position=&quot;Senior Developer&quot;\n   company=&quot;TechCorp Inc.&quot;\n   rating=5\n   image=&quot;/assets/images/testimonials/sarah-wilson.jpg&quot;\n   content=&quot;This documentation framework has transformed how our team creates and maintains technical specifications. The consistency and visual appeal have dramatically improved developer adoption.&quot; %}\n\u003C/code>\u003C/pre>\u003Ch3 id=\"hugo-shortcode-system\">Hugo Shortcode System\u003C/h3>\n\u003Cp>Hugo&#39;s shortcode system enables flexible blockquote components:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">&lt;!-- layouts/shortcodes/quote.html --&gt;\n{{ $type := .Get &quot;type&quot; | default &quot;default&quot; }}\n{{ $author := .Get &quot;author&quot; }}\n{{ $source := .Get &quot;source&quot; }}\n{{ $url := .Get &quot;url&quot; }}\n{{ $cite := .Get &quot;cite&quot; }}\n\n&lt;blockquote class=&quot;quote-{{ $type }}&quot;&gt;\n  {{ if .Get &quot;title&quot; }}\n    &lt;h3 class=&quot;quote-title&quot;&gt;{{ .Get &quot;title&quot; | markdownify }}&lt;/h3&gt;\n  {{ end }}\n  \n  &lt;div class=&quot;quote-body&quot;&gt;\n    {{ .Inner | markdownify }}\n  &lt;/div&gt;\n  \n  {{ if or $author $source $cite }}\n    &lt;footer class=&quot;quote-footer&quot;&gt;\n      {{ if $url }}\n        &lt;a href=&quot;{{ $url }}&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;\n      {{ end }}\n      \n      {{ if $author }}\n        &lt;span class=&quot;quote-author&quot;&gt;{{ $author }}&lt;/span&gt;\n      {{ end }}\n      \n      {{ if and $author $source }}\n        &lt;span class=&quot;quote-separator&quot;&gt;, &lt;/span&gt;\n      {{ end }}\n      \n      {{ if $source }}\n        &lt;cite class=&quot;quote-source&quot;&gt;{{ $source }}&lt;/cite&gt;\n      {{ end }}\n      \n      {{ if $cite }}\n        &lt;span class=&quot;quote-cite&quot;&gt;{{ $cite }}&lt;/span&gt;\n      {{ end }}\n      \n      {{ if $url }}\n        &lt;/a&gt;\n      {{ end }}\n    &lt;/footer&gt;\n  {{ end }}\n&lt;/blockquote&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">&lt;!-- layouts/shortcodes/callout.html --&gt;\n{{ $type := .Get &quot;type&quot; | default &quot;info&quot; }}\n{{ $icon := .Get &quot;icon&quot; }}\n{{ $title := .Get &quot;title&quot; }}\n\n{{ $iconMap := dict \n  &quot;info&quot; &quot;ℹ️&quot;\n  &quot;warning&quot; &quot;⚠️&quot;\n  &quot;success&quot; &quot;✅&quot;\n  &quot;error&quot; &quot;❌&quot;\n  &quot;tip&quot; &quot;💡&quot;\n  &quot;note&quot; &quot;📝&quot;\n}}\n\n{{ $defaultIcon := index $iconMap $type }}\n{{ $displayIcon := or $icon $defaultIcon }}\n\n&lt;blockquote class=&quot;callout callout-{{ $type }}&quot;&gt;\n  {{ if or $title $displayIcon }}\n    &lt;div class=&quot;callout-header&quot;&gt;\n      {{ if $displayIcon }}\n        &lt;span class=&quot;callout-icon&quot;&gt;{{ $displayIcon | safeHTML }}&lt;/span&gt;\n      {{ end }}\n      {{ if $title }}\n        &lt;span class=&quot;callout-title&quot;&gt;{{ $title | markdownify }}&lt;/span&gt;\n      {{ end }}\n    &lt;/div&gt;\n  {{ end }}\n  \n  &lt;div class=&quot;callout-content&quot;&gt;\n    {{ .Inner | markdownify }}\n  &lt;/div&gt;\n&lt;/blockquote&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">&lt;!-- layouts/shortcodes/comparison.html --&gt;\n{{ $before := .Get &quot;before&quot; | default &quot;Before&quot; }}\n{{ $after := .Get &quot;after&quot; | default &quot;After&quot; }}\n\n&lt;div class=&quot;comparison-container&quot;&gt;\n  &lt;div class=&quot;comparison-before&quot;&gt;\n    &lt;blockquote class=&quot;blockquote-error&quot;&gt;\n      &lt;h4&gt;{{ $before }}&lt;/h4&gt;\n      &lt;div class=&quot;comparison-content&quot;&gt;\n        {{ index .Params 0 | markdownify }}\n      &lt;/div&gt;\n    &lt;/blockquote&gt;\n  &lt;/div&gt;\n  \n  &lt;div class=&quot;comparison-arrow&quot;&gt;\n    &lt;span&gt;→&lt;/span&gt;\n  &lt;/div&gt;\n  \n  &lt;div class=&quot;comparison-after&quot;&gt;\n    &lt;blockquote class=&quot;blockquote-success&quot;&gt;\n      &lt;h4&gt;{{ $after }}&lt;/h4&gt;\n      &lt;div class=&quot;comparison-content&quot;&gt;\n        {{ index .Params 1 | markdownify }}\n      &lt;/div&gt;\n    &lt;/blockquote&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\u003C/code>\u003C/pre>\u003Cp>\u003Cstrong>Hugo Content Usage\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">{{&lt; quote type=&quot;pullquote&quot; author=&quot;Linus Torvalds&quot; source=&quot;Just for Fun: The Story of an Accidental Revolutionary&quot; &gt;}}\nSoftware is like sex: it&#x27;s better when it&#x27;s free.\n{{&lt; /quote &gt;}}\n\n{{&lt; callout type=&quot;warning&quot; title=&quot;Breaking Change&quot; icon=&quot;🚨&quot; &gt;}}\nThe authentication API endpoint structure has changed in version 2.0. Please review the migration guide before upgrading your integration.\n{{&lt; /callout &gt;}}\n\n{{&lt; comparison before=&quot;Poor Practice&quot; after=&quot;Best Practice&quot; &gt;}}\n\u003Cspan class=\"hljs-code\">```javascript\n// Callback hell with poor error handling\ngetData(function(a) {\n  getMoreData(a, function(b) {\n    getEvenMoreData(b, function(c) {\n      // Finally do something\n    });\n  });\n});\u003C/span>\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-javascript\">\u003Cspan class=\"hljs-comment\">// Clean async/await with proper error handling\u003C/span>\n\u003Cspan class=\"hljs-keyword\">try\u003C/span> {\n  \u003Cspan class=\"hljs-keyword\">const\u003C/span> a = \u003Cspan class=\"hljs-keyword\">await\u003C/span> \u003Cspan class=\"hljs-title function_\">getData\u003C/span>();\n  \u003Cspan class=\"hljs-keyword\">const\u003C/span> b = \u003Cspan class=\"hljs-keyword\">await\u003C/span> \u003Cspan class=\"hljs-title function_\">getMoreData\u003C/span>(a);\n  \u003Cspan class=\"hljs-keyword\">const\u003C/span> c = \u003Cspan class=\"hljs-keyword\">await\u003C/span> \u003Cspan class=\"hljs-title function_\">getEvenMoreData\u003C/span>(b);\n  \u003Cspan class=\"hljs-comment\">// Do something with c\u003C/span>\n} \u003Cspan class=\"hljs-keyword\">catch\u003C/span> (error) {\n  \u003Cspan class=\"hljs-title function_\">handleError\u003C/span>(error);\n}\n\u003C/code>\u003C/pre>\u003Cp>{{&lt; /comparison &gt;}}\u003C/p>\n\u003Cpre>\u003Ccode>\n\n### Obsidian Custom Blockquote Styling\n\nEnhanced blockquote styling for Obsidian knowledge management:\n\n```css\n/* obsidian-blockquotes.css */\n\n/* Override default Obsidian blockquote styling */\n.markdown-preview-view blockquote {\n  background: var(--background-secondary);\n  border-left: 4px solid var(--interactive-accent);\n  border-radius: 6px;\n  padding: 1rem 1.5rem;\n  margin: 1.5rem 0;\n  position: relative;\n  font-style: normal;\n}\n\n.markdown-preview-view blockquote::before {\n  content: &#39;&quot;&#39;;\n  font-size: 3rem;\n  color: var(--interactive-accent);\n  position: absolute;\n  top: -10px;\n  left: 10px;\n  opacity: 0.3;\n  font-family: var(--font-interface);\n}\n\n/* Callout-style blockquotes */\n.markdown-preview-view blockquote[data-callout] {\n  border: none;\n  border-radius: 8px;\n  padding: 0;\n  background: transparent;\n}\n\n.markdown-preview-view blockquote[data-callout]::before {\n  display: none;\n}\n\n.markdown-preview-view .callout {\n  border: 1px solid var(--background-modifier-border);\n  border-radius: 8px;\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.markdown-preview-view .callout-title {\n  background: var(--background-secondary);\n  padding: 0.75rem 1rem;\n  font-weight: 600;\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  border-bottom: 1px solid var(--background-modifier-border);\n}\n\n.markdown-preview-view .callout-content {\n  padding: 1rem;\n}\n\n/* Obsidian-specific callout types */\n.callout[data-callout=&quot;note&quot;] .callout-title {\n  background: rgba(8, 109, 221, 0.1);\n  color: rgb(8, 109, 221);\n}\n\n.callout[data-callout=&quot;tip&quot;] .callout-title {\n  background: rgba(0, 191, 165, 0.1);\n  color: rgb(0, 191, 165);\n}\n\n.callout[data-callout=&quot;warning&quot;] .callout-title {\n  background: rgba(255, 145, 0, 0.1);\n  color: rgb(255, 145, 0);\n}\n\n.callout[data-callout=&quot;danger&quot;] .callout-title {\n  background: rgba(233, 49, 71, 0.1);\n  color: rgb(233, 49, 71);\n}\n\n/* Source mode enhancements */\n.markdown-source-view.mod-cm6 .cm-blockquote {\n  border-left: 4px solid var(--interactive-accent);\n  padding-left: 1rem;\n  margin-left: 0;\n  font-style: italic;\n  color: var(--text-muted);\n}\n\n/* Graph view and linking */\n.markdown-preview-view blockquote .internal-link {\n  color: var(--link-color);\n  text-decoration: none;\n}\n\n.markdown-preview-view blockquote .internal-link:hover {\n  color: var(--link-color-hover);\n  text-decoration: underline;\n}\n\u003C/code>\u003C/pre>\u003Ch2 id=\"accessibility-implementation\">Accessibility Implementation\u003C/h2>\n\u003Ch3 id=\"screen-reader-optimization\">Screen Reader Optimization\u003C/h3>\n\u003Cp>Ensuring blockquotes are accessible to assistive technologies:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- Accessible blockquote with proper semantic markup --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">blockquote\u003C/span> \u003Cspan class=\"hljs-attr\">cite\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;https://example.com/source&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;complementary&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-labelledby\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;quote-title&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">h3\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;quote-title&quot;\u003C/span>&gt;\u003C/span>Database Performance Optimization\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">h3\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>The most significant performance improvements often come from understanding your data access patterns rather than adding more hardware. Proper indexing based on actual query patterns can yield 10x performance improvements.\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">footer\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">cite\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;https://example.com/author/jane-smith&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">rel\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;author&quot;\u003C/span>&gt;\u003C/span>Jane Smith\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>,\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;citation-source&quot;\u003C/span>&gt;\u003C/span>Database Systems: The Complete Book\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>,\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">time\u003C/span> \u003Cspan class=\"hljs-attr\">datetime\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;2024-03-15&quot;\u003C/span>&gt;\u003C/span>March 15, 2024\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">time\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">cite\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">footer\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">blockquote\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">&lt;!-- Screen reader friendly callout --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">blockquote\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;callout callout-warning&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;alert&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-labelledby\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;warning-title&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;callout-header&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;callout-icon&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>⚠️\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;warning-title&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;callout-title&quot;\u003C/span>&gt;\u003C/span>Security Warning\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;callout-content&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>Never store sensitive information like passwords or API keys in version control systems. Use environment variables or secure key management services instead.\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Security best practices&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Use environment variables for configuration\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Implement secrets management systems\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Regular security audits of repositories\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>Automated scanning for exposed credentials\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">blockquote\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">&lt;!-- Alternative text for visual elements --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">blockquote\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;testimonial-quote&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;testimonial-content&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>This framework has revolutionized our documentation workflow. The consistency and professional appearance have significantly improved developer adoption rates.\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;testimonial-rating&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;5 out of 5 stars&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;sr-only&quot;\u003C/span>&gt;\u003C/span>Rating: 5 out of 5 stars\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>★★★★★\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">footer\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;testimonial-author&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">img\u003C/span> \u003Cspan class=\"hljs-attr\">src\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/images/authors/mike-johnson.jpg&quot;\u003C/span> \n         \u003Cspan class=\"hljs-attr\">alt\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Mike Johnson, Lead Developer at InnovateTech Solutions&quot;\u003C/span> \n         \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;author-image&quot;\u003C/span>\n         \u003Cspan class=\"hljs-attr\">width\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;60&quot;\u003C/span> \n         \u003Cspan class=\"hljs-attr\">height\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;60&quot;\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;author-info&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;author-name&quot;\u003C/span>&gt;\u003C/span>Mike Johnson\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;author-position&quot;\u003C/span>&gt;\u003C/span>Lead Developer\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;author-company&quot;\u003C/span>&gt;\u003C/span>InnovateTech Solutions\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">footer\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">blockquote\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch3 id=\"high-contrast-and-low-vision-support\">High Contrast and Low Vision Support\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* High contrast support for accessibility */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">prefers-contrast\u003C/span>: high) {\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">border-left-width\u003C/span>: \u003Cspan class=\"hljs-number\">6px\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-number\">#000000\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#ffffff\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#000000\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">box-shadow\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">2px\u003C/span> \u003Cspan class=\"hljs-number\">#000000\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#000000\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">opacity\u003C/span>: \u003Cspan class=\"hljs-number\">0.8\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.blockquote-success\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-number\">#006600\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#e6ffe6\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.blockquote-warning\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-number\">#cc6600\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#fff5e6\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.blockquote-error\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">border-left-color\u003C/span>: \u003Cspan class=\"hljs-number\">#cc0000\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#ffe6e6\u003C/span>;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Reduced motion preferences */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">prefers-reduced-motion\u003C/span>: reduce) {\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: none;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.expandable-quote\u003C/span> \u003Cspan class=\"hljs-selector-class\">.expand-button\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: none;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.quote-hover-effects\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">transform\u003C/span>: none \u003Cspan class=\"hljs-meta\">!important\u003C/span>;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Large text support */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">min-resolution\u003C/span>: \u003Cspan class=\"hljs-number\">2dppx\u003C/span>) \u003Cspan class=\"hljs-keyword\">and\u003C/span> (\u003Cspan class=\"hljs-attribute\">prefers-reduced-transparency\u003C/span>: reduce) {\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.25rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">line-height\u003C/span>: \u003Cspan class=\"hljs-number\">1.8\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">5rem\u003C/span>;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Screen reader only content */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.sr-only\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: absolute;\n  \u003Cspan class=\"hljs-attribute\">width\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">height\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: -\u003Cspan class=\"hljs-number\">1px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">overflow\u003C/span>: hidden;\n  \u003Cspan class=\"hljs-attribute\">clip\u003C/span>: \u003Cspan class=\"hljs-built_in\">rect\u003C/span>(\u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>);\n  \u003Cspan class=\"hljs-attribute\">white-space\u003C/span>: nowrap;\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Focus indicators for keyboard navigation */\u003C/span>\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">a\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.expand-button\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">outline\u003C/span>: \u003Cspan class=\"hljs-number\">3px\u003C/span> solid \u003Cspan class=\"hljs-number\">#005fcc\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">outline-offset\u003C/span>: \u003Cspan class=\"hljs-number\">2px\u003C/span>;\n}\n\u003C/code>\u003C/pre>\u003Ch2 id=\"advanced-content-applications\">Advanced Content Applications\u003C/h2>\n\u003Ch3 id=\"technical-documentation-enhancement\">Technical Documentation Enhancement\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\"># API Documentation with Enhanced Blockquotes\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Authentication Endpoint\u003C/span>\n\n\u003Cspan class=\"hljs-section\">### Request Example\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; \u003Cspan class=\"hljs-strong\">**POST**\u003C/span> `/api/v2/auth/login`\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; \u003Cspan class=\"hljs-strong\">**Headers:**\u003C/span>\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; ```http\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; Content-Type: application/json\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; Accept: application/json\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; ```\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; \u003Cspan class=\"hljs-strong\">**Request Body:**\u003C/span>\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; ```json\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; {\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   &quot;email&quot;: &quot;developer@example.com&quot;,\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   &quot;password&quot;: &quot;secure\u003Cspan class=\"hljs-emphasis\">_password_\u003C/span>123&quot;,\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   &quot;remember\u003Cspan class=\"hljs-emphasis\">_me&quot;: true\n&gt; }\n&gt; ```\n\n### Success Response\n\n&gt; \u003Cspan class=\"hljs-strong\">**HTTP 200 OK**\u003C/span>\n&gt; \n&gt; ```json\n&gt; {\n&gt;   &quot;access_\u003C/span>token&quot;: &quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...&quot;,\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   &quot;token\u003Cspan class=\"hljs-emphasis\">_type&quot;: &quot;Bearer&quot;,\n&gt;   &quot;expires_\u003C/span>in&quot;: 3600,\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   &quot;refresh\u003Cspan class=\"hljs-emphasis\">_token&quot;: &quot;def502004d8f2a1b3c4e5f6g7h8i9j0k...&quot;,\n&gt;   &quot;user&quot;: {\n&gt;     &quot;id&quot;: &quot;uuid-string-here&quot;,\n&gt;     &quot;email&quot;: &quot;developer@example.com&quot;,\n&gt;     &quot;name&quot;: &quot;John Developer&quot;,\n&gt;     &quot;role&quot;: &quot;developer&quot;,\n&gt;     &quot;permissions&quot;: [&quot;read&quot;, &quot;write&quot;, &quot;admin&quot;]\n&gt;   }\n&gt; }\n&gt; ```\n&gt; \n&gt; &gt; \u003Cspan class=\"hljs-strong\">**Token Usage Note**\u003C/span>: Include the access token in the `Authorization` header for subsequent API calls:\n&gt; &gt; \n&gt; &gt; ```http\n&gt; &gt; Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\n&gt; &gt; ```\n\n### Error Response\n\n&gt; \u003Cspan class=\"hljs-strong\">**HTTP 401 Unauthorized**\u003C/span>\n&gt; \n&gt; ```json\n&gt; {\n&gt;   &quot;error&quot;: &quot;invalid_\u003C/span>credentials&quot;,\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   &quot;error\u003Cspan class=\"hljs-emphasis\">_description&quot;: &quot;The provided email and password combination is invalid.&quot;,\n&gt;   &quot;error_\u003C/span>code&quot;: &quot;AUTH\u003Cspan class=\"hljs-emphasis\">_001&quot;,\n&gt;   &quot;timestamp&quot;: &quot;2024-09-16T10:30:00Z&quot;,\n&gt;   &quot;request_\u003C/span>id&quot;: &quot;req\u003Cspan class=\"hljs-emphasis\">_1234567890abcdef&quot;\n&gt; }\n&gt; ```\n&gt; \n&gt; &gt; \u003Cspan class=\"hljs-strong\">**Security Notice**\u003C/span>: After 5 failed authentication attempts, the account will be temporarily locked for 15 minutes to prevent brute force attacks.\n\n## Best Practices Documentation\n\n### Code Review Guidelines\n\n&gt; ## Pull Request Standards\n&gt; \n&gt; Every pull request must meet the following criteria before approval:\n&gt; \n&gt; ### Code Quality Requirements\n&gt; - \u003Cspan class=\"hljs-strong\">**Test Coverage**\u003C/span>: Minimum 80% code coverage for new features\n&gt; - \u003Cspan class=\"hljs-strong\">**Documentation**\u003C/span>: All public APIs must include comprehensive documentation\n&gt; - \u003Cspan class=\"hljs-strong\">**Performance**\u003C/span>: No regression in application response times\n&gt; - \u003Cspan class=\"hljs-strong\">**Security**\u003C/span>: All user inputs must be validated and sanitized\n&gt; \n&gt; &gt; ### Automated Checks\n&gt; &gt; \n&gt; &gt; Our CI/CD pipeline automatically verifies:\n&gt; &gt; - Unit test execution and coverage reporting\n&gt; &gt; - Static code analysis with ESLint and SonarQube\n&gt; &gt; - Security vulnerability scanning with Snyk\n&gt; &gt; - Performance impact analysis with Lighthouse CI\n&gt; &gt; \n&gt; &gt; &gt; \u003Cspan class=\"hljs-strong\">**Manual Review Process**\u003C/span>\n&gt; &gt; &gt; \n&gt; &gt; &gt; Senior developers conduct manual reviews focusing on:\n&gt; &gt; &gt; - Architecture design and code organization\n&gt; &gt; &gt; - Business logic correctness and edge cases\n&gt; &gt; &gt; - User experience and accessibility considerations\n&gt; &gt; &gt; - Database performance and scalability impact\u003C/span>\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch3 id=\"tutorial-and-learning-content\">Tutorial and Learning Content\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\"># Database Design Tutorial with Progressive Examples\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Normalization Principles\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; ### First Normal Form (1NF)\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; \u003Cspan class=\"hljs-strong\">**Definition**\u003C/span>: Each column contains atomic values, and each column contains values of a single type.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; \u003Cspan class=\"hljs-strong\">**Bad Example**\u003C/span> ❌:\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; ```sql\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; CREATE TABLE employees (\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   id INT PRIMARY KEY,\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   name VARCHAR(100),\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   phone\u003Cspan class=\"hljs-emphasis\">_numbers VARCHAR(255) -- &quot;555-1234, 555-5678, 555-9012&quot;\n&gt; );\n&gt; ```\n&gt; \n&gt; \u003Cspan class=\"hljs-strong\">**Good Example**\u003C/span> ✅:\n&gt; ```sql\n&gt; CREATE TABLE employees (\n&gt;   id INT PRIMARY KEY,\n&gt;   name VARCHAR(100)\n&gt; );\n&gt; \n&gt; CREATE TABLE employee_\u003C/span>phones (\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   employee\u003Cspan class=\"hljs-emphasis\">_id INT,\n&gt;   phone_\u003C/span>number VARCHAR(20),\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;   phone\u003Cspan class=\"hljs-emphasis\">_type ENUM(&#x27;mobile&#x27;, &#x27;home&#x27;, &#x27;work&#x27;),\n&gt;   FOREIGN KEY (employee_\u003C/span>id) REFERENCES employees(id)\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; );\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; ```\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; &gt; \u003Cspan class=\"hljs-strong\">**Key Insight**\u003C/span>: Separating repeating groups into their own tables eliminates data duplication and makes queries more flexible and maintainable.\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Performance Optimization Strategies\u003C/span>\n\n\u003Cspan class=\"hljs-quote\">&gt; ### Index Design Best Practices\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; Understanding how database indexes work is crucial for application performance:\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; \n&gt; \u003Cspan class=\"hljs-strong\">**Composite Index Strategy**\u003C/span>:\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; ```sql\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; -- For queries filtering by status and created\u003Cspan class=\"hljs-emphasis\">_date\n&gt; CREATE INDEX idx_\u003C/span>orders\u003Cspan class=\"hljs-emphasis\">_status_\u003C/span>date ON orders(status, created\u003Cspan class=\"hljs-emphasis\">_date);\n&gt; \n&gt; -- This index efficiently supports these queries:\n&gt; SELECT * FROM orders WHERE status = &#x27;pending&#x27;;\n&gt; SELECT * FROM orders WHERE status = &#x27;pending&#x27; AND created_\u003C/span>date &gt; &#x27;2024-01-01&#x27;;\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; SELECT * FROM orders WHERE status = &#x27;pending&#x27; ORDER BY created\u003Cspan class=\"hljs-emphasis\">_date;\n&gt; ```\n&gt; \n&gt; &gt; \u003Cspan class=\"hljs-strong\">**Index Ordering Rule**\u003C/span>: Place the most selective columns first in composite indexes. Columns used in equality conditions should come before those used in range conditions.\n&gt; &gt; \n&gt; &gt; &gt; \u003Cspan class=\"hljs-strong\">**Performance Impact**\u003C/span>: Proper indexing can improve query performance by 10-100x, but each index adds overhead to INSERT/UPDATE operations. Monitor your specific use case and measure performance impact.\u003C/span>\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch2 id=\"integration-with-modern-workflows\">Integration with Modern Workflows\u003C/h2>\n\u003Cp>Blockquote techniques integrate seamlessly with comprehensive Markdown documentation systems. When combined with \u003Ca href=\"/blog/markdown-custom-css-classes-styling-complete-guide\">custom CSS classes and styling\u003C/a>, enhanced blockquotes create visually distinctive content sections that improve document scanability and professional presentation.\u003C/p>\n\u003Cp>For comprehensive project documentation, blockquote styling works effectively with \u003Ca href=\"/blog/markdown-table-column-width-alignment-complete-guide\">table formatting and column control\u003C/a> to create sophisticated layouts that present complex information in organized, accessible formats.\u003C/p>\n\u003Cp>When creating detailed technical specifications, blockquote enhancement complements \u003Ca href=\"/blog/markdown-emoji-guide-complete-reference\">emoji usage and visual indicators\u003C/a> to create engaging documentation that communicates information through both textual content and visual design elements.\u003C/p>\n\u003Ch2 id=\"performance-optimization\">Performance Optimization\u003C/h2>\n\u003Ch3 id=\"efficient-css-loading\">Efficient CSS Loading\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- Critical blockquote styles inlined --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">style\u003C/span>&gt;\u003C/span>\u003Cspan class=\"language-css\">\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#f8fafc\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span> solid \u003Cspan class=\"hljs-number\">#2563eb\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">font-family\u003C/span>: Georgia, serif;\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.125rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">line-height\u003C/span>: \u003Cspan class=\"hljs-number\">1.7\u003C/span>;\n  }\n\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">style\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">&lt;!-- Enhanced styles loaded asynchronously --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">link\u003C/span> \u003Cspan class=\"hljs-attr\">rel\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;preload&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/css/advanced-blockquotes.css&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">as\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;style&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">onload\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;this.onload=null;this.rel=&#x27;stylesheet&#x27;&quot;\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">noscript\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">link\u003C/span> \u003Cspan class=\"hljs-attr\">rel\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;stylesheet&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/css/advanced-blockquotes.css&quot;\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">noscript\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch3 id=\"javascript-performance-optimization\">JavaScript Performance Optimization\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-javascript\">\u003Cspan class=\"hljs-comment\">// Efficient blockquote enhancement with intersection observer\u003C/span>\n\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">BlockquoteManager\u003C/span> {\n  \u003Cspan class=\"hljs-title function_\">constructor\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">enhancedQuotes\u003C/span> = \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">Set\u003C/span>();\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">observer\u003C/span> = \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">IntersectionObserver\u003C/span>(\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">handleIntersection\u003C/span>.\u003Cspan class=\"hljs-title function_\">bind\u003C/span>(\u003Cspan class=\"hljs-variable language_\">this\u003C/span>),\n      { \u003Cspan class=\"hljs-attr\">rootMargin\u003C/span>: \u003Cspan class=\"hljs-string\">&#x27;50px&#x27;\u003C/span> }\n    );\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">init\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">init\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Only observe blockquotes that need enhancement\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;blockquote[data-enhance]&#x27;\u003C/span>).\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">quote\u003C/span> =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">observer\u003C/span>.\u003Cspan class=\"hljs-title function_\">observe\u003C/span>(quote);\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">handleIntersection\u003C/span>(\u003Cspan class=\"hljs-params\">entries\u003C/span>) {\n    entries.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">entry\u003C/span> =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">if\u003C/span> (entry.\u003Cspan class=\"hljs-property\">isIntersecting\u003C/span> &amp;&amp; !\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">enhancedQuotes\u003C/span>.\u003Cspan class=\"hljs-title function_\">has\u003C/span>(entry.\u003Cspan class=\"hljs-property\">target\u003C/span>)) {\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">enhanceBlockquote\u003C/span>(entry.\u003Cspan class=\"hljs-property\">target\u003C/span>);\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">enhancedQuotes\u003C/span>.\u003Cspan class=\"hljs-title function_\">add\u003C/span>(entry.\u003Cspan class=\"hljs-property\">target\u003C/span>);\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">observer\u003C/span>.\u003Cspan class=\"hljs-title function_\">unobserve\u003C/span>(entry.\u003Cspan class=\"hljs-property\">target\u003C/span>);\n      }\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">enhanceBlockquote\u003C/span>(\u003Cspan class=\"hljs-params\">element\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Add enhanced styling and functionality only when needed\u003C/span>\n    element.\u003Cspan class=\"hljs-property\">classList\u003C/span>.\u003Cspan class=\"hljs-title function_\">add\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;blockquote-enhanced&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-comment\">// Add expand/collapse functionality if specified\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (element.\u003Cspan class=\"hljs-property\">dataset\u003C/span>.\u003Cspan class=\"hljs-property\">expandable\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">addExpandFunctionality\u003C/span>(element);\n    }\n    \n    \u003Cspan class=\"hljs-comment\">// Add copy functionality for code quotes\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (element.\u003Cspan class=\"hljs-property\">dataset\u003C/span>.\u003Cspan class=\"hljs-property\">copyable\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">addCopyFunctionality\u003C/span>(element);\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">addExpandFunctionality\u003C/span>(\u003Cspan class=\"hljs-params\">element\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Implementation for expandable quotes\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> content = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.quote-content&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> preview = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.quote-preview&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (content &amp;&amp; preview) {\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> button = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">createElement\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;button&#x27;\u003C/span>);\n      button.\u003Cspan class=\"hljs-property\">className\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;quote-expand-btn&#x27;\u003C/span>;\n      button.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;Read more&#x27;\u003C/span>;\n      button.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">toggleExpand\u003C/span>(element));\n      \n      element.\u003Cspan class=\"hljs-title function_\">appendChild\u003C/span>(button);\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">addCopyFunctionality\u003C/span>(\u003Cspan class=\"hljs-params\">element\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Implementation for copy-to-clipboard\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> button = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">createElement\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;button&#x27;\u003C/span>);\n    button.\u003Cspan class=\"hljs-property\">className\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;quote-copy-btn&#x27;\u003C/span>;\n    button.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;Copy&#x27;\u003C/span>;\n    button.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">copyToClipboard\u003C/span>(element));\n    \n    element.\u003Cspan class=\"hljs-title function_\">appendChild\u003C/span>(button);\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">toggleExpand\u003C/span>(\u003Cspan class=\"hljs-params\">element\u003C/span>) {\n    element.\u003Cspan class=\"hljs-property\">classList\u003C/span>.\u003Cspan class=\"hljs-title function_\">toggle\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;expanded&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> button = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.quote-expand-btn&#x27;\u003C/span>);\n    button.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = element.\u003Cspan class=\"hljs-property\">classList\u003C/span>.\u003Cspan class=\"hljs-title function_\">contains\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;expanded&#x27;\u003C/span>) ? \u003Cspan class=\"hljs-string\">&#x27;Read less&#x27;\u003C/span> : \u003Cspan class=\"hljs-string\">&#x27;Read more&#x27;\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-keyword\">async\u003C/span> \u003Cspan class=\"hljs-title function_\">copyToClipboard\u003C/span>(\u003Cspan class=\"hljs-params\">element\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> text = element.\u003Cspan class=\"hljs-property\">textContent\u003C/span>.\u003Cspan class=\"hljs-title function_\">trim\u003C/span>();\n    \u003Cspan class=\"hljs-keyword\">try\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">await\u003C/span> navigator.\u003Cspan class=\"hljs-property\">clipboard\u003C/span>.\u003Cspan class=\"hljs-title function_\">writeText\u003C/span>(text);\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> button = element.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.quote-copy-btn&#x27;\u003C/span>);\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> originalText = button.\u003Cspan class=\"hljs-property\">textContent\u003C/span>;\n      button.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;Copied!&#x27;\u003C/span>;\n      \u003Cspan class=\"hljs-built_in\">setTimeout\u003C/span>(\u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> button.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = originalText, \u003Cspan class=\"hljs-number\">2000\u003C/span>);\n    } \u003Cspan class=\"hljs-keyword\">catch\u003C/span> (err) {\n      \u003Cspan class=\"hljs-variable language_\">console\u003C/span>.\u003Cspan class=\"hljs-title function_\">error\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;Failed to copy text: &#x27;\u003C/span>, err);\n    }\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">// Initialize when DOM is ready\u003C/span>\n\u003Cspan class=\"hljs-keyword\">if\u003C/span> (\u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-property\">readyState\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;loading&#x27;\u003C/span>) {\n  \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;DOMContentLoaded&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">BlockquoteManager\u003C/span>());\n} \u003Cspan class=\"hljs-keyword\">else\u003C/span> {\n  \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">BlockquoteManager\u003C/span>();\n}\n\u003C/code>\u003C/pre>\u003Ch2 id=\"troubleshooting-common-issues\">Troubleshooting Common Issues\u003C/h2>\n\u003Ch3 id=\"nested-blockquote-rendering-problems\">Nested Blockquote Rendering Problems\u003C/h3>\n\u003Cp>\u003Cstrong>Problem\u003C/strong>: Nested blockquotes not displaying properly with complex content\u003C/p>\n\u003Cp>\u003Cstrong>Solutions\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">&lt;!-- Ensure proper spacing in nested structures --&gt;\n\n\u003Cspan class=\"hljs-quote\">&gt; ## Primary Quote\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; This is the main blockquote content that provides context.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;\n&gt; &gt; ### Nested Commentary\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; This nested quote provides additional insight or commentary.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; \u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; #### Sub-commentary\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; &gt; Even deeper nesting with proper spacing maintained.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt;\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt; &gt; Back to the second level with clear separation.\u003C/span>\n\u003Cspan class=\"hljs-quote\">&gt;\n&gt; Back to the primary level with consistent formatting.\u003C/span>\n\n&lt;!-- Alternative: Use HTML for complex nesting --&gt;\n\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">blockquote\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;primary-quote&quot;\u003C/span>&gt;\u003C/span>\u003C/span>\n  \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">h2\u003C/span>&gt;\u003C/span>\u003C/span>Primary Quote\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">h2\u003C/span>&gt;\u003C/span>\u003C/span>\n  \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\u003C/span>This is the main blockquote content that provides context.\u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\u003C/span>\n  \n  \u003Cspan class=\"language-xml\">\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">blockquote\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nested-quote&quot;\u003C/span>&gt;\u003C/span>\u003C/span>\n\u003Cspan class=\"hljs-code\">    &lt;h3&gt;Nested Commentary&lt;/h3&gt;\n    &lt;p&gt;This nested quote provides additional insight or commentary.&lt;/p&gt;\n    \n    &lt;blockquote class=&quot;sub-nested-quote&quot;&gt;\n      &lt;h4&gt;Sub-commentary&lt;/h4&gt;\n      &lt;p&gt;Even deeper nesting with proper spacing maintained.&lt;/p&gt;\n    &lt;/blockquote&gt;\n    \n    &lt;p&gt;Back to the second level with clear separation.&lt;/p&gt;\n  &lt;/blockquote&gt;\n  \n  &lt;p&gt;Back to the primary level with consistent formatting.&lt;/p&gt;\n&lt;/blockquote&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch3 id=\"css-specificity-and-override-issues\">CSS Specificity and Override Issues\u003C/h3>\n\u003Cp>\u003Cstrong>Problem\u003C/strong>: Custom blockquote styles being overridden by theme or platform defaults\u003C/p>\n\u003Cp>\u003Cstrong>Solutions\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* Use higher specificity selectors */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.markdown-content\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.post-content\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>,\n\u003Cspan class=\"hljs-selector-tag\">article\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg-primary) \u003Cspan class=\"hljs-meta\">!important\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border-width) solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-primary-color) \u003Cspan class=\"hljs-meta\">!important\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-padding) \u003Cspan class=\"hljs-meta\">!important\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-margin) \u003Cspan class=\"hljs-meta\">!important\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Alternative: Use CSS custom properties for easier overrides */\u003C/span>\n\u003Cspan class=\"hljs-selector-pseudo\">:root\u003C/span> {\n  \u003Cspan class=\"hljs-attr\">--blockquote-bg\u003C/span>: \u003Cspan class=\"hljs-number\">#f8fafc\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-border\u003C/span>: \u003Cspan class=\"hljs-number\">#2563eb\u003C/span>;\n  \u003Cspan class=\"hljs-attr\">--blockquote-padding\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg);\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span> solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border);\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-padding);\n}\n\n\u003Cspan class=\"hljs-comment\">/* Platform-specific overrides */\u003C/span>\n\u003Cspan class=\"hljs-comment\">/* GitHub Pages */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.markdown-body\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg);\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span> solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border);\n}\n\n\u003Cspan class=\"hljs-comment\">/* GitLab */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.wiki\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.md\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg);\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span> solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border);\n}\n\n\u003Cspan class=\"hljs-comment\">/* Jekyll minima theme override */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.post-content\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-bg);\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span> solid \u003Cspan class=\"hljs-built_in\">var\u003C/span>(--blockquote-border);\n  \u003Cspan class=\"hljs-attribute\">font-style\u003C/span>: normal;\n}\n\u003C/code>\u003C/pre>\u003Ch3 id=\"mobile-responsiveness-challenges\">Mobile Responsiveness Challenges\u003C/h3>\n\u003Cp>\u003Cstrong>Problem\u003C/strong>: Blockquotes not displaying well on mobile devices\u003C/p>\n\u003Cp>\u003Cstrong>Solutions\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* Progressive enhancement for mobile */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">max-width\u003C/span>: \u003Cspan class=\"hljs-number\">480px\u003C/span>) {\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span> -\u003Cspan class=\"hljs-number\">1rem\u003C/span>; \u003Cspan class=\"hljs-comment\">/* Extend to screen edges */\u003C/span>\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">border-left-width\u003C/span>: \u003Cspan class=\"hljs-number\">3px\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>; \u003Cspan class=\"hljs-comment\">/* Remove border radius on mobile */\u003C/span>\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">2.5rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-comment\">/* Simplify nested quotes on mobile */\u003C/span>\n  \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> \u003Cspan class=\"hljs-selector-tag\">blockquote\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0.75rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0.75rem\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.9rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-comment\">/* Hide decorative elements on small screens */\u003C/span>\n  \u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.blockquote-pullquote\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">::after\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">display\u003C/span>: none;\n  }\n  \n  \u003Cspan class=\"hljs-comment\">/* Stack testimonial elements */\u003C/span>\n  \u003Cspan class=\"hljs-selector-class\">.testimonial-author\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">flex-direction\u003C/span>: column;\n    \u003Cspan class=\"hljs-attribute\">text-align\u003C/span>: center;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.author-image\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">align-self\u003C/span>: center;\n    \u003Cspan class=\"hljs-attribute\">margin-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  }\n}\n\u003C/code>\u003C/pre>\u003Ch2 id=\"conclusion\">Conclusion\u003C/h2>\n\u003Cp>Advanced blockquote techniques in Markdown transform basic quoted content into sophisticated, visually engaging elements that enhance document presentation and user experience. By mastering CSS integration, platform-specific implementations, and accessibility considerations, content creators can produce professional documentation that effectively communicates complex information while maintaining readability and visual appeal.\u003C/p>\n\u003Cp>The key to successful blockquote implementation lies in understanding the balance between visual enhancement and content clarity, ensuring that styling serves the content rather than overwhelming it. Whether you&#39;re creating API documentation, educational materials, or marketing content, the techniques covered in this guide provide the foundation for professional blockquote design that engages readers while maintaining accessibility standards.\u003C/p>\n\u003Cp>Remember to test your blockquote implementations across different platforms and devices, validate accessibility compliance with screen readers, and optimize for performance when using complex styling or interactive features. With proper advanced blockquote techniques, your Markdown content becomes more engaging, professional, and accessible to diverse audiences while maintaining the simplicity and portability that makes Markdown an ideal choice for content creation workflows.\u003C/p>\n",[15,19,22,25,28,31,34,37,40,43],{"id":16,"text":17,"level":18},"why-master-advanced-blockquote-techniques","Why Master Advanced Blockquote Techniques?",2,{"id":20,"text":21,"level":18},"basic-blockquote-foundation","Basic Blockquote Foundation",{"id":23,"text":24,"level":18},"advanced-css-styling-implementation","Advanced CSS Styling Implementation",{"id":26,"text":27,"level":18},"platform-specific-implementation","Platform-Specific Implementation",{"id":29,"text":30,"level":18},"accessibility-implementation","Accessibility Implementation",{"id":32,"text":33,"level":18},"advanced-content-applications","Advanced Content Applications",{"id":35,"text":36,"level":18},"integration-with-modern-workflows","Integration with Modern Workflows",{"id":38,"text":39,"level":18},"performance-optimization","Performance Optimization",{"id":41,"text":42,"level":18},"troubleshooting-common-issues","Troubleshooting Common Issues",{"id":44,"text":45,"level":18},"conclusion","Conclusion",[],[48,56,62],{"slug":49,"title":50,"description":51,"excerpt":52,"date":53,"category":9,"author":10,"keywords":54,"readingMinutes":55},"markdown-table-data-formatting-and-styling-complete-guide","Markdown Table Data Formatting and Styling: Complete Guide for Professional Data Presentation","Master advanced Markdown table data formatting techniques for professional presentations, including numeric formatting, data alignment, conditional styling, and responsive design patterns. Create publication-ready data tables with consistent styling.","Advanced Markdown table data formatting and styling enables professional data presentation that transforms raw information into comprehensible, visually appealing tables suitable for reports,…","2025-11-18","markdown table formatting, data presentation markdown, table styling, numeric formatting tables, markdown data visualization, professional table design, responsive markdown tables, table data alignment",16,{"slug":57,"title":50,"description":58,"excerpt":59,"date":60,"category":9,"author":10,"keywords":61,"readingMinutes":55},"markdown-table-data-formatting-styling-complete-guide","Master advanced Markdown table data formatting techniques including numerical alignment, data validation, conditional styling, and professional presentation patterns for enhanced readability and visual impact.","Advanced Markdown table data formatting and styling techniques enable professional data presentation that goes beyond basic tabular structures, incorporating sophisticated formatting patterns,…","2025-11-17","markdown table formatting, table data styling, markdown table alignment, data presentation markdown, table cell formatting, professional tables markdown, markdown table design, data visualization markdown",{"slug":63,"title":64,"description":65,"excerpt":66,"date":67,"category":9,"author":10,"keywords":68,"readingMinutes":69},"markdown-tables-advanced-features-and-styling-guide","Advanced Markdown Tables: Complete Guide to Formatting, Styling, and Enhanced Features","Master advanced Markdown table features including alignment, styling, complex data structures, and platform-specific enhancements. Learn professional table formatting for documentation and reports.","Tables are fundamental components of technical documentation, data presentation, and structured content. While basic Markdown table syntax is straightforward, advanced table features enable…","2025-08-24","markdown tables, markdown table formatting, advanced markdown tables, table alignment markdown, markdown table styling, complex markdown tables",13,1792184941898]