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

piotr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iggy-website.git


The following commit(s) were added to refs/heads/main by this push:
     new f581daaf Update star counter, add license headers
f581daaf is described below

commit f581daaf0d6149e49d3990949d4336457f726a15
Author: spetz <[email protected]>
AuthorDate: Sun Mar 8 07:07:21 2026 +0100

    Update star counter, add license headers
---
 .gitignore                              |  3 ++
 next.config.mjs                         | 19 +++++++++++++
 package.json                            |  1 +
 postcss.config.mjs                      | 19 +++++++++++++
 scripts/fetch-github-stars.mjs          | 49 +++++++++++++++++++++++++++++++++
 source.config.ts                        | 19 +++++++++++++
 src/app/(home)/layout.tsx               | 19 +++++++++++++
 src/app/(home)/page.tsx                 | 19 +++++++++++++
 src/app/(site)/blogs/[...slug]/page.tsx | 19 +++++++++++++
 src/app/(site)/blogs/page.tsx           | 19 +++++++++++++
 src/app/(site)/downloads/page.tsx       | 19 +++++++++++++
 src/app/(site)/layout.tsx               | 19 +++++++++++++
 src/app/api/search/route.ts             | 19 +++++++++++++
 src/app/docs/[[...slug]]/page.tsx       | 19 +++++++++++++
 src/app/docs/layout.tsx                 | 19 +++++++++++++
 src/app/global.css                      | 19 +++++++++++++
 src/app/layout.tsx                      | 19 +++++++++++++
 src/components/asf-dropdown.tsx         | 19 +++++++++++++
 src/components/asf-mobile-links.tsx     | 19 +++++++++++++
 src/components/github-stars.tsx         | 41 ++++++++++++++-------------
 src/components/logo.tsx                 | 19 +++++++++++++
 src/components/mermaid.tsx              | 19 +++++++++++++
 src/lib/layout.shared.tsx               | 19 +++++++++++++
 src/lib/source.ts                       | 19 +++++++++++++
 src/mdx-components.tsx                  | 19 +++++++++++++
 25 files changed, 472 insertions(+), 21 deletions(-)

diff --git a/.gitignore b/.gitignore
index 1b803d91..5a605c5f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,9 @@
 # Fumadocs generated
 .source/
 
+# Build-time generated
+src/github-stars.json
+
 # System files
 .DS_Store
 Thumbs.db
diff --git a/next.config.mjs b/next.config.mjs
index 1065dcdf..fa421b9d 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { createMDX } from "fumadocs-mdx/next";
 
 const withMDX = createMDX();
