diff --git a/README.md b/README.md index ddb94ec9a..26e6ed75e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ ChatGPT-Style Web Interface for Ollama 🦙 - ⚡ **Swift Responsiveness**: Enjoy fast and responsive performance. - 🚀 **Effortless Setup**: Install seamlessly using Docker for a hassle-free experience. - 🤖 **Multiple Model Support**: Seamlessly switch between different chat models for diverse interactions. +- 📜 **Chat History**: Effortlessly access and manage your conversation history. +- 💻 **Code Syntax Highlighting**: Enjoy enhanced code readability with our syntax highlighting feature. - 🌟 **Continuous Updates**: We are committed to improving Ollama Web UI with regular updates and new features. ## How to Install 🚀 @@ -30,14 +32,14 @@ Your Ollama Web UI should now be hosted at [http://localhost:3000](http://localh Here are some exciting tasks on our to-do list: -- 📜 **Chat History**: Effortlessly access and manage your conversation history. - 📤📥 **Import/Export Chat History**: Seamlessly move your chat data in and out of the platform. +- 🌐 **Web Browser Extension**: Seamlessly integrate our services into your browsing experience with our convenient browser extension. +- 🚀 **Integration with Messaging Platforms**: Explore possibilities for integrating with popular messaging platforms like Slack and Discord. - 🎨 **Customization**: Tailor your chat environment with personalized themes and styles. - 📥🗑️ **Download/Delete Models**: Easily acquire or remove models directly from the web UI. - ⚙️ **Advanced Parameters Support**: Harness the power of advanced settings for fine-tuned control. - 📚 **Enhanced Documentation**: Elevate your setup and customization experience with improved, comprehensive documentation. - 🌟 **User Interface Enhancement**: Elevate the user interface to deliver a smoother, more enjoyable interaction. -- 🚀 **Integration with Messaging Platforms**: Explore possibilities for integrating with popular messaging platforms like Slack and Discord. - 🧐 **User Testing and Feedback Gathering**: Conduct thorough user testing to gather insights and refine our offerings based on valuable user feedback. Feel free to contribute and help us make Ollama Web UI even better! 🙌 diff --git a/package-lock.json b/package-lock.json index 5ffc0dfd3..ed7a8483f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,11 @@ "version": "0.0.1", "dependencies": { "@sveltejs/adapter-node": "^1.3.1", + "highlight.js": "^11.9.0", + "idb": "^7.1.1", "marked": "^9.1.0", - "svelte-french-toast": "^1.2.0" + "svelte-french-toast": "^1.2.0", + "uuid": "^9.0.1" }, "devDependencies": { "@sveltejs/adapter-auto": "^2.0.0", @@ -2084,6 +2087,19 @@ "node": ">=8" } }, + "node_modules/highlight.js": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", + "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, "node_modules/ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -3709,6 +3725,18 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/vite": { "version": "4.4.11", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", @@ -5143,6 +5171,16 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "highlight.js": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", + "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==" + }, + "idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, "ignore": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", @@ -6205,6 +6243,11 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + }, "vite": { "version": "4.4.11", "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", diff --git a/package.json b/package.json index 16d515b8a..c69dc354a 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,10 @@ "type": "module", "dependencies": { "@sveltejs/adapter-node": "^1.3.1", + "highlight.js": "^11.9.0", + "idb": "^7.1.1", "marked": "^9.1.0", - "svelte-french-toast": "^1.2.0" + "svelte-french-toast": "^1.2.0", + "uuid": "^9.0.1" } -} \ No newline at end of file +} diff --git a/src/app.css b/src/app.css index f706915a0..7d101cfa2 100644 --- a/src/app.css +++ b/src/app.css @@ -8,6 +8,10 @@ html { @apply bg-gray-800; } +.hljs { + @apply rounded-lg; +} + ::-webkit-scrollbar-thumb { --tw-border-opacity: 1; background-color: rgba(217, 217, 227, 0.8); diff --git a/src/lib/components/layout/Navbar.svelte b/src/lib/components/layout/Navbar.svelte index 17a86cd25..559c2a4ee 100644 --- a/src/lib/components/layout/Navbar.svelte +++ b/src/lib/components/layout/Navbar.svelte @@ -1,6 +1,13 @@