@@ -231,6 +231,7 @@ const localeConfigs = Object.fromEntries(
231231 lang : string ;
232232 link : string ;
233233 dir ?: "ltr" | "rtl" ;
234+ titleTemplate ?: string ;
234235 themeConfig : {
235236 langMenuLabel : string ;
236237 nav : { text : string ; link : string } [ ] ;
@@ -241,6 +242,7 @@ const localeConfigs = Object.fromEntries(
241242 label,
242243 lang : langAttr ,
243244 link : `/${ code } /` ,
245+ titleTemplate : ":title · openFetch" ,
244246 themeConfig : {
245247 langMenuLabel :
246248 code === "ar"
@@ -257,7 +259,6 @@ const localeConfigs = Object.fromEntries(
257259 text : LABELS [ code ] . gettingStarted ,
258260 link : `/${ code } /getting-started` ,
259261 } ,
260- { text : LANG_HOME_LABEL [ code ] , link : "/languages/" } ,
261262 ] ,
262263 sidebar : sidebarFor ( code ) ,
263264 outline : { level : [ 2 , 3 ] } ,
@@ -277,15 +278,37 @@ const localeConfigs = Object.fromEntries(
277278 }
278279> ;
279280
281+ /** Canonical production URL (no trailing slash); pair with `base` for absolute links in meta tags. */
282+ const SITE_ORIGIN = "https://openfetch-js.github.io/openfetch-docs" ;
283+
280284export default defineConfig ( {
281285 // GitHub Pages project site: https://openfetch-js.github.io/openfetch-docs/
282286 base : "/openfetch-docs/" ,
283287 title : "openFetch" ,
288+ titleTemplate : ":title · openFetch" ,
284289 description :
285- "Documentation for @hamdymohamedak/openfetch — fetch-based HTTP client with interceptors, middleware, retry, and cache." ,
290+ "Fetch-native HTTP client for Node 18+, browsers, and edge: interceptors, composable middleware, retry, memory cache, typed errors — no XHR dependency ." ,
286291 srcExclude : [ "README.md" , "skills.md" ] ,
287292 lastUpdated : true ,
293+ head : [
294+ [ "meta" , { name : "theme-color" , content : "#2563eb" } ] ,
295+ [ "meta" , { name : "application-name" , content : "openFetch" } ] ,
296+ [ "meta" , { property : "og:site_name" , content : "openFetch" } ] ,
297+ [ "meta" , { name : "twitter:card" , content : "summary_large_image" } ] ,
298+ [
299+ "meta" ,
300+ {
301+ property : "og:image" ,
302+ content : `${ SITE_ORIGIN } /openfetch-logo.jpg` ,
303+ } ,
304+ ] ,
305+ [ "meta" , { property : "og:image:alt" , content : "openFetch" } ] ,
306+ ] ,
288307 themeConfig : {
308+ logo : {
309+ src : "/openfetch-logo.jpg" ,
310+ alt : "openFetch" ,
311+ } ,
289312 search : { provider : "local" } ,
290313 socialLinks : [
291314 {
@@ -310,10 +333,7 @@ export default defineConfig({
310333 link : "/" ,
311334 themeConfig : {
312335 langMenuLabel : "Language" ,
313- nav : [
314- { text : "Guide" , link : "/getting-started" } ,
315- { text : "Languages" , link : "/languages/" } ,
316- ] ,
336+ nav : [ { text : "Guide" , link : "/getting-started" } ] ,
317337 sidebar : sidebarRoot ( ) ,
318338 outline : { level : [ 2 , 3 ] } ,
319339 } ,
0 commit comments