This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 91e4cdc4 docs: Remove unlicensed svg (#2289)
91e4cdc4 is described below
commit 91e4cdc493062215a984d8d9675421887b796c07
Author: Xuanwo <[email protected]>
AuthorDate: Tue May 23 12:23:00 2023 +0800
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]>
---
.../HomepageFeatures/_feature_languages.mdx | 39 +++++++++++++
.../HomepageFeatures/_feature_layers.mdx | 8 +++
.../HomepageFeatures/_feature_services.mdx | 65 ++++++++++++++++++++++
website/src/components/HomepageFeatures/index.js | 42 ++++++--------
website/src/pages/index.js | 11 +---
website/static/img/undraw_adventure.svg | 1 -
website/static/img/undraw_i_can_fly.svg | 1 -
website/static/img/undraw_outer_space.svg | 1 -
8 files changed, 132 insertions(+), 36 deletions(-)
diff --git a/website/src/components/HomepageFeatures/_feature_languages.mdx
b/website/src/components/HomepageFeatures/_feature_languages.mdx
new file mode 100644
index 00000000..442ce02e
--- /dev/null
+++ b/website/src/components/HomepageFeatures/_feature_languages.mdx
@@ -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>
diff --git a/website/src/components/HomepageFeatures/_feature_layers.mdx
b/website/src/components/HomepageFeatures/_feature_layers.mdx
new file mode 100644
index 00000000..953d7566
--- /dev/null
+++ b/website/src/components/HomepageFeatures/_feature_layers.mdx
@@ -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.
diff --git a/website/src/components/HomepageFeatures/_feature_services.mdx
b/website/src/components/HomepageFeatures/_feature_services.mdx
new file mode 100644
index 00000000..36b3520d
--- /dev/null
+++ b/website/src/components/HomepageFeatures/_feature_services.mdx
@@ -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>
diff --git a/website/src/components/HomepageFeatures/index.js
b/website/src/components/HomepageFeatures/index.js
index 0b9a9a78..a3ff8407 100644
--- a/website/src/components/HomepageFeatures/index.js
+++ b/website/src/components/HomepageFeatures/index.js
@@ -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>
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index 1f747453..d8006eba 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -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>
);
@@ -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 />
diff --git a/website/static/img/undraw_adventure.svg
b/website/static/img/undraw_adventure.svg
deleted file mode 100644
index 5cc5116f..00000000
--- a/website/static/img/undraw_adventure.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="881.63115"
height="587.66492" viewBox="0 0 881.63115 587.66492"
xmlns:xlink="http://www.w3.org/1999/xlink"><polygon points="150.925 561.321
164.207 564.918 184.406 515.395 164.801 510.085 150.925 561.321"
fill="#ffb6b6"/><path
d="M303.0762,731.06123l40.84755,11.06361.13994-.5166a16.47276,16.47276,0,0,0-11.592-20.20547l-.001-.00026-5.92787-7.68168-15.45468,1.89028-3.56573-.9658Z"
transform="translate(-156.3731 -156.0101)" [...]
\ No newline at end of file
diff --git a/website/static/img/undraw_i_can_fly.svg
b/website/static/img/undraw_i_can_fly.svg
deleted file mode 100644
index eaa024b6..00000000
--- a/website/static/img/undraw_i_can_fly.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="1030.57471"
height="696.9775" viewBox="0 0 1030.57471 696.9775"
xmlns:xlink="http://www.w3.org/1999/xlink"><title>i can fly</title><path
d="M831.93752,263.72788a60.64529,60.64529,0,0,1,60.56127-57.47579c1.84313,0,3.66317.09612,5.46442.25711a80.5744,80.5744,0,0,1,139.28388-.06586c1.51962-.11413,3.04946-.19125,4.59825-.19125a60.6453,60.6453,0,0,1,60.56127,57.47579"
transform="translate(-84.96231 -101.26125)" fill="#f2f2f2"/ [...]
\ No newline at end of file
diff --git a/website/static/img/undraw_outer_space.svg
b/website/static/img/undraw_outer_space.svg
deleted file mode 100644
index 0f93507e..00000000
--- a/website/static/img/undraw_outer_space.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="902.41854"
height="826.20679" viewBox="0 0 902.41854 826.20679"
xmlns:xlink="http://www.w3.org/1999/xlink"><path
d="M726.94952,696.70767l8.67165,19.44392c-7.04887-1.12221-13.60391,4.89778-13.75121,12.62878s6.13979,15.77421,13.18911,16.8731c-1.34708,6.00231-7.16088,8.64855-12.20732,11.07451s-10.48544,6.44956-10.11,12.84517c.30146,5.13535,4.548,9.66922,9.05769,11.49215s9.24135,1.54272,13.80858,1.23684c-6.921,7.23984-7.59561
[...]
\ No newline at end of file