rmv bundles page

This commit is contained in:
Danny Salman
2022-08-23 11:47:26 -04:00
parent 98375d97e7
commit d6317eb6be
9 changed files with 13506 additions and 1230 deletions

View File

@@ -48,7 +48,7 @@ lint: install
$(PREPEND)$(NPMBIN)/standard && $(NPMBIN)/lessc --lint less/*.less
js: install
$(PREPEND)$(NPMBIN)/browserify --noparse=jquery js/{index,implementations,bundles,media}.js -p [ factor-bundle -o static/js/index.js -o static/js/implementations.js -o static/js/bundles.js -o static/js/media.js ] -o static/js/common.js $(APPEND)
$(PREPEND)$(NPMBIN)/browserify --noparse=jquery js/{index,implementations,media}.js -p [ factor-bundle -o static/js/index.js -o static/js/implementations.js -o static/js/media.js ] -o static/js/common.js $(APPEND)
css: install
$(PREPEND)for f in less/*.less; do $(NPMBIN)/lessc $$f --autoprefix='> 1%, last 2 versions' --clean-css static/css/$$(basename $$f .less).css $(APPEND); done
@@ -63,7 +63,7 @@ minify-img: install
dev: install js css
$(PREPEND) ( \
$(NPMBIN)/watchify --noparse=jquery js/{index,implementations,bundles,media}.js -p [ factor-bundle -o static/js/index.js -o static/js/implementations.js -o static/js/bundles.js -o static/js/media.js ] -o static/js/common.js & \
$(NPMBIN)/watchify --noparse=jquery js/{index,implementations,media}.js -p [ factor-bundle -o static/js/index.js -o static/js/implementations.js -o static/js/media.js ] -o static/js/common.js & \
$(NPMBIN)/nodemon --quiet --watch less --ext less --exec "make css" & \
$(NPMBIN)/hugo server -w \
)

View File

@@ -11,7 +11,7 @@ This repository contains the source code for the libp2p website available at htt
This project builds out a static site to explain libp2p, ready for deployment on ipfs. It uses `hugo` to glue the html together. It provides an informative, public-facing website. The most important things are the words, concepts and links it presents.
Much of the site content is data-driven, take a look at the `data` dir where find the data behind the implementations and bundles information as json.
Much of the site content is data-driven, take a look at the `data` dir where find the data behind the implementations information as json.
## Install

View File

@@ -1,82 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
{{ partial "head.html" . }}
<link rel="stylesheet" type="text/css" href="/css/bundles.css">
<title>Bundles - libp2p</title>
</head>
<body>
{{ partial "topbar.html" . }}
<main>
<article class="center bundles">
<h1>Bundles</h1>
<div class="wrap">
<p> libp2p provides ready-to-use bundles for different use cases and different languages. You can use these
to get all the functionality in one package, instead of including and bundling the different modules
yourself. See it as a quickstart.</p>
<div class="links">
<div class="active-link">
<div class="copy-block"></div>
<i class="fa fa-angle-down" aria-hidden="true"></i>
</div>
<div class="columns">
<div class="column col1"></div>
<div class="column col2"></div>
<div class="column col3"></div>
<div class="column col4"></div>
</div>
</div>
</div>
<div class="triangle white"></div>
</article>
<article class="center bundles-info">
<div class="wrap">
{{ range where $.Site.Data.bundles "status" "live" }}
{{ partial "bundle.html" . }}
{{ end }}
{{ range where $.Site.Data.bundles "status" "dev" }}
{{ partial "bundle.html" . }}
{{ end }}
<section class="coming-soon">
{{ range where $.Site.Data.bundles "status" "coming-soon" }}
<div class="card">
<div class="rectangle coming-soon" title="{{ .name }} bundle coming soon">
<div class="img">
<img src="{{ .image }}" alt="{{ .name }}">
</div>
<div class="text">In progress...</div>
</div>
</div>
{{ end }}
<div class="card empty">
<div class="rectangle empty">
<img src="../img/img4.png" alt="A 3 cube tetris block in a minimal L shape, pointing upwards."/>
</div>
</div>
<div class="card empty">
<div class="rectangle empty">
<img src="../img/img5.png" alt="A single cube, corner pointing upwards; The isomorphic perspective revealing an hexangonal outline." />
</div>
</div>
</section>
</div>
<div class="triangle grey"></div>
</article>
</main>
{{ partial "footer.html" . }}
<script type="text/javascript" src="/js/common.js"></script>
<script type="text/javascript" src="/js/bundles.js"></script>
</body>
</html>

View File

@@ -89,60 +89,6 @@
<div class="triangle grey"></div>
</article>
<!--<article class="center example">-->
<!--<header>-->
<!--<h2>Example.</h2>-->
<!--</header>-->
<!--<div class="wrap">-->
<!--<img width="942" height="454" src="/img/home-map.png" alt="">-->
<!--</div>-->
<!--<img class="decoration img3" src="/img/img3.png" width="61" height="61" alt="">-->
<!--<div class="triangle white"></div>-->
<!--</article>-->
<article class="center implementations-in">
<h2 class="h1">Implementations In</h2>
<div class="wrap">
{{ range where $.Site.Data.bundles "status" "live" }}
<div class="card">
<a class="rectangle" href="/bundles#{{ .id }}">
<div class="img-wrap">
<img src="{{ .image }}" alt="{{ .name }}" title="{{ .name }}">
</div>
<div>{{.desc}}</div>
</a>
</div>
{{ end }}
{{ range where $.Site.Data.bundles "status" "dev" }}
<div class="card">
<a class="rectangle in-dev" href="/bundles#{{ .id }}">
<img src="{{ .image }}" alt="{{ .name }}" title="{{ .name }}">
<div>In development...</div>
</a>
</div>
{{ end }}
{{ range where $.Site.Data.bundles "status" "coming-soon" }}
<div class="card">
<a class="rectangle coming-soon">
<img src="{{ .image }}" alt="{{ .name }}" title="{{ .name }}">
<div>Coming soon...</div>
</a>
</div>
{{ end }}
<div class="card empty">
<div class="rectangle empty">
<img src="./img/img4.png" alt="A 3 cube tetris block in a minimal L shape, pointing upwards."/>
</div>
</div>
<div class="card empty">
<div class="rectangle empty">
<img src="./img/img5.png" alt="A single cube, corner pointing upwards; The isomorphic perspective revealing an hexangonal outline." />
</div>
</div>
</div>
<div class="triangle white"></div>
</article>
<article class="center publications-talks">
<h2 class="h1">Publications &amp; Talks</h2>
<div class="wrap">

View File

@@ -1,420 +0,0 @@
[
{
"id": "browser-js",
"name": "Browser JS",
"status": "live",
"image": "/img/logo_1.png",
"github": "https://github.com/ipfs/js-libp2p-ipfs-browser",
"categories": [
{
"id": "transport",
"modules": [
{
"id": "libp2p-websockets",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-websockets"
},
{
"id": "libp2p-webrtc-star",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-star"
}
]
},
{
"id": "stream-muxer",
"modules": [
{
"id": "libp2p-multiplex",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-multiplex"
},
{
"id": "libp2p-spdy",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-spdy"
}
]
},
{
"id": "crypto-channels",
"modules": [
{
"id": "libp2p-secio",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-secio"
}
]
},
{
"id": "peer-routing",
"modules": [
{
"id": "libp2p-kad-dht",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-kad-dht"
}
]
},
{
"id": "record-stores",
"modules": [
{
"id": "record",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-record"
}
]
},
{
"id": "discovery",
"modules": [
{
"id": "libp2p-webrtc-star",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-star"
},
{
"id": "libp2p-railing",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-railing"
}
]
}
]
},
{
"id": "node-js",
"name": "Node JS",
"status": "live",
"image": "/img/logo_2.png",
"github": "https://github.com/ipfs/js-libp2p-ipfs-nodejs",
"categories": [
{
"id": "transport",
"modules": [
{
"id": "libp2p-tcp",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-tcp"
},
{
"id": "libp2p-websockets",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-websockets"
},
{
"id": "libp2p-webrtc-star",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-star"
}
]
},
{
"id": "stream-muxer",
"modules": [
{
"id": "libp2p-multiplex",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-multiplex"
},
{
"id": "libp2p-spdy",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-spdy"
}
]
},
{
"id": "crypto-channels",
"modules": [
{
"id": "libp2p-secio",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-secio"
}
]
},
{
"id": "peer-routing",
"modules": [
{
"id": "libp2p-kad-dht",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-kad-dht"
}
]
},
{
"id": "record-stores",
"modules": [
{
"id": "record",
"status": "Usable",
"url": "https://github.com/libp2p/js-libp2p-record"
}
]
},
{
"id": "discovery",
"modules": [
{
"id": "libp2p-mdns",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-mdns"
},
{
"id": "libp2p-webrtc-star",
"status": "Done",
"url": "https://github.com/libp2p/js-libp2p-webrtc-star"
},
{
"id": "libp2p-railing",
"status": "Unstable",
"url": "https://github.com/libp2p/js-libp2p-railing"
}
]
}
]
},
{
"id": "golang",
"name": "Golang",
"status": "live",
"image": "/img/logo_3.png",
"github": "https://github.com/libp2p/go-libp2p",
"categories": [
{
"id": "transport",
"modules": [
{
"id": "go-tcp-transport",
"status": "Done",
"url": "https://github.com/libp2p/go-tcp-transport"
},
{
"id": "go-ws-transport",
"status": "Done",
"url": "https://github.com/libp2p/go-ws-transport"
}
]
},
{
"id": "stream-muxer",
"modules": [
{
"id": "libp2p-yamux",
"status": "Done",
"url": ""
},
{
"id": "libp2p-multiplex",
"status": "Done",
"url": ""
}
]
},
{
"id": "crypto-channels",
"modules": [
{
"id": "libp2p-secio",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-secio"
}
]
},
{
"id": "peer-routing",
"modules": [
{
"id": "libp2p-kad-dht",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-kad-dht"
}
]
},
{
"id": "record-stores",
"modules": [
{
"id": "libp2p-kad-dht",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-kad-dht"
}
]
},
{
"id": "nat-traversal",
"name": "NAT Traversal",
"modules": [
{
"id": "libp2p-nat",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p-nat"
}
]
},
{
"id": "discovery",
"modules": [
{
"id": "libp2p-mdns",
"status": "Done",
"url": "https://github.com/libp2p/go-libp2p/blob/master/p2p/discovery/mdns/mdns.go"
},
{
"id": "libp2p-railing",
"status": "Unstable",
"url": ""
}
]
}
]
},
{
"id": "rust",
"name": "Rust",
"status": "live",
"image": "/img/logo_7.png",
"github": "https://github.com/libp2p/rust-libp2p",
"categories": [
{
"id": "transport",
"modules": [
{
"id": "libp2p-tcp",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transports/tcp"
},
{
"id": "libp2p-memory",
"status": "Usable",
"url": "https://github.com/libp2p/rust-libp2p/blob/master/core/src/transport/memory.rs"
},
{
"id": "libp2p-uds",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transports/uds"
},
{
"id": "libp2p-relay",
"status": "Usable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/relay"
},
{
"id": "libp2p-websocket",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transports/websocket"
}
]
},
{
"id": "stream-muxer",
"modules": [
{
"id": "libp2p-yamux",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/muxers/yamux"
},
{
"id": "libp2p-mplex",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/muxers/mplex"
}
]
},
{
"id": "peer-routing",
"modules": [
{
"id": "libp2p-kad",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/kad"
}
]
},
{
"id": "protocols",
"modules": [
{
"id": "libp2p-multistream-select",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/misc/multistream-select"
},
{
"id": "libp2p-ping",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/ping"
},
{
"id": "libp2p-identify",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/identify"
},
{
"id": "libp2p-dns",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/transport/dns"
},
{
"id": "libp2p-floodsub",
"status": "Unstable",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/floodsub"
}
]
},
{
"id": "discovery",
"modules": [
{
"id": "libp2p-mdns",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/mdns"
},
{
"id": "libp2p-rendezvous",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/protocols/rendezvous"
}
]
},
{
"id": "Utilities",
"modules": [
{
"id": "multiaddr",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/misc/multiaddr"
},
{
"id": "multihash",
"status": "Done",
"url": "https://github.com/libp2p/rust-libp2p/tree/master/misc/multhash"
}
]
}
]
},
{
"name": "Haskell",
"status": "coming-soon",
"image": "/img/logo_4.png",
"github": "",
"categories": []
},
{
"name": "Java",
"status": "coming-soon",
"image": "/img/logo_java.png",
"github": "",
"categories": []
},
{
"name": "Python",
"status": "coming-soon",
"image": "/img/logo_6.png",
"github": "",
"categories": []
}
]

View File

@@ -10,7 +10,6 @@
<div>
<nav>
<a href="/implementations" class="{{ if eq .URL "/implementations/" }}active{{end}}">Implementations</a>
<a href="/bundles" class="{{ if eq .URL "/bundles/" }}active{{end}}">Bundles</a>
<a href="/media" class="{{ if eq .URL "/media/" }}active{{end}}">Media</a>
<a href="{{ .Site.Params.specifications }}">Specifications</a>
<a href="/#community">Community</a>

View File

@@ -9,7 +9,6 @@
<nav>
<ul>
<li><a href="/implementations" {{ if eq .URL "/implementations/" }}class="active"{{ end }}>Implementations</a></li>
<li><a href="/bundles" {{ if eq .URL "/bundles/" }}class="active"{{ end }}>Bundles</a></li>
<li><a href="/media" {{ if eq .URL "/media/" }}class="active"{{ end }}>Media</a></li>
<li><a href="https://github.com/libp2p/specs" target="_blank">Specifications</a></li>
<li><a href="https://docs.libp2p.io" target="_blank">Documentation</a></li>

View File

@@ -1,466 +0,0 @@
@import "lib/variables.less";
@import "lib/triangle.less";
body > header .wrap nav ul li a.active {
color: #FF753F;
}
article.bundles {
.wrap {
p{
font-size: 30px;
line-height: 40px;
text-align: center;
letter-spacing: normal;
font-family: Roboto-Light, SansSerif;
color: #9099A9;
margin: 20px 0 73px 0;
@media (max-width: 767px){
font-size: 20px;
line-height: 28px;
margin-bottom: 33px;
}
}
.links {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: stretch;
position: relative;
.active-link{
display: none;
justify-content: flex-start;
align-items: center;
padding: 5px 0;
text-decoration: none;
.copy-block {
display: flex;
align-items: center;
}
.img {
width: 32px;
height: 29px;
display: flex;
justify-content: center;
align-items: center;
margin-right: 5px;
img {
width: 20px;
height: auto;
&.node {
width: 32px;
}
&.golang {
width: 15px;
}
&.haskell {
width: 25px;
}
&.java {
width: 16px;
}
&.python {
width: 18px;
}
}
}
span {
color: #31BDEE;
font-size: 16px;
}
i {
margin-left: 5px;
font-size: 8px;
color: #9099A9;
}
&.inactive {
pointer-events: none;
cursor: default;
.img {
opacity: 0.3;
}
span {
color: #DFE5EE;
}
}
&:hover {
opacity: 0.5;
}
@media (max-width: 767px) {
display: flex;
}
}
.columns {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: stretch;
.column {
border-right: 1px solid #F5F7FB;
padding: 0 34px;
&:last-child {
border: none;
}
@media (max-width: 767px) {
border: none;
}
.link {
display: flex;
justify-content: flex-start;
align-items: center;
padding: 5px 0;
text-decoration: none;
.img {
width: 32px;
height: 29px;
display: flex;
justify-content: center;
align-items: center;
margin-right: 10px;
img {
width: 20px;
height: auto;
&.node {
width: 32px;
}
&.golang {
width: 15px;
}
&.haskell {
width: 25px;
}
&.java {
width: 16px;
}
&.python {
width: 18px;
}
}
}
span {
color: #31BDEE;
font-size: 16px;
}
&.inactive {
pointer-events: none;
cursor: default;
.img {
opacity: 0.3;
}
span {
color: #DFE5EE;
}
}
&:hover {
opacity: 0.5;
}
}
}
@media (max-width: 767px) {
display: none;
background: rgba(255, 255, 255, 0.7);
position: absolute;
top: 30px;
flex-direction: column;
z-index: 100;
width: 100%;
left: calc(~"50% - 100px");
}
}
}
}
}
article.bundles-info {
background: #F3F6F9;
padding-top: 100px;
padding-bottom: 170px;
@media (max-width: 767px) {
padding-top: 55px;
padding-bottom: 70px;
}
.wrap {
section {
display: flex;
margin-bottom: 80px;
@media (max-width: 767px) {
margin-bottom: 60px;
}
&:last-of-type {
margin-bottom: 0;
}
aside {
width: 240px;
border: 1px solid #DFE5EE;
border-right: none;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
.active-link {
display: none;
height: 45px;
justify-content: center;
align-items: center;
color: #9099A9;
font-size: 16px;
i {
font-size: 8px;
margin-left: 5px;
}
}
nav {
display: flex;
flex-direction: column;
a {
color: #9099A9;
max-width: 240px;
text-decoration: none;
padding: 0 0 0 40px;
border-bottom: 1px solid #DFE5EE;
font-size: 16px;
line-height: 44px;
white-space: nowrap;
@media (max-width: 767px) {
line-height: 35px;
}
&:last-of-type {
//border-bottom: none;
}
&.active, &:hover {
background: #E9EEF5;
}
}
}
}
.content{
position: relative;
max-width: 700px;
min-width: 300px;
width: 100%;
.title {
max-width: 700px;
min-width: 300px;
width: 100%;
height: 205px;
background: white;
border: 1px solid #DFE5EE;
border-top-right-radius: 5px;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 0 10px 1px #DFE5EE;
position: relative;
top: 0;
left: 0;
z-index: 1;
.wrapper {
width: 130px;
height: 127px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
.img {
width: 130px;
height: 80px;
display: flex;
margin: 0 auto;
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
}
}
.info {
max-width: 700px;
min-width: 300px;
width: 100%;
height: 291px;
background: white;
border: 1px solid #DFE5EE;
border-top: none;
border-bottom-right-radius: 5px;
box-shadow: 0 0 10px 1px #DFE5EE;
position: relative;
bottom: 0;
left: 0;
ul {
display: none;
height: 100%;
flex-direction: column;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
padding: 16px 15px;
margin: 0;
&.show {
display: flex;
overflow-x: auto;
}
a {
text-decoration: none;
}
li {
list-style: none;
margin-top: 27px;
min-width: 100px;
max-width: 250px;
width: 100%;
span {
padding-left: 6px;
font-size: 16px;
color: #9099A9;
}
}
&.one-col {
justify-content: center;
li:first-child {
margin-top: 0;
}
}
}
}
}
}
section.coming-soon {
margin-top: 90px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 100%;
@media (max-width: 767px){
justify-content: center;
margin-top: 70px;
}
.card {
width: 300px;
height: 150px;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
.rectangle {
width: 300px;
height: 150px;
background: @c_white;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding-top: 0;
border: 1px solid #DFE5EE;
border-radius: 3px;
margin-bottom: 20px;
box-shadow: 0 0 10px 1px #DFE5EE;
transition: 0.3s linear;
text-decoration: none;
&.coming-soon, &.empty, &.in-dev {
width: 300px;
height: 150px;
cursor: default;
pointer-events: none;
}
.img {
width: 170px;
height: 70px;
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
div.text {
font-family: Roboto-Light, SansSerif;
color: @c_black;
font-size: 16px;
text-align: center;
line-height: 35px;
width: 245px;
height: 55px;
display: none;
justify-content: center;
align-items: center;
}
&.coming-soon {
justify-content: flex-end;
* {
opacity: 0.3;
}
div.text {
display: flex;
color: black;
width:100%;
}
}
&.empty {
background: transparent;
border: none;
box-shadow: none;
}
}
@media (max-width: 1200px) {
&.empty {
display: none;
}
}
}
}
@media (max-width: 767px) {
padding: 0;
section {
flex-direction: column;
aside {
width: 100%;
&.left {
.active-link {
display: flex;
}
nav {
display: none;
background: rgba(233, 238, 245, 0.8);
width: 100%;
position: absolute;
z-index: 100;
align-items: center;
a {
border: none;
padding: 0 30px;
}
}
}
}
.content {
width: 100%;
height: 495px;
.info {
ul {
padding: 16px 10px;
overflow: hidden;
}
}
}
}
}
}
}

13706
package-lock.json generated

File diff suppressed because it is too large Load Diff