@@ -82,3 +82,38 @@ def favicons_links() -> list[rx.Component]:
8282 rx .el .link (rel = "manifest" , href = "/meta/site.webmanifest" ),
8383 rx .el .link (rel = "shortcut icon" , href = "/favicon.ico" ),
8484 ]
85+
86+
87+ def create_meta_tags (title : str , description : str , image : str ) -> list [rx .Component ]:
88+ return [
89+ # HTML Meta Tags
90+ {"name" : "application-name" , "content" : "Reflex" },
91+ {
92+ "name" : "keywords" ,
93+ "content" : "reflex, python, web apps, framework, open source, frontend, backend, full stack" ,
94+ },
95+ {
96+ "name" : "description" ,
97+ "content" : description ,
98+ },
99+ # Facebook Meta Tags
100+ {"property" : "og:url" , "content" : "https://reflex.dev/" },
101+ {"property" : "og:type" , "content" : "website" },
102+ {"property" : "og:title" , "content" : title },
103+ {
104+ "property" : "og:description" ,
105+ "content" : description ,
106+ },
107+ {"property" : "og:image" , "content" : image },
108+ # Twitter Meta Tags
109+ {"name" : "twitter:card" , "content" : "summary_large_image" },
110+ {"property" : "twitter:domain" , "content" : "reflex.dev" },
111+ {"property" : "twitter:url" , "content" : "https://reflex.dev/" },
112+ {"name" : "twitter:title" , "content" : title },
113+ {
114+ "name" : "twitter:description" ,
115+ "content" : description ,
116+ },
117+ {"name" : "twitter:image" , "content" : image },
118+ {"name" : "twitter:creator" , "content" : "@getreflex" },
119+ ]
0 commit comments