From 4c645d58bdce477eafc48fb2c2544ee21a53d7f6 Mon Sep 17 00:00:00 2001 From: Wil Wade Date: Thu, 24 Oct 2024 17:22:40 -0400 Subject: [PATCH 01/20] Initial Structural Changes --- pages/Guides/BecomeAProvider.md | 0 pages/Guides/Gateway.md | 0 pages/Guides/SSO.md | 0 pages/Lightpaper.md | 12 ++++++++++++ pages/SUMMARY.md | 6 +++++- pages/index.md | 11 +---------- 6 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 pages/Guides/BecomeAProvider.md create mode 100644 pages/Guides/Gateway.md create mode 100644 pages/Guides/SSO.md create mode 100644 pages/Lightpaper.md diff --git a/pages/Guides/BecomeAProvider.md b/pages/Guides/BecomeAProvider.md new file mode 100644 index 0000000..e69de29 diff --git a/pages/Guides/Gateway.md b/pages/Guides/Gateway.md new file mode 100644 index 0000000..e69de29 diff --git a/pages/Guides/SSO.md b/pages/Guides/SSO.md new file mode 100644 index 0000000..e69de29 diff --git a/pages/Lightpaper.md b/pages/Lightpaper.md new file mode 100644 index 0000000..9e560cd --- /dev/null +++ b/pages/Lightpaper.md @@ -0,0 +1,12 @@ +# Frequency Lightpaper + +Frequency is a purpose-built Layer 1 public blockchain designed to fulfill the promise of the [Decentralized Social Networking Protocol (DSNP)](https://www.dsnp.org). +Frequency delivers essential infrastructure to create the next generation of social networking apps that give individuals more control over their data and agency to participate in the evolving digital economy. +It provides scalable message discovery designed to operate at global scale, flexible state storage that can be used for social graph and identity data, and includes primitives for cost-shifting and delegation of authority that allow applications to provide familiar and intuitive user experiences to their audiences while maintaining control of their personal data and online relationships. +In addition to token-based transactions, it provides an alternative economic model based on Message Batching and staking tokens for recurring network capacity. +These approaches are extensible to other protocols that may have similar needs in the future. +The native coin for Frequency is named [FRQCY](./Glossary.md#frqcy). + +This section provides a detailed description of Frequency, the core data structures and operational primitives it supports, and the different ways that users and applications can interact with and transact with the system. + +{{#button-links}} diff --git a/pages/SUMMARY.md b/pages/SUMMARY.md index b7137cf..b80dc21 100644 --- a/pages/SUMMARY.md +++ b/pages/SUMMARY.md @@ -1,6 +1,10 @@ # Summary - [Overview](index.md) +- [Become a Provider](Guides/BecomeAProvider.md) +- [Gateway](Guides/Gateway.md) +- [Add Single Sign-On to your App](Guides/SSO.md) +- [Lightpaper](Lightpaper.md) - [Architecture](Architecture/index.md) - [Operational Model](Architecture/OperationalModel.md) - [Interaction Model](Architecture/InteractionModel.md) @@ -27,4 +31,4 @@ - [Initial Token Distribution](Tokenomics/InitialDistribution.md) - [Inflation & Liquidity](Tokenomics/InflationLiquidity.md) - [Governance](Governance/index.md) -- [Glossary](Glossary.md) + - [Glossary](Glossary.md) diff --git a/pages/index.md b/pages/index.md index eac8eab..7cecd0e 100644 --- a/pages/index.md +++ b/pages/index.md @@ -1,12 +1,3 @@ -# Overview - -Frequency is a purpose-built Layer 1 public blockchain designed to fulfill the promise of the [Decentralized Social Networking Protocol (DSNP)](https://www.dsnp.org). -Frequency delivers essential infrastructure to create the next generation of social networking apps that give individuals more control over their data and agency to participate in the evolving digital economy. -It provides scalable message discovery designed to operate at global scale, flexible state storage that can be used for social graph and identity data, and includes primitives for cost-shifting and delegation of authority that allow applications to provide familiar and intuitive user experiences to their audiences while maintaining control of their personal data and online relationships. -In addition to token-based transactions, it provides an alternative economic model based on Message Batching and staking tokens for recurring network capacity. -These approaches are extensible to other protocols that may have similar needs in the future. -The native coin for Frequency is named [FRQCY](./Glossary.md#frqcy). - -This site provides a detailed description of Frequency, the core data structures and operational primitives it supports, and the different ways that users and applications can interact with and transact with the system. +# Frequency Documentation {{#button-links}} From 55ca395f00ce6f05129c44065272bd3f17b843c7 Mon Sep 17 00:00:00 2001 From: Wil Wade Date: Thu, 24 Oct 2024 17:30:24 -0400 Subject: [PATCH 02/20] Spelling --- .spellcheckerdict.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/.spellcheckerdict.txt b/.spellcheckerdict.txt index c84ba22..d6f0b2a 100644 --- a/.spellcheckerdict.txt +++ b/.spellcheckerdict.txt @@ -57,6 +57,7 @@ IPFS ipfs JS jsonrpc +[Ll]ightpaper localhost LockIdentifier macOS From cab6a77bd28dc22fd13fa4a3227f423eb4b440a3 Mon Sep 17 00:00:00 2001 From: Shannon Wells Date: Tue, 29 Oct 2024 13:15:24 -0700 Subject: [PATCH 03/20] update with new colors (#94) Problem ======= Theme adjustments for MD book to reflect current mocks Closes #81 --- .github/workflows/verify-pr.yaml | 3 --- pages/images/ParachainModel-Dark.svg | 2 +- pages/images/ParachainModel.svg | 2 +- theme/css/chrome.css | 19 +++++++++++++++---- theme/css/general.css | 2 ++ theme/css/variables.css | 8 +++++--- 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/verify-pr.yaml b/.github/workflows/verify-pr.yaml index bdff89c..9d1dedb 100644 --- a/.github/workflows/verify-pr.yaml +++ b/.github/workflows/verify-pr.yaml @@ -2,9 +2,6 @@ name: Verify PR on: pull_request: - branches: - - main - jobs: verify: runs-on: ubuntu-latest diff --git a/pages/images/ParachainModel-Dark.svg b/pages/images/ParachainModel-Dark.svg index f3248fe..4942e69 100644 --- a/pages/images/ParachainModel-Dark.svg +++ b/pages/images/ParachainModel-Dark.svg @@ -1 +1 @@ - + diff --git a/pages/images/ParachainModel.svg b/pages/images/ParachainModel.svg index ef2ac84..db1825c 100644 --- a/pages/images/ParachainModel.svg +++ b/pages/images/ParachainModel.svg @@ -1 +1 @@ - + diff --git a/theme/css/chrome.css b/theme/css/chrome.css index 5a324d0..7c0ec22 100644 --- a/theme/css/chrome.css +++ b/theme/css/chrome.css @@ -14,9 +14,13 @@ html { scrollbar-color: var(--scrollbar) var(--bg); } +.content h2 a:link +{ + color: var(--links-hover) +} + + #searchresults a, -.content a:link, -a:visited, a > .hljs { color: var(--links); } @@ -138,8 +142,6 @@ a > .hljs { .menu-bar:visited, .nav-chapters, .nav-chapters:visited, -.mobile-nav-chapters, -.mobile-nav-chapters:visited, .menu-bar .icon-button, .menu-bar a:link, .menu-bar a:visited { @@ -198,6 +200,15 @@ a > .hljs { padding: 10px 20px; border-radius: 5px; background-color: var(--page-nav-bg); + color: var(--links); +} + +.mobile-nav-chapters:hover { + color: var(--links-hover); +} + +.mobile-nav-chapters:active { + color: var(--links); } /* Only Firefox supports flow-relative values */ diff --git a/theme/css/general.css b/theme/css/general.css index 5a6def1..0771809 100644 --- a/theme/css/general.css +++ b/theme/css/general.css @@ -170,9 +170,11 @@ h6:target::before { } .content a { text-decoration: none; + color: var(--links) } .content a:hover { text-decoration: underline; + color: var(--links-hover); } .content img, .content video { diff --git a/theme/css/variables.css b/theme/css/variables.css index 74ded47..94054ec 100644 --- a/theme/css/variables.css +++ b/theme/css/variables.css @@ -66,12 +66,13 @@ } .light { - --bg: #fefaf3; + --bg: #fff; --fg: #000; --headers: #19455e; + --headers-alt: #f77c47; - --sidebar-bg: #f4ecde; - --sidebar-fg: #000; + --sidebar-bg: #19455E; + --sidebar-fg: #fff; --sidebar-non-existant: var(--sidebar-fg); --sidebar-active: #4ba0a5; --sidebar-spacer: var(--sidebar-bg); @@ -82,6 +83,7 @@ --icons-hover: #4ba0a5; --links: var(--sidebar-active); + --links-hover: var(--headers-alt); --inline-code-color: #301900; From 862f66fac9e30cb93ed97a71fbc67233db7a9443 Mon Sep 17 00:00:00 2001 From: Wil Wade Date: Tue, 29 Oct 2024 16:35:54 -0400 Subject: [PATCH 04/20] New Developer Portal Content (#92) - Adding initial new content - Renaming the Lightpaper to Core - Support for buttons in markdown Closes #88 Closes #89 Closes #90 Closes #91 --- .spellcheckerdict.txt | 9 ++++ css/extended.css | 24 +++++++-- pages/{Lightpaper.md => Core.md} | 2 +- pages/Guides/BecomeAProvider.md | 61 ++++++++++++++++++++++ pages/Guides/Gateway.md | 86 ++++++++++++++++++++++++++++++++ pages/Guides/SSO.md | 64 ++++++++++++++++++++++++ pages/SUMMARY.md | 2 +- pages/index.md | 15 +++++- 8 files changed, 254 insertions(+), 9 deletions(-) rename pages/{Lightpaper.md => Core.md} (98%) diff --git a/.spellcheckerdict.txt b/.spellcheckerdict.txt index d6f0b2a..61f420c 100644 --- a/.spellcheckerdict.txt +++ b/.spellcheckerdict.txt @@ -32,6 +32,7 @@ De-registration DevOps disintermediate DNS +dropdown DSNP EC2 ECC @@ -57,6 +58,7 @@ IPFS ipfs JS jsonrpc +lifecycle [Ll]ightpaper localhost LockIdentifier @@ -69,6 +71,7 @@ mempool Merkle MeWe mFRQCY +[Mm]icroservice(s?) Milli MinimumStakingAmount MSA(s|'s)? @@ -110,11 +113,13 @@ RPC(s?) Ryzen scalability scalable +SDK(s?) [Ss]chemaI[Dd] [Ss]chemas Screenshots secp256k1 SignedExtension +SIWF SMT SR25519 SSD @@ -148,6 +153,7 @@ validator(s?) vCPU vs [Ww]asm +Web2 web3 WebSocket(s?) whitespace @@ -167,6 +173,7 @@ trackable Amplica algorithmically optionality +OpenAPI annum incentivize Paseo @@ -199,3 +206,5 @@ blockspace permissionless TBD precalculated +unfollowing +[Ww]ebhook(s?) diff --git a/css/extended.css b/css/extended.css index 6c21fdd..1cae9ab 100644 --- a/css/extended.css +++ b/css/extended.css @@ -27,7 +27,8 @@ padding: 10px 0; } -.button-links { +.button-links, +.button-links > p { display: flex; justify-content: space-around; align-content: center; @@ -35,8 +36,15 @@ flex-wrap: wrap; } +.button-links > p { + width: 100%; + margin: 0; +} + .button-links a, -.button-links a:link { +.button-links > p a, +.button-links a:link, +.button-links > p a:link { box-sizing: content-box; font-weight: 300; color: var(--button-nav-fg); @@ -60,7 +68,9 @@ @media screen and (max-width: 1080px) { .button-links a, - .button-links a:link { + .button-links > p a, + .button-links a:link, + .button-links > p a:link { box-sizing: border-box; margin: 10px 6px; flex: 0 0 90%; @@ -71,7 +81,9 @@ @media screen and (max-width: 400px) { .button-links a, - .button-links a:link { + .button-links > p a, + .button-links a:link, + .button-links > p a:link { box-sizing: border-box; margin: 10px 6px; flex: 0 0 100%; @@ -81,7 +93,9 @@ } .button-links a:hover, -.button-links a:visited:hover { +.button-links > p a:hover, +.button-links a:visited:hover, +.button-links > p a:visited:hover { text-decoration: none; border: 2px solid var(--button-nav-hover); color: var(--button-nav-fg); diff --git a/pages/Lightpaper.md b/pages/Core.md similarity index 98% rename from pages/Lightpaper.md rename to pages/Core.md index 9e560cd..ec75762 100644 --- a/pages/Lightpaper.md +++ b/pages/Core.md @@ -1,4 +1,4 @@ -# Frequency Lightpaper +# Frequency Core Frequency is a purpose-built Layer 1 public blockchain designed to fulfill the promise of the [Decentralized Social Networking Protocol (DSNP)](https://www.dsnp.org). Frequency delivers essential infrastructure to create the next generation of social networking apps that give individuals more control over their data and agency to participate in the evolving digital economy. diff --git a/pages/Guides/BecomeAProvider.md b/pages/Guides/BecomeAProvider.md index e69de29..9b25bd0 100644 --- a/pages/Guides/BecomeAProvider.md +++ b/pages/Guides/BecomeAProvider.md @@ -0,0 +1,61 @@ +# Become a Provider + +## What is a Provider? + +In the Frequency ecosystem, a **Provider** is an entity (often an application or service) that interacts directly with the Frequency blockchain on behalf of users. +Providers handle transactions, manage user delegations, and facilitate various operations within the network. + +### From a developer's perspective, Providers: + +* **Create and Update User Content with Permission:** Providers publish new content or modify existing content on behalf of users, such as posts, comments, and other social interactions, after obtaining the user's consent. +* **Maintain the User's Social Graph:** Providers manage and update users' social connections, such as following or unfollowing other users, and maintaining friend lists, ensuring that the user's relationships are accurately represented on the blockchain. +* **Store User Content and Write Links to It on Frequency:** Providers either store user-generated content files (e.g., media files, documents) or links to off-chain storage of these content files on the Frequency blockchain, enabling decentralized access and verification. +* **Simplify User Participation:** By handling transaction complexities and fees, Providers make blockchain applications more accessible to end-users who may not possess sufficient technical knowledge or hold tokens. +* **Manage Delegated Tasks:** Users delegate specific permissions to Providers, allowing them to perform only those specified actions on the user's behalf in a secure and transparent manner. +* **Enhance User Experience:** Providers may offer intuitive user interfaces and seamless interactions, so users don't need to experience or understand the underlying blockchain mechanics. + +## How to Become a Provider + +Before you become a provider on Testnet, you will need to make sure you have a wallet and Testnet Token. +To set up your digital wallet and obtain testnet tokens go to [https://faucet.testnet.frequency.xyz/](https://faucet.testnet.frequency.xyz/) and follow these directions for setting a wallet and getting tokens. + +## Step 1: Generate Your Keys + +There are various wallets that can generate and secure Frequency compatible keys, including: + +- [Polkadot Extension](https://polkadot.js.org/extension/) +- [Talisman](https://www.talisman.xyz) +- [See more](https://polkadot.com/get-started/wallets) + +This onboarding process will guide you through the creation of an account and the creation of a Provider Control Key which will be required for many different transactions. + +## Step 2: Acquire Testnet Tokens + +Taking the account generated in Step 1, visit the Frequency Testnet Faucet [Testnet Faucet](https://faucet.testnet.frequency.xyz/), and follow the prompts to get tokens. + +## Step 3: Create a Testnet Provider + +- Visit the [Provider Dashboard](https://provider.frequency.xyz/) to set up your official Provider account on the Frequency Testnet. +- On the Provider Dashboard, you will be asked to select which network you would like to join from the dropdown. You may select among the available networks: Mainnet, Testnet on Paseo, Localhost, or Custom. Select Testnet on Paseo. +- Select your account ID from the dropdown. (This is the Application Account you created in Step 1.) +- Select Create an MSA and approve the transaction popups. +- Enter a Provider name. You should enter the name you wish register under as a Provider (typically a company or application name). + +NOTE: Once registered, your provider status remains permanent in order to maintain transaction verification integrity. + +## Step 4: Gain Capacity + +[Capacity](../Tokenomics/ProviderIncentives.md#capacity-model) is the ability to perform some transactions without token cost. +All interactions with the chain that an application does on behalf of a user can be done with Capacity. + +Login to the [Provider Dashboard](https://provider.frequency.xyz/), select Stake to Provider, and stake 100 XRQCY Tokens. +This will give you enough Capacity for testing. + +## Step 5: Done! + +You are now registered as a Provider on Testnet and have Capacity to do things like support users with [Single Sign On](./SSO.md). +You can also use the [Provider Dashboard](https://provider.frequency.xyz/) to add additional Control Keys for safety. + +Ready to move to production? [Become a Provider on Mainnet](https://projectlibertylabs.github.io/gateway/GettingStarted/BecomeProvider.html#mainnet). + +**[Become a Provider Today](https://provider.frequency.xyz/)** diff --git a/pages/Guides/Gateway.md b/pages/Guides/Gateway.md index e69de29..9d0ceed 100644 --- a/pages/Guides/Gateway.md +++ b/pages/Guides/Gateway.md @@ -0,0 +1,86 @@ +# Frequency Gateway + +## Why Frequency Gateway? + +[Gateway](https://projectlibertylabs.github.io/gateway/) provides a Simple Blockchain Integration for Your Applications–bridging the gap between your app and the decentralized web. + +Gateway offers a suite of tools and services that make it easy to connect your applications to the Frequency blockchain. This allows your development team to focus on building outstanding user experiences without managing the complexity of blockchain interactions. + +## What is Frequency Gateway? + +**Gateway** provides a simple API to interact with the Frequency social layers (including identity, Universal Social Graph, content, and more). It includes a suite of tools you can select to build the best applications for your users. + +### Key Features: + +#### Get Web2 API Simplicity with Decentralized Power: + +- **Build Your Applications Faster:** Accelerate development with familiar Web2 tools and interfaces. +- **Own Your Infrastructure:** Deploy and manage your own services for greater control and customization. +- **OpenAPI/Swagger Out of the Box:** Utilize comprehensive documentation and standardized APIs for seamless integration. +- **Automated Deployment with Docker:** Deploy services quickly using optimized Docker containers. + +#### Customize for your users: + +- **Add Decentralized Authentication and Onboarding Workflows:** Integrate secure, decentralized user authentication with ease. +- **Connect Your Users with Their Universal Social Graph:** Access and manage user relationships across the decentralized network. +- **Read, Write, and Interact with Social Media Content:** Enable rich social interactions within your application. + +## How Can I Integrate Frequency Gateway? + +Gateway is composed of independent, standalone microservices, allowing you to use only those components you need. These microservices provide simple APIs for interacting with various aspects of the Frequency network. + +### Key Microservices: + +#### 1. Account Service + +The Account Service enables easy interaction with accounts on Frequency. Accounts are defined with an `msaId` (64-bit identifier) and can contain additional information such as a handle, keys, and more. + +[Account Service Docs](https://projectlibertylabs.github.io/gateway/Build/AccountService/AccountService.html) + +##### Features: + +- **Account Authentication and Single Sign-On:** Simplifies user onboarding with Sign-In with Frequency (SIWF). +- **Delegation Management:** Manages permissions and actions delegated by users. +- **User Handle Creation and Retrieval:** Creates and manages unique, user-selected user handles within the network. +- **User Key Retrieval and Management:** Accesses and securely manages user cryptographic keys. + +#### 2. Universal Social Graph Service + +The Graph Service enables easy interaction with social graphs on Frequency. Each graph connection can be private or public and can be unidirectional (a follow) or bidirectional (mutually opted-in friend connection). + +[Social Graph Service Docs](https://projectlibertylabs.github.io/gateway/Build/GraphService/GraphService.html) + +##### Features: + +- **Fetch User Graph:** Retrieves a user's social connections and relationships. +- **Update Delegated User Graphs:** Modifies social graphs on behalf of users with their permission. +- **Watch Graphs for External Updates:** Monitors changes in the network to keep user data up to date. + +#### 3. Content Publishing Service + +The Content Publishing Service enables the creation of new content-related activities on Frequency. + +[Content Publishing Service Docs](https://projectlibertylabs.github.io/gateway/Build/ContentPublishing/ContentPublishing.html) + +##### Features: + +- **Create Posts to Publicly Broadcast:** Publishes content that is visible across the entire network. +- **Create Replies to Posts:** Facilitates conversations by allowing users to reply to content. +- **Create Reactions to Posts:** Enables users to interact with content. +- **Create Updates to Existing Content:** Modifies or enhances previously published content. +- **Request Deletion of Content:** Manages the content lifecycle by allowing deletion requests. +- **Store and Attach Media with IPFS:** Utilizes InterPlanetary File System (IPFS) links for decentralized media storage. + +#### 4. Content Watcher Service + +The Content Watcher Service enables client applications to process content found on Frequency by registering for webhook notifications that are triggered when relevant content is found, eliminating the need to interact with or query the chain for new content. + +[Content Watcher Service Docs](https://projectlibertylabs.github.io/gateway/Build/ContentWatcher/ContentWatcher.html) + +##### Features: + +- **Parse and Validate Frequency Content:** Ensures content integrity and compliance with network standards. +- **Filterable Webhooks:** Receive notifications based on specific content filters. +- **Scanning Control:** Manage how and when the service scans for new content. + +**[Start Using Gateway](https://projectlibertylabs.github.io/gateway/)** diff --git a/pages/Guides/SSO.md b/pages/Guides/SSO.md index e69de29..9eb0237 100644 --- a/pages/Guides/SSO.md +++ b/pages/Guides/SSO.md @@ -0,0 +1,64 @@ +# Sign-In With Frequency (Single Sign On) + +## Why Sign-In With Frequency? + +Sign-in With Frequency (SIWF) allows you to enhance Your app with secure, decentralized Identity by integrating seamless and secure user authentication. With (SIWF), you can provide your users with a decentralized identity solution that puts them in control of their data, thus enhancing trust and security within your app while embracing the future of user authentication. + +## What is Sign-In with Frequency? + +Sign-In with Frequency (SIWF) provides comprehensive documentation and tools to integrate with Frequency Access, an easy-to-use single sign-on identity solution for users on Frequency. SIWF simplifies the authentication process, allowing users to access the entire Frequency ecosystem effortlessly while maintaining control over their personal data. + +By leveraging Frequency Access, you can offer your users a seamless experience, making it easier for consumers to engage with your application without confronting the complexities of blockchain technology. We highly recommend using Frequency Access before going to production can help to ensure a smooth onboarding process for your users. Additionally, developers benefit by receiving verified emails, enhancing security and trust within your application. + +--- + +### Key Features + +Easy Integration: + +- Utilize our developer-friendly documentation and tools to quickly add SIWF to your applications. +- Frequency Access streamlines the setup process, allowing you to integrate authentication and identity management with minimal effort. +- Implementing Frequency Access before going to production simplifies user onboarding and enhances the overall user experience. + +Secure Authentication: + +- Frequency Access verifies users and manages the signing of requested payloads, ensuring a secure authentication process. +- Developers receive verified emails that enhance communication and security within your application. + +Universal Identity and Authentication: + +- Offers users a familiar and standardized sign-in experience with a consistent sign-in button. +- Allows users to effortlessly claim their Universal Handle and establish their unique identity across the Frequency ecosystem. + +User Control: + +- Ensures users maintain control over their own data as they grant specific delegations and credentials to providers. +- Provides transparency and trust between your application and its users. + +Seamless User Experience: + +- Offers a familiar sign-in process that allows users to effortlessly take control of their accounts without needing to understand cryptography, blockchain, or complex technical details. +- Reduces barriers to entry, encouraging more users to engage with your application. + +Verified Identity: + +- Frequency Access verifies emails on your behalf, ensuring that your users own the email addresses they provide. +- Verified user emails, enhance security and enable reliable communication. + +--- + +Integrating Sign-In with Frequency and utilizing Frequency Access, makes it easier for consumers to interact with your application while maintaining high security standards. This approach is highly recommended before moving to production to ensure a smooth and efficient user experience. + +## How to Integrate SIWF + +1. **Get a Quick Start:** Access our comprehensive [JavaScript Quick Start Guide](https://projectlibertylabs.github.io/siwa/QuickStart.html) to begin integrating SIWF into your application seamlessly, and leverage our SDKs and sample code to accelerate development. +2. **Simplify Integration with Gateway Account Service:** [Utilize the Gateway Account Service](https://projectlibertylabs.github.io/gateway/GettingStarted/SSO.html) to streamline the setup of SIWF without deploying the entire Gateway suite. The Gateway Account Service provides essential functionalities for account management and authentication, making it easier and faster to integrate SIWF into your application. + +#### Benefits of Gateway Account Service: + +- Reduces complexity by focusing only on the necessary components. +- Saves time and resources during development. +- Maintains flexibility to incorporate additional Gateway services in the future if needed. + - _Learn more about the Gateway Account Service and how it can simplify your SIWF integration [in the documentation](https://projectlibertylabs.github.io/gateway/GettingStarted/SSO.html)._ + +**[Integrate SIWF with Your App](https://projectlibertylabs.github.io/gateway/GettingStarted/SSO.html)** diff --git a/pages/SUMMARY.md b/pages/SUMMARY.md index b80dc21..0ea42eb 100644 --- a/pages/SUMMARY.md +++ b/pages/SUMMARY.md @@ -4,7 +4,7 @@ - [Become a Provider](Guides/BecomeAProvider.md) - [Gateway](Guides/Gateway.md) - [Add Single Sign-On to your App](Guides/SSO.md) -- [Lightpaper](Lightpaper.md) +- [Core](Core.md) - [Architecture](Architecture/index.md) - [Operational Model](Architecture/OperationalModel.md) - [Interaction Model](Architecture/InteractionModel.md) diff --git a/pages/index.md b/pages/index.md index 7cecd0e..bb6cf96 100644 --- a/pages/index.md +++ b/pages/index.md @@ -1,3 +1,14 @@ -# Frequency Documentation +# Frequency -{{#button-links}} +Deep Dive into the Technology Behind Frequency + +Expand your expertise and master the Frequency blockchain. Whether you're a beginner or an experienced developer, our resources will guide you through the intricacies of the network. Gain the skills you need to innovate and build the next generation of decentralized applications. + + From 36a907550925cedd30be9cc081ff1a6122831f3a Mon Sep 17 00:00:00 2001 From: Wil Wade Date: Thu, 31 Oct 2024 12:18:10 -0400 Subject: [PATCH 05/20] Adding new static header (#96) Problem ======= Matching the header to the design Closes #82 Solution ======== - Static header added - JS to manage header open/closed state - Styles with @claireolmstead --------- Co-authored-by: Claire Olmstead --- book.toml | 1 + css/header.css | 136 ++++++++++++++++++++++++++++++++++++++++++ theme/css/chrome.css | 29 ++++++++- theme/css/general.css | 35 ++++++++++- theme/header.hbs | 73 +++++++++++++++++++++++ theme/index.hbs | 14 +---- 6 files changed, 274 insertions(+), 14 deletions(-) create mode 100644 css/header.css create mode 100644 theme/header.hbs diff --git a/book.toml b/book.toml index e0bdcb3..4915bac 100644 --- a/book.toml +++ b/book.toml @@ -16,6 +16,7 @@ git-repository-url = "https://github.com/frequency-chain/docs" edit-url-template = "https://github.com/frequency-chain/docs/blob/main/{path}" preferred-dark-theme = "coal" additional-css = [ + "css/header.css", "css/extended.css", "css/highlight.css", "css/highlight-dark.css", diff --git a/css/header.css b/css/header.css new file mode 100644 index 0000000..3cbe358 --- /dev/null +++ b/css/header.css @@ -0,0 +1,136 @@ +:root { + --header-color-primary: #19455e; + --header-color-secondary: #55b1ab; + --header-background: #fff; + --header-menu-background: #18465e; + --header-menu-foreground: #fff; +} + +/* Everything is scoped to .frqcy-header */ + +.frqcy-header { + font-family: "Newake", "Arial Black", Arial, sans-serif; + text-transform: uppercase; + color: var(--header-color-primary); + height: 80px; + background-color: var(--header-background); + box-shadow: 0 4px 4px 0 #00000040; + width: 100vw; + position: fixed; + top: 0; + left: 0; + z-index: 1000; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px 0 40px; + box-sizing: border-box; +} + +@media (min-width: 800px) { + .frqcy-header { + padding: 0 80px; + } +} + +.frqcy-header a { + text-decoration: none; +} + +.frqcy-header .header-logo { + padding-right: 16px; + height: auto; + width: 236px; + color: var(--header-color-secondary); +} + +.frqcy-header .menu-toggle { + cursor: pointer; + color: #55b1ab; +} + +.frqcy-header .header-nav { + display: none; + gap: 32px; +} + +.frqcy-header .nav-items-mobile { + padding-top: 80px; + gap: 32px; + font-size: 34px; + display: flex; + flex-direction: column; +} + +.frqcy-header .header-nav a { + color: var(--header-color-primary); + cursor: pointer; +} + +/* Hide mobile nav by default */ +.frqcy-header .header-nav-mobile { + flex-direction: column; + box-sizing: border-box; + background-color: var(--header-menu-background); + padding: 0 12%; + height: 0; + width: 100%; + position: fixed; + z-index: 1; + top: 0; + left: 0; + overflow-x: hidden; + overflow-y: scroll; + transition: 0.5s; +} + +.frqcy-header .header-nav-mobile a { + color: var(--header-menu-foreground); + cursor: pointer; +} + +/* Show mobile nav when isOpen class is added */ +.frqcy-header .header-nav-mobile.isOpen { + height: 100%; +} + +/* Media query for larger screens */ +@media (min-width: 800px) { + .frqcy-header .header-nav { + display: flex; + } + .frqcy-header .menu-toggle, + .frqcy-header .header-nav-mobile { + display: none; + } +} + +.frqcy-header .menu-toggle.isOpen { + color: var(--header-menu-foreground); + position: fixed; + top: 26px; + right: 33px; + z-index: 1000; +} + +.frqcy-header .header-nav .underline-on-hover:hover::after, +.frqcy-header .header-nav .underline-on-hover:focus::after { + background-color: var(--header-color-primary); +} + +.frqcy-header .header-nav-mobile .underline-on-hover:hover::after, +.header-nav-mobile .underline-on-hover:focus::after { + background-color: #fff; +} + +.frqcy-header .hamburger-icon { + display: block; +} + +.frqcy-header .exit-icon { + display: block; +} + +.frqcy-header .hidden { + display: none; +} diff --git a/theme/css/chrome.css b/theme/css/chrome.css index 7c0ec22..81d3a53 100644 --- a/theme/css/chrome.css +++ b/theme/css/chrome.css @@ -62,7 +62,7 @@ a > .hljs { .js.sidebar-visible #menu-bar { position: -webkit-sticky; position: sticky; - top: 0 !important; + top: 80px !important; } #menu-bar-hover-placeholder { @@ -743,3 +743,30 @@ ul#searchresults span.teaser em { .nav-return:hover { color: var(--sidebar-active); } + +/* Underline on hover animation */ +.underline-on-hover { + position: relative; + display: block; + cursor: pointer; + overflow: hidden; + padding: 0.25rem 0; +} + +.underline-on-hover::after { + position: absolute; + bottom: 0; + left: 0; + height: 0.1em; + width: 100%; + opacity: 0; + transition: opacity 300ms, transform 300ms; + content: ''; + transform: translate3d(-100%, 0, 0); +} + +.underline-on-hover:hover::after, +.underline-on-hover:focus::after { + opacity: 1; + transform: translate3d(0, 0, 0); +} diff --git a/theme/css/general.css b/theme/css/general.css index 0771809..0e78732 100644 --- a/theme/css/general.css +++ b/theme/css/general.css @@ -118,7 +118,7 @@ h6:target::before { */ :target { /* Safari does not support logical properties */ - scroll-margin-top: calc(var(--menu-bar-height) + 0.5em); + scroll-margin-top: calc(var(--menu-bar-height)); } .page { @@ -129,7 +129,40 @@ h6:target::before { .page-wrapper { box-sizing: border-box; background-color: var(--bg); + padding-top: 80px; } + +.page-header { + height: 80px; + background-color: white; + box-shadow: 0 4px 4px 0 #00000040; + width: 100vw; + position: fixed; + top: 0; + left: 0; + z-index: 1000; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 80px; + box-sizing: border-box; +} + +@media screen and (max-width: 900px) { + .page-header { + padding: 0 30px; + } +} + +.header-logo { + height: auto; + width: 236px; +} + +.sidebar{ + margin-top: 80px +} + .no-js .page-wrapper, .js:not(.sidebar-resizing) .page-wrapper { transition: diff --git a/theme/header.hbs b/theme/header.hbs new file mode 100644 index 0000000..8e272d8 --- /dev/null +++ b/theme/header.hbs @@ -0,0 +1,73 @@ +
+ + + + + + + + + + +
+ + diff --git a/theme/index.hbs b/theme/index.hbs index 58ff77a..3e88eef 100644 --- a/theme/index.hbs +++ b/theme/index.hbs @@ -106,17 +106,6 @@ + + - {{> header}} - -
- -
- - - + - - - -
-
- {{{ content }}} -
- - +
+

