{"id":837,"date":"2026-08-01T17:09:31","date_gmt":"2026-08-01T17:09:31","guid":{"rendered":"https:\/\/freewebtools.co.in\/?page_id=837"},"modified":"2026-08-01T17:16:18","modified_gmt":"2026-08-01T17:16:18","slug":"master-document-generator","status":"publish","type":"page","link":"https:\/\/freewebtools.co.in\/index.php\/master-document-generator\/","title":{"rendered":"Master Document Generator"},"content":{"rendered":"\n<div id=\"master-suite-root\">\n    <style>\n        \/* RESET & MASTER VARIABLES *\/\n        #master-suite-root {\n            --ms-primary: #4f46e5;\n            --ms-primary-hover: #4338ca;\n            --ms-bg: #f8fafc;\n            --ms-surface: #ffffff;\n            --ms-text: #0f172a;\n            --ms-text-muted: #64748b;\n            --ms-border: #cbd5e1;\n            --ms-radius: 12px;\n            --ms-font: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n            \n            \/* Dynamic State Variables *\/\n            --ms-ink: #0f172a;\n            --ms-paper: #ffffff;\n            --ms-font-size: 15px;\n            --ms-line-height: 1.6;\n            --ms-margin: 25mm;\n            --ms-border-w: 0px;\n            --ms-border-c: #cbd5e1;\n            \n            font-family: var(--ms-font);\n            color: var(--ms-text);\n            background-color: var(--ms-bg);\n            line-height: 1.5;\n            box-sizing: border-box;\n            border-radius: 16px;\n            border: 1px solid var(--ms-border);\n            margin: 20px 0;\n            overflow: hidden;\n            contain: content;\n        }\n\n        #master-suite-root *, #master-suite-root *::before, #master-suite-root *::after {\n            box-sizing: inherit;\n            -webkit-font-smoothing: antialiased;\n        }\n\n        \/* STICKY MASTER TOOLBAR *\/\n        #master-suite-root .ms-toolbar {\n            position: sticky;\n            top: 0;\n            z-index: 100;\n            background: var(--ms-surface);\n            border-bottom: 1px solid var(--ms-border);\n            padding: 12px 20px;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            gap: 12px;\n            flex-wrap: wrap;\n            will-change: transform;\n        }\n\n        #master-suite-root .ms-brand {\n            font-weight: 700;\n            font-size: 16px;\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            color: var(--ms-primary);\n        }\n\n        #master-suite-root .ms-toolbar-group {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            flex-wrap: wrap;\n        }\n\n        #master-suite-root .ms-btn {\n            background: var(--ms-surface);\n            border: 1px solid var(--ms-border);\n            color: var(--ms-text);\n            padding: 7px 12px;\n            font-size: 12px;\n            font-weight: 600;\n            border-radius: 6px;\n            cursor: pointer;\n            transition: background 0.15s, border-color 0.15s, color 0.15s;\n            display: inline-flex;\n            align-items: center;\n            gap: 5px;\n            user-select: none;\n        }\n        #master-suite-root .ms-btn:hover {\n            background: var(--ms-bg);\n            border-color: var(--ms-primary);\n            color: var(--ms-primary);\n        }\n        #master-suite-root .ms-btn-primary {\n            background: var(--ms-primary);\n            color: white;\n            border: none;\n        }\n        #master-suite-root .ms-btn-primary:hover {\n            background: var(--ms-primary-hover);\n            color: white;\n        }\n\n        \/* STATUS BAR *\/\n        #master-suite-root .ms-statusbar {\n            background: #f1f5f9;\n            border-bottom: 1px solid var(--ms-border);\n            padding: 6px 20px;\n            font-size: 11px;\n            color: var(--ms-text-muted);\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            flex-wrap: wrap;\n            gap: 10px;\n        }\n\n        \/* RESPONSIVE LAYOUT *\/\n        #master-suite-root .ms-container {\n            display: grid;\n            grid-template-columns: 340px 1fr;\n            min-height: 82vh;\n            background: var(--ms-bg);\n        }\n\n        @media (max-width: 1024px) {\n            #master-suite-root .ms-container { grid-template-columns: 1fr; }\n        }\n\n        \/* SIDEBAR CONTROLS *\/\n        #master-suite-root .ms-sidebar {\n            background: var(--ms-surface);\n            border-right: 1px solid var(--ms-border);\n            padding: 20px;\n            display: flex;\n            flex-direction: column;\n            gap: 16px;\n            max-height: 82vh;\n            overflow-y: auto;\n            will-change: scroll-position;\n        }\n\n        #master-suite-root .ms-card {\n            background: var(--ms-surface);\n            border: 1px solid var(--ms-border);\n            border-radius: var(--ms-radius);\n            padding: 14px;\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n        }\n\n        #master-suite-root .ms-card-title {\n            font-size: 11px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            color: var(--ms-text-muted);\n        }\n\n        #master-suite-root .ms-group {\n            display: flex;\n            flex-direction: column;\n            gap: 4px;\n        }\n\n        #master-suite-root label {\n            font-size: 11px;\n            font-weight: 600;\n            color: var(--ms-text);\n        }\n\n        #master-suite-root select,\n        #master-suite-root input[type=\"text\"],\n        #master-suite-root input[type=\"color\"],\n        #master-suite-root textarea {\n            width: 100%;\n            padding: 6px 10px;\n            border: 1px solid var(--ms-border);\n            border-radius: 6px;\n            font-size: 12px;\n            font-family: inherit;\n            background: var(--ms-surface);\n            color: var(--ms-text);\n        }\n\n        #master-suite-root .ms-row {\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 8px;\n        }\n\n        \/* PREVIEW PANEL - COMPLIANT FLEX CONTAINER *\/\n        #master-suite-root .ms-preview-panel {\n            display: flex;\n            flex-direction: column;\n            justify-content: flex-start;\n            align-items: center;\n            width: 100%;\n            height: 100%;\n            max-height: 82vh;\n            overflow: auto;\n            position: relative;\n            box-sizing: border-box;\n            background: #cbd5e1;\n            padding: 30px;\n            will-change: scroll-position;\n        }\n\n        \/* SHEETS WRAPPER CONTAINER *\/\n        #master-suite-root #ms-sheets-container {\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            gap: 30px;\n            width: 100%;\n        }\n\n        \/* A4 PAGE SCALER WRAPPER *\/\n        #master-suite-root .ms-page-scaler {\n            width: 210mm;\n            height: 297mm;\n            flex-shrink: 0;\n            position: relative;\n            box-sizing: border-box;\n            margin: 0 auto;\n        }\n\n        \/* PERFECT A4 SHEET *\/\n        #master-suite-root .ms-page-sheet {\n            width: 210mm;\n            height: 297mm;\n            background-color: var(--ms-paper);\n            color: var(--ms-ink);\n            box-shadow: 0 10px 30px rgba(0,0,0,0.12);\n            padding: var(--ms-margin);\n            box-sizing: border-box;\n            position: absolute;\n            top: 0;\n            left: 0;\n            display: flex;\n            flex-direction: column;\n            justify-content: space-between;\n            border: var(--ms-border-w) solid var(--ms-border-c);\n            transform-origin: top left;\n            word-wrap: break-word;\n            overflow-wrap: break-word;\n        }\n\n        #master-suite-root .ms-page-content {\n            outline: none;\n            flex: 1;\n            font-size: var(--ms-font-size);\n            line-height: var(--ms-line-height);\n            word-break: break-word;\n            overflow-wrap: break-word;\n            position: relative;\n            z-index: 2;\n        }\n\n        #master-suite-root .ms-page-content img,\n        #master-suite-root .ms-page-content table {\n            max-width: 100%;\n            height: auto;\n        }\n\n        #master-suite-root .ms-header-area {\n            font-size: 12px;\n            color: var(--ms-text-muted);\n            border-bottom: 1px solid var(--ms-border);\n            padding-bottom: 6px;\n            margin-bottom: 12px;\n            display: flex;\n            justify-content: space-between;\n            z-index: 2;\n        }\n\n        #master-suite-root .ms-footer-area {\n            font-size: 12px;\n            color: var(--ms-text-muted);\n            border-top: 1px solid var(--ms-border);\n            padding-top: 6px;\n            margin-top: 12px;\n            display: flex;\n            justify-content: space-between;\n            z-index: 2;\n        }\n\n        \/* PRINT MEDIA STYLING *\/\n        @media print {\n            body * { visibility: hidden; }\n            #master-suite-root, #master-suite-root .ms-page-sheet {\n                visibility: visible;\n                position: absolute;\n                left: 0; top: 0;\n                box-shadow: none;\n                margin: 0;\n                width: 210mm;\n                height: 297mm;\n                transform: none !important;\n            }\n            #master-suite-root .ms-toolbar,\n            #master-suite-root .ms-statusbar,\n            #master-suite-root .ms-sidebar,\n            #master-suite-root .ms-page-scaler {\n                display: none !important;\n            }\n        }\n    <\/style>\n\n    <!-- MASTER TOOLBAR -->\n    <header class=\"ms-toolbar\">\n        <div class=\"ms-brand\">\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1-2-2.5Z\"\/><path d=\"M6 6h10M6 10h10\"\/><\/svg>\n            Master Document &#038; Notebook Studio\n        <\/div>\n        <div class=\"ms-toolbar-group\">\n            <button type=\"button\" class=\"ms-btn\" id=\"ms-btn-zoom-in\">Zoom +<\/button>\n            <button type=\"button\" class=\"ms-btn\" id=\"ms-btn-zoom-out\">Zoom &#8211;<\/button>\n            <select id=\"ms-select-zoom\" class=\"ms-btn\" style=\"padding: 6px 10px;\">\n                <option value=\"fit\">Fit To Screen<\/option>\n                <option value=\"width\">Fit To Width<\/option>\n                <option value=\"height\">Fit To Height<\/option>\n                <option value=\"1\">100%<\/option>\n                <option value=\"1.25\">125%<\/option>\n                <option value=\"1.5\">150%<\/option>\n                <option value=\"1.75\">175%<\/option>\n                <option value=\"2\">200%<\/option>\n            <\/select>\n            <button type=\"button\" class=\"ms-btn ms-btn-primary\" id=\"ms-btn-print\">Print \/ PDF<\/button>\n            <button type=\"button\" class=\"ms-btn\" id=\"ms-btn-html\">HTML<\/button>\n            <button type=\"button\" class=\"ms-btn\" id=\"ms-btn-json\">JSON<\/button>\n            <button type=\"button\" class=\"ms-btn\" id=\"ms-btn-add-page\">+ Add Page<\/button>\n        <\/div>\n    <\/header>\n\n    <!-- STATUS \/ STATS BAR -->\n    <div class=\"ms-statusbar\">\n        <div>\n            Words: <strong id=\"ms-stat-words\">0<\/strong> | Characters: <strong id=\"ms-stat-chars\">0<\/strong> | Pages: <strong id=\"ms-stat-pages\">1<\/strong>\n        <\/div>\n        <div>\n            <span id=\"ms-autosave-status\" style=\"color: #10b981; font-weight: 600;\">Optimized &#038; Synced<\/span>\n        <\/div>\n    <\/div>\n\n    <!-- MAIN CONTAINER -->\n    <div class=\"ms-container\">\n        <!-- SIDEBAR CONTROLS -->\n        <aside class=\"ms-sidebar\">\n            <div class=\"ms-card\">\n                <div class=\"ms-card-title\">Template &#038; Ruling<\/div>\n                <div class=\"ms-group\">\n                    <label for=\"ms-select-style\">Notebook \/ Page Style<\/label>\n                    <select id=\"ms-select-style\">\n                        <option value=\"single\">Single Line<\/option>\n                        <option value=\"college\">College Ruled<\/option>\n                        <option value=\"wide\">Wide Ruled<\/option>\n                        <option value=\"graph\">Graph Paper Grid<\/option>\n                        <option value=\"dot\">Dot Grid<\/option>\n                        <option value=\"plain\">Plain White<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n\n            <div class=\"ms-card\">\n                <div class=\"ms-card-title\">Ink &#038; Paper Styling<\/div>\n                <div class=\"ms-row\">\n                    <div class=\"ms-group\">\n                        <label for=\"ms-input-ink\">Ink Color<\/label>\n                        <input type=\"color\" id=\"ms-input-ink\" value=\"#0f172a\">\n                    <\/div>\n                    <div class=\"ms-group\">\n                        <label for=\"ms-input-paper\">Paper Color<\/label>\n                        <input type=\"color\" id=\"ms-input-paper\" value=\"#ffffff\">\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"ms-card\">\n                <div class=\"ms-card-title\">Header &#038; Footer<\/div>\n                <div class=\"ms-group\">\n                    <label for=\"ms-input-header\">Header Text<\/label>\n                    <input type=\"text\" id=\"ms-input-header\" value=\"Master Studio Document\">\n                <\/div>\n                <div class=\"ms-group\">\n                    <label for=\"ms-input-footer\">Footer Text<\/label>\n                    <input type=\"text\" id=\"ms-input-footer\" value=\"Professional Edition\">\n                <\/div>\n            <\/div>\n        <\/aside>\n\n        <!-- PREVIEW PANEL -->\n        <main class=\"ms-preview-panel\" id=\"ms-preview-panel\">\n            <div id=\"ms-sheets-container\">\n                <!-- SHEET 1 -->\n                <div class=\"ms-page-scaler\">\n                    <div class=\"ms-page-sheet\" id=\"ms-sheet-1\">\n                        <div class=\"ms-header-area\"><span>Master Studio Document<\/span><span>August 2026<\/span><\/div>\n                        <div class=\"ms-page-content\" contenteditable=\"true\">\n                            <h2>Optimized Master Document<\/h2>\n                            <p>Welcome to the fully optimized, zero-memory-leak, high-performance rendering engine. Edit this page seamlessly. All changes are debounced and saved automatically.<\/p>\n                        <\/div>\n                        <div class=\"ms-footer-area\"><span>Professional Edition<\/span><span class=\"ms-page-num\">Page 1 of 1<\/span><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/main>\n    <\/div>\n\n    <script>\n        (function() {\n            'use strict';\n\n            const previewPanel = document.getElementById('ms-preview-panel');\n            const container = document.getElementById('ms-sheets-container');\n            const statWords = document.getElementById('ms-stat-words');\n            const statChars = document.getElementById('ms-stat-chars');\n            const statPages = document.getElementById('ms-stat-pages');\n            const autosaveStatus = document.getElementById('ms-autosave-status');\n\n            const styleSelect = document.getElementById('ms-select-style');\n            const inkInput = document.getElementById('ms-input-ink');\n            const paperInput = document.getElementById('ms-input-paper');\n            const headerInput = document.getElementById('ms-input-header');\n            const footerInput = document.getElementById('ms-input-footer');\n            const zoomSelect = document.getElementById('ms-select-zoom');\n\n            let currentZoomMode = 'fit';\n\n            \/\/ Restore from LocalStorage safely\n            try {\n                const saved = localStorage.getItem('ms_session_data');\n                if (saved) {\n                    container.innerHTML = saved;\n                    autosaveStatus.textContent = \"Session Restored\";\n                }\n            } catch(e) {}\n\n            \/\/ Professional Responsive Scaling Engine\n            function updateScaling() {\n                requestAnimationFrame(() => {\n                    const scalers = container.querySelectorAll('.ms-page-scaler');\n                    if (scalers.length === 0) return;\n\n                    \/\/ Exact A4 dimensions in pixels at 96 DPI (210mm x 297mm)\n                    const paperWidthPx = 210 * 3.7795275591;\n                    const paperHeightPx = 297 * 3.7795275591;\n\n                    const availableWidth = previewPanel.clientWidth - 40;\n                    const availableHeight = previewPanel.clientHeight - 40;\n\n                    let scale = 1;\n                    if (currentZoomMode === 'fit') {\n                        const scaleX = availableWidth \/ paperWidthPx;\n                        const scaleY = availableHeight \/ paperHeightPx;\n                        scale = Math.min(scaleX, scaleY, 1);\n                        scale = Math.max(scale, 0.2);\n                    } else if (currentZoomMode === 'width') {\n                        scale = availableWidth \/ paperWidthPx;\n                        scale = Math.max(scale, 0.2);\n                    } else if (currentZoomMode === 'height') {\n                        scale = availableHeight \/ paperHeightPx;\n                        scale = Math.max(scale, 0.2);\n                    } else {\n                        scale = parseFloat(currentZoomMode);\n                    }\n\n                    scalers.forEach(scaler => {\n                        scaler.style.width = (paperWidthPx * scale) + 'px';\n                        scaler.style.height = (paperHeightPx * scale) + 'px';\n\n                        const sheet = scaler.querySelector('.ms-page-sheet');\n                        if (sheet) {\n                            sheet.style.transform = `scale(${scale})`;\n                        }\n                    });\n                });\n            }\n\n            \/\/ Debounced Update Engine\n            let debounceTimer = null;\n            function triggerUpdate() {\n                clearTimeout(debounceTimer);\n                debounceTimer = setTimeout(() => {\n                    performOptimizationPass();\n                }, 150);\n            }\n\n            function performOptimizationPass() {\n                const sheets = container.querySelectorAll('.ms-page-sheet');\n                let fullText = \"\";\n                \n                sheets.forEach((sheet, idx) => {\n                    const content = sheet.querySelector('.ms-page-content');\n                    if (content) fullText += content.innerText + \" \";\n                    \n                    const pageNum = sheet.querySelector('.ms-page-num');\n                    if (pageNum) pageNum.textContent = `Page ${idx + 1} of ${sheets.length}`;\n\n                    const header = sheet.querySelector('.ms-header-area span:first-child');\n                    if (header) header.textContent = headerInput.value;\n\n                    const footer = sheet.querySelector('.ms-footer-area span:first-child');\n                    if (footer) footer.textContent = footerInput.value;\n\n                    \/\/ Apply styles\n                    sheet.style.backgroundColor = paperInput.value;\n                    sheet.style.color = inkInput.value;\n\n                    const st = styleSelect.value;\n                    if (st === 'single') {\n                        sheet.style.backgroundImage = 'linear-gradient(to bottom, transparent 27px, #93c5fd 27px)';\n                        sheet.style.backgroundSize = '100% 28px';\n                    } else if (st === 'college') {\n                        sheet.style.backgroundImage = 'linear-gradient(to bottom, transparent 26px, #60a5fa 26px)';\n                        sheet.style.backgroundSize = '100% 27px';\n                    } else if (st === 'wide') {\n                        sheet.style.backgroundImage = 'linear-gradient(to bottom, transparent 32px, #60a5fa 32px)';\n                        sheet.style.backgroundSize = '100% 33px';\n                    } else if (st === 'graph') {\n                        sheet.style.backgroundImage = 'linear-gradient(to right, #e2e8f0 1px, transparent 1px), linear-gradient(to bottom, #e2e8f0 1px, transparent 1px)';\n                        sheet.style.backgroundSize = '20px 20px';\n                    } else if (st === 'dot') {\n                        sheet.style.backgroundImage = 'radial-gradient(#94a3b8 1.5px, transparent 1.5px)';\n                        sheet.style.backgroundSize = '20px 20px';\n                    } else {\n                        sheet.style.backgroundImage = 'none';\n                    }\n                });\n\n                const words = fullText.trim() ? fullText.trim().split(\/\\s+\/).length : 0;\n                const chars = fullText.length;\n\n                statWords.textContent = words;\n                statChars.textContent = chars;\n                statPages.textContent = sheets.length;\n\n                updateScaling();\n\n                \/\/ Save to LocalStorage safely\n                try {\n                    localStorage.setItem('ms_session_data', container.innerHTML);\n                    autosaveStatus.textContent = \"Optimized & Synced\";\n                } catch(e) {}\n            }\n\n            \/\/ Event Listeners\n            container.addEventListener('input', triggerUpdate);\n            [styleSelect, inkInput, paperInput, headerInput, footerInput].forEach(el => {\n                el.addEventListener('input', triggerUpdate);\n                el.addEventListener('change', triggerUpdate);\n            });\n\n            \/\/ Zoom controls\n            zoomSelect.addEventListener('change', (e) => {\n                currentZoomMode = e.target.value;\n                updateScaling();\n            });\n\n            document.getElementById('ms-btn-zoom-in').addEventListener('click', () => {\n                let currentVal = (currentZoomMode === 'fit' || currentZoomMode === 'width' || currentZoomMode === 'height') ? 1 : parseFloat(currentZoomMode);\n                currentVal = Math.min(currentVal + 0.25, 2.0);\n                currentZoomMode = currentVal.toString();\n                zoomSelect.value = currentZoomMode;\n                updateScaling();\n            });\n\n            document.getElementById('ms-btn-zoom-out').addEventListener('click', () => {\n                let currentVal = (currentZoomMode === 'fit' || currentZoomMode === 'width' || currentZoomMode === 'height') ? 1 : parseFloat(currentZoomMode);\n                currentVal = Math.max(currentVal - 0.25, 0.5);\n                currentZoomMode = currentVal.toString();\n                zoomSelect.value = currentZoomMode;\n                updateScaling();\n            });\n\n            window.addEventListener('resize', updateScaling);\n            if (window.ResizeObserver) {\n                const resizeObserver = new ResizeObserver(() => {\n                    updateScaling();\n                });\n                resizeObserver.observe(previewPanel);\n            }\n\n            \/\/ Action Buttons\n            document.getElementById('ms-btn-print').addEventListener('click', () => window.print());\n            document.getElementById('ms-btn-html').addEventListener('click', () => {\n                const blob = new Blob([container.innerHTML], { type: 'text\/html' });\n                const a = document.createElement('a');\n                a.href = URL.createObjectURL(blob);\n                a.download = 'master_document.html';\n                a.click();\n            });\n            document.getElementById('ms-btn-json').addEventListener('click', () => {\n                const data = [];\n                container.querySelectorAll('.ms-page-content').forEach(c => data.push(c.innerHTML));\n                const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application\/json' });\n                const a = document.createElement('a');\n                a.href = URL.createObjectURL(blob);\n                a.download = 'master_document.json';\n                a.click();\n            });\n            document.getElementById('ms-btn-add-page').addEventListener('click', () => {\n                const newScaler = document.createElement('div');\n                newScaler.className = 'ms-page-scaler';\n                newScaler.innerHTML = `\n                    <div class=\"ms-page-sheet\">\n                        <div class=\"ms-header-area\"><span>${headerInput.value}<\/span><span>August 2026<\/span><\/div>\n                        <div class=\"ms-page-content\" contenteditable=\"true\"><p>New optimized page content...<\/p><\/div>\n                        <div class=\"ms-footer-area\"><span>${footerInput.value}<\/span><span class=\"ms-page-num\">Page 2<\/span><\/div>\n                    <\/div>\n                `;\n                container.appendChild(newScaler);\n                triggerUpdate();\n            });\n\n            performOptimizationPass();\n        })();\n    <\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Master Document &#038; Notebook Studio Zoom + Zoom &#8211; Fit To ScreenFit To WidthFit To Height100%125%150%175%200% Print \/ PDF HTML JSON + Add Page Words: 0 | Characters: 0 | Pages: 1 Optimized &#038; Synced Template &#038; Ruling Notebook \/ Page Style Single LineCollege RuledWide RuledGraph Paper GridDot GridPlain White Ink &#038; Paper Styling Ink [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-837","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages\/837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/comments?post=837"}],"version-history":[{"count":3,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages\/837\/revisions"}],"predecessor-version":[{"id":840,"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/pages\/837\/revisions\/840"}],"wp:attachment":[{"href":"https:\/\/freewebtools.co.in\/index.php\/wp-json\/wp\/v2\/media?parent=837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}