Skip to content

Commit 91e4cdc

Browse files
authored
docs: Remove unlicensed svg (#2289)
* docs: Remove unlicensed svg Signed-off-by: Xuanwo <[email protected]> * FIx typo Signed-off-by: Xuanwo <[email protected]> --------- Signed-off-by: Xuanwo <[email protected]>
1 parent edb48e8 commit 91e4cdc

File tree

8 files changed

+132
-36
lines changed

8 files changed

+132
-36
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Apache OpenDAL provides [Rust Core](/docs/rust/opendal) and builds different language bindings like [Node.js Binding](/docs/nodejs) and [Python Binding](/docs/python).
2+
3+
> *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.*
4+
5+
import Tabs from '@theme/Tabs';
6+
import TabItem from '@theme/TabItem';
7+
8+
<Tabs>
9+
<TabItem value="rust" label="Rust" default>
10+
11+
```rust
12+
use opendal::Operator;
13+
14+
let op = Operator::via_map(Scheme::Fs, HashMap::new()?;
15+
op.read("path/to/file").await?;
16+
```
17+
18+
</TabItem>
19+
<TabItem value="node.js" label="Node.js">
20+
21+
```javascript
22+
import { Operator } from "opendal";
23+
24+
const op = new Operator("fs", {});
25+
await op.read("path/to/file")
26+
```
27+
28+
</TabItem>
29+
<TabItem value="python" label="Python">
30+
31+
```python
32+
import opendal
33+
34+
op = opendal.Operator("fs")
35+
op.read("path/to/file")
36+
```
37+
38+
</TabItem>
39+
</Tabs>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Apache OpenDAL offers native layer support, enabling users to implement middleware or intercept for all operations.
2+
3+
By using layers, we can:
4+
5+
- `RetryLayer`: Automatically retry failed requests and resume from the point of failure.
6+
- `ChaosLayer`: Generate simulated chaos for storage services.
7+
- `ConcurrentLimitLayer`: Set concurrent limit while accessing storage services.
8+
- `{Logging|Metrics|Tracing}Layer`: Provide native observability for storage services.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Apache OpenDAL provides native support for all kinds for storage systems.
2+
3+
<details>
4+
<summary>Standard Storage Protocols</summary>
5+
6+
- fs: POSIX alike file system
7+
- ftp: FTP and FTPS
8+
- http: HTTP read-only services
9+
- sftp: [SFTP](https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-02) services *working on*
10+
- webdav: [WebDAV](https://datatracker.ietf.org/doc/html/rfc4918) Service
11+
12+
</details>
13+
14+
<details>
15+
<summary>Object Storage Services</summary>
16+
17+
- azblob: [Azure Storage Blob](https://azure.microsoft.com/en-us/services/storage/blobs/) services
18+
- gcs: [Google Cloud Storage](https://cloud.google.com/storage) Service
19+
- obs: [Huawei Cloud Object Storage](https://www.huaweicloud.com/intl/en-us/product/obs.html) Service (OBS)
20+
- oss: [Aliyun Object Storage Service](https://www.aliyun.com/product/oss) (OSS)
21+
- s3: [AWS S3](https://aws.amazon.com/s3/) alike services
22+
- supabase: [Supabase Storage](https://supabase.com/docs/guides/storage) Service *working on*
23+
- wasabi: [Wasabi](https://wasabi.com/) Cloud Storage
24+
25+
</details>
26+
27+
<details>
28+
<summary>File Storage Services</summary>
29+
30+
- 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))
31+
- hdfs: [Hadoop Distributed File System](https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)(HDFS)
32+
- ipfs: [InterPlanetary File System](https://ipfs.tech/) HTTP Gateway
33+
- ipmfs: [InterPlanetary File System](https://ipfs.tech/) MFS API *working on*
34+
- webhdfs: [WebHDFS](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html) Service
35+
36+
</details>
37+
38+
<details>
39+
<summary>Consumer Cloud Storage Service</summary>
40+
41+
- gdrive: [Google Drive](https://www.google.com/drive/) *working on*
42+
- onedrive: [OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive/online-cloud-storage) *working on*
43+
44+
</details>
45+
46+
<details>
47+
<summary>Key-Value Storage Service</summary>
48+
49+
- dashmap: [dashmap](https://github.com/xacrimon/dashmap) backend
50+
- memory: In memory backend
51+
- redis: [Redis](https://redis.io/) services
52+
- rocksdb: [RocksDB](http://rocksdb.org/) services
53+
- sled: [sled](https://crates.io/crates/sled) backend
54+
55+
</details>
56+
57+
<details>
58+
<summary>Cache Storage Service</summary>
59+
60+
- ghac: [Github Action Cache](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) Service
61+
- memcached: [Memcached](https://memcached.org/) service
62+
- moka: [moka](https://github.com/moka-rs/moka) backend
63+
- vercel_artifacts: [Vercel Remote Caching](https://vercel.com/docs/concepts/monorepos/remote-caching) Service *working on*
64+
65+
</details>

website/src/components/HomepageFeatures/index.js

+18-24
Original file line numberDiff line numberDiff line change
@@ -20,54 +20,48 @@
2020
import React from 'react';
2121
import clsx from 'clsx';
2222
import styles from './styles.module.css';
23-
import Link from "@docusaurus/Link";
23+
import FeatureLanguages from './_feature_languages.mdx';
24+
import FeatureServices from './_feature_services.mdx';
25+
import FeatureLayers from './_feature_layers.mdx';
26+
import MDXContent from '@theme/MDXContent';
2427

2528
const FeatureList = [
2629
{
27-
title: 'Access data freely',
28-
Svg: require('@site/static/img/undraw_adventure.svg').default,
30+
title: 'Languages',
2931
description: (
3032
<>
31-
<div>Access different storage services in the same way</div>
32-
<div>Behavior tests for all services</div>
33-
<div>Cross language/project bindings (working on)</div>
33+
<MDXContent>
34+
<FeatureLanguages />
35+
</MDXContent>
3436
</>
3537
),
3638
},
3739
{
38-
title: 'Access data painlessly',
39-
Svg: require('@site/static/img/undraw_i_can_fly.svg').default,
40+
title: 'Services',
4041
description: (
4142
<>
42-
<div><b>100%</b> documents covered</div>
43-
<div>Powerful <Link href="https://docs.rs/opendal/latest/opendal/layers/index.html">Layers</Link></div>
44-
<div>Automatic <Link href="https://docs.rs/opendal/latest/opendal/layers/struct.RetryLayer.html">retry</Link> support</div>
45-
<div>Full observability: <Link href="https://docs.rs/opendal/latest/opendal/layers/struct.LoggingLayer.html">logging</Link>, <Link
46-
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>
47-
<div><Link href="https://docs.rs/opendal/latest/opendal/layers/struct.ChaosLayer.html">Native chaos testing</Link></div>
43+
<MDXContent>
44+
<FeatureServices />
45+
</MDXContent>
4846
</>
4947
),
5048
},
5149
{
52-
title: 'Access data efficiently',
53-
Svg: require('@site/static/img/undraw_outer_space.svg').default,
50+
title: 'Layers',
5451
description: (
5552
<>
56-
<div>Zero cost: Maps to API calls directly</div>
57-
<div>Best effort: Automatically selects best read/seek/next based on services</div>
58-
<div>Avoid extra calls: Reuses metadata when possible</div>
53+
<MDXContent>
54+
<FeatureLayers />
55+
</MDXContent>
5956
</>
6057
),
6158
},
6259
];
6360

64-
function Feature({Svg, title, description}) {
61+
function Feature({ Svg, title, description }) {
6562
return (
6663
<div className={clsx('col col--4')}>
67-
<div className="text--center">
68-
<Svg className={styles.featureSvg} role="img" />
69-
</div>
70-
<div className="text--center padding-horiz--md">
64+
<div className="padding-horiz--md">
7165
<h3>{title}</h3>
7266
<div>{description}</div>
7367
</div>

website/src/pages/index.js

+2-9
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,8 @@ function HomepageHeader() {
3232
<div className="container">
3333
<h1 className="hero__title">{siteConfig.title}</h1>
3434
<p className="hero__subtitle">
35-
<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>
35+
Open <b>D</b>ata <b>A</b>ccess <b>L</b>ayer: Access data freely
3636
</p>
37-
<div className={styles.buttons}>
38-
<a
39-
className="button button--secondary button--lg"
40-
href="/docs/rust/opendal">
41-
Get Start
42-
</a>
43-
</div>
4437
</div>
4538
</header>
4639
);
@@ -50,7 +43,7 @@ export default function Home() {
5043
const { siteConfig } = useDocusaurusContext();
5144
return (
5245
<Layout
53-
description="OpenDAL is the Open Data Access Layer to freely, painlessly, and efficiently access data.">
46+
description="OpenDAL is the Open Data Access Layer to access data freely.">
5447
<HomepageHeader />
5548
<main>
5649
<HomepageFeatures />

website/static/img/undraw_adventure.svg

-1
This file was deleted.

website/static/img/undraw_i_can_fly.svg

-1
This file was deleted.

0 commit comments

Comments
 (0)