diff --git a/README.md b/README.md index ecbf723..4127966 100755 --- a/README.md +++ b/README.md @@ -32,8 +32,21 @@ - **This repo will not run locally if you do not also have the LBRY app/daemon and the [web-daemon](https://github.com/lbryio/web-daemon) running.** - When running locally and completing the tipping example in Playground, the LBC donated to a creator comes from _your_ LBC balance. Otherwise, the example will fail. On production, the donated LBC comes from LBRY. -## Installation -`npm i` +## Local Installation + +### npm +```bash +npm install +``` + +### Yarn + +There is a yarn.lock file, you can thus use yarn to install a guaranteed working configuration of packages. This is generally a lot faster to install and more stable. Yarn as a CLI is not necessarily more stable than npm and as such, it's optional. Install yarn here: https://yarnpkg.com/en/docs/install + +Then +```bash +yarn install +``` ## Development `npm run watch` and visit [localhost:8080](http://localhost:8080) diff --git a/app/client.js b/app/client.js index 388c0e8..3ebbe7e 100755 --- a/app/client.js +++ b/app/client.js @@ -35,7 +35,6 @@ function main() { app.route("/", page(require("./views/home"))); app.route("/api/*", page(require("./views/api"))); - app.route("/spec", page(require("./views/spec"))); app.route("/*", page(require("./views/redirect"))); app.mount("html"); diff --git a/app/components/client/ecosystem-scripts.js b/app/components/client/ecosystem-scripts.js index f915142..8fd87f5 100644 --- a/app/components/client/ecosystem-scripts.js +++ b/app/components/client/ecosystem-scripts.js @@ -88,6 +88,18 @@ function openSubmodule(ecosystemComponentClassName) { case (ecosystemComponentClassName === "chainquery"): setSubmoduleConnectionTitle(ecosystemComponentClassName); + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("green")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of LBRY. + `; + } + + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("red")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of the LBRY blockchain. + `; + } + document.getElementsByClassName("ecosystem")[0].className += " expand-left"; document.getElementsByClassName(ecosystemComponentClassName)[0].className += " active"; @@ -99,6 +111,18 @@ function openSubmodule(ecosystemComponentClassName) { case (ecosystemComponentClassName === "wallet"): setSubmoduleConnectionTitle(ecosystemComponentClassName); + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("blue")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of the LBRY data network. + `; + } + + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("red")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of the LBRY blockchain. + `; + } + document.getElementsByClassName("ecosystem")[0].className += " expand-left"; document.getElementsByClassName(ecosystemComponentClassName)[0].className += " active"; @@ -110,6 +134,18 @@ function openSubmodule(ecosystemComponentClassName) { case (ecosystemComponentClassName === "lighthouse"): setSubmoduleConnectionTitle(ecosystemComponentClassName); + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("green")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of LBRY. + `; + } + + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("red")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of the LBRY blockchain. + `; + } + document.getElementsByClassName("ecosystem")[0].className += " expand-right"; document.getElementsByClassName(ecosystemComponentClassName)[0].className += " active"; @@ -121,6 +157,12 @@ function openSubmodule(ecosystemComponentClassName) { case (ecosystemComponentClassName === "reflector"): setSubmoduleConnectionTitle(ecosystemComponentClassName); + if (document.getElementsByClassName(ecosystemComponentClassName)[0].classList.contains("blue")) { + document.querySelector(`.${ecosystemComponentClassName} .__connection-details`).innerHTML = ` + ${ecosystemComponentClassName} is an application built on top of the LBRY data network. + `; + } + document.getElementsByClassName("ecosystem")[0].className += " expand-right"; document.getElementsByClassName(ecosystemComponentClassName)[0].className += " active"; @@ -171,14 +213,17 @@ for (const subModule of subModules) { function setSubmoduleConnectionTitle(submoduleClass) { if (document.getElementsByClassName(submoduleClass)[0].classList.contains("blue")) { + document.querySelector(`.${submoduleClass} .__connection`).innerHTML = "Connection to Data Network"; document.querySelector(`.${submoduleClass} .__parent.blue`).className += " active"; } if (document.getElementsByClassName(submoduleClass)[0].classList.contains("green")) { + document.querySelector(`.${submoduleClass} .__connection`).innerHTML = "Connection to Applications"; document.querySelector(`.${submoduleClass} .__parent.green`).className += " active"; } if (document.getElementsByClassName(submoduleClass)[0].classList.contains("red")) { + document.querySelector(`.${submoduleClass} .__connection`).innerHTML = "Connection to Blockchain"; document.querySelector(`.${submoduleClass} .__parent.red`).className += " active"; } } diff --git a/app/components/ecosystem/module-applications.js b/app/components/ecosystem/module-applications.js index 8289ad4..2f8cdd0 100644 --- a/app/components/ecosystem/module-applications.js +++ b/app/components/ecosystem/module-applications.js @@ -2,12 +2,6 @@ -// U T I L - -import markdown from "../markdown"; - - - // E X P O R T export default () => ` @@ -17,7 +11,7 @@ export default () => `

Applications - Desktop clients, mobile apps, websites and ∞ more + Browsers, spee.ch, and ∞
@@ -28,7 +22,23 @@ export default () => `

- ${markdown("./documents/partials/overview/applications.md")} +

Applications are the final level of the LBRY stack, and they represent how most people will actually use LBRY.

+

LBRY Inc. currently releases and maintains three applications:

+ + + +

However, the very idea of LBRY is that there's not just one way to interact with the network. Anyone can build on top of LBRY in a permissionless manner. These applications exist to show what's possible and to give new users a user-friendly way to use LBRY.

+ +

Additional Resources

+
`; diff --git a/app/components/ecosystem/module-lbry.js b/app/components/ecosystem/module-lbry.js index fca744a..4d7f9fc 100644 --- a/app/components/ecosystem/module-lbry.js +++ b/app/components/ecosystem/module-lbry.js @@ -2,12 +2,6 @@ -// U T I L - -import markdown from "../markdown"; - - - // E X P O R T export default () => ` @@ -17,17 +11,35 @@ export default () => `

Data Network - What makes the LBRY blockchain useful. + The "nuts and bolts" (fix this) of the LBRY protocol
- lbrysdk - lbryschema + lbry + lbryschema + torba

- ${markdown("./documents/partials/overview/lbrysdk.md")} +

While blockchain is the innovation that makes LBRY possible, the Data Network is the layer that actually makes the blockchain useful.

+

The primary component for this level is lbry, a daemon that:

+ + +

Unless choosing to re-implement aspects of the LBRY protocol by hand, most applications that interact with the LBRY network will bundle lbry.

+ +

Additional Resources

+
`; diff --git a/app/components/ecosystem/module-lbrycrd.js b/app/components/ecosystem/module-lbrycrd.js index 7c632fd..b80ab93 100644 --- a/app/components/ecosystem/module-lbrycrd.js +++ b/app/components/ecosystem/module-lbrycrd.js @@ -2,9 +2,13 @@ +// P A C K A G E + +import { require as local } from "app-root-path"; + // U T I L -import markdown from "../markdown"; +const markdown = local("/app/components/markdown").default; @@ -17,18 +21,16 @@ export default () => `

Blockchain - The foundation of the LBRY protocol. + The foundation of the LBRY protocol
- lbrycrd - torba - lbryumx + lbrycrd

- ${markdown("./documents/partials/overview/lbrycrd.md")} + ${markdown("./documents/partials/lbrycrd.md")}
`; diff --git a/app/components/ecosystem/submodule-chainquery.js b/app/components/ecosystem/submodule-chainquery.js index 92364bb..0383df7 100644 --- a/app/components/ecosystem/submodule-chainquery.js +++ b/app/components/ecosystem/submodule-chainquery.js @@ -2,12 +2,6 @@ -// U T I L - -import markdown from "../markdown"; - - - // E X P O R T export default () => ` @@ -16,9 +10,17 @@ export default () => `
- ${markdown("./documents/partials/overview/chainquery.md")} -
+

Overview

+

The model of Chainquery at its foundation consists of the fundamental data types found in the blockchain. This information is then expounded on with additional columns and tables that make querying the data much easier.

+

Connection to...

+

+ +

Source

+ +