diff --git a/public/assets/images/homepage/app-frame-light-fixed.png b/public/assets/images/homepage/app-frame-light-fixed.png new file mode 100644 index 00000000..ec2dc3a8 Binary files /dev/null and b/public/assets/images/homepage/app-frame-light-fixed.png differ diff --git a/public/assets/images/homepage/assistant-dark.png b/public/assets/images/homepage/assistant-dark.png new file mode 100644 index 00000000..f7d737a5 Binary files /dev/null and b/public/assets/images/homepage/assistant-dark.png differ diff --git a/public/assets/images/homepage/assistant-light.png b/public/assets/images/homepage/assistant-light.png new file mode 100644 index 00000000..6d50e29d Binary files /dev/null and b/public/assets/images/homepage/assistant-light.png differ diff --git a/public/assets/images/homepage/extension-dark.png b/public/assets/images/homepage/extension-dark.png new file mode 100644 index 00000000..b85e16cf Binary files /dev/null and b/public/assets/images/homepage/extension-dark.png differ diff --git a/public/assets/images/homepage/extension-light.png b/public/assets/images/homepage/extension-light.png new file mode 100644 index 00000000..55677a49 Binary files /dev/null and b/public/assets/images/homepage/extension-light.png differ diff --git a/public/assets/images/homepage/features01.png b/public/assets/images/homepage/features01.png new file mode 100644 index 00000000..30174f13 Binary files /dev/null and b/public/assets/images/homepage/features01.png differ diff --git a/public/assets/images/homepage/features01dark.png b/public/assets/images/homepage/features01dark.png new file mode 100644 index 00000000..f556da32 Binary files /dev/null and b/public/assets/images/homepage/features01dark.png differ diff --git a/public/assets/images/homepage/features02.png b/public/assets/images/homepage/features02.png new file mode 100644 index 00000000..56688c05 Binary files /dev/null and b/public/assets/images/homepage/features02.png differ diff --git a/public/assets/images/homepage/features02dark.png b/public/assets/images/homepage/features02dark.png new file mode 100644 index 00000000..92943878 Binary files /dev/null and b/public/assets/images/homepage/features02dark.png differ diff --git a/public/assets/images/homepage/features03.png b/public/assets/images/homepage/features03.png new file mode 100644 index 00000000..290a8812 Binary files /dev/null and b/public/assets/images/homepage/features03.png differ diff --git a/public/assets/images/homepage/features03dark.png b/public/assets/images/homepage/features03dark.png new file mode 100644 index 00000000..3afff929 Binary files /dev/null and b/public/assets/images/homepage/features03dark.png differ diff --git a/public/assets/images/homepage/features04.png b/public/assets/images/homepage/features04.png new file mode 100644 index 00000000..b9e08f3a Binary files /dev/null and b/public/assets/images/homepage/features04.png differ diff --git a/public/assets/images/homepage/features04dark.png b/public/assets/images/homepage/features04dark.png new file mode 100644 index 00000000..997dd42b Binary files /dev/null and b/public/assets/images/homepage/features04dark.png differ diff --git a/public/assets/images/homepage/features05.png b/public/assets/images/homepage/features05.png new file mode 100644 index 00000000..b60c6557 Binary files /dev/null and b/public/assets/images/homepage/features05.png differ diff --git a/public/assets/images/homepage/features05dark.png b/public/assets/images/homepage/features05dark.png new file mode 100644 index 00000000..a4bd8e05 Binary files /dev/null and b/public/assets/images/homepage/features05dark.png differ diff --git a/public/assets/images/homepage/glow.png b/public/assets/images/homepage/glow.png new file mode 100644 index 00000000..099422e5 Binary files /dev/null and b/public/assets/images/homepage/glow.png differ diff --git a/public/assets/images/homepage/icon.png b/public/assets/images/homepage/icon.png new file mode 100644 index 00000000..786eada6 Binary files /dev/null and b/public/assets/images/homepage/icon.png differ diff --git a/src/components/Home/APIStructure/index.tsx b/src/components/Home/APIStructure/index.tsx index bbf2c5dd..c926bb39 100644 --- a/src/components/Home/APIStructure/index.tsx +++ b/src/components/Home/APIStructure/index.tsx @@ -1,5 +1,4 @@ import React from 'react' -import { BsArrowRight } from 'react-icons/bs' const endpoints = [ { diff --git a/src/components/Home/Customizable/index.tsx b/src/components/Home/Customizable/index.tsx new file mode 100644 index 00000000..2b659bb5 --- /dev/null +++ b/src/components/Home/Customizable/index.tsx @@ -0,0 +1,77 @@ +import ThemeImage from '@/components/ThemeImage' +import React from 'react' + +const Customizable = () => { + return ( +
+
+

+ Highly Customizable +

+
+

+ Customize Jan to match your needs and preferences. +

+
+
+ +
+
+
+
+

Assistants & Memory

+
+
+ Coming Soon +
+
+
+

+ Create personalized AI assistants that remember your conversations + and execute specific tasks across your systems. +

+
+ +
+ +
+
+
+
+

Extensions

+

+ Customize Jan with Extensions, that range from Cloud AI + connectors, tools, data connectors. +

+
+ +
+ +
+
+
+
+ ) +} + +export default Customizable diff --git a/src/components/Home/Feature/index.tsx b/src/components/Home/Feature/index.tsx index 66527f23..9aa105a2 100644 --- a/src/components/Home/Feature/index.tsx +++ b/src/components/Home/Feature/index.tsx @@ -5,25 +5,50 @@ import { twMerge } from 'tailwind-merge' const features = [ { - title: 'Local', + title: 'Chat with AI', + experimantal: false, description: - 'Run AI models like Llama or Mistral directly on your device for enhanced privacy. No need for an internet connection- keep all your data and processing locally.', + 'Ask your questions, brainstorm, and learn from the AI running on your device to be more productive.', + image: { + light: '/assets/images/homepage/features01.png', + dark: '/assets/images/homepage/features01dark.png', + }, }, { - title: 'Remote API', - description: `Connect to remote APIs, like OpenAI, Groq, or Mistral API. Access AI capabilities without needing advanced hardware, with all processing handled in the cloud.`, + title: 'Model Hub', + experimantal: false, + description: `Download and Run powerful models like Llama3, Gemma or Mistral on your computer.`, + image: { + light: '/assets/images/homepage/features02.png', + dark: '/assets/images/homepage/features02dark.png', + }, }, { - title: '100% offline', - description: `Conversations, preferences, and model usage stay on your computer. It's secure, exportable, and can be deleted at any time.`, + title: 'Connect to Cloud AIs', + experimantal: false, + description: `You can also route to more powerful cloud models, like OpenAI, Groq, Cohere etc., when needed.`, + image: { + light: '/assets/images/homepage/features03.png', + dark: '/assets/images/homepage/features03dark.png', + }, }, { - title: 'Cross Platform', - description: `Jan is optimized for any device, from PCs to multi-GPU clusters. It's fast on NVIDIA GPUs and Apple M-series, supporting Apple Intel, Linux Debian, and Windows x64.`, + title: 'Local API Server', + experimantal: false, + description: `Set up and run your own OpenAI-compatible API server using local models with just one click.`, + image: { + light: '/assets/images/homepage/features04.png', + dark: '/assets/images/homepage/features04dark.png', + }, }, { - title: 'Extensions', - description: `Customize Jan with Extensions to meet your specific needs, enhancing your AI experience to be uniquely yours.`, + title: 'Chat with your files', + experimantal: true, + description: `Set up and run your own OpenAI-compatible API server using local models with just one click.`, + image: { + light: '/assets/images/homepage/features05.png', + dark: '/assets/images/homepage/features05dark.png', + }, }, ] @@ -43,7 +68,7 @@ const Feature = () => {
-
+
{features.map((feature, i) => { const isActive = activeFeature === i return ( @@ -65,7 +90,16 @@ const Feature = () => { 0{i + 1}
-
{feature.title}
+
+
{feature.title}
+ {feature.experimantal && ( +
+
+ Experimental +
+
+ )} +

{

+ {isActive && ( +
+ +
+ )}
) })}
-
+
{activeFeature === 0 && ( )} @@ -100,11 +149,11 @@ const Feature = () => { alt="App Screenshot Feature" width={800} height={800} - className="w-full" + className="w-full h-full object-cover object-center" priority source={{ - light: '/assets/images/homepage/features02.webp', - dark: '/assets/images/homepage/features02dark.webp', + light: '/assets/images/homepage/features02.png', + dark: '/assets/images/homepage/features02dark.png', }} /> )} @@ -113,11 +162,11 @@ const Feature = () => { alt="App Screenshot Feature" width={800} height={800} - className="w-full" + className="w-full h-full object-cover object-center" priority source={{ - light: '/assets/images/homepage/features03.webp', - dark: '/assets/images/homepage/features03dark.webp', + light: '/assets/images/homepage/features03.png', + dark: '/assets/images/homepage/features03dark.png', }} /> )} @@ -126,11 +175,11 @@ const Feature = () => { alt="App Screenshot Feature" width={800} height={800} - className="w-full" + className="w-full h-full object-cover object-center" priority source={{ - light: '/assets/images/homepage/features04.webp', - dark: '/assets/images/homepage/features04dark.webp', + light: '/assets/images/homepage/features04.png', + dark: '/assets/images/homepage/features04dark.png', }} /> )} @@ -139,11 +188,11 @@ const Feature = () => { alt="App Screenshot Feature" width={800} height={800} - className="w-full" + className="w-full h-full object-cover object-center" priority source={{ - light: '/assets/images/homepage/features05.webp', - dark: '/assets/images/homepage/features05dark.webp', + light: '/assets/images/homepage/features05.png', + dark: '/assets/images/homepage/features05dark.png', }} /> )} diff --git a/src/components/Home/Hero/index.tsx b/src/components/Home/Hero/index.tsx index 71a10f31..37159925 100644 --- a/src/components/Home/Hero/index.tsx +++ b/src/components/Home/Hero/index.tsx @@ -3,7 +3,163 @@ import ThemeImage from '@/components/ThemeImage' import { totalDownload } from '@/utils/format' import Link from 'next/link' import { useData } from 'nextra/data' -import { useEffect, useState } from 'react' + +const LifeHackerLogo = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +const QuoteIcon = () => { + return ( +
+ + + + + + + + + +
+ ) +} const Hero = () => { const { lastVersion, lastRelease, release } = useData() @@ -11,37 +167,76 @@ const Hero = () => { return (
- -
-
- new +
+ +
+
+ new +
+  ✨  {lastVersion} is now live on + GitHub. Check it out!
-  ✨  {lastVersion} is now live on - GitHub. Check it out! + +
+ +
+ +
+ +
+ +

+ Chat with AI
without privacy concerns +

+ +
+
- -

- Rethink the Computer -

-

- Turn your computer into an AI computer -

-
+ +

+ Jan is an open source ChatGPT-alternative that runs 100% offline. +

+
+

- {totalDownload(release)}+ Downloads | Free & Open Source + + {totalDownload(release)}+ + +  downloads | Free & Open Source

-
+
+ { return ( @@ -16,7 +17,8 @@ const Home = () => { - + {/* */} + diff --git a/src/pages/cortex/_meta.json b/src/pages/cortex/_meta.json index c1a35038..74a870da 100644 --- a/src/pages/cortex/_meta.json +++ b/src/pages/cortex/_meta.json @@ -126,7 +126,6 @@ "title": "Extensions" }, "troubleshooting": { - "display": "hidden", "title": "TROUBLESHOOTING", "type": "separator" }, @@ -134,4 +133,4 @@ "display": "hidden", "title": "Error Codes" } -} \ No newline at end of file +}