Nuxt3項目實現 OG:Image

?

目錄

前言

1、安裝

2、設置網站 URL

3、啟用 Nuxt DevTools

4、創建您的第一個Og:Image

a. 定義OG鏡像

b.?查看您的Og:Image

5、自定義NuxtSeo模板

a. 定義 NuxtSeo模板

b.?使用其他可用的社區模板

6、創建自己的模板

a. 定義組件?BlogPost.vue

b. 使用新模板

c. 傳遞可組合對象自定義

d. 放置圖片


前言

首先來一張未配置Og:image的 devtools 效果圖

?

要實現的效果


1、安裝

npx nuxi@latest module add og-image

?

2、設置網站 URL

# nuxt.config.ts
export default defineNuxtConfig({site: {// production URLurl: 'https://example.com',},
})

或者更新?.env?

NUXT_PUBLIC_SITE_URL=https://example.com

3、啟用 Nuxt DevTools

export default defineNuxtConfig({devtools: { enabled: true },
})

4、創建您的第一個Og:Image

a. 定義OG鏡像

首先,我們將使用僅限服務器的可組合對象來定義我們的主頁。

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('NuxtSeo')
</script>

?

b.?查看您的OG:Image

i.訪問瀏覽器中的主頁并打開 Nuxt DevTools。

?

ii.快捷鍵:Shift + Alt + D

iii.進入 Nuxt DevTools 后,可以通過打開命令面板并鍵入來導航到OG Image選項卡或快捷鍵 Ctrl + K 輸入?og,選擇OG Image:

iiii. 您現在應該看到的?OG 圖像預覽:

5、自定義NuxtSeo模板

a. 定義 NuxtSeo模板

i.在你的主要頁面添加代碼:

# pages/index.vue
defineOgImageComponent("NuxtSeo", {title: "Hello OG Image 👋",description: "Look what at me in dark mode",theme: "#ff0000",colorMode: "dark"
});

ii.點擊刷新之后,你將會看到這樣的圖像:

到這里,恭喜,您已經設置并自定義了您的第一個 og:image !

b.?使用其他可用的社區模板

i.在你的主要頁面添加代碼:

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('Nuxt', {headline: 'Greetings',title: 'Hello OG Image 👋',description: 'Look what at me using the Nuxt template',
})
</script>

ii. 點擊刷新按鈕 ,你將看到這樣圖像:

6、創建自己的模板

a. 定義組件?BlogPost.vue

代碼中用到了?tailwindcss ,如果沒安裝可以翻看我之前的文章。http://t.csdnimg.cn/F35TG

# components/OgImage/BlogPost.vue
<script setup lang="ts">
withDefaults(defineProps<{title?: string
}>(), {title: 'title',
})
</script><template><div class="h-full w-full flex items-start justify-start border-solid border-blue-500 border-[12px] bg-gray-50"><div class="flex items-start justify-start h-full"><div class="flex flex-col justify-between w-full h-full"><h1 class="text-[80px] p-20 font-black text-left">{{ title }}</h1><p class="text-2xl pb-10 px-20 font-bold mb-0">mycoolsite.com</p></div></div></div>
</template>

b. 使用新模板

i.在你的主要頁面添加代碼:

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('BlogPost', {title: 'Is this thing on?'
})
</script>

ii. 點擊刷新按鈕 ,你將看到這樣圖像:

c. 傳遞可組合對象自定義

i.更新你的自定義圖像組件代碼:

# components/OgImage/BlogPost.vue
<script setup lang="ts">
withDefaults(defineProps<{title?: stringborderColor?: string
}>(), {title: 'title',borderColor: 'blue-500'
})
</script><template><div :class="[`border-${borderColor}`]" class="h-full w-full flex items-start justify-start border-solid border-[12px] bg-gray-50"><div class="flex items-start justify-start h-full"><div class="flex flex-col justify-between w-full h-full"><h1 class="text-[80px] p-20 font-black text-left">{{ title }}</h1><p class="text-2xl pb-10 px-20 font-bold mb-0">mycoolsite.com</p></div></div></div>
</template>

ii. 更新你主頁面代碼

# pages/index.vue
<script lang="ts" setup>
defineOgImageComponent('BlogPost', {title: 'Is this thing on?',borderColor: 'green-300',
})
</script>

iii. 點擊刷新按鈕,你將看到這樣圖像:

邊框由原來的藍色變成綠色。

?

d. 放置圖片

i. 更新主頁面代碼

# pages/index.vue
defineOgImageComponent("BlogPost", {img: `${imgStaticBase}/frontend.jpg`,borderColor: ""
});

ii. 更新組件代碼

# components/OgImage/BlogPost.vue
<script setup lang="ts">
withDefaults(defineProps<{img?: string;borderColor?: string;}>(),{img: "",borderColor: ""}
);
</script><template><div:class="[`border-${borderColor}`]"class="flex h-full w-full items-start justify-start border-[12px] border-solid bg-gray-50"><div class="flex h-full items-start justify-start"><div class="flex h-full w-full flex-col items-center justify-between"><img class="w-screen object-cover" :src="img" /></div></div></div>
</template>

這里預留邊框看自己需要。

?

iii. 刷新后你將看到這樣的效果


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20028.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20028.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20028.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue3 watch學習

watch的偵聽數據源類型 watch的第一個參數為偵聽數據源&#xff0c;有4種"數據源"&#xff1a; ref&#xff08;包括計算屬性&#xff09; reactive(響應式對象) getter函數 多個數據源組成的數組。 //ref const xref(0)//單個ref watch(x,(newX)>{console.…

Python庫之Scrapy-Redis的高級用法深度解析

Python庫之Scrapy-Redis的高級用法深度解析 引言 Scrapy-Redis作為Scrapy框架的擴展庫&#xff0c;不僅支持基本的分布式爬取功能&#xff0c;還提供了一系列的高級用法&#xff0c;使得爬蟲的開發和維護更加靈活和高效。本文將深入探討Scrapy-Redis的高級用法&#xff0c;幫…

python實訓——回歸類型數據挖掘任務

回歸類型數據挖掘任務 基于ARIMA和多層神經網絡模型的地鐵站點日客流量預測。有鄭州市2015年8月-11月各地鐵閘機刷卡數據集。對每日各地鐵站的客流量進行分析并進行可視化。基于上一步的分析結果&#xff0c;分別采用ARIMA模型和多層神經網絡模型對數據進行建模&#xff0c;訓…

Usage - hackthebox

簡介 靶場&#xff1a;hackmyvm 靶機&#xff1a;Usage(10.10.11.18) 難度&#xff1a;Easy 靶機鏈接:https://app.hackthebox.com/machines/Usage 攻擊機1&#xff1a;ubuntu22.04 (10.10.16.21) 攻擊機2&#xff1a;windows11(10.10.14.33) 掃描 nmap起手 nmap -sT …

Centos7.9環境下keepalived結合nginx實現負載均衡的高可用(親測版)

目錄 一、負載均衡高可用解釋 二、安裝 三、Nginx檢查腳本創建 四、修改keepalived配置文件 一、負載均衡高可用解釋 nginx 作為負載均衡器&#xff0c;所有請求都到了nginx&#xff0c;如果nginx服務器宕機后端web服務將無法提供服務&#xff0c;影響嚴重。這樣nginx作為負…

大一C語言課設 服裝銷售系統 代碼實現與項目總結

問題分析 服裝信息管理及銷售管理系統。方便對庫存服裝的信息管理和添加新服裝數據&#xff0c;同時兼具庫存數量管理功能。 功能實現 1、建立服裝信息庫&#xff0c;包括&#xff1a;服裝代碼、型號、規格、面料、顏色、單價、數量&#xff1b; 2、建立銷售信息庫&#xff…

lua拼接字符串

在Lua中&#xff0c;拼接字符串可以使用多種方法&#xff0c;包括使用..操作符、string.format函數&#xff0c;或者使用循環和table.concat函數。下面是一些常見的字符串拼接示例&#xff1a; 使用..操作符 local part1 "Hello" local part2 "World" lo…

類和對象(中)【類的6個默認成員函數】 【零散知識點】 (萬字)

類和對象&#xff08;中&#xff09; 1.類的6個默認成員函數 如果一個類中什么成員都沒有&#xff0c;簡稱為空類。 空類中真的什么都沒有嗎&#xff1f;并不是&#xff0c;任何類在什么都不寫時&#xff0c;編譯器會自動生成以下6個默認成員函數。 默認成員函數&#xff1…

【Python】如何使用 Python 自動發送每日電子郵件報告

人不走空 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌賦&#xff1a;斯是陋室&#xff0c;惟吾德馨 目錄 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌…

整合Spring Boot 框架集成Knife4j

本次示例使用Spring Boot作為腳手架來快速集成Knife4j,Spring Boot版本2.3.5.RELEASE ,Knife4j版本2.0.7 POM.XML完整文件代碼如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0…

智能合約引領:探索Web3的商業革新之路

隨著區塊鏈技術的迅速發展&#xff0c;智能合約作為其重要應用之一&#xff0c;正在逐步改變著商業世界的格局。Web3作為下一代互聯網的代表&#xff0c;正引領著智能合約在商業領域的廣泛應用和創新。本文將深入探討智能合約在Web3中的作用&#xff0c;以及智能合約如何引領著…

【正在線上召開】2024機器智能與數字化應用國際會議(MIDA2024),免費參會

【ACM出版】2024機器智能與數字化應用國際會議&#xff08;MIDA2024&#xff09; 2024 International Conference on Machine Intelligence and Digital Applications 【支持單位】 寧波財經學院 法國上阿爾薩斯大學 【大會主席】 Ljiljana Trajkovic 加拿大西蒙菲莎大…

【JavaScript腳本宇宙】跨越邊界:挖掘JavaScript驗證庫的無限可能

引領技術潮流&#xff1a;六大頂級JavaScript驗證庫解析 前言 在現代編程中&#xff0c;數據驗證是一個非常重要的環節。本文將探索六種不同的JavaScript數據驗證庫&#xff0c;分別介紹它們的概述&#xff0c;主要特性&#xff0c;使用示例和使用場景。 歡迎訂閱專欄&#x…

PHP身份證真假API在線文檔、身份證ocr識別、身份證三要素人像核驗

翔云PHP身份證真假API文檔&#xff0c;為開發者提供了一個詳盡的操作指南和接口說明。通過簡潔明了的文檔&#xff0c;開發者可以輕松集成身份證驗證功能到各類網站或應用程序中&#xff0c;無需從零開始編寫復雜的驗證邏輯&#xff0c;大大縮短了開發周期&#xff0c;降低了技…

使用畫圖工具修改圖片文字

方法思路&#xff1a; 使用背景色將需要修改的文字覆蓋&#xff0c;然后在原來的地方加入修改后的字。 第一步&#xff1a; 選中圖片后右鍵&#xff0c;選擇“編輯”&#xff08;默認會使用畫圖工具打開&#xff09; 第二步&#xff1a; 選取顏色選取器&#xff0c;如下圖 使…

cpprestsdk https雙向認證小測

概述 因項目需要在系統中引入https雙向認證&#xff0c;由于程序使用C/C和cpprestsdk庫編寫&#xff0c;從網上經過一頓檢索折騰&#xff0c;總算測試通過&#xff0c;故而博文記錄用以備忘。 系統環境 Ubuntu 22.04.3 LTS libcpprest-dev&#xff08;jammy,now 2.10.18-1bu…

【Text2SQL 論文】DIN-SQL:分解任務 + 自我糾正 + in-context 讓 LLM 完成 Text2SQL

論文&#xff1a;DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction ???? NeurIPS 2023, arXiv:2304.11015 Code: Few-shot-NL2SQL-with-prompting | GitHub 文章目錄 一、論文速讀1.1 Schema Linking Module1.2 Classification & Decompo…

【每日刷題】Day52

【每日刷題】Day52 &#x1f955;個人主頁&#xff1a;開敲&#x1f349; &#x1f525;所屬專欄&#xff1a;每日刷題&#x1f34d; &#x1f33c;文章目錄&#x1f33c; 1. 2965. 找出缺失和重復的數字 - 力扣&#xff08;LeetCode&#xff09; 2. 350. 兩個數組的交集 II …

kaggle競賽系列基于圖像對水稻分類代碼案例

目錄 依賴環境 代碼 導入依賴包 定義數據集路徑&#xff1a; 創建訓練集、驗證集和測試集的文件夾&#xff1a; 代碼的作用&#xff1a; 設置新的數據集路徑與類別名稱 代碼的作用&#xff1a; 定義數據預處理和增強變換&#xff1a; 代碼的作用&#xff1a; 定義數…

【源碼】多語言H5聊天室/thinkphp多國語言即時通訊/H5聊天室源碼/在線聊天/全開源

多語言聊天室系統&#xff0c;可當即時通訊用&#xff0c;系統默認無需注冊即可進入群聊天&#xff0c;全開源 【海外聊天室】多語言H5聊天室/thinkphp多國語言即時通訊/H5聊天室源碼/在線聊天/全開源 - 吾愛資源網