diff --git a/package.json b/package.json
index f54dc884..4c4dce25 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
   "private": true,
   "scripts": {
     "dev": "next dev",
+    "prebuild": "node scripts/fetch-github-stars.mjs",
     "build": "next build",
     "start": "next start",
     "postinstall": "fumadocs-mdx"
diff --git a/postcss.config.mjs b/postcss.config.mjs
index 61e36849..97ea8342 100644
--- a/postcss.config.mjs
+++ b/postcss.config.mjs
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 const config = {
   plugins: {
     "@tailwindcss/postcss": {},
diff --git a/scripts/fetch-github-stars.mjs b/scripts/fetch-github-stars.mjs
new file mode 100644
index 00000000..ff90c603
--- /dev/null
+++ b/scripts/fetch-github-stars.mjs
@@ -0,0 +1,49 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { writeFileSync } from "fs";
+
+const FALLBACK = "3.9K";
+
+function formatStars(count) {
+  return count >= 1000 ? `${(count / 1000).toFixed(1)}K` : String(count);
+}
+
+async function main() {
+  let stars = FALLBACK;
+  try {
+    const res = await fetch("https://api.github.com/repos/apache/iggy";);
+    if (res.ok) {
+      const data = await res.json();
+      if (data.stargazers_count) {
+        stars = formatStars(data.stargazers_count);
+      }
+    }
+  } catch (e) {
+    console.warn("Failed to fetch GitHub stars, using fallback:", e.message);
+  }
+
+  writeFileSync(
+    new URL("../src/github-stars.json", import.meta.url),
+    JSON.stringify({ stars }),
+  );
+  console.log(`GitHub stars: ${stars}`);
+}
+
+main();
diff --git a/source.config.ts b/source.config.ts
index 48035697..4b0fd642 100644
--- a/source.config.ts
+++ b/source.config.ts
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import {
   defineConfig,
   defineDocs,
diff --git a/src/app/(home)/layout.tsx b/src/app/(home)/layout.tsx
index 3545eb6e..18f9771c 100644
--- a/src/app/(home)/layout.tsx
+++ b/src/app/(home)/layout.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { HomeLayout } from "fumadocs-ui/layouts/home";
 import { homeOptions } from "@/lib/layout.shared";
 
diff --git a/src/app/(home)/page.tsx b/src/app/(home)/page.tsx
index 9275f5b2..224f2b1a 100644
--- a/src/app/(home)/page.tsx
+++ b/src/app/(home)/page.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import Link from "next/link";
 import Image from "next/image";
 import type { Metadata } from "next";
diff --git a/src/app/(site)/blogs/[...slug]/page.tsx 
b/src/app/(site)/blogs/[...slug]/page.tsx
index d3d13e43..ca1e3ebe 100644
--- a/src/app/(site)/blogs/[...slug]/page.tsx
+++ b/src/app/(site)/blogs/[...slug]/page.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { blogPosts } from "@/lib/source";
 import { notFound } from "next/navigation";
 import { getMDXComponents } from "@/mdx-components";
diff --git a/src/app/(site)/blogs/page.tsx b/src/app/(site)/blogs/page.tsx
index 0e86ecab..50bcc066 100644
--- a/src/app/(site)/blogs/page.tsx
+++ b/src/app/(site)/blogs/page.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import Link from "next/link";
 import { blogPosts } from "@/lib/source";
 import type { Metadata } from "next";
diff --git a/src/app/(site)/downloads/page.tsx 
b/src/app/(site)/downloads/page.tsx
index af00f9c4..df91cce8 100644
--- a/src/app/(site)/downloads/page.tsx
+++ b/src/app/(site)/downloads/page.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import Link from "next/link";
 import type { Metadata } from "next";
 
diff --git a/src/app/(site)/layout.tsx b/src/app/(site)/layout.tsx
index b1d5443f..8fd3f354 100644
--- a/src/app/(site)/layout.tsx
+++ b/src/app/(site)/layout.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { HomeLayout } from "fumadocs-ui/layouts/home";
 import { siteOptions } from "@/lib/layout.shared";
 
diff --git a/src/app/api/search/route.ts b/src/app/api/search/route.ts
index 3163f4c8..1ba3b407 100644
--- a/src/app/api/search/route.ts
+++ b/src/app/api/search/route.ts
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { source } from "@/lib/source";
 import { createFromSource } from "fumadocs-core/search/server";
 
diff --git a/src/app/docs/[[...slug]]/page.tsx 
b/src/app/docs/[[...slug]]/page.tsx
index 38410ee1..0c784c23 100644
--- a/src/app/docs/[[...slug]]/page.tsx
+++ b/src/app/docs/[[...slug]]/page.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { source } from "@/lib/source";
 import {
   DocsBody,
diff --git a/src/app/docs/layout.tsx b/src/app/docs/layout.tsx
index e582fb4f..802e4634 100644
--- a/src/app/docs/layout.tsx
+++ b/src/app/docs/layout.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { source } from "@/lib/source";
 import { DocsLayout } from "fumadocs-ui/layouts/docs";
 import { docsOptions } from "@/lib/layout.shared";
diff --git a/src/app/global.css b/src/app/global.css
index 25a880d3..5c8231ef 100644
--- a/src/app/global.css
+++ b/src/app/global.css
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 @import "tailwindcss";
 @import "fumadocs-ui/css/black.css";
 @import "fumadocs-ui/css/preset.css";
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 40736c63..1c52e28b 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { RootProvider } from "fumadocs-ui/provider/next";
 import { GeistSans } from "geist/font/sans";
 import { GeistMono } from "geist/font/mono";
diff --git a/src/components/asf-dropdown.tsx b/src/components/asf-dropdown.tsx
index 722b66a7..8c101333 100644
--- a/src/components/asf-dropdown.tsx
+++ b/src/components/asf-dropdown.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 "use client";
 
 import { useState, useRef, useEffect } from "react";
diff --git a/src/components/asf-mobile-links.tsx 
b/src/components/asf-mobile-links.tsx
index 26c25092..d05da0a5 100644
--- a/src/components/asf-mobile-links.tsx
+++ b/src/components/asf-mobile-links.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 "use client";
 
 import { useState } from "react";
diff --git a/src/components/github-stars.tsx b/src/components/github-stars.tsx
index 57bf098b..538e092e 100644
--- a/src/components/github-stars.tsx
+++ b/src/components/github-stars.tsx
@@ -1,27 +1,26 @@
-"use client";
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 
-import { useEffect, useState } from "react";
 import Link from "next/link";
-
-const FALLBACK = "3.8K";
+import data from "@/github-stars.json";
 
 export function GitHubStars() {
-  const [stars, setStars] = useState(FALLBACK);
-
-  useEffect(() => {
-    fetch("https://api.github.com/repos/apache/iggy";)
-      .then((res) => res.json())
-      .then((data) => {
-        if (data.stargazers_count) {
-          const count = data.stargazers_count;
-          setStars(
-            count >= 1000 ? `${(count / 1000).toFixed(1)}K` : String(count),
-          );
-        }
-      })
-      .catch(() => {});
-  }, []);
-
   return (
     <Link
       href="https://github.com/apache/iggy";
@@ -30,7 +29,7 @@ export function GitHubStars() {
     >
       GitHub{" "}
       <span className="inline-flex items-center gap-1 text-fd-primary">
-        &#9733; {stars}
+        &#9733; {data.stars}
       </span>
     </Link>
   );
diff --git a/src/components/logo.tsx b/src/components/logo.tsx
index 07d8ddb6..d5e5b693 100644
--- a/src/components/logo.tsx
+++ b/src/components/logo.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 "use client";
 
 import Image from "next/image";
diff --git a/src/components/mermaid.tsx b/src/components/mermaid.tsx
index eef9ff97..624b5aa0 100644
--- a/src/components/mermaid.tsx
+++ b/src/components/mermaid.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 "use client";
 
 import { use, useEffect, useState } from "react";
diff --git a/src/lib/layout.shared.tsx b/src/lib/layout.shared.tsx
index 1429dc0a..f9ce32d5 100644
--- a/src/lib/layout.shared.tsx
+++ b/src/lib/layout.shared.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared";
 import Image from "next/image";
 import { Logo } from "@/components/logo";
diff --git a/src/lib/source.ts b/src/lib/source.ts
index c3c68eef..0d9559d5 100644
--- a/src/lib/source.ts
+++ b/src/lib/source.ts
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { docs, blogPosts } from "fumadocs-mdx:collections/server";
 import { loader } from "fumadocs-core/source";
 
diff --git a/src/mdx-components.tsx b/src/mdx-components.tsx
index f320226e..e4aa3398 100644
--- a/src/mdx-components.tsx
+++ b/src/mdx-components.tsx
@@ -1,3 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import defaultMdxComponents from "fumadocs-ui/mdx";
 import { Mermaid } from "@/components/mermaid";
 import type { MDXComponents } from "mdx/types";

Reply via email to