diff --git a/docs/src/containers/Footer/index.js b/docs/src/containers/Footer/index.js
index 3e62f579a..186839e04 100644
--- a/docs/src/containers/Footer/index.js
+++ b/docs/src/containers/Footer/index.js
@@ -1,100 +1,108 @@
-import React from "react";
+import React from 'react'
-import { AiOutlineGithub, AiOutlineTwitter } from "react-icons/ai";
-import { BiLogoDiscordAlt, BiLogoLinkedin } from "react-icons/bi";
+import { AiOutlineGithub, AiOutlineTwitter } from 'react-icons/ai'
+import { BiLogoDiscordAlt, BiLogoLinkedin } from 'react-icons/bi'
const socials = [
{
- icon: ,
- href: "https://twitter.com/janframework",
+ icon: (
+
+ ),
+ href: 'https://twitter.com/janframework',
},
{
- icon: ,
- href: "https://discord.com/invite/FTk2MvZwJH",
+ icon: (
+
+ ),
+ href: 'https://discord.com/invite/FTk2MvZwJH',
},
{
- icon: ,
- href: "https://github.com/janhq/jan",
+ icon: (
+
+ ),
+ href: 'https://github.com/janhq/jan',
},
{
- icon: ,
- href: "https://www.linkedin.com/company/janframework/",
- }
-];
+ icon: (
+
+ ),
+ href: 'https://www.linkedin.com/company/janframework/',
+ },
+]
const menus = [
{
- name: "For Developers",
+ name: 'For Developers',
child: [
{
- menu: "Documentation",
- path: "/developer",
+ menu: 'Documentation',
+ path: '/developer',
},
{
- menu: "Hardware",
- path: "/hardware",
+ menu: 'Hardware',
+ path: '/hardware',
},
{
- menu: "API Reference",
- path: "/api-reference",
+ menu: 'API Reference',
+ path: '/api-reference',
},
{
- menu: "Changelog",
- path: "https://github.com/janhq/jan/releases",
+ menu: 'Changelog',
+ path: 'https://github.com/janhq/jan/releases',
external: true,
},
],
},
{
- name: "Community",
+ name: 'Community',
child: [
{
- menu: "Github",
- path: "https://github.com/janhq/jan",
+ menu: 'Github',
+ path: 'https://github.com/janhq/jan',
external: true,
},
{
- menu: "Discord",
- path: "https://discord.gg/FTk2MvZwJH",
+ menu: 'Discord',
+ path: 'https://discord.gg/FTk2MvZwJH',
external: true,
},
{
- menu: "Twitter",
- path: "https://twitter.com/janframework",
+ menu: 'Twitter',
+ path: 'https://twitter.com/janframework',
external: true,
},
{
- menu: "LinkedIn",
- path: "https://www.linkedin.com/company/janframework/",
+ menu: 'LinkedIn',
+ path: 'https://www.linkedin.com/company/janframework/',
external: true,
- }
+ },
],
},
{
- name: "Company",
+ name: 'Company',
child: [
{
- menu: "About",
- path: "/about",
+ menu: 'About',
+ path: '/about',
},
{
- menu: "Blog",
- path: "/blog",
+ menu: 'Blog',
+ path: '/blog',
},
{
- menu: "Careers",
- path: "https://janai.bamboohr.com/careers",
+ menu: 'Careers',
+ path: 'https://janai.bamboohr.com/careers',
external: true,
},
{
- menu: "Newsletter",
- path: "/community#newsletter",
- }
+ menu: 'Newsletter',
+ path: '/community#newsletter',
+ },
],
},
-];
+]
-const getCurrentYear = new Date().getFullYear();
+const getCurrentYear = new Date().getFullYear()
export default function Footer() {
return (
@@ -106,30 +114,13 @@ export default function Footer() {
Jan
-
-
- Jan is the open-source, self-hosted
+
+
The Soul of a New Machine
+
+ Subscribe to our newsletter on AI{' '}
- alternative to ChatGPT.
+ research and building Jan:
-
-
{menus.map((menu, i) => {
@@ -142,25 +133,42 @@ export default function Footer() {
{child.menu}
- );
+ )
})}
- );
+ )
})}
-
-
- ©{getCurrentYear} Jan AI Pte Ltd.
-
+
+
+
+ ©{getCurrentYear} Jan AI Pte Ltd.
+
+
+
- );
+ )
}
diff --git a/docs/src/containers/SocialButton/index.js b/docs/src/containers/SocialButton/index.js
deleted file mode 100644
index 572c2210f..000000000
--- a/docs/src/containers/SocialButton/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from "react";
-import { FaGithub, FaDiscord } from "react-icons/fa";
-import { RiStarSFill } from "react-icons/ri";
-import { useAppStars } from "@site/src/hooks/useAppStars";
-import { useDiscordWidget } from "@site/src/hooks/useDiscordWidget";
-
-export default function SocialButton() {
- const { stargazers } = useAppStars();
- const { data } = useDiscordWidget();
-
- return (
-
- );
-}
diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js
index 1e5add4a6..38dceb1c3 100644
--- a/docs/src/pages/index.js
+++ b/docs/src/pages/index.js
@@ -7,9 +7,12 @@ import Banner from '@site/src/containers/Banner'
import ThemedImage from '@theme/ThemedImage'
-import SocialButton from '@site/src/containers/SocialButton'
-
import { IoArrowDown } from 'react-icons/io5'
+import { IoMapOutline } from 'react-icons/io5'
+import { useAppStars } from '@site/src/hooks/useAppStars'
+import { useDiscordWidget } from '@site/src/hooks/useDiscordWidget'
+import { FaGithub, FaDiscord } from 'react-icons/fa'
+import { RiStarSFill } from 'react-icons/ri'
import Dropdown from '@site/src/containers/Elements/dropdown'
@@ -17,6 +20,8 @@ import useIsBrowser from '@docusaurus/useIsBrowser'
export default function Home() {
const isBrowser = useIsBrowser()
+ const { stargazers } = useAppStars()
+ const { data } = useDiscordWidget()
const handleAnchorLink = () => {
document
@@ -35,11 +40,12 @@ export default function Home() {
description="Jan runs 100% offline on your computer, utilizes open-source AI models, prioritizes privacy, and is highly customizable."
>
-
+ {/* Hero */}
+
Rethink the Computer
-
+
Turn your computer into a{' '}
AI machine
@@ -57,249 +63,437 @@ export default function Home() {
)}
-
+
400K+
{' '}
downloads | Free & Open Source
+
+
+
+
- {/*
-
-
-
-
+ {/* Build with Love */}
+
+
+
+ Built with love
+
+
+ Jan is entirely open-source. We build it transparently, guided
+ by the belief that AI's
+ future should be open and shared with everyone.
+
-
*/}
- {/*
-
-
-
-
-
-
-
-
-
-
-
-
100% open source
-
- Our core team believes that AI should be open source, and
- Jan is built in public.
-
-
-
-
-
-
-
-
-
*/}
-
- {/*
-
-
-
-
-
- Desktop App
-
-
-
- 10x productivity
- {' '}
- with customizable AI {' '}
- assistants, global hotkeys, and in-line AI.
-
-
-
-
-
-
-
*/}
-
- {/*
-
-
-
-
-
-
- Mobile App
-
-
- Coming Soon
+ */}
-
- {/*
-
-
-
-
-
-
- Offline and Local First
-
-
- Conversations, preferences, and model usage stay on{' '}
- your computer—secure,
- exportable, and can be deleted at any time.
-
-
-
-
-
-
- OpenAI Compatible
-
-
- Jan provides an OpenAI-equivalent API{' '}
- server at
- localhost:
-
- 1337
- {' '}
- that can be used as a drop-in replacement with
- compatible apps.
-
-
-
-
-
-
- /chats/completions
-
-
-
-
-
-
- Local server and API
-
-
-
-
-
-
-
- Assistants framework
-
-
- Coming Soon
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Roadmap
+
+ We build in public. See where we're headed!
+
-
+
-
*/}
-
-
- {/*
-
-
Rethink the Computer
-
Turn your computer into a AI machine
- */}
+
+ {/* Wall of love */}
+
+
+
+ People say nice things
+
+
+ ...despite our bugs and fast moving releases
+
+
+
+
+ {/* Feature */}
+
+
+
+
+ Jan redefines how we use
+ computers
+
+
+
+
+ View Our Features
+
+
+
+
+
+ {/* Philosophy */}
+
+
+
+ Our Philosophy
+
+
+ Jan is opinionated software on what AI should be
+
+
+
+
+
+
+
+
+
+
+
+
+
Local-first
+
+ We believe your conversations and files should remain yours
+ alone. That's why we prioritize local-first AI, running
+ open-source models directly on your computer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
User-owned
+
+ Your data, your rules. Jan stores everything on your device
+ in universal formats, giving you total freedom to move your
+ data without tricks or traps.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Fully Customizable
+
+ You can endlessly customize the experience with 3rd party
+ extensions. You can adjust alignment, moderation, and
+ censorship levels to your needs.
+
+
+
+
+
+
+ {/* CTA email newsletter */}
+
+
+
+
+
+
+ The Soul of a New Machine
+
+
+ Follow our AI research and journey in building Jan
+
+
+
+
+
+
+ {/* Location and statistic */}
+
+
+
+
+
+
32+
+
+ Contributors
+
+
+
+
1722+
+
+ Pull Requests
+
+
+
+
400K+
+
+ Downloads
+
+
+
+
+
+
+
+ {/* CTA Bottom */}
+
+
+
+
+ Change how you use
+ computers
+
+
+
+ {!isBrowserChrome ? (
+
handleAnchorLink()}
+ className="inline-flex px-4 py-3 rounded-lg text-lg font-semibold cursor-pointer justify-center items-center space-x-2 dark:bg-white dark:text-black bg-black text-white dark:hover:text-black hover:text-white scroll-smooth"
+ >
+ Download Jan for PC
+
+ ) : (
+
+ )}
+
+
+ 400K+
+ {' '}
+ downloads | Free & Open Source
+
+
+
+
+
>
)
diff --git a/docs/src/styles/components/base.scss b/docs/src/styles/components/base.scss
index 8e1dd3cac..10d627b83 100644
--- a/docs/src/styles/components/base.scss
+++ b/docs/src/styles/components/base.scss
@@ -38,6 +38,10 @@
@apply bg-white dark:bg-[#0C0C0C];
}
+ #__docusaurus {
+ @apply bg-white dark:bg-[#0C0C0C];
+ }
+
img {
pointer-events: none;
}
diff --git a/docs/src/styles/components/card.scss b/docs/src/styles/components/card.scss
index 0bd29b3c4..028612f71 100644
--- a/docs/src/styles/components/card.scss
+++ b/docs/src/styles/components/card.scss
@@ -29,6 +29,32 @@
0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
0px 1px 1px 0px #4c4c4c inset;
}
+
+ .card-wrapper {
+ border-radius: 16px;
+ background: linear-gradient(180deg, #fafafa 0%, #ededed 100%);
+ box-shadow:
+ 0px 4px 12px 0px rgba(0, 0, 0, 0.12),
+ 0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
+ 0px 1px 1px 0px #fff inset;
+ }
+
+ .card-wrapper-dark {
+ border-radius: 12px;
+ background: var(
+ --Linear-dark,
+ linear-gradient(
+ 268deg,
+ rgba(117, 117, 117, 0.38) 0%,
+ rgba(121, 119, 128, 0.33) 100%
+ )
+ );
+ box-shadow:
+ 0px 4px 12px 0px rgba(0, 0, 0, 0.12),
+ 0px -1px 1px 0px rgba(0, 0, 0, 0.1) inset,
+ 0px 0.2px 1px 0px #fff inset;
+ }
+
.card {
@apply rounded-xl border bg-gray-50 border-gray-50 dark:border-[#202231] dark:bg-[#111217]/50;
diff --git a/docs/static/img/homepage/app-frame-dark.png b/docs/static/img/homepage/app-frame-dark.png
new file mode 100644
index 000000000..eac8a2cda
Binary files /dev/null and b/docs/static/img/homepage/app-frame-dark.png differ
diff --git a/docs/static/img/homepage/app-frame-light.png b/docs/static/img/homepage/app-frame-light.png
new file mode 100644
index 000000000..a7308ac3b
Binary files /dev/null and b/docs/static/img/homepage/app-frame-light.png differ
diff --git a/docs/static/img/homepage/mac-system-black.png b/docs/static/img/homepage/mac-system-black.png
new file mode 100644
index 000000000..1c1f78237
Binary files /dev/null and b/docs/static/img/homepage/mac-system-black.png differ
diff --git a/docs/static/img/homepage/mac-system-white.png b/docs/static/img/homepage/mac-system-white.png
new file mode 100644
index 000000000..9f45ef01e
Binary files /dev/null and b/docs/static/img/homepage/mac-system-white.png differ
diff --git a/docs/static/img/homepage/mapbase-light.png b/docs/static/img/homepage/mapbase-light.png
new file mode 100644
index 000000000..ee38cd576
Binary files /dev/null and b/docs/static/img/homepage/mapbase-light.png differ
diff --git a/docs/static/img/homepage/mapbase.png b/docs/static/img/homepage/mapbase.png
new file mode 100644
index 000000000..0cb773b02
Binary files /dev/null and b/docs/static/img/homepage/mapbase.png differ