forked from Mirror/ollama4j
		
	Updated docs
This commit is contained in:
		
							
								
								
									
										65
									
								
								docs/src/components/AddToYourProject/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								docs/src/components/AddToYourProject/index.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
import React, { useState, useEffect } from 'react';
 | 
			
		||||
import CodeBlock from '@theme/CodeBlock';
 | 
			
		||||
 | 
			
		||||
const AddToYourProject = () => {
 | 
			
		||||
    const [releaseInfo, setReleaseInfo] = useState(null);
 | 
			
		||||
    const [loading, setLoading] = useState(true);
 | 
			
		||||
    const [error, setError] = useState(null);
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        const fetchLatestRelease = async () => {
 | 
			
		||||
            setLoading(true);
 | 
			
		||||
            setError(null);
 | 
			
		||||
            try {
 | 
			
		||||
                const response = await fetch('https://api.github.com/repos/ollama4j/ollama4j/releases/latest');
 | 
			
		||||
                if (!response.ok) {
 | 
			
		||||
                    throw new Error(`HTTP error! status: ${response.status}`);
 | 
			
		||||
                }
 | 
			
		||||
                const data = await response.json();
 | 
			
		||||
                setReleaseInfo(data);
 | 
			
		||||
            } catch (err) {
 | 
			
		||||
                console.error('Failed to fetch release info:', err);
 | 
			
		||||
                setError(err);
 | 
			
		||||
            } finally {
 | 
			
		||||
                setLoading(false);
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        fetchLatestRelease();
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
        <div style={{ width: '100%' }}>
 | 
			
		||||
            {loading ? (
 | 
			
		||||
                <div>Loading latest release info...</div>
 | 
			
		||||
            ) : error ? (
 | 
			
		||||
                <div>Error: {error.message}</div>
 | 
			
		||||
            ) : releaseInfo ? (
 | 
			
		||||
                <>
 | 
			
		||||
                    <h3>Using Maven <code>pom.xml</code></h3>
 | 
			
		||||
                    <CodeBlock className="language-xml">
 | 
			
		||||
                        {`<dependency>
 | 
			
		||||
    <groupId>io.github.ollama4j</groupId>
 | 
			
		||||
    <artifactId>ollama4j</artifactId>
 | 
			
		||||
    <version>${releaseInfo.name}</version>
 | 
			
		||||
</dependency>`}
 | 
			
		||||
                    </CodeBlock>
 | 
			
		||||
                    <h3>Using Groovy-based <code>build.gradle</code></h3>
 | 
			
		||||
                    <CodeBlock className="language-groovy">
 | 
			
		||||
                        {`dependencies {
 | 
			
		||||
    implementation 'io.github.ollama4j:ollama4j:${releaseInfo.name}'
 | 
			
		||||
}`}
 | 
			
		||||
                    </CodeBlock>
 | 
			
		||||
                    <h3>For Kotlin-based <code>build.gradle.kts</code></h3>
 | 
			
		||||
                    <CodeBlock className="language-kotlin">
 | 
			
		||||
                        {`dependencies {
 | 
			
		||||
    implementation("io.github.ollama4j:ollama4j:${releaseInfo.name}")
 | 
			
		||||
}`}
 | 
			
		||||
                    </CodeBlock>
 | 
			
		||||
                </>
 | 
			
		||||
            ) : null}
 | 
			
		||||
        </div>
 | 
			
		||||
    );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default AddToYourProject;
 | 
			
		||||
							
								
								
									
										51
									
								
								docs/src/components/LatestRelease/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								docs/src/components/LatestRelease/index.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
import React, { useState, useEffect } from 'react';
 | 
			
		||||
 | 
			
		||||
const LatestRelease = () => {
 | 
			
		||||
    const [releaseInfo, setReleaseInfo] = useState(null);
 | 
			
		||||
    const [loading, setLoading] = useState(true);
 | 
			
		||||
    const [error, setError] = useState(null);
 | 
			
		||||
 | 
			
		||||
    useEffect(() => {
 | 
			
		||||
        const fetchLatestRelease = async () => {
 | 
			
		||||
            setLoading(true);
 | 
			
		||||
            setError(null);
 | 
			
		||||
            try {
 | 
			
		||||
                const response = await fetch('https://api.github.com/repos/ollama4j/ollama4j/releases/latest');
 | 
			
		||||
                if (!response.ok) {
 | 
			
		||||
                    throw new Error(`HTTP error! status: ${response.status}`);
 | 
			
		||||
                }
 | 
			
		||||
                const data = await response.json();
 | 
			
		||||
                setReleaseInfo(data);
 | 
			
		||||
            } catch (err) {
 | 
			
		||||
                console.error('Failed to fetch release info:', err);
 | 
			
		||||
                setError(err);
 | 
			
		||||
            } finally {
 | 
			
		||||
                setLoading(false);
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        fetchLatestRelease();
 | 
			
		||||
    }, []);
 | 
			
		||||
 | 
			
		||||
    return (
 | 
			
		||||
        <div style={{ display: 'flex', justifyContent: 'center' }}>
 | 
			
		||||
            {loading ? (
 | 
			
		||||
                <div>Loading latest release info...</div>
 | 
			
		||||
            ) : error ? (
 | 
			
		||||
                <div>Error: {error.message}</div>
 | 
			
		||||
            ) : releaseInfo ? (
 | 
			
		||||
                <div>
 | 
			
		||||
                    {/* <h4 style={{ display: 'flex', justifyContent: 'center'}}>Latest Release</h4> */}
 | 
			
		||||
                    <div>
 | 
			
		||||
                        <span style={{ fontWeight: 'bold'}}>Latest Version</span>: <a href={releaseInfo.html_url} target='_blank' rel="noopener noreferrer"><span style={{color: 'white', fontWeight: 'bold', backgroundColor:'#11bc11', borderRadius: '15px', padding: '5px'}}>{releaseInfo.name}</span></a> released on {new Date(releaseInfo.published_at).toLocaleDateString(undefined, { year: 'numeric', month: 'long', day: 'numeric' })}.
 | 
			
		||||
                    </div>
 | 
			
		||||
                    {/* <pre style={{ whiteSpace: 'pre-wrap' }}>
 | 
			
		||||
                        {JSON.stringify(releaseInfo, null, 2)}
 | 
			
		||||
                    </pre> */}
 | 
			
		||||
                </div>
 | 
			
		||||
            ) : null}
 | 
			
		||||
        </div>
 | 
			
		||||
    );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default LatestRelease;
 | 
			
		||||
		Reference in New Issue
	
	Block a user