Skip to content

Commit

Permalink
docs: Remove unlicensed svg (#2289)
Browse files Browse the repository at this point in the history
* docs: Remove unlicensed svg

Signed-off-by: Xuanwo <github@xuanwo.io>

* FIx typo

Signed-off-by: Xuanwo <github@xuanwo.io>

---------

Signed-off-by: Xuanwo <github@xuanwo.io>
  • Loading branch information
Xuanwo committed May 23, 2023
1 parent edb48e8 commit 91e4cdc
Show file tree
Hide file tree
Showing 8 changed files with 132 additions and 36 deletions.
39 changes: 39 additions & 0 deletions website/src/components/HomepageFeatures/_feature_languages.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Apache OpenDAL provides [Rust Core](/docs/rust/opendal) and builds different language bindings like [Node.js Binding](/docs/nodejs) and [Python Binding](/docs/python).

> *More bindings like [C](https://github.com/apache/incubator-opendal/blob/main/bindings/c/README.md), [Java](https://github.com/apache/incubator-opendal/blob/main/bindings/java/README.md), [Ruby](https://github.com/apache/incubator-opendal/blob/main/bindings/ruby/README.md) are still working on.*
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs>
<TabItem value="rust" label="Rust" default>

```rust
use opendal::Operator;

let op = Operator::via_map(Scheme::Fs, HashMap::new()?;
op.read("path/to/file").await?;
```

</TabItem>
<TabItem value="node.js" label="Node.js">

```javascript
import { Operator } from "opendal";

const op = new Operator("fs", {});
await op.read("path/to/file")
```

</TabItem>
<TabItem value="python" label="Python">

```python
import opendal

op = opendal.Operator("fs")
op.read("path/to/file")
```

</TabItem>
</Tabs>
8 changes: 8 additions & 0 deletions website/src/components/HomepageFeatures/_feature_layers.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Apache OpenDAL offers native layer support, enabling users to implement middleware or intercept for all operations.

By using layers, we can:

- `RetryLayer`: Automatically retry failed requests and resume from the point of failure.
- `ChaosLayer`: Generate simulated chaos for storage services.
- `ConcurrentLimitLayer`: Set concurrent limit while accessing storage services.
- `{Logging|Metrics|Tracing}Layer`: Provide native observability for storage services.
65 changes: 65 additions & 0 deletions website/src/components/HomepageFeatures/_feature_services.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Apache OpenDAL provides native support for all kinds for storage systems.

<details>
<summary>Standard Storage Protocols</summary>

- fs: POSIX alike file system
- ftp: FTP and FTPS
- http: HTTP read-only services
- sftp: [SFTP](https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-02) services *working on*
- webdav: [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) Service

</details>

<details>
<summary>Object Storage Services</summary>

- azblob: [Azure Storage Blob](https://azure.microsoft.com/en-us/services/storage/blobs/) services
- gcs: [Google Cloud Storage](https://cloud.google.com/storage) Service
- obs: [Huawei Cloud Object Storage](https://www.huaweicloud.com/intl/en-us/product/obs.html) Service (OBS)
- oss: [Aliyun Object Storage Service](https://www.aliyun.com/product/oss) (OSS)
- s3: [AWS S3](https://aws.amazon.com/s3/) alike services
- supabase: [Supabase Storage](https://supabase.com/docs/guides/storage) Service *working on*
- wasabi: [Wasabi](https://wasabi.com/) Cloud Storage

</details>

<details>
<summary>File Storage Services</summary>

- azdfs: [Azure Data Lake Storage Gen2](https://azure.microsoft.com/en-us/products/storage/data-lake-storage/) services (As known as [abfs](https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-abfs-driver))
- hdfs: [Hadoop Distributed File System](https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)(HDFS)
- ipfs: [InterPlanetary File System](https://ipfs.tech/) HTTP Gateway
- ipmfs: [InterPlanetary File System](https://ipfs.tech/) MFS API *working on*
- webhdfs: [WebHDFS](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html) Service

</details>

<details>
<summary>Consumer Cloud Storage Service</summary>

- gdrive: [Google Drive](https://www.google.com/drive/) *working on*
- onedrive: [OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage) *working on*

</details>

<details>
<summary>Key-Value Storage Service</summary>

- dashmap: [dashmap](https://github.com/xacrimon/dashmap) backend
- memory: In memory backend
- redis: [Redis](https://redis.io/) services
- rocksdb: [RocksDB](http://rocksdb.org/) services
- sled: [sled](https://crates.io/crates/sled) backend

</details>

<details>
<summary>Cache Storage Service</summary>

- ghac: [Github Action Cache](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) Service
- memcached: [Memcached](https://memcached.org/) service
- moka: [moka](https://github.com/moka-rs/moka) backend
- vercel_artifacts: [Vercel Remote Caching](https://vercel.com/docs/concepts/monorepos/remote-caching) Service *working on*

</details>
42 changes: 18 additions & 24 deletions website/src/components/HomepageFeatures/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,54 +20,48 @@
import React from 'react';
import clsx from 'clsx';
import styles from './styles.module.css';
import Link from "@docusaurus/Link";
import FeatureLanguages from './_feature_languages.mdx';
import FeatureServices from './_feature_services.mdx';
import FeatureLayers from './_feature_layers.mdx';
import MDXContent from '@theme/MDXContent';

const FeatureList = [
{
title: 'Access data freely',
Svg: require('@site/static/img/undraw_adventure.svg').default,
title: 'Languages',
description: (
<>
<div>Access different storage services in the same way</div>
<div>Behavior tests for all services</div>
<div>Cross language/project bindings (working on)</div>
<MDXContent>
<FeatureLanguages />
</MDXContent>
</>
),
},
{
title: 'Access data painlessly',
Svg: require('@site/static/img/undraw_i_can_fly.svg').default,
title: 'Services',
description: (
<>
<div><b>100%</b> documents covered</div>
<div>Powerful <Link href="https://docs.rs/opendal/latest/opendal/layers/index.html">Layers</Link></div>
<div>Automatic <Link href="https://docs.rs/opendal/latest/opendal/layers/struct.RetryLayer.html">retry</Link> support</div>
<div>Full observability: <Link href="https://docs.rs/opendal/latest/opendal/layers/struct.LoggingLayer.html">logging</Link>, <Link
href="https://docs.rs/opendal/latest/opendal/layers/struct.TracingLayer.html">tracing</Link>, <Link href="https://docs.rs/opendal/latest/opendal/layers/struct.MetricsLayer.html">metrics</Link>.</div>
<div><Link href="https://docs.rs/opendal/latest/opendal/layers/struct.ChaosLayer.html">Native chaos testing</Link></div>
<MDXContent>
<FeatureServices />
</MDXContent>
</>
),
},
{
title: 'Access data efficiently',
Svg: require('@site/static/img/undraw_outer_space.svg').default,
title: 'Layers',
description: (
<>
<div>Zero cost: Maps to API calls directly</div>
<div>Best effort: Automatically selects best read/seek/next based on services</div>
<div>Avoid extra calls: Reuses metadata when possible</div>
<MDXContent>
<FeatureLayers />
</MDXContent>
</>
),
},
];

function Feature({Svg, title, description}) {
function Feature({ Svg, title, description }) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<Svg className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<div className="padding-horiz--md">
<h3>{title}</h3>
<div>{description}</div>
</div>
Expand Down
11 changes: 2 additions & 9 deletions website/src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,8 @@ function HomepageHeader() {
<div className="container">
<h1 className="hero__title">{siteConfig.title}</h1>
<p className="hero__subtitle">
<b>Open</b> <b>D</b>ata <b>A</b>ccess <b>L</b>ayer: Access data <b>freely</b>, <b>painlessly</b>, and <b>efficiently</b>
Open <b>D</b>ata <b>A</b>ccess <b>L</b>ayer: Access data freely
</p>
<div className={styles.buttons}>
<a
className="button button--secondary button--lg"
href="/docs/rust/opendal">
Get Start
</a>
</div>
</div>
</header>
);
Expand All @@ -50,7 +43,7 @@ export default function Home() {
const { siteConfig } = useDocusaurusContext();
return (
<Layout
description="OpenDAL is the Open Data Access Layer to freely, painlessly, and efficiently access data.">
description="OpenDAL is the Open Data Access Layer to access data freely.">
<HomepageHeader />
<main>
<HomepageFeatures />
Expand Down
1 change: 0 additions & 1 deletion website/static/img/undraw_adventure.svg

This file was deleted.

1 change: 0 additions & 1 deletion website/static/img/undraw_i_can_fly.svg

This file was deleted.

Loading

0 comments on commit 91e4cdc

Please sign in to comment.