{"id":343,"date":"2022-08-27T18:00:20","date_gmt":"2022-08-27T18:00:20","guid":{"rendered":"http:\/\/raigadexplore.in\/Bhajan_Sangrah\/?page_id=343"},"modified":"2026-09-10T17:44:30","modified_gmt":"2026-09-10T17:44:30","slug":"gavlani-sangrah","status":"publish","type":"page","link":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/","title":{"rendered":"Gavlani Sangrah"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><\/h3>\n\n\n\n<!-- ==========================================\n     GAVLANI SANGRAH\n     Mobile Friendly + Search + Sort + Pagination\n     Based on working Gajar implementation\n     ========================================== -->\n\n<style>\n\n#bs-gavlani-container {\n    max-width: 1100px;\n    margin: 0 auto;\n    padding: 10px 12px 35px;\n    box-sizing: border-box;\n}\n\n\/* =========================\n   HEADER\n   ========================= *\/\n\n.bs-gavlani-header {\n    text-align: center;\n    margin-bottom: 18px;\n}\n\n.bs-gavlani-header h1 {\n    margin: 0;\n    font-size: 28px;\n    line-height: 1.3;\n    color: #222;\n    font-weight: 700;\n}\n\n.bs-gavlani-header p {\n    margin: 6px 0 0;\n    color: #777;\n    font-size: 14px;\n}\n\n\n\/* =========================\n   SEARCH\n   ========================= *\/\n\n.bs-gavlani-search {\n    position: sticky;\n    top: 5px;\n    z-index: 20;\n\n    max-width: 700px;\n    margin: 0 auto 22px;\n\n    display: flex;\n    gap: 8px;\n\n    background: #fff;\n    padding: 6px;\n\n    border-radius: 12px;\n\n    box-shadow:\n        0 3px 12px rgba(0,0,0,0.12);\n}\n\n.bs-gavlani-search input {\n    flex: 1;\n    min-width: 0;\n\n    height: 46px;\n\n    padding: 0 14px;\n\n    border: 1px solid #ddd;\n    border-radius: 8px;\n\n    font-size: 16px;\n    outline: none;\n}\n\n.bs-gavlani-search input:focus {\n    border-color: #087f5b;\n}\n\n.bs-gavlani-search button {\n    height: 46px;\n\n    padding: 0 18px;\n\n    border: 0;\n    border-radius: 8px;\n\n    background: #087f5b;\n    color: #fff;\n\n    font-size: 15px;\n    font-weight: 700;\n\n    cursor: pointer;\n}\n\n.bs-gavlani-search button:disabled {\n    opacity: .6;\n    cursor: default;\n}\n\n\n\/* =========================\n   TOOLBAR\n   ========================= *\/\n\n.bs-gavlani-toolbar {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n\n    gap: 10px;\n    flex-wrap: wrap;\n\n    max-width: 700px;\n    margin: 0 auto 16px;\n}\n\n.bs-gavlani-count {\n    font-size: 13px;\n    color: #666;\n    font-weight: 600;\n}\n\n.bs-gavlani-count strong {\n    color: #222;\n}\n\n.bs-gavlani-toolbar-actions {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    flex-wrap: wrap;\n}\n\n\n\/* SORT *\/\n\n.bs-gavlani-sort-select {\n    height: 38px;\n\n    padding: 0 10px;\n\n    border: 1px solid #ddd;\n    border-radius: 8px;\n\n    background: #fff;\n    color: #222;\n\n    font-size: 13px;\n    font-weight: 600;\n\n    cursor: pointer;\n    outline: none;\n}\n\n.bs-gavlani-sort-select:focus {\n    border-color: #087f5b;\n}\n\n\n\/* CLEAR *\/\n\n.bs-gavlani-clear-btn {\n    height: 38px;\n\n    padding: 0 14px;\n\n    border: 1px solid #087f5b;\n    border-radius: 8px;\n\n    background: #fff;\n    color: #087f5b;\n\n    font-size: 13px;\n    font-weight: 700;\n\n    cursor: pointer;\n\n    display: none;\n\n    align-items: center;\n    gap: 4px;\n}\n\n.bs-gavlani-clear-btn.bs-gavlani-visible {\n    display: inline-flex;\n}\n\n.bs-gavlani-clear-btn:hover {\n    background: #eef8f4;\n}\n\n\n\/* =========================\n   ACTIVE FILTER\n   ========================= *\/\n\n.bs-gavlani-active-filter {\n    max-width: 700px;\n    margin: -8px auto 16px;\n\n    font-size: 13px;\n    color: #555;\n\n    display: none;\n}\n\n.bs-gavlani-active-filter.bs-gavlani-visible {\n    display: block;\n}\n\n.bs-gavlani-active-filter strong {\n    color: #087f5b;\n}\n\n\n\/* =========================\n   POST GRID\n   ========================= *\/\n\n.bs-gavlani-grid {\n    display: grid;\n\n    grid-template-columns:\n        repeat(2, minmax(0, 1fr));\n\n    gap: 12px;\n\n    min-height: 120px;\n\n    position: relative;\n}\n\n\n\/* =========================\n   POST CARD\n   ========================= *\/\n\n.bs-gavlani-card {\n    display: flex;\n    align-items: center;\n\n    gap: 12px;\n\n    min-height: 92px;\n\n    padding: 9px;\n\n    box-sizing: border-box;\n\n    background: #fff;\n\n    border: 1px solid #e3e3e3;\n    border-radius: 12px;\n\n    text-decoration: none !important;\n    color: inherit !important;\n\n    box-shadow:\n        0 2px 7px rgba(0,0,0,0.07);\n\n    transition:\n        transform .2s ease,\n        box-shadow .2s ease,\n        border-color .2s ease;\n}\n\n.bs-gavlani-card:hover {\n    transform: translateY(-2px);\n\n    border-color: #087f5b;\n\n    box-shadow:\n        0 5px 14px rgba(0,0,0,0.13);\n}\n\n\n\/* =========================\n   IMAGE\n   ========================= *\/\n\n.bs-gavlani-image-wrap {\n    width: 105px;\n    height: 78px;\n\n    flex-shrink: 0;\n\n    border-radius: 8px;\n\n    background: #f1f1f1;\n\n    overflow: hidden;\n\n    display: flex;\n\n    align-items: center;\n    justify-content: center;\n}\n\n.bs-gavlani-image {\n    width: 100%;\n    height: 100%;\n\n    object-fit: contain;\n\n    display: block;\n}\n\n\n\/* =========================\n   CONTENT\n   ========================= *\/\n\n.bs-gavlani-content {\n    flex: 1;\n    min-width: 0;\n}\n\n.bs-gavlani-title {\n    font-size: 18px;\n\n    font-weight: 700;\n\n    line-height: 1.35;\n\n    color: #222;\n\n    display: -webkit-box;\n\n    -webkit-line-clamp: 2;\n\n    -webkit-box-orient: vertical;\n\n    overflow: hidden;\n}\n\n.bs-gavlani-category {\n    margin-top: 6px;\n\n    font-size: 12px;\n\n    color: #777;\n}\n\n\n\/* =========================\n   ARROW\n   ========================= *\/\n\n.bs-gavlani-arrow {\n    flex-shrink: 0;\n\n    width: 32px;\n    height: 32px;\n\n    border-radius: 50%;\n\n    display: flex;\n\n    align-items: center;\n    justify-content: center;\n\n    background: #087f5b;\n\n    color: #fff;\n\n    font-size: 20px;\n\n    font-weight: bold;\n}\n\n\n\/* =========================\n   LOADING\n   ========================= *\/\n\n.bs-gavlani-loading {\n    text-align: center;\n\n    padding: 35px;\n\n    color: #777;\n\n    font-size: 15px;\n\n    grid-column: 1 \/ -1;\n}\n\n\n\/* =========================\n   NO RESULTS\n   ========================= *\/\n\n.bs-gavlani-no-results {\n    text-align: center;\n\n    padding: 30px 15px;\n\n    background: #eef8f4;\n\n    border-radius: 10px;\n\n    color: #555;\n\n    grid-column: 1 \/ -1;\n}\n\n\n\/* =========================\n   PAGINATION\n   ========================= *\/\n\n.bs-gavlani-pagination {\n    display: flex;\n\n    align-items: center;\n    justify-content: center;\n\n    gap: 10px;\n\n    margin-top: 20px;\n\n    flex-wrap: wrap;\n}\n\n.bs-gavlani-pagination button {\n    height: 40px;\n\n    min-width: 40px;\n\n    padding: 0 14px;\n\n    border: 1px solid #ddd;\n\n    border-radius: 8px;\n\n    background: #fff;\n\n    color: #222;\n\n    font-size: 14px;\n\n    font-weight: 600;\n\n    cursor: pointer;\n}\n\n.bs-gavlani-pagination button:hover:not(:disabled) {\n    border-color: #087f5b;\n}\n\n.bs-gavlani-pagination button:disabled {\n    opacity: .4;\n    cursor: default;\n}\n\n.bs-gavlani-pagination button.bs-gavlani-page-active {\n    background: #087f5b;\n\n    border-color: #087f5b;\n\n    color: #fff;\n}\n\n.bs-gavlani-page-info {\n    font-size: 13px;\n\n    color: #777;\n\n    margin: 0 4px;\n}\n\n\n\/* =========================\n   MOBILE\n   ========================= *\/\n\n@media (max-width:700px) {\n\n    #bs-gavlani-container {\n        padding-left: 8px;\n        padding-right: 8px;\n    }\n\n    .bs-gavlani-grid {\n        grid-template-columns: 1fr;\n\n        gap: 9px;\n    }\n\n    .bs-gavlani-card {\n        min-height: 82px;\n\n        padding: 8px;\n\n        gap: 10px;\n\n        border-radius: 10px;\n    }\n\n    .bs-gavlani-image-wrap {\n        width: 82px;\n        height: 65px;\n\n        border-radius: 7px;\n    }\n\n    .bs-gavlani-title {\n        font-size: 16px;\n\n        line-height: 1.3;\n    }\n\n    .bs-gavlani-category {\n        margin-top: 4px;\n\n        font-size: 11px;\n    }\n\n    .bs-gavlani-arrow {\n        width: 28px;\n        height: 28px;\n\n        font-size: 17px;\n    }\n\n    .bs-gavlani-header h1 {\n        font-size: 24px;\n    }\n\n    .bs-gavlani-toolbar {\n        justify-content: center;\n\n        text-align: center;\n    }\n\n    .bs-gavlani-toolbar-actions {\n        justify-content: center;\n\n        width: 100%;\n    }\n\n    .bs-gavlani-sort-select {\n        flex: 1;\n\n        min-width: 0;\n    }\n\n}\n\n\n\/* =========================\n   SMALL MOBILE\n   ========================= *\/\n\n@media (max-width:380px) {\n\n    .bs-gavlani-image-wrap {\n        width: 72px;\n        height: 58px;\n    }\n\n    .bs-gavlani-title {\n        font-size: 15px;\n    }\n\n    .bs-gavlani-arrow {\n        width: 25px;\n        height: 25px;\n\n        font-size: 15px;\n    }\n\n}\n\n<\/style>\n\n\n<div id=\"bs-gavlani-container\">\n\n\n    <!-- =========================\n         HEADER\n         ========================= -->\n\n    <div class=\"bs-gavlani-header\">\n\n        <h1>\n            \ud83c\udfb5 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939\n        <\/h1>\n\n        <p>\n            \u0938\u0930\u094d\u0935 \u0917\u0935\u0933\u0923\u0940 \u090f\u0915\u093e\u091a \u0920\u093f\u0915\u093e\u0923\u0940\n        <\/p>\n\n    <\/div>\n\n\n    <!-- =========================\n         SEARCH\n         ========================= -->\n\n    <div class=\"bs-gavlani-search\">\n\n        <input\n            type=\"search\"\n            id=\"bsGavlaniSearch\"\n            placeholder=\"\u0917\u0935\u0933\u0923\u0940 \u0936\u094b\u0927\u093e...\"\n            autocomplete=\"off\"\n        >\n\n        <button\n            type=\"button\"\n            id=\"bsGavlaniSearchBtn\"\n        >\n            \ud83d\udd0d \u0936\u094b\u0927\u093e\n        <\/button>\n\n    <\/div>\n\n\n    <!-- =========================\n         TOOLBAR\n         ========================= -->\n\n    <div class=\"bs-gavlani-toolbar\">\n\n        <div\n            class=\"bs-gavlani-count\"\n            id=\"bsGavlaniCount\"\n        >\n            \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230;\n        <\/div>\n\n\n        <div class=\"bs-gavlani-toolbar-actions\">\n\n            <select\n                class=\"bs-gavlani-sort-select\"\n                id=\"bsGavlaniSort\"\n            >\n\n                <option value=\"date_desc\">\n                    \ud83d\udd52 \u0928\u0935\u0940\u0928 \u0906\u0927\u0940\n                <\/option>\n\n                <option value=\"date_asc\">\n                    \ud83d\udd52 \u091c\u0941\u0928\u0947 \u0906\u0927\u0940\n                <\/option>\n\n                <option value=\"title_asc\">\n                    \ud83d\udd24 \u0905 \u0924\u0947 \u091c\u094d\u091e\n                <\/option>\n\n                <option value=\"title_desc\">\n                    \ud83d\udd24 \u091c\u094d\u091e \u0924\u0947 \u0905\n                <\/option>\n\n            <\/select>\n\n\n            <button\n                type=\"button\"\n                class=\"bs-gavlani-clear-btn\"\n                id=\"bsGavlaniClearBtn\"\n            >\n                \u2715 \u092b\u093f\u0932\u094d\u091f\u0930 \u0938\u093e\u092b \u0915\u0930\u093e\n            <\/button>\n\n        <\/div>\n\n    <\/div>\n\n\n    <!-- =========================\n         ACTIVE FILTER\n         ========================= -->\n\n    <div\n        class=\"bs-gavlani-active-filter\"\n        id=\"bsGavlaniActiveFilter\"\n    ><\/div>\n\n\n    <!-- =========================\n         POSTS\n         ========================= -->\n\n    <div\n        id=\"bsGavlaniPosts\"\n        class=\"bs-gavlani-grid\"\n    >\n\n        <div class=\"bs-gavlani-loading\">\n            \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230;\n        <\/div>\n\n    <\/div>\n\n\n    <!-- =========================\n         PAGINATION\n         ========================= -->\n\n    <div\n        id=\"bsGavlaniPagination\"\n        class=\"bs-gavlani-pagination\"\n        style=\"display:none;\"\n    ><\/div>\n\n\n<\/div>\n\n\n<script>\n\n(function () {\n\n    \"use strict\";\n\n\n    \/* ==================================================\n       CONFIGURATION\n\n       IMPORTANT:\n       Same WordPress installation path as your\n       working Gajar code.\n       ================================================== *\/\n\n    const API_BASE =\n        \"\/Bhajan_Sangrah\/wp-json\/wp\/v2\/\";\n\n\n    const POSTS_PER_PAGE = 10;\n\n\n    const DEFAULT_SORT =\n        \"date_desc\";\n\n\n    \/*\n     * Gavlani category is discovered automatically\n     * using its slug.\n     *\n     * Therefore we do NOT need to guess the\n     * Gavlani category ID.\n     *\/\n\n\n    \/* ==================================================\n       ELEMENTS\n       ================================================== *\/\n\n    const postsContainer =\n        document.getElementById(\n            \"bsGavlaniPosts\"\n        );\n\n\n    const paginationContainer =\n        document.getElementById(\n            \"bsGavlaniPagination\"\n        );\n\n\n    const searchInput =\n        document.getElementById(\n            \"bsGavlaniSearch\"\n        );\n\n\n    const searchButton =\n        document.getElementById(\n            \"bsGavlaniSearchBtn\"\n        );\n\n\n    const countElement =\n        document.getElementById(\n            \"bsGavlaniCount\"\n        );\n\n\n    const sortSelect =\n        document.getElementById(\n            \"bsGavlaniSort\"\n        );\n\n\n    const clearButton =\n        document.getElementById(\n            \"bsGavlaniClearBtn\"\n        );\n\n\n    const activeFilterElement =\n        document.getElementById(\n            \"bsGavlaniActiveFilter\"\n        );\n\n\n    \/* ==================================================\n       STATE\n       ================================================== *\/\n\n    let gavlaniCategoryID = null;\n\n    let currentPage = 1;\n\n    let totalPages = 1;\n\n    let totalPosts = 0;\n\n    let currentSearch = \"\";\n\n    let currentSort =\n        DEFAULT_SORT;\n\n    let requestToken = 0;\n\n\n    \/* ==================================================\n       SORT MAP\n\n       Same method as working Gajar code.\n       ================================================== *\/\n\n    const SORT_MAP = {\n\n        date_desc: {\n            orderby: \"date\",\n            order: \"desc\"\n        },\n\n        date_asc: {\n            orderby: \"date\",\n            order: \"asc\"\n        },\n\n        title_asc: {\n            orderby: \"title\",\n            order: \"asc\"\n        },\n\n        title_desc: {\n            orderby: \"title\",\n            order: \"desc\"\n        }\n\n    };\n\n\n    \/* ==================================================\n       LOADING\n       ================================================== *\/\n\n    function showLoading() {\n\n        postsContainer.innerHTML = `\n\n            <div\n                class=\"bs-gavlani-loading\"\n            >\n                \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924...\n            <\/div>\n\n        `;\n\n        paginationContainer.style.display =\n            \"none\";\n\n    }\n\n\n    \/* ==================================================\n       FIND GAVLANI CATEGORY\n       ================================================== *\/\n\n    async function findGavlaniCategory() {\n\n        const url =\n            API_BASE +\n            \"categories?slug=gavlani\";\n\n\n        const response =\n            await fetch(url);\n\n\n        if (!response.ok) {\n\n            throw new Error(\n                \"Unable to load categories\"\n            );\n\n        }\n\n\n        const categories =\n            await response.json();\n\n\n        if (!categories.length) {\n\n            throw new Error(\n                \"Gavlani category was not found\"\n            );\n\n        }\n\n\n        return categories[0];\n\n    }\n\n\n    \/* ==================================================\n       LOAD POSTS\n       ================================================== *\/\n\n    async function loadGavlaniPosts(page) {\n\n        const myToken =\n            ++requestToken;\n\n\n        showLoading();\n\n\n        try {\n\n            \/*\n             * Find category if it has not\n             * already been found.\n             *\/\n\n            if (!gavlaniCategoryID) {\n\n                const category =\n                    await findGavlaniCategory();\n\n\n                gavlaniCategoryID =\n                    category.id;\n\n            }\n\n\n            const sort =\n                SORT_MAP[currentSort]\n                ||\n                SORT_MAP[DEFAULT_SORT];\n\n\n            \/*\n             * Build API URL.\n             *\/\n\n            let url =\n                API_BASE +\n                \"posts\" +\n                \"?categories=\" +\n                gavlaniCategoryID +\n                \"&per_page=\" +\n                POSTS_PER_PAGE +\n                \"&page=\" +\n                page +\n                \"&orderby=\" +\n                sort.orderby +\n                \"&order=\" +\n                sort.order +\n                \"&_embed\";\n\n\n            \/*\n             * SERVER-SIDE SEARCH\n             *\n             * This is the important part.\n             *\n             * It follows the same approach as\n             * your working Gajar code.\n             *\/\n\n            if (currentSearch) {\n\n                url +=\n                    \"&search=\" +\n                    encodeURIComponent(\n                        currentSearch\n                    );\n\n            }\n\n\n            console.log(\n                \"Gavlani API:\",\n                url\n            );\n\n\n            const response =\n                await fetch(url);\n\n\n            \/*\n             * Ignore old response if another\n             * search has already started.\n             *\/\n\n            if (\n                myToken !== requestToken\n            ) {\n\n                return;\n\n            }\n\n\n            \/*\n             * WordPress returns 400 when the\n             * requested page is outside range.\n             *\/\n\n            if (\n                response.status === 400\n            ) {\n\n                totalPosts = 0;\n\n                totalPages = 1;\n\n                renderNoResults();\n\n                renderCount();\n\n                return;\n\n            }\n\n\n            if (!response.ok) {\n\n                throw new Error(\n                    \"Unable to load Gavlani posts\"\n                );\n\n            }\n\n\n            \/*\n             * WordPress gives total results\n             * in response headers.\n             *\/\n\n            totalPages =\n                parseInt(\n                    response.headers.get(\n                        \"X-WP-TotalPages\"\n                    ),\n                    10\n                ) || 1;\n\n\n            totalPosts =\n                parseInt(\n                    response.headers.get(\n                        \"X-WP-Total\"\n                    ),\n                    10\n                ) || 0;\n\n\n            const posts =\n                await response.json();\n\n\n            if (\n                myToken !== requestToken\n            ) {\n\n                return;\n\n            }\n\n\n            currentPage =\n                page;\n\n\n            renderPosts(posts);\n\n            renderPagination();\n\n            renderCount();\n\n            renderActiveFilter();\n\n        }\n\n        catch (error) {\n\n            if (\n                myToken !== requestToken\n            ) {\n\n                return;\n\n            }\n\n\n            console.error(\n                \"Gavlani loading error:\",\n                error\n            );\n\n\n            postsContainer.innerHTML = `\n\n                <div\n                    class=\"bs-gavlani-no-results\"\n                >\n\n                    \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0915\u0930\u0924\u093e \u0906\u0932\u094d\u092f\u093e \u0928\u093e\u0939\u0940\u0924.\n\n                    <br><br>\n\n                    \u0915\u0943\u092a\u092f\u093e \u092a\u0941\u0928\u094d\u0939\u093e \u092a\u094d\u0930\u092f\u0924\u094d\u0928 \u0915\u0930\u093e.\n\n                <\/div>\n\n            `;\n\n\n            countElement.textContent =\n                \"\u26a0\ufe0f \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0915\u0930\u0924\u093e \u0906\u0932\u094d\u092f\u093e \u0928\u093e\u0939\u0940\u0924\";\n\n        }\n\n    }\n\n\n    \/* ==================================================\n       COUNT\n       ================================================== *\/\n\n    function renderCount() {\n\n        if (totalPosts === 0) {\n\n            countElement.innerHTML =\n                \"<strong>0<\/strong> \u0917\u0935\u0933\u0923\u0940 \u0938\u093e\u092a\u0921\u0932\u094d\u092f\u093e\";\n\n        }\n\n        else {\n\n            countElement.innerHTML =\n                \"\u090f\u0915\u0942\u0923 <strong>\" +\n                totalPosts +\n                \"<\/strong> \u0917\u0935\u0933\u0923\u0940\";\n\n        }\n\n    }\n\n\n    \/* ==================================================\n       ACTIVE FILTER\n       ================================================== *\/\n\n    function renderActiveFilter() {\n\n        const hasSearch =\n            !!currentSearch;\n\n\n        const hasSort =\n            currentSort !==\n            DEFAULT_SORT;\n\n\n        if (\n            !hasSearch &&\n            !hasSort\n        ) {\n\n            activeFilterElement\n                .classList\n                .remove(\n                    \"bs-gavlani-visible\"\n                );\n\n\n            clearButton\n                .classList\n                .remove(\n                    \"bs-gavlani-visible\"\n                );\n\n\n            return;\n\n        }\n\n\n        const sortLabels = {\n\n            date_desc:\n                \"\u0928\u0935\u0940\u0928 \u0906\u0927\u0940\",\n\n            date_asc:\n                \"\u091c\u0941\u0928\u0947 \u0906\u0927\u0940\",\n\n            title_asc:\n                \"\u0905 \u0924\u0947 \u091c\u094d\u091e\",\n\n            title_desc:\n                \"\u091c\u094d\u091e \u0924\u0947 \u0905\"\n\n        };\n\n\n        let parts = [];\n\n\n        if (hasSearch) {\n\n            parts.push(\n                '\u0936\u094b\u0927: <strong>\"' +\n                escapeHTML(\n                    currentSearch\n                ) +\n                '\"<\/strong>'\n            );\n\n        }\n\n\n        if (hasSort) {\n\n            parts.push(\n                \"\u0915\u094d\u0930\u092e: <strong>\" +\n                sortLabels[currentSort] +\n                \"<\/strong>\"\n            );\n\n        }\n\n\n        activeFilterElement.innerHTML =\n            \"\u0938\u0927\u094d\u092f\u093e\u091a\u0947 \u092b\u093f\u0932\u094d\u091f\u0930 \u2014 \" +\n            parts.join(\" | \");\n\n\n        activeFilterElement\n            .classList\n            .add(\n                \"bs-gavlani-visible\"\n            );\n\n\n        clearButton\n            .classList\n            .add(\n                \"bs-gavlani-visible\"\n            );\n\n    }\n\n\n    \/* ==================================================\n       ESCAPE HTML\n       ================================================== *\/\n\n    function escapeHTML(value) {\n\n        const div =\n            document.createElement(\n                \"div\"\n            );\n\n\n        div.textContent =\n            value || \"\";\n\n\n        return div.innerHTML;\n\n    }\n\n\n    \/* ==================================================\n       NO RESULTS\n       ================================================== *\/\n\n    function renderNoResults() {\n\n        postsContainer.innerHTML = `\n\n            <div\n                class=\"bs-gavlani-no-results\"\n            >\n\n                \u0938\u0927\u094d\u092f\u093e \u0915\u094b\u0923\u0924\u0940\u0939\u0940 \u0917\u0935\u0933\u0923\u0940 \u0909\u092a\u0932\u092c\u094d\u0927 \u0928\u093e\u0939\u0940.\n\n            <\/div>\n\n        `;\n\n\n        paginationContainer.style.display =\n            \"none\";\n\n    }\n\n\n    \/* ==================================================\n       GET FEATURED IMAGE\n       ================================================== *\/\n\n    function getFeaturedImage(post) {\n\n        try {\n\n            if (\n                post._embedded &&\n                post._embedded[\n                    \"wp:featuredmedia\"\n                ] &&\n                post._embedded[\n                    \"wp:featuredmedia\"\n                ][0]\n            ) {\n\n                return post._embedded[\n                    \"wp:featuredmedia\"\n                ][0].source_url;\n\n            }\n\n        }\n\n        catch (error) {\n\n            console.log(\n                \"Image error:\",\n                error\n            );\n\n        }\n\n\n        return \"\";\n\n    }\n\n\n    \/* ==================================================\n       RENDER POSTS\n       ================================================== *\/\n\n    function renderPosts(posts) {\n\n        if (!posts.length) {\n\n            renderNoResults();\n\n            return;\n\n        }\n\n\n        postsContainer.innerHTML =\n            posts.map(\n                function(post, index) {\n\n\n                    const imageURL =\n                        getFeaturedImage(\n                            post\n                        );\n\n\n                    \/*\n                     * WordPress REST API returns\n                     * title.rendered as HTML.\n                     *\n                     * This is intentionally kept\n                     * for Marathi titles.\n                     *\/\n\n                    const title =\n                        post.title &&\n                        post.title.rendered\n                            ? post.title.rendered\n                            : \"\u0917\u0935\u0933\u0923\u0940\";\n\n\n                    const postURL =\n                        post.link;\n\n\n                    const imageHTML =\n                        imageURL\n\n                        ?\n\n                        `\n\n                        <div\n                            class=\"bs-gavlani-image-wrap\"\n                        >\n\n                            <img decoding=\"async\"\n                                class=\"bs-gavlani-image\"\n                                src=\"${imageURL}\"\n                                alt=\"${escapeHTML(title)}\"\n                                loading=\"lazy\"\n                            >\n\n                        <\/div>\n\n                        `\n\n                        :\n\n                        `\n\n                        <div\n                            class=\"bs-gavlani-image-wrap\"\n                        >\n\n                            <div\n                                style=\"\n                                    font-size:12px;\n                                    color:#999;\n                                \"\n                            >\n                                \u0917\u0935\u0933\u0923\u0940\n                            <\/div>\n\n                        <\/div>\n\n                        `;\n\n\n                    return `\n\n                        <a\n                            class=\"bs-gavlani-card\"\n                            href=\"${postURL}\"\n                        >\n\n                            ${imageHTML}\n\n\n                            <div\n                                class=\"bs-gavlani-content\"\n                            >\n\n                                <div\n                                    class=\"bs-gavlani-title\"\n                                >\n                                    ${title}\n                                <\/div>\n\n\n                                <div\n                                    class=\"bs-gavlani-category\"\n                                >\n                                    \ud83d\udcc1 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939\n                                <\/div>\n\n                            <\/div>\n\n\n                            <div\n                                class=\"bs-gavlani-arrow\"\n                            >\n                                \u203a\n                            <\/div>\n\n                        <\/a>\n\n                    `;\n\n                }\n            ).join(\"\");\n\n    }\n\n\n    \/* ==================================================\n       PAGINATION\n       ================================================== *\/\n\n    function renderPagination() {\n\n        if (\n            totalPages <= 1\n        ) {\n\n            paginationContainer.style.display =\n                \"none\";\n\n            return;\n\n        }\n\n\n        let html = \"\";\n\n\n        \/*\n         * PREVIOUS\n         *\/\n\n        html += `\n\n            <button\n                ${\n                    currentPage === 1\n                        ? \"disabled\"\n                        : \"\"\n                }\n\n                onclick=\"\n                    bsGavlaniGoToPage(\n                        ${currentPage - 1}\n                    )\n                \"\n            >\n                \u2039 \u092e\u093e\u0917\u0947\n            <\/button>\n\n        `;\n\n\n        \/*\n         * PAGE NUMBERS\n         *\/\n\n        let start =\n            Math.max(\n                1,\n                currentPage - 2\n            );\n\n\n        let end =\n            Math.min(\n                totalPages,\n                start + 4\n            );\n\n\n        start =\n            Math.max(\n                1,\n                end - 4\n            );\n\n\n        if (start > 1) {\n\n            html += `\n\n                <button\n                    onclick=\"\n                        bsGavlaniGoToPage(1)\n                    \"\n                >\n                    1\n                <\/button>\n\n            `;\n\n\n            if (start > 2) {\n\n                html += `\n                    <span\n                        class=\"bs-gavlani-page-info\"\n                    >\n                        \u2026\n                    <\/span>\n                `;\n\n            }\n\n        }\n\n\n        for (\n            let p = start;\n            p <= end;\n            p++\n        ) {\n\n            html += `\n\n                <button\n                    class=\"${\n                        p === currentPage\n                            ? \"bs-gavlani-page-active\"\n                            : \"\"\n                    }\"\n\n                    onclick=\"\n                        bsGavlaniGoToPage(\n                            ${p}\n                        )\n                    \"\n                >\n                    ${p}\n                <\/button>\n\n            `;\n\n        }\n\n\n        if (\n            end < totalPages\n        ) {\n\n            if (\n                end <\n                totalPages - 1\n            ) {\n\n                html += `\n                    <span\n                        class=\"bs-gavlani-page-info\"\n                    >\n                        \u2026\n                    <\/span>\n                `;\n\n            }\n\n\n            html += `\n\n                <button\n                    onclick=\"\n                        bsGavlaniGoToPage(\n                            ${totalPages}\n                        )\n                    \"\n                >\n                    ${totalPages}\n                <\/button>\n\n            `;\n\n        }\n\n\n        \/*\n         * NEXT\n         *\/\n\n        html += `\n\n            <button\n                ${\n                    currentPage === totalPages\n                        ? \"disabled\"\n                        : \"\"\n                }\n\n                onclick=\"\n                    bsGavlaniGoToPage(\n                        ${currentPage + 1}\n                    )\n                \"\n            >\n                \u092a\u0941\u0922\u0947 \u203a\n            <\/button>\n\n        `;\n\n\n        paginationContainer.innerHTML =\n            html;\n\n\n        paginationContainer.style.display =\n            \"flex\";\n\n    }\n\n\n    \/* ==================================================\n       PAGE NAVIGATION\n       ================================================== *\/\n\n    window.bsGavlaniGoToPage =\n        function(page) {\n\n            if (\n                page < 1 ||\n                page > totalPages ||\n                page === currentPage\n            ) {\n\n                return;\n\n            }\n\n\n            loadGavlaniPosts(page);\n\n\n            postsContainer.scrollIntoView({\n                behavior: \"smooth\",\n                block: \"start\"\n            });\n\n        };\n\n\n    \/* ==================================================\n       SEARCH\n       ================================================== *\/\n\n    let searchTimer = null;\n\n\n    function performSearch() {\n\n        currentSearch =\n            searchInput.value.trim();\n\n\n        loadGavlaniPosts(1);\n\n    }\n\n\n    searchButton.addEventListener(\n        \"click\",\n        performSearch\n    );\n\n\n    searchInput.addEventListener(\n        \"input\",\n        function() {\n\n            clearTimeout(\n                searchTimer\n            );\n\n\n            searchTimer =\n                setTimeout(\n                    performSearch,\n                    400\n                );\n\n        }\n    );\n\n\n    searchInput.addEventListener(\n        \"keydown\",\n        function(event) {\n\n            if (\n                event.key === \"Enter\"\n            ) {\n\n                event.preventDefault();\n\n                clearTimeout(\n                    searchTimer\n                );\n\n                performSearch();\n\n            }\n\n        }\n    );\n\n\n    \/* ==================================================\n       SORT\n       ================================================== *\/\n\n    sortSelect.addEventListener(\n        \"change\",\n        function() {\n\n            currentSort =\n                sortSelect.value;\n\n\n            loadGavlaniPosts(1);\n\n        }\n    );\n\n\n    \/* ==================================================\n       CLEAR\n       ================================================== *\/\n\n    clearButton.addEventListener(\n        \"click\",\n        function() {\n\n            searchInput.value =\n                \"\";\n\n            currentSearch =\n                \"\";\n\n            sortSelect.value =\n                DEFAULT_SORT;\n\n            currentSort =\n                DEFAULT_SORT;\n\n            loadGavlaniPosts(1);\n\n        }\n    );\n\n\n    \/* ==================================================\n       START\n       ================================================== *\/\n\n    loadGavlaniPosts(1);\n\n\n})();\n\n<\/script>\n\n\n\n<div class=\"nav-options-container\">\n  <!-- Home Page Navigation Button -->\n  <a href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\" class=\"nav-card home-card\">\n    <div class=\"nav-icon\">\n      <svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" fill=\"currentColor\">\n        <path d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\/>\n      <\/svg>\n    <\/div>\n    <div class=\"nav-text\">\n      <span class=\"nav-title\">\u092e\u0941\u0916\u094d\u092f \u092a\u0943\u0937\u094d\u0920 (Home)<\/span>\n      <span class=\"nav-sub\">\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092e\u0941\u0916\u094d\u092f \u092a\u093e\u0928\u093e\u0935\u0930 \u091c\u093e<\/span>\n    <\/div>\n  <\/a>\n\n  <!-- Categories Section -->\n  <div class=\"categories-title\">\u0907\u0924\u0930 \u0927\u093e\u0930\u094d\u092e\u093f\u0915 \u0938\u0902\u0917\u094d\u0930\u0939 (Explore Categories)<\/div>\n  \n  <div class=\"categories-grid\">\n    <a href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/abhang-sangrah\/\" class=\"category-btn\">\n      <span class=\"cat-icon\">\ud83e\ude94<\/span>\n      <span class=\"cat-label\">\u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939<\/span>\n    <\/a>\n    \n    <a href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gajar-sangrah\/\" class=\"category-btn\">\n      <span class=\"cat-icon\">\ud83d\udd14<\/span>\n      <span class=\"cat-label\">\u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939<\/span>\n    <\/a>\n\n    <a href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\" class=\"category-btn\">\n      <span class=\"cat-icon\">\ud83e\ude94<\/span>\n      <span class=\"cat-label\">\u0906\u0930\u0924\u0940 \u0938\u0902\u0917\u094d\u0930\u0939<\/span>\n    <\/a>\n    \n    <a href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/stotra-and-mantra\/\" class=\"category-btn\">\n      <span class=\"cat-icon\">\ud83d\udcdc<\/span>\n      <span class=\"cat-label\">\u0938\u094d\u0924\u094b\u0924\u094d\u0930 \u0935 \u092e\u0928\u094d\u0924\u094d\u0930<\/span>\n    <\/a>\n  <\/div>\n<\/div>\n\n<style>\n  .nav-options-container {\n    max-width: 400px;\n    margin: 20px auto;\n    padding: 16px;\n    background: #ffffff;\n    border-radius: 16px;\n    border: 1px solid #f0d5b7;\n    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    user-select: none;\n    -webkit-user-select: none;\n  }\n\n  \/* Main Home Button *\/\n  .home-card {\n    display: flex;\n    align-items: center;\n    background: linear-gradient(135deg, #ff8c00 0%, #e65100 100%);\n    color: #ffffff;\n    text-decoration: none;\n    padding: 12px 18px;\n    border-radius: 12px;\n    box-shadow: 0 4px 10px rgba(230, 81, 0, 0.25);\n    transition: transform 0.1s ease, box-shadow 0.1s ease;\n    margin-bottom: 20px;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .home-card:active {\n    transform: scale(0.97);\n    box-shadow: 0 2px 5px rgba(230, 81, 0, 0.2);\n  }\n\n  .nav-icon {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: rgba(255, 255, 255, 0.2);\n    border-radius: 50%;\n    width: 40px;\n    height: 40px;\n    margin-right: 14px;\n    flex-shrink: 0;\n  }\n\n  .nav-text {\n    display: flex;\n    flex-direction: column;\n    text-align: left;\n  }\n\n  .nav-title {\n    font-size: 1rem;\n    font-weight: 700;\n  }\n\n  .nav-sub {\n    font-size: 0.75rem;\n    opacity: 0.9;\n  }\n\n  \/* Section Title *\/\n  .categories-title {\n    font-size: 0.9rem;\n    font-weight: 700;\n    color: #8a3100;\n    text-align: left;\n    margin-bottom: 12px;\n    border-left: 3px solid #ff8c00;\n    padding-left: 8px;\n  }\n\n  \/* Categories Grid *\/\n  .categories-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 10px;\n  }\n\n  .category-btn {\n    display: flex;\n    align-items: center;\n    background: #fff8f0;\n    border: 1px solid #ebd3ba;\n    padding: 10px 12px;\n    border-radius: 10px;\n    text-decoration: none;\n    color: #4a2c00;\n    transition: background-color 0.15s ease, transform 0.1s ease;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .category-btn:active {\n    background: #f2cf93;\n    transform: scale(0.96);\n  }\n\n  .cat-icon {\n    font-size: 1.2rem;\n    margin-right: 8px;\n  }\n\n  .cat-label {\n    font-size: 0.85rem;\n    font-weight: 600;\n  }\n<\/style>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div id=\"audioigniter-1119\" class=\"audioigniter-root \" data-player-type=\"full\" data-tracks-url=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/?audioigniter_playlist_id=1119\" data-display-track-no=\"false\" data-reverse-track-order=\"true\" data-display-tracklist-covers=\"true\" data-display-active-cover=\"true\" data-display-artist-names=\"true\" data-display-buy-buttons=\"true\" data-buy-buttons-target=\"true\" data-cycle-tracks=\"false\" data-display-credits=\"false\" data-display-tracklist=\"true\" data-allow-tracklist-toggle=\"true\" data-allow-tracklist-loop=\"true\" data-limit-tracklist-height=\"true\" data-volume=\"70\" data-tracklist-height=\"185\" ><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udfb5 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 \u0938\u0930\u094d\u0935 \u0917\u0935\u0933\u0923\u0940 \u090f\u0915\u093e\u091a \u0920\u093f\u0915\u093e\u0923\u0940 \ud83d\udd0d \u0936\u094b\u0927\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \ud83d\udd52 \u0928\u0935\u0940\u0928 \u0906\u0927\u0940 \ud83d\udd52 \u091c\u0941\u0928\u0947 \u0906\u0927\u0940 \ud83d\udd24 \u0905 \u0924\u0947 \u091c\u094d\u091e \ud83d\udd24 \u091c\u094d\u091e \u0924\u0947 \u0905 \u2715 \u092b\u093f\u0932\u094d\u091f\u0930 \u0938\u093e\u092b \u0915\u0930\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \u092e\u0941\u0916\u094d\u092f \u092a\u0943\u0937\u094d\u0920 (Home) \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092e\u0941\u0916\u094d\u092f \u092a\u093e\u0928\u093e\u0935\u0930 \u091c\u093e \u0907\u0924\u0930 \u0927\u093e\u0930\u094d\u092e\u093f\u0915 \u0938\u0902\u0917\u094d\u0930\u0939 (Explore Categories) \ud83e\ude94 \u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83d\udd14 \u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83e\ude94 [&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-343","page","type-page","status-publish","hentry","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gavlani Sangrah - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gavlani Sangrah - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\" \/>\n<meta property=\"og:description\" content=\"\ud83c\udfb5 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 \u0938\u0930\u094d\u0935 \u0917\u0935\u0933\u0923\u0940 \u090f\u0915\u093e\u091a \u0920\u093f\u0915\u093e\u0923\u0940 \ud83d\udd0d \u0936\u094b\u0927\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \ud83d\udd52 \u0928\u0935\u0940\u0928 \u0906\u0927\u0940 \ud83d\udd52 \u091c\u0941\u0928\u0947 \u0906\u0927\u0940 \ud83d\udd24 \u0905 \u0924\u0947 \u091c\u094d\u091e \ud83d\udd24 \u091c\u094d\u091e \u0924\u0947 \u0905 \u2715 \u092b\u093f\u0932\u094d\u091f\u0930 \u0938\u093e\u092b \u0915\u0930\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \u092e\u0941\u0916\u094d\u092f \u092a\u0943\u0937\u094d\u0920 (Home) \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092e\u0941\u0916\u094d\u092f \u092a\u093e\u0928\u093e\u0935\u0930 \u091c\u093e \u0907\u0924\u0930 \u0927\u093e\u0930\u094d\u092e\u093f\u0915 \u0938\u0902\u0917\u094d\u0930\u0939 (Explore Categories) \ud83e\ude94 \u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83d\udd14 \u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83e\ude94 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/\" \/>\n<meta property=\"og:site_name\" content=\"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-10T17:44:30+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/gavlani-sangrah\\\/\",\"url\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/gavlani-sangrah\\\/\",\"name\":\"Gavlani Sangrah - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/#website\"},\"datePublished\":\"2022-08-27T18:00:20+00:00\",\"dateModified\":\"2026-09-10T17:44:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/gavlani-sangrah\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/gavlani-sangrah\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/gavlani-sangrah\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gavlani Sangrah\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/#website\",\"url\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\",\"name\":\"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gavlani Sangrah - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/","og_locale":"en_US","og_type":"article","og_title":"Gavlani Sangrah - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","og_description":"\ud83c\udfb5 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 \u0938\u0930\u094d\u0935 \u0917\u0935\u0933\u0923\u0940 \u090f\u0915\u093e\u091a \u0920\u093f\u0915\u093e\u0923\u0940 \ud83d\udd0d \u0936\u094b\u0927\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \ud83d\udd52 \u0928\u0935\u0940\u0928 \u0906\u0927\u0940 \ud83d\udd52 \u091c\u0941\u0928\u0947 \u0906\u0927\u0940 \ud83d\udd24 \u0905 \u0924\u0947 \u091c\u094d\u091e \ud83d\udd24 \u091c\u094d\u091e \u0924\u0947 \u0905 \u2715 \u092b\u093f\u0932\u094d\u091f\u0930 \u0938\u093e\u092b \u0915\u0930\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \u092e\u0941\u0916\u094d\u092f \u092a\u0943\u0937\u094d\u0920 (Home) \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092e\u0941\u0916\u094d\u092f \u092a\u093e\u0928\u093e\u0935\u0930 \u091c\u093e \u0907\u0924\u0930 \u0927\u093e\u0930\u094d\u092e\u093f\u0915 \u0938\u0902\u0917\u094d\u0930\u0939 (Explore Categories) \ud83e\ude94 \u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83d\udd14 \u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83e\ude94 [&hellip;]","og_url":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/","og_site_name":"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","article_modified_time":"2026-09-10T17:44:30+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/","url":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/","name":"Gavlani Sangrah - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","isPartOf":{"@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/#website"},"datePublished":"2022-08-27T18:00:20+00:00","dateModified":"2026-09-10T17:44:30+00:00","breadcrumb":{"@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/gavlani-sangrah\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/"},{"@type":"ListItem","position":2,"name":"Gavlani Sangrah"}]},{"@type":"WebSite","@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/#website","url":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","name":"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":false,"author_link":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/author\/admin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"\ud83c\udfb5 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 \u0938\u0930\u094d\u0935 \u0917\u0935\u0933\u0923\u0940 \u090f\u0915\u093e\u091a \u0920\u093f\u0915\u093e\u0923\u0940 \ud83d\udd0d \u0936\u094b\u0927\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \ud83d\udd52 \u0928\u0935\u0940\u0928 \u0906\u0927\u0940 \ud83d\udd52 \u091c\u0941\u0928\u0947 \u0906\u0927\u0940 \ud83d\udd24 \u0905 \u0924\u0947 \u091c\u094d\u091e \ud83d\udd24 \u091c\u094d\u091e \u0924\u0947 \u0905 \u2715 \u092b\u093f\u0932\u094d\u091f\u0930 \u0938\u093e\u092b \u0915\u0930\u093e \u0917\u0935\u0933\u0923\u0940 \u0932\u094b\u0921 \u0939\u094b\u0924 \u0906\u0939\u0947\u0924&#8230; \u092e\u0941\u0916\u094d\u092f \u092a\u0943\u0937\u094d\u0920 (Home) \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092e\u0941\u0916\u094d\u092f \u092a\u093e\u0928\u093e\u0935\u0930 \u091c\u093e \u0907\u0924\u0930 \u0927\u093e\u0930\u094d\u092e\u093f\u0915 \u0938\u0902\u0917\u094d\u0930\u0939 (Explore Categories) \ud83e\ude94 \u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83d\udd14 \u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939 \ud83e\ude94&hellip;","_links":{"self":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages\/343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/comments?post=343"}],"version-history":[{"count":25,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages\/343\/revisions"}],"predecessor-version":[{"id":1466,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages\/343\/revisions\/1466"}],"wp:attachment":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/media?parent=343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}