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">
- ★ {stars}
+ ★ {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";