diff --git a/docs/guides/js-waku/configure-discovery.mdx b/docs/build/javascript/configure-discovery.mdx similarity index 100% rename from docs/guides/js-waku/configure-discovery.mdx rename to docs/build/javascript/configure-discovery.mdx diff --git a/docs/guides/js-waku/debug-waku-dapp.md b/docs/build/javascript/debug-waku-dapp.md similarity index 100% rename from docs/guides/js-waku/debug-waku-dapp.md rename to docs/build/javascript/debug-waku-dapp.md diff --git a/docs/guides/js-waku/faq.md b/docs/build/javascript/faq.md similarity index 100% rename from docs/guides/js-waku/faq.md rename to docs/build/javascript/faq.md diff --git a/docs/guides/js-waku/index.md b/docs/build/javascript/index.md similarity index 100% rename from docs/guides/js-waku/index.md rename to docs/build/javascript/index.md diff --git a/docs/guides/js-waku/light-send-receive.md b/docs/build/javascript/light-send-receive.md similarity index 100% rename from docs/guides/js-waku/light-send-receive.md rename to docs/build/javascript/light-send-receive.md diff --git a/docs/guides/js-waku/manage-filter.md b/docs/build/javascript/manage-filter.md similarity index 100% rename from docs/guides/js-waku/manage-filter.md rename to docs/build/javascript/manage-filter.md diff --git a/docs/guides/js-waku/message-encryption.mdx b/docs/build/javascript/message-encryption.mdx similarity index 100% rename from docs/guides/js-waku/message-encryption.mdx rename to docs/build/javascript/message-encryption.mdx diff --git a/docs/guides/js-waku/reliable-channels.md b/docs/build/javascript/reliable-channels.md similarity index 100% rename from docs/guides/js-waku/reliable-channels.md rename to docs/build/javascript/reliable-channels.md diff --git a/docs/guides/js-waku/run-waku-nodejs.md b/docs/build/javascript/run-waku-nodejs.md similarity index 100% rename from docs/guides/js-waku/run-waku-nodejs.md rename to docs/build/javascript/run-waku-nodejs.md diff --git a/docs/guides/js-waku/store-retrieve-messages.md b/docs/build/javascript/store-retrieve-messages.md similarity index 100% rename from docs/guides/js-waku/store-retrieve-messages.md rename to docs/build/javascript/store-retrieve-messages.md diff --git a/docs/guides/js-waku/use-waku-create-app.md b/docs/build/javascript/use-waku-create-app.md similarity index 100% rename from docs/guides/js-waku/use-waku-create-app.md rename to docs/build/javascript/use-waku-create-app.md diff --git a/docs/guides/js-waku/use-waku-react.md b/docs/build/javascript/use-waku-react.md similarity index 100% rename from docs/guides/js-waku/use-waku-react.md rename to docs/build/javascript/use-waku-react.md diff --git a/docs/guides/getting-started.md b/docs/guides/getting-started.md index 637cf2e..276134d 100644 --- a/docs/guides/getting-started.md +++ b/docs/guides/getting-started.md @@ -1,7 +1,6 @@ --- title: Introduction to Waku hide_table_of_contents: true -slug: / --- Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy. diff --git a/docs/landing.md b/docs/landing.md new file mode 100644 index 0000000..76fe0db --- /dev/null +++ b/docs/landing.md @@ -0,0 +1,52 @@ +--- +title: Introduction to Waku +hide_table_of_contents: true +slug: / +--- + +Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy. + +
+ Start Building + Run a Node + Learn More + Explore Research +
+ + + +
+ +
+ +:::tip +Check out our [Learn section](/learn/waku-network), [YouTube channel](https://www.youtube.com/@wakuorg), and [Blog](https://blog.waku.org/) to dive into how Waku works behind the scenes! +::: + +## What isn’t Waku? + +- Waku is not a blockchain but a network composed of protocols designed for Web3 communication, operating without the need for gas fees. +- Waku is not just for messaging applications; it supports the development of complex applications that require secure and private data transmission. +- Waku is not a long-term data storage network; it focuses on short, ephemeral, real-time messaging. + +## What can Waku be used for? + +1. **Chat Messengers**: Waku can be used to build private, decentralised chat apps resistant to censorship. +2. **Voting and Proposals**: Exchange votes on proposals off-chain via Waku to save gas fees, then submit aggregated results to the blockchain. +3. **NFT Marketplaces**: Use Waku to handle off-chain NFT bids and offers for gas savings, and to integrate social interactions like likes and comments. +4. **State Channels**: Establish and maintain state channels with Waku, facilitating seamless message exchanges and updates without blockchain interaction. +5. **Signature Exchange for Multi-Signature Wallets**: Allow multi-signature wallet owners to exchange signatures privately and securely through Waku. +6. **Game Mechanics Communication**: Implement Waku as a communication layer for decentralised, peer-to-peer gaming, avoiding centralised infrastructure. +7. **Layer 2 Coordination (Open Market, Spam Protected Mempool)**: Broadcast and aggregate Layer 2 transactions via Waku to enhance privacy and scalability, reducing network load. +8. **Social Media Platforms**: Beyond chat messengers, use Waku for decentralised, censorship-resistant social media platforms like news feeds and multimedia sharing. + +:::tip +Looking for what to build with Waku? Discover a collection of sample ideas and use cases for inspiration, curated by our community at: [https://ideas.waku.org/](https://ideas.waku.org/) and [Awesome Waku](https://github.com/waku-org/awesome-waku/). +::: + +## Case studies + +
+ + +
diff --git a/docs/guides/nwaku/build-source.md b/docs/run-node/build-source.md similarity index 100% rename from docs/guides/nwaku/build-source.md rename to docs/run-node/build-source.md diff --git a/docs/guides/nwaku/config-methods.md b/docs/run-node/config-methods.md similarity index 100% rename from docs/guides/nwaku/config-methods.md rename to docs/run-node/config-methods.md diff --git a/docs/guides/nwaku/config-options.md b/docs/run-node/config-options.md similarity index 100% rename from docs/guides/nwaku/config-options.md rename to docs/run-node/config-options.md diff --git a/docs/guides/nwaku/configure-discovery.md b/docs/run-node/configure-discovery.md similarity index 100% rename from docs/guides/nwaku/configure-discovery.md rename to docs/run-node/configure-discovery.md diff --git a/docs/guides/nwaku/configure-nwaku.md b/docs/run-node/configure-nwaku.md similarity index 100% rename from docs/guides/nwaku/configure-nwaku.md rename to docs/run-node/configure-nwaku.md diff --git a/docs/guides/nwaku/faq.md b/docs/run-node/faq.md similarity index 100% rename from docs/guides/nwaku/faq.md rename to docs/run-node/faq.md diff --git a/docs/guides/nwaku/find-node-address.md b/docs/run-node/find-node-address.md similarity index 100% rename from docs/guides/nwaku/find-node-address.md rename to docs/run-node/find-node-address.md diff --git a/docs/guides/nwaku/run-node.md b/docs/run-node/index.md similarity index 100% rename from docs/guides/nwaku/run-node.md rename to docs/run-node/index.md diff --git a/docs/guides/nwaku/run-docker-compose.md b/docs/run-node/run-docker-compose.md similarity index 100% rename from docs/guides/nwaku/run-docker-compose.md rename to docs/run-node/run-docker-compose.md diff --git a/docs/guides/nwaku/run-docker.md b/docs/run-node/run-docker.md similarity index 100% rename from docs/guides/nwaku/run-docker.md rename to docs/run-node/run-docker.md diff --git a/docs/guides/nwaku/upgrade-instructions.md b/docs/run-node/upgrade-instructions.md similarity index 100% rename from docs/guides/nwaku/upgrade-instructions.md rename to docs/run-node/upgrade-instructions.md diff --git a/docusaurus.config.js b/docusaurus.config.js index 9c927fd..a0faa5d 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -69,9 +69,15 @@ const config = { }, { position: "left", - label: "Guides", - to: "/", - activeBaseRegex: "^/$|^/guides/", + label: "Build", + to: "/build/javascript/", + activeBaseRegex: "^/build/", + }, + { + position: "left", + label: "Run Node", + to: "/run-node/", + activeBaseRegex: "^/run-node/", }, { position: "left", @@ -101,19 +107,6 @@ const config = { footer: { copyright: "Waku", links: [ - { - title: "Guides", - items: [ - { - to: "/guides/nwaku/run-docker-compose", - label: "Run a Nwaku Node", - }, - { - to: "/guides/js-waku/", - label: "JavaScript Waku SDK", - }, - ], - }, { title: "Community", items: [ @@ -158,10 +151,6 @@ const config = { href: "https://rfc.vac.dev/waku", label: "Waku RFCs", }, - { - href: "https://github.com/waku-org/bounties/", - label: "Bounties", - }, { href: "https://github.com/waku-org/awesome-waku/", label: "Awesome Waku", diff --git a/package.json b/package.json index bfffeb3..cf68094 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "docusaurus start", + "start": "docusaurus start --port 3001", "build": "node fetch-content.js && docusaurus build", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", diff --git a/sidebars.js b/sidebars.js index 2007aa3..0890b17 100644 --- a/sidebars.js +++ b/sidebars.js @@ -2,54 +2,32 @@ /** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */ const sidebars = { - guides: [ - "guides/getting-started", + docs: [ { - type: "category", - label: "Run a Nwaku Node", - collapsed: true, - link: { - type: "doc", - id: "guides/nwaku/run-node", - }, - items: [ - "guides/nwaku/run-docker-compose", - "guides/nwaku/run-docker", - "guides/nwaku/build-source", - "guides/nwaku/configure-discovery", - "guides/nwaku/find-node-address", - "guides/nwaku/config-methods", - "guides/nwaku/config-options", - "guides/nwaku/configure-nwaku", - "guides/nwaku/faq", - "guides/nwaku/upgrade-instructions", - { - type: "html", - value: - 'REST API Reference', - }, - ], + type: "link", + label: "Home", + href: "/", }, { type: "category", - label: "JavaScript Waku SDK", - collapsed: true, + label: "Build", + collapsed: false, link: { type: "doc", - id: "guides/js-waku/index", + id: "build/javascript/index", }, items: [ - "guides/js-waku/reliable-channels", - "guides/js-waku/light-send-receive", - "guides/js-waku/store-retrieve-messages", - "guides/js-waku/message-encryption", - "guides/js-waku/use-waku-react", - "guides/js-waku/use-waku-create-app", - "guides/js-waku/configure-discovery", - "guides/js-waku/run-waku-nodejs", - "guides/js-waku/debug-waku-dapp", - "guides/js-waku/manage-filter", - "guides/js-waku/faq", + "build/javascript/reliable-channels", + "build/javascript/light-send-receive", + "build/javascript/store-retrieve-messages", + "build/javascript/message-encryption", + "build/javascript/use-waku-react", + "build/javascript/use-waku-create-app", + "build/javascript/configure-discovery", + "build/javascript/run-waku-nodejs", + "build/javascript/debug-waku-dapp", + "build/javascript/manage-filter", + "build/javascript/faq", { type: "html", value: @@ -62,76 +40,110 @@ const sidebars = { }, ], }, - { - type: "link", - label: "Learn About Waku", - href: "/learn/waku-network", - }, - { - type: "link", - label: "Waku Research", - href: "/research", - }, - { - type: "html", - value: - 'Discord', - }, - { - type: "html", - value: - 'Awesome Waku', - }, - { - type: "html", - value: - 'Waku Idea Board', - }, - { - type: "html", - value: - 'Post-Hackathon Bounties', - }, - ], - learn: [ - "learn/waku-network", { type: "category", - label: "Concepts", + label: "Run a Nwaku Node", collapsed: false, + link: { + type: "doc", + id: "run-node/index", + }, items: [ - "learn/concepts/protocols", - "learn/concepts/content-topics", - "learn/concepts/network-domains", - "learn/concepts/transports", + "run-node/run-docker-compose", + "run-node/run-docker", + "run-node/build-source", + "run-node/configure-discovery", + "run-node/find-node-address", + "run-node/config-methods", + "run-node/config-options", + "run-node/configure-nwaku", + "run-node/faq", + "run-node/upgrade-instructions", { - type: "category", - label: "Peer Discovery", - link: { - type: "doc", - id: "learn/concepts/peer-discovery", - }, - items: [ - "learn/concepts/static-peers", - "learn/concepts/dns-discovery", - "learn/concepts/discv5", - "learn/concepts/peer-exchange", - ], + type: "html", + value: + 'REST API Reference', }, ], }, - "learn/security-features", - "learn/research", - "learn/waku-vs-libp2p", - "learn/glossary", - "learn/faq", - ], - research: [ { - type: "autogenerated", - dirName: "research", // '.' means the current docs folder + type: "category", + label: "Learn", + collapsed: false, + items: [ + "learn/waku-network", + { + type: "category", + label: "Concepts", + collapsed: false, + items: [ + "learn/concepts/protocols", + "learn/concepts/content-topics", + "learn/concepts/network-domains", + "learn/concepts/transports", + { + type: "category", + label: "Peer Discovery", + link: { + type: "doc", + id: "learn/concepts/peer-discovery", + }, + items: [ + "learn/concepts/static-peers", + "learn/concepts/dns-discovery", + "learn/concepts/discv5", + "learn/concepts/peer-exchange", + ], + }, + ], + }, + "learn/security-features", + "learn/research", + "learn/waku-vs-libp2p", + "learn/glossary", + "learn/faq", + ], + }, + { + type: "category", + label: "Research", + collapsed: false, + items: [ + { + type: "autogenerated", + dirName: "research", + }, + ], + }, + { + type: "category", + label: "Resources", + collapsed: false, + items: [ + "guides/getting-started", + { + type: "html", + value: + 'Discord', + }, + { + type: "html", + value: + 'Awesome Waku', + }, + { + type: "html", + value: + 'Waku Idea Board', + }, + { + type: "html", + value: + 'Post-Hackathon Bounties', + }, + ], }, ], }; -module.exports = sidebars; +module.exports = sidebars; \ No newline at end of file diff --git a/src/css/custom.scss b/src/css/custom.scss index 6a9b44b..2e88a31 100644 --- a/src/css/custom.scss +++ b/src/css/custom.scss @@ -78,3 +78,40 @@ html[data-theme="dark"] .header-github-link:before { .theme-doc-toc-desktop { display: none; } + +.cta-buttons { + display: flex; + gap: 0.75rem; + margin: 1.5rem 0; + flex-wrap: wrap; + justify-content: flex-start; + + .button { + background-color: rgb(var(--lsd-text-primary)); + color: rgb(var(--lsd-surface-primary)); + border: 1px solid rgb(var(--lsd-text-primary)); + padding: 0.5rem 1.25rem; + text-decoration: none; + border-radius: 4px; + font-weight: 500; + transition: all 0.2s ease; + display: inline-block; + + &:hover { + background-color: rgb(var(--lsd-surface-primary)); + color: rgb(var(--lsd-text-primary)); + text-decoration: none; + } + } +} + +html[data-theme="dark"] .cta-buttons .button { + background-color: rgb(var(--lsd-text-primary)); + color: rgb(var(--lsd-surface-primary)); + border-color: rgb(var(--lsd-text-primary)); + + &:hover { + background-color: rgb(var(--lsd-surface-primary)); + color: rgb(var(--lsd-text-primary)); + } +}