[{"data":1,"prerenderedAt":1377},["ShallowReactive",2],{"navigation_docs":3,"-essentials-configuration":93,"-essentials-configuration-surround":1372},[4,26,77],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":25},"Getting Started","i-lucide-rocket","/getting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Installation","/getting-started/installation","1.getting-started/1.installation","i-lucide-download",{"title":16,"path":17,"stem":18,"icon":19},"Frontend Setup (headless)","/getting-started/frontend-setup","1.getting-started/2.frontend-setup","i-lucide-layout",{"title":21,"path":22,"stem":23,"icon":24},"Public-routes mode","/getting-started/public-routes-mode","1.getting-started/3.public-routes-mode","i-lucide-zap",false,{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":25},"Essentials","i-lucide-book-open","/essentials","2.essentials",[32,37,42,47,52,57,62,67,72],{"title":33,"path":34,"stem":35,"icon":36},"Blade Components","/essentials/blade-components","2.essentials/1.blade-components","i-lucide-component",{"title":38,"path":39,"stem":40,"icon":41},"Filament Admin","/essentials/filament-admin","2.essentials/2.filament-admin","i-lucide-layout-dashboard",{"title":43,"path":44,"stem":45,"icon":46},"MCP Tools","/essentials/mcp-tools","2.essentials/3.mcp-tools","i-lucide-bot",{"title":48,"path":49,"stem":50,"icon":51},"Configuration","/essentials/configuration","2.essentials/4.configuration","i-lucide-settings",{"title":53,"path":54,"stem":55,"icon":56},"Tags Taxonomy","/essentials/tags","2.essentials/5.tags","i-lucide-hash",{"title":58,"path":59,"stem":60,"icon":61},"MediaLibrary Integration","/essentials/media-library","2.essentials/6.media-library","i-lucide-image",{"title":63,"path":64,"stem":65,"icon":66},"Search","/essentials/search","2.essentials/7.search","i-lucide-search",{"title":68,"path":69,"stem":70,"icon":71},"Schema","/essentials/schema","2.essentials/8.schema","i-lucide-code-2",{"title":73,"path":74,"stem":75,"icon":76},"Listing SEO","/essentials/listing-seo","2.essentials/9.listing-seo","i-lucide-list",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":25},"Community","i-lucide-users","/community","4.community",[83,88],{"title":84,"path":85,"stem":86,"icon":87},"Contributing","/community/contributing","4.community/1.contributing","i-lucide-git-pull-request",{"title":89,"path":90,"stem":91,"icon":92},"License","/community/license","4.community/2.license","i-lucide-scale",{"id":94,"title":48,"body":95,"description":1365,"extension":1366,"links":1367,"meta":1368,"navigation":1369,"path":49,"seo":1370,"stem":50,"__hash__":1371},"docs/2.essentials/4.configuration.md",{"type":96,"value":97,"toc":1359},"minimark",[98,102,132,137,1158,1162,1165,1284,1287,1291,1294,1310,1313,1329,1332,1336,1352,1355],[99,100,101],"p",{},"Publish the config file:",[103,104,110],"pre",{"className":105,"code":106,"filename":107,"language":108,"meta":109,"style":109},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan vendor:publish --tag=ink-config\n","Terminal","bash","",[111,112,113],"code",{"__ignoreMap":109},[114,115,118,122,126,129],"span",{"class":116,"line":117},"line",1,[114,119,121],{"class":120},"sBMFI","php",[114,123,125],{"class":124},"sfazB"," artisan",[114,127,128],{"class":124}," vendor:publish",[114,130,131],{"class":124}," --tag=ink-config\n",[133,134,136],"h2",{"id":135},"full-reference","Full reference",[103,138,142],{"className":139,"code":140,"filename":141,"language":121,"meta":109,"style":109},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","return [\n    /*\n    |--------------------------------------------------------------------------\n    | Route prefix\n    |--------------------------------------------------------------------------\n    | The URI prefix for all blog routes when public-routes mode is enabled.\n    | Used as: /{prefix}, /{prefix}/{slug}, /{prefix}/category/{slug}, etc.\n    */\n    'prefix' => 'blog',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Layout view\n    |--------------------------------------------------------------------------\n    | The Blade layout the shipped page views extend (when public-routes mode\n    | is enabled). Must define a @yield('content') slot. Ignored in headless\n    | mode.\n    */\n    'layout' => 'layouts.app',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Author model\n    |--------------------------------------------------------------------------\n    | The Eloquent model used as the post author. Must have an integer or\n    | string primary key matching the type of `users.id`.\n    */\n    'author_model' => \\App\\Models\\User::class,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Posts per page\n    |--------------------------------------------------------------------------\n    | Used by the index/category/tag listing pages.\n    */\n    'per_page' => 12,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Feature flags\n    |--------------------------------------------------------------------------\n    | All opt-in. Defaults match the headless install — flip flags to enable.\n    */\n    'features' => [\n        // Register /blog, /blog/{slug}, /blog/category/{slug}, signed\n        // /blog/preview/{post}. See: getting-started/public-routes-mode\n        'public_routes' => false,\n\n        // Register /blog/feed (RSS 2.0). Independent of public_routes —\n        // when enabled alone, only the feed route is registered.\n        'feed' => false,\n\n        // Hint for the BlogSitemapGenerator. Today the helper works\n        // regardless; the flag is reserved for an auto-discovery hook\n        // tracked in the Phase 3 roadmap.\n        'sitemap' => false,\n\n        // Show TagResource in the admin nav, the multi-select tags field\n        // on the Post form, and the /blog/tag/{slug} archive route.\n        // See: essentials/tags\n        'tags' => false,\n\n        // Use SpatieMediaLibraryFileUpload for the featured-image field\n        // when both this flag is on AND spatie/laravel-medialibrary is\n        // installed. See: essentials/media-library\n        'media_library' => false,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Schema auto-emission\n    |--------------------------------------------------------------------------\n    | Detect FAQ and HowTo sections in post content and emit JSON-LD schema\n    | automatically. FAQ detection looks for an `## FAQ` H2 followed by H3\n    | question / paragraph answer pairs. HowTo detection looks for a `## Steps`\n    | H2 followed by H3 step headings.\n    */\n    'schema' => [\n        'faq_auto' => true,\n        'howto_auto' => false,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Search\n    |--------------------------------------------------------------------------\n    | Defaults to a portable LIKE search across title/excerpt/content.\n    | Override `callback` to use Postgres FTS, MySQL FULLTEXT, Scout, etc.\n    */\n    'search' => [\n        'callback' => null,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | RSS feed metadata\n    |--------------------------------------------------------------------------\n    */\n    'feed' => [\n        'title' => null,         // falls back to config('app.name')\n        'description' => null,\n        'author_email' => null,  // RSS \u003Cauthor> tag email\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | JSON-LD publisher block\n    |--------------------------------------------------------------------------\n    | Used by \u003Cx-ink::structured-data> and the Post::getDynamicSEOData()\n    | Article schema. Leave nulls to omit fields.\n    */\n    'publisher' => [\n        'name' => null,    // Organization name\n        'url' => null,     // Organization URL\n        'logo' => null,    // Path used with asset()\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Table names\n    |--------------------------------------------------------------------------\n    | Override if blog_posts/blog_categories collide with existing tables in\n    | your application. Migrations and models pick these up.\n    */\n    'tables' => [\n        'posts' => 'blog_posts',\n        'categories' => 'blog_categories',\n    ],\n];\n","config/ink.php",[111,143,144,154,161,167,173,178,184,190,196,222,229,234,239,245,250,256,262,268,273,294,299,304,309,315,320,326,332,337,376,381,386,391,397,402,408,413,430,435,440,445,451,456,462,467,481,487,493,509,514,520,526,540,545,551,557,563,577,582,588,594,600,614,619,625,631,637,651,657,662,667,672,678,683,689,695,701,707,712,726,741,755,760,765,770,775,781,786,792,798,803,817,832,837,842,847,852,858,863,868,881,899,913,930,935,940,945,950,956,961,967,973,978,992,1009,1026,1043,1048,1053,1058,1063,1069,1074,1080,1086,1091,1105,1126,1147,1152],{"__ignoreMap":109},[114,145,146,150],{"class":116,"line":117},[114,147,149],{"class":148},"s7zQu","return",[114,151,153],{"class":152},"sMK4o"," [\n",[114,155,157],{"class":116,"line":156},2,[114,158,160],{"class":159},"sHwdD","    /*\n",[114,162,164],{"class":116,"line":163},3,[114,165,166],{"class":159},"    |--------------------------------------------------------------------------\n",[114,168,170],{"class":116,"line":169},4,[114,171,172],{"class":159},"    | Route prefix\n",[114,174,176],{"class":116,"line":175},5,[114,177,166],{"class":159},[114,179,181],{"class":116,"line":180},6,[114,182,183],{"class":159},"    | The URI prefix for all blog routes when public-routes mode is enabled.\n",[114,185,187],{"class":116,"line":186},7,[114,188,189],{"class":159},"    | Used as: /{prefix}, /{prefix}/{slug}, /{prefix}/category/{slug}, etc.\n",[114,191,193],{"class":116,"line":192},8,[114,194,195],{"class":159},"    */\n",[114,197,199,202,205,208,211,214,217,219],{"class":116,"line":198},9,[114,200,201],{"class":152},"    '",[114,203,204],{"class":124},"prefix",[114,206,207],{"class":152},"'",[114,209,210],{"class":152}," =>",[114,212,213],{"class":152}," '",[114,215,216],{"class":124},"blog",[114,218,207],{"class":152},[114,220,221],{"class":152},",\n",[114,223,225],{"class":116,"line":224},10,[114,226,228],{"emptyLinePlaceholder":227},true,"\n",[114,230,232],{"class":116,"line":231},11,[114,233,160],{"class":159},[114,235,237],{"class":116,"line":236},12,[114,238,166],{"class":159},[114,240,242],{"class":116,"line":241},13,[114,243,244],{"class":159},"    | Layout view\n",[114,246,248],{"class":116,"line":247},14,[114,249,166],{"class":159},[114,251,253],{"class":116,"line":252},15,[114,254,255],{"class":159},"    | The Blade layout the shipped page views extend (when public-routes mode\n",[114,257,259],{"class":116,"line":258},16,[114,260,261],{"class":159},"    | is enabled). Must define a @yield('content') slot. Ignored in headless\n",[114,263,265],{"class":116,"line":264},17,[114,266,267],{"class":159},"    | mode.\n",[114,269,271],{"class":116,"line":270},18,[114,272,195],{"class":159},[114,274,276,278,281,283,285,287,290,292],{"class":116,"line":275},19,[114,277,201],{"class":152},[114,279,280],{"class":124},"layout",[114,282,207],{"class":152},[114,284,210],{"class":152},[114,286,213],{"class":152},[114,288,289],{"class":124},"layouts.app",[114,291,207],{"class":152},[114,293,221],{"class":152},[114,295,297],{"class":116,"line":296},20,[114,298,228],{"emptyLinePlaceholder":227},[114,300,302],{"class":116,"line":301},21,[114,303,160],{"class":159},[114,305,307],{"class":116,"line":306},22,[114,308,166],{"class":159},[114,310,312],{"class":116,"line":311},23,[114,313,314],{"class":159},"    | Author model\n",[114,316,318],{"class":116,"line":317},24,[114,319,166],{"class":159},[114,321,323],{"class":116,"line":322},25,[114,324,325],{"class":159},"    | The Eloquent model used as the post author. Must have an integer or\n",[114,327,329],{"class":116,"line":328},26,[114,330,331],{"class":159},"    | string primary key matching the type of `users.id`.\n",[114,333,335],{"class":116,"line":334},27,[114,336,195],{"class":159},[114,338,340,342,345,347,349,352,356,359,362,364,367,370,374],{"class":116,"line":339},28,[114,341,201],{"class":152},[114,343,344],{"class":124},"author_model",[114,346,207],{"class":152},[114,348,210],{"class":152},[114,350,351],{"class":152}," \\",[114,353,355],{"class":354},"sTEyZ","App",[114,357,358],{"class":152},"\\",[114,360,361],{"class":354},"Models",[114,363,358],{"class":152},[114,365,366],{"class":120},"User",[114,368,369],{"class":152},"::",[114,371,373],{"class":372},"sbssI","class",[114,375,221],{"class":152},[114,377,379],{"class":116,"line":378},29,[114,380,228],{"emptyLinePlaceholder":227},[114,382,384],{"class":116,"line":383},30,[114,385,160],{"class":159},[114,387,389],{"class":116,"line":388},31,[114,390,166],{"class":159},[114,392,394],{"class":116,"line":393},32,[114,395,396],{"class":159},"    | Posts per page\n",[114,398,400],{"class":116,"line":399},33,[114,401,166],{"class":159},[114,403,405],{"class":116,"line":404},34,[114,406,407],{"class":159},"    | Used by the index/category/tag listing pages.\n",[114,409,411],{"class":116,"line":410},35,[114,412,195],{"class":159},[114,414,416,418,421,423,425,428],{"class":116,"line":415},36,[114,417,201],{"class":152},[114,419,420],{"class":124},"per_page",[114,422,207],{"class":152},[114,424,210],{"class":152},[114,426,427],{"class":372}," 12",[114,429,221],{"class":152},[114,431,433],{"class":116,"line":432},37,[114,434,228],{"emptyLinePlaceholder":227},[114,436,438],{"class":116,"line":437},38,[114,439,160],{"class":159},[114,441,443],{"class":116,"line":442},39,[114,444,166],{"class":159},[114,446,448],{"class":116,"line":447},40,[114,449,450],{"class":159},"    | Feature flags\n",[114,452,454],{"class":116,"line":453},41,[114,455,166],{"class":159},[114,457,459],{"class":116,"line":458},42,[114,460,461],{"class":159},"    | All opt-in. Defaults match the headless install — flip flags to enable.\n",[114,463,465],{"class":116,"line":464},43,[114,466,195],{"class":159},[114,468,470,472,475,477,479],{"class":116,"line":469},44,[114,471,201],{"class":152},[114,473,474],{"class":124},"features",[114,476,207],{"class":152},[114,478,210],{"class":152},[114,480,153],{"class":152},[114,482,484],{"class":116,"line":483},45,[114,485,486],{"class":159},"        // Register /blog, /blog/{slug}, /blog/category/{slug}, signed\n",[114,488,490],{"class":116,"line":489},46,[114,491,492],{"class":159},"        // /blog/preview/{post}. See: getting-started/public-routes-mode\n",[114,494,496,499,502,504,506],{"class":116,"line":495},47,[114,497,498],{"class":152},"        '",[114,500,501],{"class":124},"public_routes",[114,503,207],{"class":152},[114,505,210],{"class":152},[114,507,508],{"class":152}," false,\n",[114,510,512],{"class":116,"line":511},48,[114,513,228],{"emptyLinePlaceholder":227},[114,515,517],{"class":116,"line":516},49,[114,518,519],{"class":159},"        // Register /blog/feed (RSS 2.0). Independent of public_routes —\n",[114,521,523],{"class":116,"line":522},50,[114,524,525],{"class":159},"        // when enabled alone, only the feed route is registered.\n",[114,527,529,531,534,536,538],{"class":116,"line":528},51,[114,530,498],{"class":152},[114,532,533],{"class":124},"feed",[114,535,207],{"class":152},[114,537,210],{"class":152},[114,539,508],{"class":152},[114,541,543],{"class":116,"line":542},52,[114,544,228],{"emptyLinePlaceholder":227},[114,546,548],{"class":116,"line":547},53,[114,549,550],{"class":159},"        // Hint for the BlogSitemapGenerator. Today the helper works\n",[114,552,554],{"class":116,"line":553},54,[114,555,556],{"class":159},"        // regardless; the flag is reserved for an auto-discovery hook\n",[114,558,560],{"class":116,"line":559},55,[114,561,562],{"class":159},"        // tracked in the Phase 3 roadmap.\n",[114,564,566,568,571,573,575],{"class":116,"line":565},56,[114,567,498],{"class":152},[114,569,570],{"class":124},"sitemap",[114,572,207],{"class":152},[114,574,210],{"class":152},[114,576,508],{"class":152},[114,578,580],{"class":116,"line":579},57,[114,581,228],{"emptyLinePlaceholder":227},[114,583,585],{"class":116,"line":584},58,[114,586,587],{"class":159},"        // Show TagResource in the admin nav, the multi-select tags field\n",[114,589,591],{"class":116,"line":590},59,[114,592,593],{"class":159},"        // on the Post form, and the /blog/tag/{slug} archive route.\n",[114,595,597],{"class":116,"line":596},60,[114,598,599],{"class":159},"        // See: essentials/tags\n",[114,601,603,605,608,610,612],{"class":116,"line":602},61,[114,604,498],{"class":152},[114,606,607],{"class":124},"tags",[114,609,207],{"class":152},[114,611,210],{"class":152},[114,613,508],{"class":152},[114,615,617],{"class":116,"line":616},62,[114,618,228],{"emptyLinePlaceholder":227},[114,620,622],{"class":116,"line":621},63,[114,623,624],{"class":159},"        // Use SpatieMediaLibraryFileUpload for the featured-image field\n",[114,626,628],{"class":116,"line":627},64,[114,629,630],{"class":159},"        // when both this flag is on AND spatie/laravel-medialibrary is\n",[114,632,634],{"class":116,"line":633},65,[114,635,636],{"class":159},"        // installed. See: essentials/media-library\n",[114,638,640,642,645,647,649],{"class":116,"line":639},66,[114,641,498],{"class":152},[114,643,644],{"class":124},"media_library",[114,646,207],{"class":152},[114,648,210],{"class":152},[114,650,508],{"class":152},[114,652,654],{"class":116,"line":653},67,[114,655,656],{"class":152},"    ],\n",[114,658,660],{"class":116,"line":659},68,[114,661,228],{"emptyLinePlaceholder":227},[114,663,665],{"class":116,"line":664},69,[114,666,160],{"class":159},[114,668,670],{"class":116,"line":669},70,[114,671,166],{"class":159},[114,673,675],{"class":116,"line":674},71,[114,676,677],{"class":159},"    | Schema auto-emission\n",[114,679,681],{"class":116,"line":680},72,[114,682,166],{"class":159},[114,684,686],{"class":116,"line":685},73,[114,687,688],{"class":159},"    | Detect FAQ and HowTo sections in post content and emit JSON-LD schema\n",[114,690,692],{"class":116,"line":691},74,[114,693,694],{"class":159},"    | automatically. FAQ detection looks for an `## FAQ` H2 followed by H3\n",[114,696,698],{"class":116,"line":697},75,[114,699,700],{"class":159},"    | question / paragraph answer pairs. HowTo detection looks for a `## Steps`\n",[114,702,704],{"class":116,"line":703},76,[114,705,706],{"class":159},"    | H2 followed by H3 step headings.\n",[114,708,710],{"class":116,"line":709},77,[114,711,195],{"class":159},[114,713,715,717,720,722,724],{"class":116,"line":714},78,[114,716,201],{"class":152},[114,718,719],{"class":124},"schema",[114,721,207],{"class":152},[114,723,210],{"class":152},[114,725,153],{"class":152},[114,727,729,731,734,736,738],{"class":116,"line":728},79,[114,730,498],{"class":152},[114,732,733],{"class":124},"faq_auto",[114,735,207],{"class":152},[114,737,210],{"class":152},[114,739,740],{"class":152}," true,\n",[114,742,744,746,749,751,753],{"class":116,"line":743},80,[114,745,498],{"class":152},[114,747,748],{"class":124},"howto_auto",[114,750,207],{"class":152},[114,752,210],{"class":152},[114,754,508],{"class":152},[114,756,758],{"class":116,"line":757},81,[114,759,656],{"class":152},[114,761,763],{"class":116,"line":762},82,[114,764,228],{"emptyLinePlaceholder":227},[114,766,768],{"class":116,"line":767},83,[114,769,160],{"class":159},[114,771,773],{"class":116,"line":772},84,[114,774,166],{"class":159},[114,776,778],{"class":116,"line":777},85,[114,779,780],{"class":159},"    | Search\n",[114,782,784],{"class":116,"line":783},86,[114,785,166],{"class":159},[114,787,789],{"class":116,"line":788},87,[114,790,791],{"class":159},"    | Defaults to a portable LIKE search across title/excerpt/content.\n",[114,793,795],{"class":116,"line":794},88,[114,796,797],{"class":159},"    | Override `callback` to use Postgres FTS, MySQL FULLTEXT, Scout, etc.\n",[114,799,801],{"class":116,"line":800},89,[114,802,195],{"class":159},[114,804,806,808,811,813,815],{"class":116,"line":805},90,[114,807,201],{"class":152},[114,809,810],{"class":124},"search",[114,812,207],{"class":152},[114,814,210],{"class":152},[114,816,153],{"class":152},[114,818,820,822,825,827,829],{"class":116,"line":819},91,[114,821,498],{"class":152},[114,823,824],{"class":124},"callback",[114,826,207],{"class":152},[114,828,210],{"class":152},[114,830,831],{"class":152}," null,\n",[114,833,835],{"class":116,"line":834},92,[114,836,656],{"class":152},[114,838,840],{"class":116,"line":839},93,[114,841,228],{"emptyLinePlaceholder":227},[114,843,845],{"class":116,"line":844},94,[114,846,160],{"class":159},[114,848,850],{"class":116,"line":849},95,[114,851,166],{"class":159},[114,853,855],{"class":116,"line":854},96,[114,856,857],{"class":159},"    | RSS feed metadata\n",[114,859,861],{"class":116,"line":860},97,[114,862,166],{"class":159},[114,864,866],{"class":116,"line":865},98,[114,867,195],{"class":159},[114,869,871,873,875,877,879],{"class":116,"line":870},99,[114,872,201],{"class":152},[114,874,533],{"class":124},[114,876,207],{"class":152},[114,878,210],{"class":152},[114,880,153],{"class":152},[114,882,884,886,889,891,893,896],{"class":116,"line":883},100,[114,885,498],{"class":152},[114,887,888],{"class":124},"title",[114,890,207],{"class":152},[114,892,210],{"class":152},[114,894,895],{"class":152}," null,",[114,897,898],{"class":159},"         // falls back to config('app.name')\n",[114,900,902,904,907,909,911],{"class":116,"line":901},101,[114,903,498],{"class":152},[114,905,906],{"class":124},"description",[114,908,207],{"class":152},[114,910,210],{"class":152},[114,912,831],{"class":152},[114,914,916,918,921,923,925,927],{"class":116,"line":915},102,[114,917,498],{"class":152},[114,919,920],{"class":124},"author_email",[114,922,207],{"class":152},[114,924,210],{"class":152},[114,926,895],{"class":152},[114,928,929],{"class":159},"  // RSS \u003Cauthor> tag email\n",[114,931,933],{"class":116,"line":932},103,[114,934,656],{"class":152},[114,936,938],{"class":116,"line":937},104,[114,939,228],{"emptyLinePlaceholder":227},[114,941,943],{"class":116,"line":942},105,[114,944,160],{"class":159},[114,946,948],{"class":116,"line":947},106,[114,949,166],{"class":159},[114,951,953],{"class":116,"line":952},107,[114,954,955],{"class":159},"    | JSON-LD publisher block\n",[114,957,959],{"class":116,"line":958},108,[114,960,166],{"class":159},[114,962,964],{"class":116,"line":963},109,[114,965,966],{"class":159},"    | Used by \u003Cx-ink::structured-data> and the Post::getDynamicSEOData()\n",[114,968,970],{"class":116,"line":969},110,[114,971,972],{"class":159},"    | Article schema. Leave nulls to omit fields.\n",[114,974,976],{"class":116,"line":975},111,[114,977,195],{"class":159},[114,979,981,983,986,988,990],{"class":116,"line":980},112,[114,982,201],{"class":152},[114,984,985],{"class":124},"publisher",[114,987,207],{"class":152},[114,989,210],{"class":152},[114,991,153],{"class":152},[114,993,995,997,1000,1002,1004,1006],{"class":116,"line":994},113,[114,996,498],{"class":152},[114,998,999],{"class":124},"name",[114,1001,207],{"class":152},[114,1003,210],{"class":152},[114,1005,895],{"class":152},[114,1007,1008],{"class":159},"    // Organization name\n",[114,1010,1012,1014,1017,1019,1021,1023],{"class":116,"line":1011},114,[114,1013,498],{"class":152},[114,1015,1016],{"class":124},"url",[114,1018,207],{"class":152},[114,1020,210],{"class":152},[114,1022,895],{"class":152},[114,1024,1025],{"class":159},"     // Organization URL\n",[114,1027,1029,1031,1034,1036,1038,1040],{"class":116,"line":1028},115,[114,1030,498],{"class":152},[114,1032,1033],{"class":124},"logo",[114,1035,207],{"class":152},[114,1037,210],{"class":152},[114,1039,895],{"class":152},[114,1041,1042],{"class":159},"    // Path used with asset()\n",[114,1044,1046],{"class":116,"line":1045},116,[114,1047,656],{"class":152},[114,1049,1051],{"class":116,"line":1050},117,[114,1052,228],{"emptyLinePlaceholder":227},[114,1054,1056],{"class":116,"line":1055},118,[114,1057,160],{"class":159},[114,1059,1061],{"class":116,"line":1060},119,[114,1062,166],{"class":159},[114,1064,1066],{"class":116,"line":1065},120,[114,1067,1068],{"class":159},"    | Table names\n",[114,1070,1072],{"class":116,"line":1071},121,[114,1073,166],{"class":159},[114,1075,1077],{"class":116,"line":1076},122,[114,1078,1079],{"class":159},"    | Override if blog_posts/blog_categories collide with existing tables in\n",[114,1081,1083],{"class":116,"line":1082},123,[114,1084,1085],{"class":159},"    | your application. Migrations and models pick these up.\n",[114,1087,1089],{"class":116,"line":1088},124,[114,1090,195],{"class":159},[114,1092,1094,1096,1099,1101,1103],{"class":116,"line":1093},125,[114,1095,201],{"class":152},[114,1097,1098],{"class":124},"tables",[114,1100,207],{"class":152},[114,1102,210],{"class":152},[114,1104,153],{"class":152},[114,1106,1108,1110,1113,1115,1117,1119,1122,1124],{"class":116,"line":1107},126,[114,1109,498],{"class":152},[114,1111,1112],{"class":124},"posts",[114,1114,207],{"class":152},[114,1116,210],{"class":152},[114,1118,213],{"class":152},[114,1120,1121],{"class":124},"blog_posts",[114,1123,207],{"class":152},[114,1125,221],{"class":152},[114,1127,1129,1131,1134,1136,1138,1140,1143,1145],{"class":116,"line":1128},127,[114,1130,498],{"class":152},[114,1132,1133],{"class":124},"categories",[114,1135,207],{"class":152},[114,1137,210],{"class":152},[114,1139,213],{"class":152},[114,1141,1142],{"class":124},"blog_categories",[114,1144,207],{"class":152},[114,1146,221],{"class":152},[114,1148,1150],{"class":116,"line":1149},128,[114,1151,656],{"class":152},[114,1153,1155],{"class":116,"line":1154},129,[114,1156,1157],{"class":152},"];\n",[133,1159,1161],{"id":1160},"sitemap-integration","Sitemap integration",[99,1163,1164],{},"Add blog URLs to your sitemap generation:",[103,1166,1169],{"className":139,"code":1167,"filename":1168,"language":121,"meta":109,"style":109},"use Relaticle\\Ink\\BlogSitemapGenerator;\nuse Spatie\\Sitemap\\Sitemap;\n\n$sitemap = Sitemap::create();\nBlogSitemapGenerator::addToSitemap($sitemap);\n$sitemap->writeToFile(public_path('sitemap.xml'));\n","GenerateSitemapCommand.php",[111,1170,1171,1192,1210,1214,1237,1254],{"__ignoreMap":109},[114,1172,1173,1176,1179,1181,1184,1186,1189],{"class":116,"line":117},[114,1174,1175],{"class":372},"use",[114,1177,1178],{"class":354}," Relaticle",[114,1180,358],{"class":152},[114,1182,1183],{"class":354},"Ink",[114,1185,358],{"class":152},[114,1187,1188],{"class":354},"BlogSitemapGenerator",[114,1190,1191],{"class":152},";\n",[114,1193,1194,1196,1199,1201,1204,1206,1208],{"class":116,"line":156},[114,1195,1175],{"class":372},[114,1197,1198],{"class":354}," Spatie",[114,1200,358],{"class":152},[114,1202,1203],{"class":354},"Sitemap",[114,1205,358],{"class":152},[114,1207,1203],{"class":354},[114,1209,1191],{"class":152},[114,1211,1212],{"class":116,"line":163},[114,1213,228],{"emptyLinePlaceholder":227},[114,1215,1216,1219,1222,1225,1228,1230,1234],{"class":116,"line":169},[114,1217,1218],{"class":152},"$",[114,1220,1221],{"class":354},"sitemap ",[114,1223,1224],{"class":152},"=",[114,1226,1227],{"class":120}," Sitemap",[114,1229,369],{"class":152},[114,1231,1233],{"class":1232},"s2Zo4","create",[114,1235,1236],{"class":152},"();\n",[114,1238,1239,1241,1243,1246,1249,1251],{"class":116,"line":175},[114,1240,1188],{"class":120},[114,1242,369],{"class":152},[114,1244,1245],{"class":1232},"addToSitemap",[114,1247,1248],{"class":152},"($",[114,1250,570],{"class":354},[114,1252,1253],{"class":152},");\n",[114,1255,1256,1258,1260,1263,1266,1269,1272,1274,1276,1279,1281],{"class":116,"line":180},[114,1257,1218],{"class":152},[114,1259,570],{"class":354},[114,1261,1262],{"class":152},"->",[114,1264,1265],{"class":1232},"writeToFile",[114,1267,1268],{"class":152},"(",[114,1270,1271],{"class":1232},"public_path",[114,1273,1268],{"class":152},[114,1275,207],{"class":152},[114,1277,1278],{"class":124},"sitemap.xml",[114,1280,207],{"class":152},[114,1282,1283],{"class":152},"));\n",[99,1285,1286],{},"The generator is route-aware — it only adds URLs for routes that exist in your application.",[133,1288,1290],{"id":1289},"customizing-views","Customizing views",[99,1292,1293],{},"Publish all Blade page + component views:",[103,1295,1297],{"className":105,"code":1296,"filename":107,"language":108,"meta":109,"style":109},"php artisan vendor:publish --tag=ink-views\n",[111,1298,1299],{"__ignoreMap":109},[114,1300,1301,1303,1305,1307],{"class":116,"line":117},[114,1302,121],{"class":120},[114,1304,125],{"class":124},[114,1306,128],{"class":124},[114,1308,1309],{"class":124}," --tag=ink-views\n",[99,1311,1312],{},"Published files go to:",[1314,1315,1316,1323],"ul",{},[1317,1318,1319,1322],"li",{},[111,1320,1321],{},"resources/views/vendor/blog/components/"," — the publishable components used in headless mode",[1317,1324,1325,1328],{},[111,1326,1327],{},"resources/views/vendor/blog/pages/"," — the page views used in public-routes mode",[99,1330,1331],{},"Edit them to match your design system. Once published, the package no longer serves its own copies of those files.",[133,1333,1335],{"id":1334},"customizing-translations","Customizing translations",[103,1337,1339],{"className":105,"code":1338,"filename":107,"language":108,"meta":109,"style":109},"php artisan vendor:publish --tag=ink-translations\n",[111,1340,1341],{"__ignoreMap":109},[114,1342,1343,1345,1347,1349],{"class":116,"line":117},[114,1344,121],{"class":120},[114,1346,125],{"class":124},[114,1348,128],{"class":124},[114,1350,1351],{"class":124}," --tag=ink-translations\n",[99,1353,1354],{},"(No translations ship by default; this tag exists for future localization.)",[1356,1357,1358],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":109,"searchDepth":156,"depth":156,"links":1360},[1361,1362,1363,1364],{"id":135,"depth":156,"text":136},{"id":1160,"depth":156,"text":1161},{"id":1289,"depth":156,"text":1290},{"id":1334,"depth":156,"text":1335},"Full configuration reference for Ink.","md",null,{},{"icon":51},{"title":48,"description":1365},"HaG_XRMgm-vSORM6o5Y4ZveCso4ogcTKq5Bvm_mXihg",[1373,1375],{"title":43,"path":44,"stem":45,"description":1374,"icon":46,"children":-1},"13 MCP tools for AI agent blog management.",{"title":53,"path":54,"stem":55,"description":1376,"icon":56,"children":-1},"Opt-in many-to-many tags taxonomy with admin UI and public archive.",1778707660477]