+ {{#if search_enabled}} + + {{/if}} + + + + +
+
+ {{{ content }}} +
+ + +
+ + + + {{#if live_reload_endpoint}} diff --git a/theme/index.hbs b/theme/index.hbs index d06f31a..beb1ef1 100644 --- a/theme/index.hbs +++ b/theme/index.hbs @@ -239,13 +239,14 @@
From 2b38452a71a053c14a72fc166666ff0797431824 Mon Sep 17 00:00:00 2001 From: Wil Wade Date: Mon, 11 Nov 2024 17:00:46 -0500 Subject: [PATCH 10/20] Icons and Doc Images (#100) Problem ======= - Updates icons to the correct ones - Adds page images (placeholders) Co-authored-by: Patrick --- css/side-nav.css | 32 +++++++++++------------ pages/Core.md | 2 ++ pages/Guides/BecomeAProvider.md | 16 +++++++----- pages/Guides/Gateway.md | 2 ++ pages/Guides/SSO.md | 2 ++ pages/images/Become_Provider-Dark.svg | 1 + pages/images/Become_Provider.svg | 1 + pages/images/Core-Dark.svg | 1 + pages/images/Core.svg | 1 + pages/images/Gateway-Dark.svg | 1 + pages/images/Gateway.svg | 1 + pages/images/Single_Sign_On-Dark.svg | 1 + pages/images/Single_Sign_On.svg | 1 + pages/images/icons/bridge-Dark.svg | 1 + pages/images/icons/bridge.svg | 1 + pages/images/icons/controls-Dark.svg | 1 + pages/images/icons/controls.svg | 1 + pages/images/icons/hand-Dark.svg | 1 + pages/images/icons/hand.svg | 1 + pages/images/icons/house-Dark.svg | 1 + pages/images/icons/house.svg | 1 + pages/images/icons/icon-core-dark.svg | 1 - pages/images/icons/icon-core.svg | 1 - pages/images/icons/icon-gateway-dark.svg | 1 - pages/images/icons/icon-gateway.svg | 1 - pages/images/icons/icon-provider-dark.svg | 1 - pages/images/icons/icon-provider.svg | 1 - pages/images/icons/icon-sso-dark.svg | 1 - pages/images/icons/icon-sso.svg | 1 - pages/images/icons/key-Dark.svg | 1 + pages/images/icons/key.svg | 1 + pages/images/icons/lock-Dark.svg | 1 + pages/images/icons/lock.svg | 1 + pages/images/icons/people-Dark.svg | 1 + pages/images/icons/people.svg | 1 + pages/index.md | 2 ++ theme/header.hbs | 2 +- 37 files changed, 56 insertions(+), 32 deletions(-) create mode 100644 pages/images/Become_Provider-Dark.svg create mode 100644 pages/images/Become_Provider.svg create mode 100644 pages/images/Core-Dark.svg create mode 100644 pages/images/Core.svg create mode 100644 pages/images/Gateway-Dark.svg create mode 100644 pages/images/Gateway.svg create mode 100644 pages/images/Single_Sign_On-Dark.svg create mode 100644 pages/images/Single_Sign_On.svg create mode 100644 pages/images/icons/bridge-Dark.svg create mode 100644 pages/images/icons/bridge.svg create mode 100644 pages/images/icons/controls-Dark.svg create mode 100644 pages/images/icons/controls.svg create mode 100644 pages/images/icons/hand-Dark.svg create mode 100644 pages/images/icons/hand.svg create mode 100644 pages/images/icons/house-Dark.svg create mode 100644 pages/images/icons/house.svg delete mode 100644 pages/images/icons/icon-core-dark.svg delete mode 100644 pages/images/icons/icon-core.svg delete mode 100644 pages/images/icons/icon-gateway-dark.svg delete mode 100644 pages/images/icons/icon-gateway.svg delete mode 100644 pages/images/icons/icon-provider-dark.svg delete mode 100644 pages/images/icons/icon-provider.svg delete mode 100644 pages/images/icons/icon-sso-dark.svg delete mode 100644 pages/images/icons/icon-sso.svg create mode 100644 pages/images/icons/key-Dark.svg create mode 100644 pages/images/icons/key.svg create mode 100644 pages/images/icons/lock-Dark.svg create mode 100644 pages/images/icons/lock.svg create mode 100644 pages/images/icons/people-Dark.svg create mode 100644 pages/images/icons/people.svg diff --git a/css/side-nav.css b/css/side-nav.css index 45c23d5..3905a4b 100644 --- a/css/side-nav.css +++ b/css/side-nav.css @@ -1,34 +1,34 @@ :root { - --icon-provider: url("../images/icons/icon-provider.svg"); - --icon-gateway: url("../images/icons/icon-gateway.svg"); - --icon-sso: url("../images/icons/icon-sso.svg"); - --icon-core: url("../images/icons/icon-core.svg"); + --icon-provider: url("../images/icons/lock-Dark.svg"); + --icon-gateway: url("../images/icons/bridge-Dark.svg"); + --icon-sso: url("../images/icons/key-Dark.svg"); + --icon-core: url("../images/icons/house-Dark.svg"); } /* Light theme */ .light { - --icon-provider: url("../images/icons/icon-provider.svg"); - --icon-gateway: url("../images/icons/icon-gateway.svg"); - --icon-sso: url("../images/icons/icon-sso.svg"); - --icon-core: url("../images/icons/icon-core.svg"); + --icon-provider: url("../images/icons/lock-Dark.svg"); + --icon-gateway: url("../images/icons/bridge-Dark.svg"); + --icon-sso: url("../images/icons/key-Dark.svg"); + --icon-core: url("../images/icons/house-Dark.svg"); } /* Dark theme */ .coal { - --icon-provider: url("../images/icons/icon-provider-dark.svg"); - --icon-gateway: url("../images/icons/icon-gateway-dark.svg"); - --icon-sso: url("../images/icons/icon-sso-dark.svg"); - --icon-core: url("../images/icons/icon-core-dark.svg"); + --icon-provider: url("../images/icons/lock-Dark.svg"); + --icon-gateway: url("../images/icons/bridge-Dark.svg"); + --icon-sso: url("../images/icons/key-Dark.svg"); + --icon-core: url("../images/icons/house-Dark.svg"); } /* Dark mode preference */ @media (prefers-color-scheme: dark) { .light.no-js { /* Override light theme variables if needed */ - --icon-provider: url("../images/icons/icon-provider-dark.svg"); - --icon-gateway: url("../images/icons/icon-gateway-dark.svg"); - --icon-sso: url("../images/icons/icon-sso-dark.svg"); - --icon-core: url("../images/icons/icon-core-dark.svg"); + --icon-provider: url("../images/icons/lock-Dark.svg"); + --icon-gateway: url("../images/icons/bridge-Dark.svg"); + --icon-sso: url("../images/icons/key-Dark.svg"); + --icon-core: url("../images/icons/house-Dark.svg"); } } diff --git a/pages/Core.md b/pages/Core.md index ec75762..ed6537a 100644 --- a/pages/Core.md +++ b/pages/Core.md @@ -9,4 +9,6 @@ The native coin for Frequency is named [FRQCY](./Glossary.md#frqcy). This section provides a detailed description of Frequency, the core data structures and operational primitives it supports, and the different ways that users and applications can interact with and transact with the system. +{{#svg-embed pages/images/Core.svg Diagram of the parts of Frequency}} + {{#button-links}} diff --git a/pages/Guides/BecomeAProvider.md b/pages/Guides/BecomeAProvider.md index 9b25bd0..e5237c4 100644 --- a/pages/Guides/BecomeAProvider.md +++ b/pages/Guides/BecomeAProvider.md @@ -5,14 +5,16 @@ In the Frequency ecosystem, a **Provider** is an entity (often an application or service) that interacts directly with the Frequency blockchain on behalf of users. Providers handle transactions, manage user delegations, and facilitate various operations within the network. +{{#svg-embed pages/images/Become_Provider.svg Become a Provider}} + ### From a developer's perspective, Providers: -* **Create and Update User Content with Permission:** Providers publish new content or modify existing content on behalf of users, such as posts, comments, and other social interactions, after obtaining the user's consent. -* **Maintain the User's Social Graph:** Providers manage and update users' social connections, such as following or unfollowing other users, and maintaining friend lists, ensuring that the user's relationships are accurately represented on the blockchain. -* **Store User Content and Write Links to It on Frequency:** Providers either store user-generated content files (e.g., media files, documents) or links to off-chain storage of these content files on the Frequency blockchain, enabling decentralized access and verification. -* **Simplify User Participation:** By handling transaction complexities and fees, Providers make blockchain applications more accessible to end-users who may not possess sufficient technical knowledge or hold tokens. -* **Manage Delegated Tasks:** Users delegate specific permissions to Providers, allowing them to perform only those specified actions on the user's behalf in a secure and transparent manner. -* **Enhance User Experience:** Providers may offer intuitive user interfaces and seamless interactions, so users don't need to experience or understand the underlying blockchain mechanics. +- **Create and Update User Content with Permission:** Providers publish new content or modify existing content on behalf of users, such as posts, comments, and other social interactions, after obtaining the user's consent. +- **Maintain the User's Social Graph:** Providers manage and update users' social connections, such as following or unfollowing other users, and maintaining friend lists, ensuring that the user's relationships are accurately represented on the blockchain. +- **Store User Content and Write Links to It on Frequency:** Providers either store user-generated content files (e.g., media files, documents) or links to off-chain storage of these content files on the Frequency blockchain, enabling decentralized access and verification. +- **Simplify User Participation:** By handling transaction complexities and fees, Providers make blockchain applications more accessible to end-users who may not possess sufficient technical knowledge or hold tokens. +- **Manage Delegated Tasks:** Users delegate specific permissions to Providers, allowing them to perform only those specified actions on the user's behalf in a secure and transparent manner. +- **Enhance User Experience:** Providers may offer intuitive user interfaces and seamless interactions, so users don't need to experience or understand the underlying blockchain mechanics. ## How to Become a Provider @@ -36,7 +38,7 @@ Taking the account generated in Step 1, visit the Frequency Testnet Faucet [Test ## Step 3: Create a Testnet Provider - Visit the [Provider Dashboard](https://provider.frequency.xyz/) to set up your official Provider account on the Frequency Testnet. -- On the Provider Dashboard, you will be asked to select which network you would like to join from the dropdown. You may select among the available networks: Mainnet, Testnet on Paseo, Localhost, or Custom. Select Testnet on Paseo. +- On the Provider Dashboard, you will be asked to select which network you would like to join from the dropdown. You may select among the available networks: Mainnet, Testnet on Paseo, Localhost, or Custom. Select Testnet on Paseo. - Select your account ID from the dropdown. (This is the Application Account you created in Step 1.) - Select Create an MSA and approve the transaction popups. - Enter a Provider name. You should enter the name you wish register under as a Provider (typically a company or application name). diff --git a/pages/Guides/Gateway.md b/pages/Guides/Gateway.md index 9d0ceed..a0382e0 100644 --- a/pages/Guides/Gateway.md +++ b/pages/Guides/Gateway.md @@ -4,6 +4,8 @@ [Gateway](https://projectlibertylabs.github.io/gateway/) provides a Simple Blockchain Integration for Your Applications–bridging the gap between your app and the decentralized web. +{{#svg-embed pages/images/Gateway.svg Gateway Diagram}} + Gateway offers a suite of tools and services that make it easy to connect your applications to the Frequency blockchain. This allows your development team to focus on building outstanding user experiences without managing the complexity of blockchain interactions. ## What is Frequency Gateway? diff --git a/pages/Guides/SSO.md b/pages/Guides/SSO.md index 9eb0237..c49e356 100644 --- a/pages/Guides/SSO.md +++ b/pages/Guides/SSO.md @@ -4,6 +4,8 @@ Sign-in With Frequency (SIWF) allows you to enhance Your app with secure, decentralized Identity by integrating seamless and secure user authentication. With (SIWF), you can provide your users with a decentralized identity solution that puts them in control of their data, thus enhancing trust and security within your app while embracing the future of user authentication. +{{#svg-embed pages/images/Single_Sign_On.svg Single Sign-On Flow}} + ## What is Sign-In with Frequency? Sign-In with Frequency (SIWF) provides comprehensive documentation and tools to integrate with Frequency Access, an easy-to-use single sign-on identity solution for users on Frequency. SIWF simplifies the authentication process, allowing users to access the entire Frequency ecosystem effortlessly while maintaining control over their personal data. diff --git a/pages/images/Become_Provider-Dark.svg b/pages/images/Become_Provider-Dark.svg new file mode 100644 index 0000000..70607b0 --- /dev/null +++ b/pages/images/Become_Provider-Dark.svg @@ -0,0 +1 @@ +ProviderEcosystemUSERSOCIALGRAPHSTOREUSERCONTENT \ No newline at end of file diff --git a/pages/images/Become_Provider.svg b/pages/images/Become_Provider.svg new file mode 100644 index 0000000..3056dcb --- /dev/null +++ b/pages/images/Become_Provider.svg @@ -0,0 +1 @@ +ProviderEcosystemUSERSOCIALGRAPHSTOREUSERCONTENT \ No newline at end of file diff --git a/pages/images/Core-Dark.svg b/pages/images/Core-Dark.svg new file mode 100644 index 0000000..7f6a286 --- /dev/null +++ b/pages/images/Core-Dark.svg @@ -0,0 +1 @@ +DECENTRALIZED IDENTITYNETWORK OPERATIONSSOCIAL GRAPHCONTENT MANAGEMENT \ No newline at end of file diff --git a/pages/images/Core.svg b/pages/images/Core.svg new file mode 100644 index 0000000..ba76f0c --- /dev/null +++ b/pages/images/Core.svg @@ -0,0 +1 @@ +DECENTRALIZED IDENTITYNETWORK OPERATIONSSOCIAL GRAPHCONTENT MANAGEMENT \ No newline at end of file diff --git a/pages/images/Gateway-Dark.svg b/pages/images/Gateway-Dark.svg new file mode 100644 index 0000000..e44d5d5 --- /dev/null +++ b/pages/images/Gateway-Dark.svg @@ -0,0 +1 @@ +APPLICATIONSCONTENTSOCIAL GRAPHBLOCK CHAINWEB 2WEB 3 \ No newline at end of file diff --git a/pages/images/Gateway.svg b/pages/images/Gateway.svg new file mode 100644 index 0000000..07ec9bb --- /dev/null +++ b/pages/images/Gateway.svg @@ -0,0 +1 @@ +APPLICATIONSCONTENTSOCIAL GRAPHBLOCK CHAINWEB 2WEB 3 \ No newline at end of file diff --git a/pages/images/Single_Sign_On-Dark.svg b/pages/images/Single_Sign_On-Dark.svg new file mode 100644 index 0000000..808870a --- /dev/null +++ b/pages/images/Single_Sign_On-Dark.svg @@ -0,0 +1 @@ +EMAIL VERIFICATIONPERMISSIONSUSER CONTROLUNIVERSAL HANDLETRUSTED COMMUNICATIONSDECENTRALIZED IDENTITY \ No newline at end of file diff --git a/pages/images/Single_Sign_On.svg b/pages/images/Single_Sign_On.svg new file mode 100644 index 0000000..331f40f --- /dev/null +++ b/pages/images/Single_Sign_On.svg @@ -0,0 +1 @@ +EMAIL VERIFICATIONPERMISSIONSUSER CONTROLUNIVERSAL HANDLETRUSTED COMMUNICATIONSDECENTRALIZED IDENTITY \ No newline at end of file diff --git a/pages/images/icons/bridge-Dark.svg b/pages/images/icons/bridge-Dark.svg new file mode 100644 index 0000000..2353eb5 --- /dev/null +++ b/pages/images/icons/bridge-Dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/images/icons/bridge.svg b/pages/images/icons/bridge.svg new file mode 100644 index 0000000..8949d9c --- /dev/null +++ b/pages/images/icons/bridge.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/controls-Dark.svg b/pages/images/icons/controls-Dark.svg new file mode 100644 index 0000000..4fcde29 --- /dev/null +++ b/pages/images/icons/controls-Dark.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/controls.svg b/pages/images/icons/controls.svg new file mode 100644 index 0000000..748e8d9 --- /dev/null +++ b/pages/images/icons/controls.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/hand-Dark.svg b/pages/images/icons/hand-Dark.svg new file mode 100644 index 0000000..328df4d --- /dev/null +++ b/pages/images/icons/hand-Dark.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/hand.svg b/pages/images/icons/hand.svg new file mode 100644 index 0000000..3adbaf3 --- /dev/null +++ b/pages/images/icons/hand.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/house-Dark.svg b/pages/images/icons/house-Dark.svg new file mode 100644 index 0000000..6ebfc71 --- /dev/null +++ b/pages/images/icons/house-Dark.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/house.svg b/pages/images/icons/house.svg new file mode 100644 index 0000000..4b6178a --- /dev/null +++ b/pages/images/icons/house.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/icon-core-dark.svg b/pages/images/icons/icon-core-dark.svg deleted file mode 100644 index 155c2bf..0000000 --- a/pages/images/icons/icon-core-dark.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-core.svg b/pages/images/icons/icon-core.svg deleted file mode 100644 index 155c2bf..0000000 --- a/pages/images/icons/icon-core.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-gateway-dark.svg b/pages/images/icons/icon-gateway-dark.svg deleted file mode 100644 index fde96aa..0000000 --- a/pages/images/icons/icon-gateway-dark.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-gateway.svg b/pages/images/icons/icon-gateway.svg deleted file mode 100644 index fde96aa..0000000 --- a/pages/images/icons/icon-gateway.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-provider-dark.svg b/pages/images/icons/icon-provider-dark.svg deleted file mode 100644 index de40c8b..0000000 --- a/pages/images/icons/icon-provider-dark.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-provider.svg b/pages/images/icons/icon-provider.svg deleted file mode 100644 index de40c8b..0000000 --- a/pages/images/icons/icon-provider.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-sso-dark.svg b/pages/images/icons/icon-sso-dark.svg deleted file mode 100644 index a98f067..0000000 --- a/pages/images/icons/icon-sso-dark.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/icon-sso.svg b/pages/images/icons/icon-sso.svg deleted file mode 100644 index a98f067..0000000 --- a/pages/images/icons/icon-sso.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pages/images/icons/key-Dark.svg b/pages/images/icons/key-Dark.svg new file mode 100644 index 0000000..afbadc9 --- /dev/null +++ b/pages/images/icons/key-Dark.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/key.svg b/pages/images/icons/key.svg new file mode 100644 index 0000000..c72811f --- /dev/null +++ b/pages/images/icons/key.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/images/icons/lock-Dark.svg b/pages/images/icons/lock-Dark.svg new file mode 100644 index 0000000..aefbd45 --- /dev/null +++ b/pages/images/icons/lock-Dark.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/lock.svg b/pages/images/icons/lock.svg new file mode 100644 index 0000000..cd25bc7 --- /dev/null +++ b/pages/images/icons/lock.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/people-Dark.svg b/pages/images/icons/people-Dark.svg new file mode 100644 index 0000000..51165ed --- /dev/null +++ b/pages/images/icons/people-Dark.svg @@ -0,0 +1 @@ + diff --git a/pages/images/icons/people.svg b/pages/images/icons/people.svg new file mode 100644 index 0000000..d3985c0 --- /dev/null +++ b/pages/images/icons/people.svg @@ -0,0 +1 @@ + diff --git a/pages/index.md b/pages/index.md index bb6cf96..fa8e74e 100644 --- a/pages/index.md +++ b/pages/index.md @@ -4,6 +4,8 @@ Deep Dive into the Technology Behind Frequency Expand your expertise and master the Frequency blockchain. Whether you're a beginner or an experienced developer, our resources will guide you through the intricacies of the network. Gain the skills you need to innovate and build the next generation of decentralized applications. +{{#svg-embed pages/images/Core.svg Diagram of the parts of Frequency}} +