Update Implementations page & general tweaks (#143)

* update transport implementations

* move quic to steam mux, template for steam mux, category change

* update muxers, channels

* nats, discov, edits

* closes #73; statement update

* add title, interface, some impl updates for util, pub/sub + more

* closes #63; clarify legend and source code. bubble already shows github logo

* closes #62; add link to site source code

* general impl updates + edits

* edits

* edits

* edits

* edits

* edits

* impl updates + edits

* update titles, edits, content routing

* change transmission back to transports

* column

* edits

* edits

* add zig placeholders

* rmv spdy

* edits

* rmv muxado

* edits

* add swift

* change 'full spec' to 'supported implementations'

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

* rmv interfaces

* edits

* update go links

* Apply suggestions from code review

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>

Co-authored-by: Prithvi Shahi <50885601+p-shahi@users.noreply.github.com>
This commit is contained in:
Danny Salman
2022-09-06 14:35:31 -04:00
committed by GitHub
parent 9a0c256b22
commit 5ae89eab61
18 changed files with 1100 additions and 435 deletions

0
.hugo_build.lock Normal file
View File

View File

@@ -14,3 +14,4 @@ googleAnalytics = "UA-96910779-2"
author = "Protocol Labs"
github = "https://github.com/libp2p/libp2p"
specifications = "https://github.com/libp2p/specs"
website = "https://github.com/libp2p/website"

View File

@@ -15,7 +15,8 @@
<article class="center implementations">
<h1>Implementations</h1>
<div class="wrap">
<p>libp2p is composed of many modules and different parts. Here you can see an overview over all the different libraries we develop, along with the status of the implementation.</p>
<p>libp2p is composed of many modules and different parts. Here, overviews are available for all the different libraries, along with the
status of each implementation. All sections use the same status legend and link to the implementation's source code.</p>
<div class="links">
<div class="active-link">
<div class="copy-block">
@@ -29,26 +30,31 @@
<div class="columns">
<div class="column col1">
<a href="#connection-upgrades" class="link scroll">
<div class="img">
<img width="10" src="/img/svg/connection-upgrades.svg" alt="Supported Implementations">
</div>
<span>Supported Implementations</span>
</a>
<a href="#transports" class="link scroll">
<div class="img">
<img width="10" src="/img/svg/transports.svg" alt="Transports">
</div>
<span>Transports</span>
</a>
<a href="#stream-muxers" class="link scroll">
<a href="#nat-traversal" class="link scroll">
<div class="img">
<img width="10" src="/img/svg/stream-muxers.svg" alt="Stream Muxers">
<img width="14" src="/img/svg/nat-traversal.svg" alt="NAT traversal">
</div>
<span>Stream Muxers</span>
<span>NAT Traversal</span>
</a>
<a href="#crypto-channels" class="link scroll">
<div class="img">
<img width="14" src="/img/svg/crypto-channels.svg" alt="Crypto Channels">
<img width="14" src="/img/svg/crypto-channels.svg" alt="Secure Communication">
</div>
<span>Crypto Channels</span>
<span>Secure Communication</span>
</a>
</div>
<div class="column col2">
<a href="#discovery" class="link scroll">
<div class="img">
@@ -58,45 +64,35 @@
</a>
<a href="#peer-routing" class="link scroll">
<div class="img">
<img width="13" src="/img/svg/peer-routing.svg" alt="Peer Routing">
<img width="13" src="/img/svg/peer-routing.svg" alt="Peer routing">
</div>
<span>Peer Routing</span>
</a>
<a href="#record-stores" class="link scroll">
<a href="#others" class="link scroll">
<div class="img">
<img width="10" src="/img/svg/record-stores.svg" alt="Record Stores">
<img width="13" src="/img/svg/others.svg" alt="Publish/subscribe">
</div>
<span>Record Stores</span>
<span>Publish/Subscribe</span>
</a>
</div>
<div class="column col3">
<a href="#nat-traversal" class="link scroll">
<a href="#stream-muxers" class="link scroll">
<div class="img">
<img width="14" src="/img/svg/nat-traversal.svg" alt="NAT Traversal">
<img width="10" src="/img/svg/stream-muxers.svg" alt="Stream Multiplexing">
</div>
<span>NAT Traversal</span>
<span>Stream Multiplexing</span>
</a>
<a href="#connection-upgrades" class="link scroll">
<a href="#record-stores" class="link scroll">
<div class="img">
<img width="10" src="/img/svg/connection-upgrades.svg" alt="Connection & Connection Upgrades">
<img width="10" src="/img/svg/record-stores.svg" alt="Storage">
</div>
<span>Connection & Connection Upgrades</span>
<span>Storage</span>
</a>
<a href="#utils" class="link scroll">
<div class="img">
<img width="10" src="/img/svg/utils.svg" alt="General Purpose Utils and Datatypes">
<img width="10" src="/img/svg/utils.svg" alt="General purpose utils & datatypes">
</div>
<span>General Purpose Utils & Datatypes</span>
</a>
</div>
<div class="column col4">
<a href="#others" class="link scroll">
<div class="img">
<img width="13" src="/img/svg/others.svg" alt="Others">
</div>
<span>Others</span>
<span>General Purpose Utilities & Datatypes</span>
</a>
</div>
</div>
@@ -124,7 +120,7 @@
<article class="center implementations-info">
<div class="wrap">
{{ $impls := (slice "transports" "stream_muxers" "crypto_channels" "connection_upgrades" "peer_routing" "record_stores" "nat_traversal" "discovery" "utils" "others") }}
{{ $impls := (slice "connection_upgrades" "transports" "nat_traversal" "crypto_channels" "discovery" "peer_routing" "others" "stream_muxers" "record_stores" "utils") }}
{{ range $impls }}
{{ partial "implementation.html" (index $.Site.Data.implementations .) }}

View File

@@ -20,8 +20,8 @@
<a class="rectangle">
<img width="184" height="130" src="/img/img_1.png" alt="">
<div>Use Several Transports</div>
<p>Use newer and faster transports like QUIC and WebRTC at the same time you support more well-established ones such as TCP,
supporting multiple hosts and connectivity conditions.</p>
<p>Use newer and faster transports like QUIC and WebRTC. At the same time, we support well-established transports like TCP,
and support multiple hosts and connectivity conditions.</p>
</a>
</div>
<div class="card">

View File

@@ -1,54 +1,58 @@
{
"id": "connection-upgrades",
"title": "Connection & Connection Upgrades",
"title": "Supported Implementations",
"libs": [
{
"id": "libp2p-conn",
"id": "libp2p-implementations",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/interface-connection"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/interface-connection"
"name": "JavaScript",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-conn"
"status": "Usable",
"url": "https://github.com/libp2p/go-libp2p"
},
{
"name": "Rust",
"status": "Usable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/core"
}
]
},
{
"id": "half-closed-connection-upgrade",
"langs": [
{
"name": "Browser JS",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-half-closed-connection-upgrade"
"url": "https://github.com/libp2p/rust-libp2p/"
},
{
"name": "Node.js",
"name": "Swift",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-half-closed-connection-upgrade"
"url": "https://github.com/swift-libp2p/swift-libp2p"
},
{
"name": "Go",
"status": "Missing",
"url": ""
"name": "Python",
"status": "Usable",
"url": "https://github.com/libp2p/py-libp2p"
},
{
"name": "Rust",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/core"
"name": "C++",
"status": "Usable",
"url": "https://github.com/libp2p/cpp-libp2p"
},
{
"name": "JVM",
"status": "Usable",
"url": "https://github.com/libp2p/jvm-libp2p"
},
{
"name": "Nim",
"status": "Usable",
"url": "https://github.com/status-im/nim-libp2p"
},
{
"name": "Erlang",
"status": "Usable",
"url": "https://github.com/helium/erlang-libp2p"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,68 +1,14 @@
{
"id": "crypto-channels",
"title": "Secure Communication",
"libs": [
{
"id": "libp2p-secio",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-secio"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-secio"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-secio"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/secio"
}
]
},
{
"id": "libp2p-tls",
"langs": [
{
"name": "Browser JS",
"status": "Missing",
"url": "Unimplementable"
},
{
"name": "Node.js",
"status": "Missing",
"url": ""
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-tls"
},
{
"name": "Rust",
"status": "Missing",
"url": ""
}
]
},
{
"id": "libp2p-noise",
"langs": [
{
"name": "Browser JS",
"status": "Usable",
"url": "https://github.com/NodeFactoryIo/js-libp2p-noise"
},
{
"name": "Node.js",
"status": "Usable",
"url": "https://github.com/NodeFactoryIo/js-libp2p-noise"
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/ChainSafe/js-libp2p-noise"
},
{
"name": "Go",
@@ -72,7 +18,86 @@
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/noise"
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transports/noise"
},
{
"name": "Swift",
"status": "Unstable",
"url": "https://github.com/swift-libp2p/swift-libp2p-noise"
},
{
"name": "Python",
"status": "Unstable",
"url": "https://github.com/libp2p/py-libp2p/tree/master/libp2p/security/noise"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/security/noise"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/security/noise"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-tls",
"langs": [
{
"name": "JavaScript",
"status": "Missing"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-tls"
},
{
"name": "Rust",
"status": "Missing"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/security/tls"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,17 +1,12 @@
{
"id": "discovery",
"interface": "https://github.com/libp2p/interface-peer-discovery",
"title": "Discovery",
"libs": [
{
"id": "bootstrap",
"langs": [
{
"name": "Browser JS",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-railing"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-railing"
},
@@ -22,8 +17,37 @@
},
{
"name": "Rust",
"status": "Missing",
"url": ""
"status": "Missing"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p/tree/main/Sources/LibP2P/Discovery/Bootstrap"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/security/tls"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -31,12 +55,7 @@
"id": "random-walk",
"langs": [
{
"name": "Browser JS",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-random-walk"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-random-walk"
},
@@ -49,6 +68,35 @@
"name": "Rust",
"status": "Usable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/kad"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/security/tls"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -56,12 +104,7 @@
"id": "mdns-discovery",
"langs": [
{
"name": "Browser JS",
"status": "Missing",
"url": ""
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-mdns"
},
@@ -74,6 +117,35 @@
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/mdns"
},
{
"name": "Swift",
"status": "Unstable",
"url": "https://github.com/swift-libp2p/swift-libp2p-mdns"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -81,12 +153,7 @@
"id": "rendezvous",
"langs": [
{
"name": "Browser JS",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-rendezvous/pull/6"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-rendezvous/pull/6"
},
@@ -99,6 +166,34 @@
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/rendezvous"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -2,18 +2,62 @@
"id": "nat-traversal",
"title": "NAT Traversal",
"libs": [
{
"id": "libp2p-circuit-relay-v1",
"langs": [
{
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-relay-server"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/protocol/circuitv1"
},
{
"name": "Rust",
"status": "Missing"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Done",
"url": "https://github.com/status-im/nim-libp2p/blob/master/libp2p/protocols/relay.nim"
},
{
"name": "Erlang",
"status": "Done",
"url": "https://github.com/helium/erlang-libp2p/tree/master/src/relay"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-circuit-relay-v2",
"langs": [
{
"name": "Browser JS",
"status": "Missing",
"url": ""
},
{
"name": "Node.js",
"status": "Missing",
"url": ""
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p/tree/master/src/circuit"
},
{
"name": "Go",
@@ -22,8 +66,37 @@
},
{
"name": "Rust",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/pull/2059"
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/relay/src/v2"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing",
"link": "https://github.com/helium/erlang-libp2p/tree/master/src/nat"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -31,50 +104,143 @@
"id": "libp2p-autonat",
"langs": [
{
"name": "Browser JS",
"status": "Missing",
"url": ""
},
"name": "JavaScript",
"status": "Missing"
},
{
"name": "Node.js",
"status": "Missing",
"url": ""
},
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/host/autonat"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-autonat"
},
"name": "Rust",
"status": "Missing"
},
{
"name": "Rust",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/pull/1672"
}
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/security/tls"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Unstable",
"url": "https://github.com/status-im/nim-libp2p/blob/unstable/libp2p/protocols/autonat.nim"
},
{
"name": "Erlang",
"status": "Done",
"url": "https://github.com/helium/erlang-libp2p/tree/master/src/nat"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-hole-punching",
"langs": [
{
"name": "JavaScript",
"status": "Missing"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/protocol/holepunch"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/relay"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-dcutr",
"langs": [
{
"name": "Browser JS",
"status": "Missing",
"url": ""
},
"name": "JavaScript",
"status": "Missing"
},
{
"name": "Node.js",
"status": "Missing",
"url": ""
},
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/protocol/holepunch"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/protocol/holepunch"
},
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/dcutr"
},
{
"name": "Rust",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/pull/2076"
}
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}
]

View File

@@ -1,16 +1,12 @@
{
"id": "others",
"title": "Publish/Subscribe",
"libs": [
{
"id": "libp2p-floodsub",
"langs": [
{
"name": "Browser JS",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-floodsub"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-floodsub"
},
@@ -23,6 +19,37 @@
"name": "Rust",
"status": "Usable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/floodsub"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p/tree/main/Sources/LibP2P/PubSub"
},
{
"name": "Python",
"status": "Done",
"url": "https://github.com/libp2p/py-libp2p/blob/master/libp2p/pubsub/floodsub.py"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/pubsub/flood"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -30,12 +57,7 @@
"id": "libp2p-gossipsub",
"langs": [
{
"name": "Browser JS",
"status": "Usable",
"url": "https://github.com/ChainSafe/gossipsub-js"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Usable",
"url": "https://github.com/ChainSafe/gossipsub-js"
},
@@ -48,6 +70,38 @@
"name": "Rust",
"status": "Usable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/gossipsub"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p-core/tree/main/Sources/LibP2PCore/PubSub"
},
{
"name": "Python",
"status": "Done",
"url": "https://github.com/libp2p/py-libp2p/blob/master/libp2p/pubsub/gossipsub.py"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/protocol/gossip"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/pubsub/gossip"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,17 +1,12 @@
{
"id": "peer-routing",
"interface": "https://github.com/libp2p/interface-peer-routing",
"title": "Peer Routing",
"libs": [
{
"id": "libp2p-kad-dht",
"langs": [
{
"name": "Browser JS",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-dht"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-dht"
},
@@ -24,6 +19,82 @@
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/kad"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p/tree/main/Sources/LibP2P/Routing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/protocol/kademlia"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-kbucket",
"langs": [
{
"name": "JavaScript",
"status": "Missing"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-kbucket"
},
{
"name": "Rust",
"status": "Missing"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,17 +1,12 @@
{
"id": "record-stores",
"interface": "https://github.com/libp2p/interface-record-store",
"title": "Storage",
"libs": [
{
"id": "record",
"id": "libp2p-record",
"langs": [
{
"name": "Browser JS",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-record"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-record"
},
@@ -29,6 +24,35 @@
"name": "Rust",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/kad"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p-core/tree/main/Sources/LibP2PCore/Record"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,42 +1,59 @@
{
"id": "stream-muxers",
"interface": "https://github.com/libp2p/interface-stream-muxer",
"title": "Stream Multiplexing",
"libs": [
{
"id": "libp2p-spdy",
"id": "libp2p-quic",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-spdy"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-spdy"
"name": "JavaScript",
"status": "Missing"
},
{
"name": "Go",
"status": "Unstable",
"url": "https://github.com/docker/spdystream"
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/transport/quic"
},
{
"name": "Rust",
"status": "Missing",
"url": ""
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/pull/1334/"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-multiplex",
"id": "libp2p-mplex",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-multiplex"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-multiplex"
},
@@ -49,6 +66,39 @@
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/muxers/mplex"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p-mplex"
},
{
"name": "Python",
"status": "Unstable",
"url": "https://github.com/libp2p/py-libp2p/tree/master/libp2p/stream_muxer/mplex"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/muxer/mplex"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/mux/mplex"
},
{
"name": "Nim",
"status": "Done",
"url": "https://github.com/status-im/nim-libp2p/tree/master/libp2p/muxers/mplex"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -56,24 +106,49 @@
"id": "libp2p-yamux",
"langs": [
{
"name": "Browser JS",
"status": "Missing",
"url": ""
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Missing",
"url": ""
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/hashicorp/yamux"
"url": "https://github.com/libp2p/go-yamux"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/muxers/yamux"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/muxer/yamux"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Done",
"url": "https://github.com/helium/erlang-libp2p/tree/master/src"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,54 +1,58 @@
{
"id": "transports",
"interface": "https://github.com/libp2p/interface-transport",
"title": "Transports",
"libs": [
{
"id": "libp2p-tcp",
"langs": [
{
"name": "Browser JS",
"status": "Unimplementable",
"url": ""
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-tcp"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-tcp-transport"
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/transport/tcp"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transports/tcp"
}
]
},
{
"id": "libp2p-quic",
"langs": [
{
"name": "Browser JS",
"status": "Unimplementable",
"url": ""
},
{
"name": "Node.js",
"status": "Missing",
"url": ""
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p-tcp"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-quic-transport"
},
{
"name": "Rust",
"name": "Python",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/pull/1334/"
"url": "https://github.com/libp2p/py-libp2p/tree/master/libp2p/transport/tcp"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/transport/tcp"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/transport/tcp"
},
{
"name": "Nim",
"status": "Done",
"url": "https://github.com/status-im/nim-libp2p/blob/master/libp2p/transports/tcptransport.nim"
},
{
"name": "Erlang",
"status": "Done",
"url": "https://github.com/helium/erlang-libp2p/tree/master/src"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -56,24 +60,50 @@
"id": "libp2p-websockets",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-websockets"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-websockets"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-ws-transport"
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/transport/websocket"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transports/websocket"
},
{
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p-websocket"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/transport/ws"
},
{
"name": "Nim",
"status": "Done",
"url": "https://github.com/status-im/nim-libp2p/blob/master/libp2p/transports/wstransport.nim"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -81,24 +111,45 @@
"id": "libp2p-webrtc-star",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-star"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-star"
},
{
"name": "Go",
"status": "Missing",
"url": ""
"status": "Missing"
},
{
"name": "Rust",
"status": "Missing",
"url": ""
"status": "Missing"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -106,12 +157,7 @@
"id": "libp2p-webrtc-direct",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-direct"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-direct"
},
@@ -124,6 +170,34 @@
"name": "Rust",
"status": "Missing",
"url": ""
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -131,12 +205,7 @@
"id": "libp2p-udp",
"langs": [
{
"name": "Browser JS",
"status": "Unimplementable",
"url": ""
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-udp"
},
@@ -147,8 +216,35 @@
},
{
"name": "Rust",
"status": "Unimplementable",
"url": ""
"status": "Unimplementable"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -156,24 +252,46 @@
"id": "libp2p-utp",
"langs": [
{
"name": "Browser JS",
"status": "Unimplementable",
"url": ""
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-utp"
},
{
"name": "Go",
"status": "Usable",
"url": "https://github.com/libp2p/go-utp-transport"
"status": "Missing"
},
{
"name": "Rust",
"status": "Missing",
"url": ""
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -1,29 +1,57 @@
{
"id": "utils",
"title": "General Purpose Utils & Datatypes",
"title": "General Purpose Utilities & Datatypes",
"libs": [
{
"id": "crypto",
"id": "libp2p-crypto",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-crypto"
},
{
"name": "Node.js",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-crypto"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-crypto"
"url": "https://github.com/libp2p/go-libp2p/tree/master/core/crypto"
},
{
"name": "Rust",
"status": "Unimplementable",
"url": ""
},
{
"name": "Swift",
"status": "Unstable",
"url": "https://github.com/swift-libp2p/swift-libp2p-crypto"
},
{
"name": "Python",
"status": "Unstable",
"url": "https://github.com/libp2p/py-libp2p/tree/master/libp2p/crypto"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/crypto"
},
{
"name": "JVM",
"status": "Unstable",
"url": "https://github.com/libp2p/jvm-libp2p/tree/develop/src/main/kotlin/io/libp2p/crypto"
},
{
"name": "Nim",
"status": "Done",
"url": "https://github.com/status-im/nim-libp2p/blob/master/libp2p/crypto/crypto.nim"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -31,99 +59,100 @@
"id": "libp2p-ping",
"langs": [
{
"name": "Browser JS",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-ping"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-ping"
"url": "https://github.com/libp2p/js-libp2p/tree/master/src/ping"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/p2p/protocol/ping"
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/protocol/ping"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/ping"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Done",
"url": "https://github.com/libp2p/cpp-libp2p/tree/master/src/protocol/ping"
},
{
"name": "JVM",
"status": "Done",
"url": "https://github.com/libp2p/jvm-libp2p/blob/develop/src/main/kotlin/io/libp2p/protocol/Ping.kt"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
{
"id": "libp2p-peer-id",
"id": "libp2p-peer",
"langs": [
{
"name": "Browser JS",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-peer-id"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-peer-id"
},
{
"name": "Go",
"status": "Missing",
"url": ""
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/blob/master/core/src/peer_id.rs"
}
]
},
{
"id": "libp2p-peer-info",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-peer-info"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-peer-info"
"url": "https://github.com/libp2p/js-libp2p-peer-id"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-peer"
"url": "https://github.com/libp2p/go-libp2p/tree/master/core/peer"
},
{
"name": "Rust",
"status": "Missing",
"url": ""
}
]
},
{
"id": "libp2p-peer-book",
"langs": [
{
"name": "Browser JS",
"status": "Done",
"url": "https://github.com/libp2p/js-peer-book"
"url": "https://github.com/libp2p/rust-libp2p/tree/master/core/src"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-peer-book"
"name": "Swift",
"status": "Usable",
"url": "https://github.com/swift-libp2p/swift-libp2p-core/tree/main/Sources/LibP2PCore/Peer"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-peerstore"
"name": "Python",
"status": "Unstable",
"url": "https://github.com/libp2p/py-libp2p/tree/master/libp2p/peer"
},
{
"name": "Rust",
"status": "Missing",
"url": ""
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Done",
"url": "https://github.com/helium/erlang-libp2p/tree/master/src/peerbook"
},
{
"name": "Zig",
"status": "Missing"
}
]
},
@@ -131,24 +160,47 @@
"id": "libp2p-swarm",
"langs": [
{
"name": "Browser JS",
"name": "JavaScript",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-swarm"
},
{
"name": "Node.js",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-swarm"
"url": "https://github.com/libp2p/js-libp2p/tree/master/src/pnet"
},
{
"name": "Go",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/host/basic"
"url": "https://github.com/libp2p/go-libp2p/tree/master/p2p/net/swarm"
},
{
"name": "Rust",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/swarm"
},
{
"name": "Swift",
"status": "Missing"
},
{
"name": "Python",
"status": "Missing"
},
{
"name": "C++",
"status": "Missing"
},
{
"name": "JVM",
"status": "Missing"
},
{
"name": "Nim",
"status": "Missing"
},
{
"name": "Erlang",
"status": "Missing"
},
{
"name": "Zig",
"status": "Missing"
}
]
}

View File

@@ -84,6 +84,14 @@ $(function () {
var maxHeight = 0
var opacity = 0.0
if (scrollTop >= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200
opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0
$cube.find('.connection-upgrades').css('opacity', opacity)
} else {
$cube.find('.connection-upgrades').css('opacity', 0)
}
if (scrollTop >= 235 &&
scrollTop <= $transports.offset().top - headerHeight - sectionMarginTop + 140) {
maxHeight = $transports.offset().top - headerHeight - sectionMarginTop + 140
@@ -108,13 +116,13 @@ $(function () {
} else {
$cube.find('.crypto-channels').css('opacity', 0)
}
if (scrollTop >= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $connectionUpgrades.offset().top - headerHeight - sectionMarginTop - 60 + 200
if (scrollTop >= $discovery.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200
opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0
$cube.find('.connection-upgrades').css('opacity', opacity)
$cube.find('.discovery').css('opacity', opacity)
} else {
$cube.find('.connection-upgrades').css('opacity', 0)
$cube.find('.discovery').css('opacity', 0)
}
if (scrollTop >= $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $peerRouting.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
@@ -124,14 +132,6 @@ $(function () {
} else {
$cube.find('.peer-routing').css('opacity', 0)
}
if (scrollTop >= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200
opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0
$cube.find('.record-stores').css('opacity', opacity)
} else {
$cube.find('.record-stores').css('opacity', 0)
}
if (scrollTop >= $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $natTraversal.offset().top - headerHeight - sectionMarginTop - 60 + 200
@@ -140,21 +140,13 @@ $(function () {
} else {
$cube.find('.nat-traversal').css('opacity', 0)
}
if (scrollTop >= $discovery.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $discovery.offset().top - headerHeight - sectionMarginTop - 60 + 200
if (scrollTop >= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $recordStores.offset().top - headerHeight - sectionMarginTop - 60 + 200
opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0
$cube.find('.discovery').css('opacity', opacity)
$cube.find('.record-stores').css('opacity', opacity)
} else {
$cube.find('.discovery').css('opacity', 0)
}
if (scrollTop >= $utils.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200
opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0
$cube.find('.utils').css('opacity', opacity)
} else {
$cube.find('.utils').css('opacity', 0)
$cube.find('.record-stores').css('opacity', 0)
}
if (scrollTop >= $other.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $other.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
@@ -164,6 +156,14 @@ $(function () {
} else {
$cube.find('.others').css('opacity', 0)
}
if (scrollTop >= $utils.offset().top - headerHeight - sectionMarginTop - 60 &&
scrollTop <= $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200) {
maxHeight = $utils.offset().top - headerHeight - sectionMarginTop - 60 + 200
opacity = maxHeight !== scrollTop ? 1.0 / (70.0 / (maxHeight - scrollTop)) : 0
$cube.find('.utils').css('opacity', opacity)
} else {
$cube.find('.utils').css('opacity', 0)
}
}
$(window).on('click', function (e) {

View File

@@ -13,6 +13,7 @@
<a href="/media" class="{{ if eq .URL "/media/" }}active{{end}}">Media</a>
<a href="{{ .Site.Params.specifications }}">Specifications</a>
<a href="/#community">Community</a>
<a href="{{ .Site.Params.website}}">Website source</a>
</nav>
<small class="db f6 pt4">© <a class="link white hover-blue" href="https://protocol.ai/" target="_blank">Protocol Labs</a> | Except as <a class="link white hover-blue" href="https://protocol.ai/legal/">noted</a>, content licensed <a class="link white hover-blue" href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC-BY 3.0</a></small>
</div>

View File

@@ -9,9 +9,6 @@
{{ humanize .id }}
{{ end }}
</div>
{{if .interface}}
<a class="btn-interface" href="{{.interface}}" target="_blank">Interface</a>
{{end}}
</div>
</div>
<div class="info">

View File

@@ -61,20 +61,6 @@
line-height:30px;
}
.btn-interface{
display:block;
width:100px;
height:26px;
font-size:14px;
color:@c_white;
font-family: 'Roboto-Medium';
.btn_state(@c_blue);
text-align: center;
text-decoration: none;
line-height:26px;
.border-radius(26px);
}
.btn-soc-network{
text-decoration: none;
display:inline-block;