diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 1ab01a1..2cfa3dc 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,11 +13,22 @@ "state": { "type": "image", "state": { - "file": "images/pubky-arch.png" + "file": "Explore/images/pubky-arch.png" + } + } + }, + { + "id": "697b4658292e14ce", + "type": "leaf", + "state": { + "type": "release-notes", + "state": { + "currentVersion": "1.6.7" } } } - ] + ], + "currentTab": 1 } ], "direction": "vertical" @@ -83,7 +94,7 @@ "state": { "type": "backlink", "state": { - "file": "images/pubky-arch.png", + "file": "Explore/images/pubky-arch.png", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -100,7 +111,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "images/pubky-arch.png", + "file": "Explore/images/pubky-arch.png", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -123,7 +134,7 @@ "state": { "type": "outline", "state": { - "file": "images/pubky-arch.png" + "file": "Explore/images/pubky-arch.png" } } } @@ -147,51 +158,51 @@ }, "active": "75a1317f66991245", "lastOpenFiles": [ - "images/pubky-core.png_original", - "images/pubky-core.png_exiftool_tmp", - "images/pubky-backend.png_exiftool_tmp", - "images/pubky-arch.png_original", - "images/pubky-arch.png_exiftool_tmp", - "images/pubky-app.png_exiftool_tmp", - "images/pubky-header.png", - "images/pubky-core.png", - "images/pubky-backend.png", - "images/pubky-arch.png", - "images/pubky-app.png", - "images/client-homeserver.png", - "Technologies/DNS.md", - "Concepts/Credible Exit.md", + "quartz/public/404.html", + "quartz/public/static/pubky-core-logo.svg", + "quartz/public/static/pubky-core-logo.png", + "quartz/public/static/og-image.png", + "quartz/public/static/icon.png", + "quartz/public/static/contentIndex.json", + "quartz/public/static/bg.png", + "quartz/public/static/bg-3.png", + "quartz/public/static/bg-2.png", + "quartz/public/static", + "quartz/public/index.xml", + "quartz/public/sitemap.xml", + "quartz/public/tags/segwit.html", + "quartz/public/tags/privacy.html", + "quartz/public/tags/index.html", + "quartz/public/tags/Pubky.html", + "quartz/public/tags", + "quartz/public/readme.html", + "quartz/public/quartz/quartz/static/pubky-core-logo.svg", + "quartz/public/quartz/quartz/static/pubky-core-logo.png", + "quartz/public/quartz/quartz/static/og-image.png", + "Explore/Technologies/DNS.md", + "Explore/Concepts/Credible Exit.md", "The vision of Pubky.md", - "Pubky App/Introduction.md", - "Pubky Core/Introduction.md", + "Explore/Pubky App/Introduction.md", + "Explore/Pubky Core/Introduction.md", "index.md", - "Pubky Core/Homeservers.md", - "Pubky Core/Pkarr/ELI5.md", - "Technologies/DoH.md", - "Pubky Core/Pkarr/4.Architecture.md", - "Pubky Core/Pkarr/3.Expectations.md", + "Explore/Pubky Core/Homeservers.md", + "Explore/Pubky Core/Pkarr/ELI5.md", + "Explore/Technologies/DoH.md", + "Explore/Pubky Core/Pkarr/4.Architecture.md", + "Explore/Pubky Core/Pkarr/3.Expectations.md", "Pubky Core/Pkarr/1.Why PKARR?.md", "Pubky Core/Pkarr/2.Getting Started with PKARR.md", - "Pubky Core/Pkarr/0.Introduction.md", - "quartz/public/404.html", - "quartz/public/quartz/quartz/plugins/transformers/toc.ts", - "quartz/public/quartz/quartz/plugins/transformers/syntax.ts", - "quartz/public/quartz/quartz/plugins/transformers/oxhugofm.ts", - "quartz/public/quartz/quartz/plugins/transformers/ofm.ts", - "quartz/public/quartz/quartz/static/og-image.png", - "quartz/public/quartz/quartz/static/icon.png", - "quartz/public/images/mermaid_charts/semantic_social_graph.svg", - "quartz/public/images/pubky-header.png", - "Pubky Core/ELI5.md", - "Technologies/DHT.md", - "Pubky App/Backend/Introduction.md", - "Pubky App/Client/Introduction.md", - "Pubky App/Backend/Web Server.md", - "Pubky App/Backend/Indexer.md", - "Pubky App/Backend/Aggregator.md", - "Pubky App/App Architectures/4. Custom Backend.md", - "Pubky App/App Architectures/3. Global Aggregators.md", - "Pubky App/App Architectures/2. Client - Homeserver.md", - "Pubky App/App Architectures/1. Introduction.md" + "Explore/Pubky Core/Pkarr/0.Introduction.md", + "Explore/Pubky Core/ELI5.md", + "Explore/Technologies/DHT.md", + "Explore/Pubky App/Backend/Introduction.md", + "Explore/Pubky App/Client/Introduction.md", + "Explore/Pubky App/Backend/Web Server.md", + "Explore/Pubky App/Backend/Indexer.md", + "Explore/Pubky App/Backend/Aggregator.md", + "Explore/Pubky App/App Architectures/4. Custom Backend.md", + "Explore/Pubky App/App Architectures/3. Global Aggregators.md", + "Explore/Pubky App/App Architectures/2. Client - Homeserver.md", + "Explore/Pubky App/App Architectures/1. Introduction.md" ] } \ No newline at end of file diff --git a/Concepts/Censorship.md b/Explore/Concepts/Censorship.md similarity index 100% rename from Concepts/Censorship.md rename to Explore/Concepts/Censorship.md diff --git a/Concepts/Credible Exit.md b/Explore/Concepts/Credible Exit.md similarity index 100% rename from Concepts/Credible Exit.md rename to Explore/Concepts/Credible Exit.md diff --git a/Concepts/Semantic Social Graph.md b/Explore/Concepts/Semantic Social Graph.md similarity index 98% rename from Concepts/Semantic Social Graph.md rename to Explore/Concepts/Semantic Social Graph.md index 6ab9184..6c49c5e 100644 --- a/Concepts/Semantic Social Graph.md +++ b/Explore/Concepts/Semantic Social Graph.md @@ -22,7 +22,7 @@ In **Pubky**, a decentralized Semantic Social Graph is central to providing a mo This diagram shows how a Semantic Social Graph works, representing users, content, and tags. Users tag content and peers, which adds context and helps determine how information flows through the network. Relationships are weighted (Pubky weighting features are under development), meaning users can specify trust levels and the strength of connections to further personalize their experience. -![Semantic Social graph](../images/mermaid_charts/semantic_social_graph.svg) +![Semantic Social graph](Explore/images/mermaid_charts/semantic_social_graph.svg) **Tags and Contextual Meaning**: Pubky allows users to add tags to content and connections, giving them the ability to add context to their relationships. This means users can easily categorize and prioritize content based on what matters to them most. diff --git a/Concepts/What Is a Decentralized Semantic Social Graph?.md b/Explore/Concepts/What Is a Decentralized Semantic Social Graph?.md similarity index 97% rename from Concepts/What Is a Decentralized Semantic Social Graph?.md rename to Explore/Concepts/What Is a Decentralized Semantic Social Graph?.md index 54f0d9d..a2a67ed 100644 --- a/Concepts/What Is a Decentralized Semantic Social Graph?.md +++ b/Explore/Concepts/What Is a Decentralized Semantic Social Graph?.md @@ -1,5 +1,5 @@ -![Semantic Social graph](../images/mermaid_charts/semantic_social_graph.svg) +![Semantic Social graph](Explore/images/mermaid_charts/semantic_social_graph.svg) **Semantic Relationships:** Connections between users and content are tagged with meaningful metadata, capturing the context, relevance, and nature of each relationship. **Weighted Connections:** Relationships aren't just binary; they carry weights that represent their strength, trust level, or relevance, enabling more sophisticated interactions. diff --git a/Explore/Pubky App/App Architectures/1. Introduction.md b/Explore/Pubky App/App Architectures/1. Introduction.md new file mode 100644 index 0000000..e321455 --- /dev/null +++ b/Explore/Pubky App/App Architectures/1. Introduction.md @@ -0,0 +1,9 @@ +Leveraging the [[Explore/Pubky Core/Introduction|Pubky Core]] protocol as the foundational layer, we can envision a diverse array of applications with distinct functionalities. While each app can implement its own unique design patterns and user interfaces, they all share a common underlying architecture: interacting with the distributed data stores, colloquially referred to as [[Homeservers|homeservers]], through standardized read and write operations. + +The [[Explore/Pubky Core/Introduction|Pubky Core protocol]] enables a decentralized approach to data management, facilitating seamless communication between clients and their respective data stores. This architecture promotes data sovereignty and enhances system resilience. + +Below, we present several high-level designs that showcase the versatility of this architecture, from simple client (browser) apps that interact directly with one or several [[Homeservers|homeservers]] to more complex applications with custom aggregators and backends capable of powerful inference: + +- [[2. Client - Homeserver|Client-Homeserver]] +- [[4. Custom Backend|Custom backend]] +- [[3. Global Aggregators|Global aggregators]] diff --git a/Pubky App/App Architectures/2. Client - Homeserver.md b/Explore/Pubky App/App Architectures/2. Client - Homeserver.md similarity index 97% rename from Pubky App/App Architectures/2. Client - Homeserver.md rename to Explore/Pubky App/App Architectures/2. Client - Homeserver.md index 8128174..2a1f18e 100644 --- a/Pubky App/App Architectures/2. Client - Homeserver.md +++ b/Explore/Pubky App/App Architectures/2. Client - Homeserver.md @@ -1,4 +1,4 @@ -![[client-homeserver.png]] +![[Explore/images/client-homeserver.png]] In this architecture, we implement a direct communication model between the client application and the home server. This approach minimizes latency and reduces system complexity by establishing a direct data flow pathway. diff --git a/Pubky App/App Architectures/3. Global Aggregators.md b/Explore/Pubky App/App Architectures/3. Global Aggregators.md similarity index 96% rename from Pubky App/App Architectures/3. Global Aggregators.md rename to Explore/Pubky App/App Architectures/3. Global Aggregators.md index 1e697b6..5691f2b 100644 --- a/Pubky App/App Architectures/3. Global Aggregators.md +++ b/Explore/Pubky App/App Architectures/3. Global Aggregators.md @@ -1,4 +1,4 @@ -![[global_aggregator.png]] +![[Explore/images/global_aggregator.png]] This architectural pattern implements a distributed system model centered around a global aggregation layer, eliminating the need to fetch data from a multitude (maybe thousands!) of homesevers by the client. The core component of this design is a centralized global aggregator that interfaces with multiple home servers, consuming events from each in a unified manner. diff --git a/Pubky App/App Architectures/4. Custom Backend.md b/Explore/Pubky App/App Architectures/4. Custom Backend.md similarity index 92% rename from Pubky App/App Architectures/4. Custom Backend.md rename to Explore/Pubky App/App Architectures/4. Custom Backend.md index b4d219a..13d68c8 100644 --- a/Pubky App/App Architectures/4. Custom Backend.md +++ b/Explore/Pubky App/App Architectures/4. Custom Backend.md @@ -1,4 +1,4 @@ -![[custom_backend.png]] +![[Explore/images/custom_backend.png]] This architectural design introduces a more sophisticated data flow model, incorporating an intermediary backend layer between the client application and the home server. This backend functions as a middleware, enhancing the system's flexibility and data processing capabilities. @@ -16,5 +16,5 @@ b) In cases where only data normalization is necessary, the backend can bypass o This modular approach allows for fine-grained control over data processing, enabling efficient resource utilization and optimized client-side performance based on specific application requirements. -An example of a complex backend that does aggregation, normalization, indexation, filtering (compliance) and powerful inference is [Pubky-Nexus](https://github.com/pubky/pubky-nexus), the backend that powers the [[Pubky App/Introduction|Pubky App]] social features. +An example of a complex backend that does aggregation, normalization, indexation, filtering (compliance) and powerful inference is [Pubky-Nexus](https://github.com/pubky/pubky-nexus), the backend that powers the [[Explore/Pubky App/Introduction|Pubky App]] social features. diff --git a/Pubky App/Backend/Aggregator.md b/Explore/Pubky App/Backend/Aggregator.md similarity index 100% rename from Pubky App/Backend/Aggregator.md rename to Explore/Pubky App/Backend/Aggregator.md diff --git a/Pubky App/Backend/Indexer.md b/Explore/Pubky App/Backend/Indexer.md similarity index 100% rename from Pubky App/Backend/Indexer.md rename to Explore/Pubky App/Backend/Indexer.md diff --git a/Pubky App/Backend/Introduction.md b/Explore/Pubky App/Backend/Introduction.md similarity index 85% rename from Pubky App/Backend/Introduction.md rename to Explore/Pubky App/Backend/Introduction.md index 1035173..d1689d9 100644 --- a/Pubky App/Backend/Introduction.md +++ b/Explore/Pubky App/Backend/Introduction.md @@ -1,6 +1,6 @@ The Backend is responsible for collecting ([[Aggregator|aggregators]]) and organizing ([[Indexer|indexer]]) data from various sources, known as [[Homeservers|homeservers]]. -![backend](../../images/pubky-backend.png) +![backend](Explore/images/pubky-backend.png) Imagine you're trying to find a specific document in a large library. The backend is like a librarian who searches through the shelves, finds the right documents, and prepares them for you to use. This ensures that the data is accurate, up-to-date, and in a format that's easy to work with. @@ -8,4 +8,4 @@ Imagine you're trying to find a specific document in a large library. The backen - [[Aggregator|Aggregators]] execute a **data retrieval protocol** to obtain data from **data storage**, initiating a process that retrieves and collects data from various sources. - [[Indexer|Indexers]] receive aggregated data from the **Aggregators** and initiate a rigorous **data normalization** process, transforming and converting the data into a standardized format to ensure consistency and accuracy. -- [[Web Server|Web servers]] provide the requested data to [[Pubky App/Client/Introduction|Pubky client]] +- [[Web Server|Web servers]] provide the requested data to [[Explore/Pubky App/Client/Introduction|Pubky client]] diff --git a/Pubky App/Backend/Web Server.md b/Explore/Pubky App/Backend/Web Server.md similarity index 100% rename from Pubky App/Backend/Web Server.md rename to Explore/Pubky App/Backend/Web Server.md diff --git a/Pubky App/Client/Features/Bookmarks.md b/Explore/Pubky App/Client/Features/Bookmarks.md similarity index 100% rename from Pubky App/Client/Features/Bookmarks.md rename to Explore/Pubky App/Client/Features/Bookmarks.md diff --git a/Pubky App/Client/Features/Layouts.md b/Explore/Pubky App/Client/Features/Layouts.md similarity index 100% rename from Pubky App/Client/Features/Layouts.md rename to Explore/Pubky App/Client/Features/Layouts.md diff --git a/Pubky App/Client/Features/Notifications.md b/Explore/Pubky App/Client/Features/Notifications.md similarity index 100% rename from Pubky App/Client/Features/Notifications.md rename to Explore/Pubky App/Client/Features/Notifications.md diff --git a/Pubky App/Client/Features/Perspectives.md b/Explore/Pubky App/Client/Features/Perspectives.md similarity index 100% rename from Pubky App/Client/Features/Perspectives.md rename to Explore/Pubky App/Client/Features/Perspectives.md diff --git a/Pubky App/Client/Features/Posts.md b/Explore/Pubky App/Client/Features/Posts.md similarity index 100% rename from Pubky App/Client/Features/Posts.md rename to Explore/Pubky App/Client/Features/Posts.md diff --git a/Pubky App/Client/Features/Profiles.md b/Explore/Pubky App/Client/Features/Profiles.md similarity index 100% rename from Pubky App/Client/Features/Profiles.md rename to Explore/Pubky App/Client/Features/Profiles.md diff --git a/Pubky App/Client/Features/Search.md b/Explore/Pubky App/Client/Features/Search.md similarity index 100% rename from Pubky App/Client/Features/Search.md rename to Explore/Pubky App/Client/Features/Search.md diff --git a/Pubky App/Client/Features/Tags.md b/Explore/Pubky App/Client/Features/Tags.md similarity index 100% rename from Pubky App/Client/Features/Tags.md rename to Explore/Pubky App/Client/Features/Tags.md diff --git a/Pubky App/Client/Features/Trends.md b/Explore/Pubky App/Client/Features/Trends.md similarity index 100% rename from Pubky App/Client/Features/Trends.md rename to Explore/Pubky App/Client/Features/Trends.md diff --git a/Pubky App/Client/Introduction.md b/Explore/Pubky App/Client/Introduction.md similarity index 62% rename from Pubky App/Client/Introduction.md rename to Explore/Pubky App/Client/Introduction.md index bd36969..b1d1a18 100644 --- a/Pubky App/Client/Introduction.md +++ b/Explore/Pubky App/Client/Introduction.md @@ -1,14 +1,14 @@ # Pubky Client -![pubkey-client](../../images/pubky-header.png) +![pubkey-client](Explore/images/pubky-header.png) -The Pubky client will be available as both a desktop application and a hosted website service (standard website) that allows users to interface with the social media layer of [[Pubky App/Backend/Introduction|Pubky Backend]] using [Synonym](https://synonym.to/) hosted services. +The Pubky client will be available as both a desktop application and a hosted website service (standard website) that allows users to interface with the social media layer of [[Explore/Pubky App/Backend/Introduction|Pubky Backend]] using [Synonym](https://synonym.to/) hosted services. -Using the library analogy again, the Pubky Client is like a personalized research assistant who takes the prepared documents from the librarian ([[Pubky App/Backend/Introduction|backend]]) and creates a customized report just for you. This report is designed to be easy to read and understand, with all the relevant information presented in a clear and concise manner. +Using the library analogy again, the Pubky Client is like a personalized research assistant who takes the prepared documents from the librarian ([[Explore/Pubky App/Backend/Introduction|backend]]) and creates a customized report just for you. This report is designed to be easy to read and understand, with all the relevant information presented in a clear and concise manner. - Users are able to take control of the data and exit the Synonym hosted services and run their own without hampering discoverability ([[Credible Exit|credible exit]]). -- Pubky client uses the open [[Pubky Core/Introduction|Pubky Core]] for nearly all features, allowing users to avoid censorship by choosing self-hosting or alternate hosts without losing followers or integrity.  +- Pubky client uses the open [[Explore/Pubky Core/Introduction|Pubky Core]] for nearly all features, allowing users to avoid censorship by choosing self-hosting or alternate hosts without losing followers or integrity.  - Pubky also features support for [[Paykit|paykit]], our open payment protocol for coordinating payments among peers supporting various methods. This allows users to create sub-accounts from master wallets for familiar payment experiences. This suite of features removes any requirement from [Synonym](https://synonym.to/) to custody user funds, while allowing for users to set up subscriptions, recurring payments, paywalls, etc, in a P2P way. This feature will not be in the first launch version of Pubky app, but it is worth noting that next year we will enable all users to buy and sell data in this way. diff --git a/Pubky App/ELI5.md b/Explore/Pubky App/ELI5.md similarity index 100% rename from Pubky App/ELI5.md rename to Explore/Pubky App/ELI5.md diff --git a/Pubky App/Introduction.md b/Explore/Pubky App/Introduction.md similarity index 52% rename from Pubky App/Introduction.md rename to Explore/Pubky App/Introduction.md index e492236..b29aa98 100644 --- a/Pubky App/Introduction.md +++ b/Explore/Pubky App/Introduction.md @@ -1,6 +1,6 @@ -![pubkey-app](../images/pubky-app.png) +![pubkey-app](Explore/images/pubky-app.png) -> Synonym will be initially hosting: [[Pubky Core/Homeservers|homeserver]] and [[Pubky App/Introduction|Pubky App]] +> Synonym will be initially hosting: [[Homeservers|homeserver]] and [[Explore/Pubky App/Introduction|Pubky App]] ## Overview @@ -8,17 +8,17 @@ Pubky-app's initial focus is building a decentralized social media protocol. ## Key aspects -- **Data Ownership**: Users have full autonomy over their data, hosting it on **independent [[Pubky Core/Homeservers|homeservers]]** that are decentralized and distributed across the network. This approach enables users to maintain **control** and **ownership** of their data, while also ensuring **data sovereignty** and **privacy**. +- **Data Ownership**: Users have full autonomy over their data, hosting it on **independent [[Homeservers|homeservers]]** that are decentralized and distributed across the network. This approach enables users to maintain **control** and **ownership** of their data, while also ensuring **data sovereignty** and **privacy**. - **Profiles**: The system employs a **decentralized data storage** approach, where **post**, **comment**, and **like** data are stored in association with **user profiles**. - [[Aggregator|Aggregators]] collecting social graphs - Feeds of followings' activities - [[Search|Searching]] profiles and posts -- Notification delivery through [[Pubky App/Backend/Introduction|aplication backends]] +- Notification delivery through [[Explore/Pubky App/Backend/Introduction|aplication backends]] - Distributed moderation through user blocking ## Components -The Pubky App is a complex system that can be broken down into two main components: the [[Pubky App/Backend/Introduction|backend]] and the [[Pubky App/Client/Introduction|client]]. These two pieces work together to provide a seamless user experience. +The Pubky App is a complex system that can be broken down into two main components: the [[Explore/Pubky App/Backend/Introduction|backend]] and the [[Explore/Pubky App/Client/Introduction|client]]. These two pieces work together to provide a seamless user experience. ##### Backend: The Data Organizer @@ -30,7 +30,7 @@ It is the part of the Pubky App that you interact with directly. It's responsibl ## MVP Architecture -The early versions of Pubky app take some shortcuts over the [[Pubky Core/Introduction|Pubky Core]] design. The MVP app is centralized, therefore we saved time and complexity by aggregating functionality into fewer components. The main two components are the `Homeserver` and the `Indexer` +The early versions of Pubky app take some shortcuts over the [[Explore/Pubky Core/Introduction|Pubky Core]] design. The MVP app is centralized, therefore we saved time and complexity by aggregating functionality into fewer components. The main two components are the `Homeserver` and the `Indexer` - The [[Homeservers|homeservers]] fulfils the function of `data stores`, republishing users keys to [[0.Introduction|PKARR]] and it acts also as an identity-provider (Oauth-like sign-in). Users maintain a trust relationship with the homeserver. -- The `Indexer` fulfils the function of the [[Pubky App/Backend/Introduction|backend]] for the Pubky App. +- The `Indexer` fulfils the function of the [[Explore/Pubky App/Backend/Introduction|backend]] for the Pubky App. diff --git a/Pubky Core/ELI5.md b/Explore/Pubky Core/ELI5.md similarity index 100% rename from Pubky Core/ELI5.md rename to Explore/Pubky Core/ELI5.md diff --git a/Pubky Core/Homeservers.md b/Explore/Pubky Core/Homeservers.md similarity index 96% rename from Pubky Core/Homeservers.md rename to Explore/Pubky Core/Homeservers.md index a493c3c..b26cc16 100644 --- a/Pubky Core/Homeservers.md +++ b/Explore/Pubky Core/Homeservers.md @@ -17,7 +17,7 @@ Current implementations across Pubky currently only support public, unencrypted ## User Data Control and Credible Exit -- The current network is being bootstrapped by Synonym's first homeserver, which supports key accounts as a service, as well as all services required to operate the [[Pubky App/Introduction|pubky App]]. +- The current network is being bootstrapped by Synonym's first homeserver, which supports key accounts as a service, as well as all services required to operate the [[Explore/Pubky App/Introduction|pubky App]]. - While Synonym is currently not charging fees for homeserving, it is totall possible for anyone to run their own homerserver and require service fees or peer-to-peer micropayments, or any other requirement, to improve data redundancy and competition. - Synonym does not control who can join or serve data on the network, but in order to truly have a [[Credible Exit|"credible exit"]] the network will need to mature to have more providers of homeservers and Pubky applications. - We will also need to make it as easy as possible for people to host their own homeservers, and to host homerserver clouds. diff --git a/Pubky Core/Introduction.md b/Explore/Pubky Core/Introduction.md similarity index 88% rename from Pubky Core/Introduction.md rename to Explore/Pubky Core/Introduction.md index 0720253..3856daa 100644 --- a/Pubky Core/Introduction.md +++ b/Explore/Pubky Core/Introduction.md @@ -1,6 +1,6 @@ ## Pubky Core Overview -![pubky-core](../images/pubky-core.png) +![pubky-core](Explore/images/pubky-core.png) Pubky Core is built on a few core concepts: @@ -16,7 +16,7 @@ Pubky Core's distributed architecture aims to provide user autonomy through [[Cr Pubky Core is made for developers and builders of internet software products. We will actively work to cultivate a community of builders and startups using our tech. -[[Pubky App/Introduction|Pubky App]] is made for anyone interested in social media and online publishing that wants new ways to control their data and more control over which posts they see. +[[Explore/Pubky App/Introduction|Pubky App]] is made for anyone interested in social media and online publishing that wants new ways to control their data and more control over which posts they see. ## Why? What is the reward? diff --git a/Pubky Core/Pkarr/0.Introduction.md b/Explore/Pubky Core/Pkarr/0.Introduction.md similarity index 97% rename from Pubky Core/Pkarr/0.Introduction.md rename to Explore/Pubky Core/Pkarr/0.Introduction.md index 78c5e23..42ab973 100644 --- a/Pubky Core/Pkarr/0.Introduction.md +++ b/Explore/Pubky Core/Pkarr/0.Introduction.md @@ -23,4 +23,4 @@ For more technical details on PKARR's architecture and how it works, refer to th ## Getting Started -[To start using PKARR](2.Getting%20Started%20with%20PKARR.md), you can visit the [web app demo](https://app.pkarr.org) or explore the Rust examples provided in [PKARR repository](https://github.com/Nuhvi/pkarr/). +[To start using PKARR](2.Getting%20Started%20with%20Pkarr.md), you can visit the [web app demo](https://app.pkarr.org) or explore the Rust examples provided in [PKARR repository](https://github.com/Nuhvi/pkarr/). diff --git a/Pubky Core/Pkarr/1.Why Pkarr?.md b/Explore/Pubky Core/Pkarr/1.Why Pkarr?.md similarity index 100% rename from Pubky Core/Pkarr/1.Why Pkarr?.md rename to Explore/Pubky Core/Pkarr/1.Why Pkarr?.md diff --git a/Pubky Core/Pkarr/2.Getting Started with Pkarr.md b/Explore/Pubky Core/Pkarr/2.Getting Started with Pkarr.md similarity index 100% rename from Pubky Core/Pkarr/2.Getting Started with Pkarr.md rename to Explore/Pubky Core/Pkarr/2.Getting Started with Pkarr.md diff --git a/Pubky Core/Pkarr/3.Expectations.md b/Explore/Pubky Core/Pkarr/3.Expectations.md similarity index 93% rename from Pubky Core/Pkarr/3.Expectations.md rename to Explore/Pubky Core/Pkarr/3.Expectations.md index d32dd61..84fb39c 100644 --- a/Pubky Core/Pkarr/3.Expectations.md +++ b/Explore/Pubky Core/Pkarr/3.Expectations.md @@ -18,4 +18,4 @@ Records are heavily cached, and updates might take some time to propagate. In ca ## Next Steps -For a deeper understanding of why [[0.Introduction|PKARR]] was created and its motivation, refer to the [[1.Why PKARR?|why PKARR?]] note. +For a deeper understanding of why [[0.Introduction|PKARR]] was created and its motivation, refer to the [[1.Why Pkarr?|why PKARR?]] note. diff --git a/Pubky Core/Pkarr/4.Architecture.md b/Explore/Pubky Core/Pkarr/4.Architecture.md similarity index 100% rename from Pubky Core/Pkarr/4.Architecture.md rename to Explore/Pubky Core/Pkarr/4.Architecture.md diff --git a/Pubky Core/Pkarr/ELI5.md b/Explore/Pubky Core/Pkarr/ELI5.md similarity index 100% rename from Pubky Core/Pkarr/ELI5.md rename to Explore/Pubky Core/Pkarr/ELI5.md diff --git a/Pubky Core/notes/1.Adoption.md b/Explore/Pubky Core/notes/1.Adoption.md similarity index 100% rename from Pubky Core/notes/1.Adoption.md rename to Explore/Pubky Core/notes/1.Adoption.md diff --git a/Pubky Core/notes/2.Incentives.md b/Explore/Pubky Core/notes/2.Incentives.md similarity index 100% rename from Pubky Core/notes/2.Incentives.md rename to Explore/Pubky Core/notes/2.Incentives.md diff --git a/Pubky Core/notes/3.Protocols.md b/Explore/Pubky Core/notes/3.Protocols.md similarity index 83% rename from Pubky Core/notes/3.Protocols.md rename to Explore/Pubky Core/notes/3.Protocols.md index 48200ec..b1a0d41 100644 --- a/Pubky Core/notes/3.Protocols.md +++ b/Explore/Pubky Core/notes/3.Protocols.md @@ -8,7 +8,7 @@ This note is indicative and highly creative. We have not yet explored much about **Pubky Search** - Format for full-text search indices and queries across aggregated Pubky Data. Enables cross-platform discovery. -**[Pubky Payments](Technologies/Paykit.md)** - Decentralized and interoperable payment protocol for microtransactions like tips, subscriptions and purchasing goods/services. +**[Pubky Payments](Paykit.md)** - Decentralized and interoperable payment protocol for microtransactions like tips, subscriptions and purchasing goods/services. **Pubky Identity** - Self-sovereign digital credentials for authentication without centralized authorities like usernames/passwords. diff --git a/Technologies/DHT.md b/Explore/Technologies/DHT.md similarity index 100% rename from Technologies/DHT.md rename to Explore/Technologies/DHT.md diff --git a/Technologies/DNS.md b/Explore/Technologies/DNS.md similarity index 100% rename from Technologies/DNS.md rename to Explore/Technologies/DNS.md diff --git a/Technologies/DoH.md b/Explore/Technologies/DoH.md similarity index 100% rename from Technologies/DoH.md rename to Explore/Technologies/DoH.md diff --git a/Technologies/HTTPS.md b/Explore/Technologies/HTTPS.md similarity index 100% rename from Technologies/HTTPS.md rename to Explore/Technologies/HTTPS.md diff --git a/Technologies/Key Pair.md b/Explore/Technologies/Key Pair.md similarity index 100% rename from Technologies/Key Pair.md rename to Explore/Technologies/Key Pair.md diff --git a/Technologies/Mainline DHT.md b/Explore/Technologies/Mainline DHT.md similarity index 100% rename from Technologies/Mainline DHT.md rename to Explore/Technologies/Mainline DHT.md diff --git a/Technologies/Paykit.md b/Explore/Technologies/Paykit.md similarity index 100% rename from Technologies/Paykit.md rename to Explore/Technologies/Paykit.md diff --git a/images/client-homeserver.png b/Explore/images/client-homeserver.png similarity index 100% rename from images/client-homeserver.png rename to Explore/images/client-homeserver.png diff --git a/images/complex_custom_aggregator.png b/Explore/images/complex_custom_aggregator.png similarity index 100% rename from images/complex_custom_aggregator.png rename to Explore/images/complex_custom_aggregator.png diff --git a/images/custom_backend.png b/Explore/images/custom_backend.png similarity index 100% rename from images/custom_backend.png rename to Explore/images/custom_backend.png diff --git a/images/global_aggregator.png b/Explore/images/global_aggregator.png similarity index 100% rename from images/global_aggregator.png rename to Explore/images/global_aggregator.png diff --git a/images/mermaid_charts/semantic_social_graph.svg b/Explore/images/mermaid_charts/semantic_social_graph.svg similarity index 100% rename from images/mermaid_charts/semantic_social_graph.svg rename to Explore/images/mermaid_charts/semantic_social_graph.svg diff --git a/images/obsidian.png b/Explore/images/obsidian.png similarity index 100% rename from images/obsidian.png rename to Explore/images/obsidian.png diff --git a/images/pubky-app.png b/Explore/images/pubky-app.png similarity index 100% rename from images/pubky-app.png rename to Explore/images/pubky-app.png diff --git a/images/pubky-arch.png b/Explore/images/pubky-arch.png similarity index 100% rename from images/pubky-arch.png rename to Explore/images/pubky-arch.png diff --git a/images/pubky-backend.png b/Explore/images/pubky-backend.png similarity index 100% rename from images/pubky-backend.png rename to Explore/images/pubky-backend.png diff --git a/images/pubky-core.png b/Explore/images/pubky-core.png similarity index 100% rename from images/pubky-core.png rename to Explore/images/pubky-core.png diff --git a/images/pubky-header.png b/Explore/images/pubky-header.png similarity index 100% rename from images/pubky-header.png rename to Explore/images/pubky-header.png diff --git a/images/quartz.png b/Explore/images/quartz.png similarity index 100% rename from images/quartz.png rename to Explore/images/quartz.png diff --git a/Pubky App/App Architectures/1. Introduction.md b/Pubky App/App Architectures/1. Introduction.md deleted file mode 100644 index 5a2aae4..0000000 --- a/Pubky App/App Architectures/1. Introduction.md +++ /dev/null @@ -1,9 +0,0 @@ -Leveraging the [[Pubky Core/Introduction|Pubky Core]] protocol as the foundational layer, we can envision a diverse array of applications with distinct functionalities. While each app can implement its own unique design patterns and user interfaces, they all share a common underlying architecture: interacting with the distributed data stores, colloquially referred to as [[Homeservers|homeservers]], through standardized read and write operations. - -The [[Pubky Core/Introduction|Pubky Core protocol]] enables a decentralized approach to data management, facilitating seamless communication between clients and their respective data stores. This architecture promotes data sovereignty and enhances system resilience. - -Below, we present several high-level designs that showcase the versatility of this architecture, from simple client (browser) apps that interact directly with one or several [[Homeservers|homeservers]] to more complex applications with custom aggregators and backends capable of powerful inference: - -- [[2. Client - Homeserver|Client-Homeserver]] -- [[4. Custom Backend|Custom backend]] -- [[3. Global Aggregators|Global aggregators]] diff --git a/TLDR.md b/TLDR.md index f2e88f3..6774773 100644 --- a/TLDR.md +++ b/TLDR.md @@ -1,7 +1,7 @@ ### Pubky App -[[Pubky App/Introduction|Pubky App]] is an open-source web application that helps users publish and consume Pubky homeserver data within a user experience that merges the features of popular social media, search, and publishing apps. +[[Explore/Pubky App/Introduction|Pubky App]] is an open-source web application that helps users publish and consume Pubky homeserver data within a user experience that merges the features of popular social media, search, and publishing apps. Architecture overview. -![arch](pubky-arch.png) +![arch](Explore/images/pubky-arch.png) diff --git a/index.md b/index.md index c8824fa..725bbdb 100644 --- a/index.md +++ b/index.md @@ -1,17 +1,17 @@ ## Welcome to the Pubky Knowledge Base -This is a knowledge base for the Pubky platform, which includes [[Pubky Core/Introduction|Pubky Core]], [[Pubky Core/Pkarr/0.Introduction|PKARR]] and [[Pubky App/Introduction|Pubky App]]. These documents are a work in progress, much like Pubky's protocols and applications! +This is a knowledge base for the Pubky platform, which includes [[Explore/Pubky Core/Introduction|Pubky Core]], [[0.Introduction|PKARR]] and [[Explore/Pubky App/Introduction|Pubky App]]. These documents are a work in progress, much like Pubky's protocols and applications! ## What is Pubky? Pubky attempts to unlock the web by realizing our vision for a key-based, self-regulating web that puts users in control. -So far, Pubky does this by combining practical decentralized routing & identity ([[Pubky Core/Pkarr/0.Introduction|PKARR]]), with simple interoperable hosting ([[Pubky Core/Homeservers|Homeservers]]) that allow for [[Concepts/Censorship|censorship]] resistance and a [[Concepts/Credible Exit|credible exit]], as well as a publishing application, Pubky App, that facilitates the creation of a [[Concepts/Semantic Social Graph|Semantic Social Graph]], which can be used for filtering, discovery, matching and coordination. +So far, Pubky does this by combining practical decentralized routing & identity ([[0.Introduction|PKARR]]), with simple interoperable hosting ([[Homeservers|Homeservers]]) that allow for [[Censorship|censorship]] resistance and a [[Credible Exit|credible exit]], as well as a publishing application, Pubky App, that facilitates the creation of a [[Semantic Social Graph|Semantic Social Graph]], which can be used for filtering, discovery, matching and coordination. Learn more about the overall vision here: [[The vision of Pubky|The Vision of Pubky]] ## Get Started -1. [[Pubky Core/Pkarr/0.Introduction|Getting Started with PKARR]] - If your main interest is using the most decentralized, key-based identity & routing method, start with PKARR. -2. [[Pubky Core/Introduction|Pubky Core - Introduction]] - If you want run your own Homeserver and apply PKARR, check out Pubky Core. -3. [[Pubky App/Introduction|Pubky App - Introduction]] - If you want to dig into the application, indexer, etc, start here! +1. [[0.Introduction|Getting Started with PKARR]] - If your main interest is using the most decentralized, key-based identity & routing method, start with PKARR. +2. [[Explore/Pubky Core/Introduction|Pubky Core - Introduction]] - If you want run your own Homeserver and apply PKARR, check out Pubky Core. +3. [[Explore/Pubky App/Introduction|Pubky App - Introduction]] - If you want to dig into the application, indexer, etc, start here! diff --git a/quartz/quartz/components/Explorer.tsx b/quartz/quartz/components/Explorer.tsx index 61cc8ae..deb16cf 100644 --- a/quartz/quartz/components/Explorer.tsx +++ b/quartz/quartz/components/Explorer.tsx @@ -84,39 +84,14 @@ export default ((userOpts?: Partial) => { constructFileTree(allFiles) return (
- + />
    diff --git a/quartz/quartz/components/ExplorerNode.tsx b/quartz/quartz/components/ExplorerNode.tsx index 2968a03..22ed2a8 100644 --- a/quartz/quartz/components/ExplorerNode.tsx +++ b/quartz/quartz/components/ExplorerNode.tsx @@ -221,7 +221,7 @@ export function ExplorerNode({ node, opts, fullPath, fileData }: ExplorerNodePro
)} {/* Recursively render children of folder */} -
+
    ul { +.folder-outer>ul { overflow: hidden; } @@ -47,9 +47,9 @@ button#explorer { overflow: hidden; max-height: none; transition: max-height 0.35s ease; - margin-top: 1rem; + margin-top: 0rem; - &.collapsed > .overflow::after { + &.collapsed>.overflow::after { opacity: 0; } @@ -57,7 +57,7 @@ button#explorer { list-style: none; margin: 0.08rem 0; padding: 0; - padding-left: 25px; + padding-left: 0px; display: flex; flex-direction: column; gap: 10px; @@ -69,7 +69,8 @@ button#explorer { max-height 0.35s ease, transform 0.35s ease, opacity 0.2s ease; - & li > a { + + & li>a { color: var(--dark); opacity: 0.5; pointer-events: all; @@ -80,7 +81,7 @@ button#explorer { svg { pointer-events: all; - & > polyline { + &>polyline { pointer-events: none; } } @@ -91,7 +92,7 @@ svg { align-items: center; user-select: none; - & div > a { + & div>a { color: var(--secondary); font-family: var(--headerFont); font-size: 0.95rem; @@ -100,11 +101,11 @@ svg { display: inline-block; } - & div > a:hover { + & div>a:hover { color: var(--tertiary); } - & div > button { + & div>button { color: var(--dark); background-color: transparent; border: none; @@ -138,7 +139,7 @@ svg { backface-visibility: visible; } -li:has(> .folder-outer:not(.open)) > .folder-container > svg { +li:has(> .folder-outer:not(.open))>.folder-container>svg { transform: rotate(-90deg); } @@ -155,4 +156,4 @@ li:has(> .folder-outer:not(.open)) > .folder-container > svg { height: 4px; // remove default margin from li margin: 0; -} +} \ No newline at end of file