This is an automated email from the ASF dual-hosted git repository.

hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-website.git

commit 1918460e9c6dfb809f587c1892d77a7511ef8c47
Author: Yang Luo <[email protected]>
AuthorDate: Sat Oct 3 22:35:42 2026 +0800

    feat: add social card and structured data to homepage
---
 docusaurus.config.js       |   1 +
 src/pages/index.js         |  39 ++++++++++++++++++++++++++++++++++++---
 static/img/social-card.png | Bin 0 -> 58780 bytes
 3 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/docusaurus.config.js b/docusaurus.config.js
index 325782803..998f759f6 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -20,6 +20,7 @@ module.exports = {
   organizationName: "apache", // Usually your GitHub org/user name.
   projectName: "casbin-website", // Usually your repo name.
   themeConfig: {
+    image: "img/social-card.png",
     metadata: [
       {
         name: "Apache Casbin",
diff --git a/src/pages/index.js b/src/pages/index.js
index b95671ad0..412a71e05 100644
--- a/src/pages/index.js
+++ b/src/pages/index.js
@@ -1,6 +1,7 @@
 import React, {useEffect, useRef} from "react";
 import clsx from "clsx";
 import Layout from "@theme/Layout";
+import Head from "@docusaurus/Head";
 import Link from "@docusaurus/Link";
 import styles from "./index.module.css";
 import HomepageFeatures from "../components/HomepageFeatures";
@@ -210,7 +211,7 @@ function Showcase() {
   return (
     <div className="hero text--center showcase">
       <div className="container">
-        <h1><Translate>Who&apos;s using Apache Casbin?</Translate></h1>
+        <h2><Translate>Who&apos;s using Apache Casbin?</Translate></h2>
         <p style={{
           width: "50vw",
           margin: "auto",
@@ -232,11 +233,43 @@ function Showcase() {
   );
 }
 
+const structuredData = {
+  "@context": "https://schema.org";,
+  "@graph": [
+    {
+      "@type": "WebSite",
+      "@id": "https://casbin.apache.org/#website";,
+      "name": "Apache Casbin",
+      "url": "https://casbin.apache.org/";,
+      "publisher": {"@id": "https://www.apache.org/#organization"},
+    },
+    {
+      "@type": "Organization",
+      "@id": "https://www.apache.org/#organization";,
+      "name": "The Apache Software Foundation",
+      "url": "https://www.apache.org/";,
+    },
+    {
+      "@type": "SoftwareSourceCode",
+      "name": "Apache Casbin",
+      "url": "https://casbin.apache.org/";,
+      "description": "Open-source authorization library that supports access 
control models such as ACL, RBAC, ABAC and ReBAC, with implementations for Go, 
Java, Node.js, Python, .NET, PHP, Rust, C++ and other languages.",
+      "codeRepository": "https://github.com/apache/casbin";,
+      "programmingLanguage": ["Go", "Java", "JavaScript", "TypeScript", 
"Python", "C#", "PHP", "Rust", "C++"],
+      "license": "https://www.apache.org/licenses/LICENSE-2.0";,
+      "publisher": {"@id": "https://www.apache.org/#organization"},
+    },
+  ],
+};
+
 export default function Home() {
   return (
     <Layout
-      title="Apache Casbin ยท An authorization library"
-      description="An authorization library that supports access control 
models like ACL, RBAC, ABAC, ReBAC, PBAC, OrBAC, BLP, Biba, LBAC, UCON, 
Priority, RESTful for Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, 
Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), 
Dart (Flutter) and Elixir">
+      title="Open-Source Authorization Library for ACL, RBAC and ABAC"
+      description="Apache Casbin is an open-source authorization library that 
supports ACL, RBAC, ABAC, ReBAC and more, with one model for Go, Java, Node.js, 
Python, .NET, PHP, Rust and C++.">
+      <Head>
+        <script 
type="application/ld+json">{JSON.stringify(structuredData)}</script>
+      </Head>
       <main>
         <HomepageHeader />
         <LanguageIntegration />
diff --git a/static/img/social-card.png b/static/img/social-card.png
new file mode 100644
index 000000000..97ea1c0c0
Binary files /dev/null and b/static/img/social-card.png differ


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to