Skip to content

Commit

Permalink
fix spelling mistakes
Browse files Browse the repository at this point in the history
  • Loading branch information
pdaoust committed Mar 11, 2024
1 parent 5311156 commit dcac146
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/pages/get-started/2-hello-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ This table includes everything in the `hello-world/` folder as well as details o
| <pre> ├── target/ </pre> | A folder containing the compiled output from the Rust build process. |
| <pre> ├── tests/ </pre> | A folder containing JavaScript-base test code for the application. |
| <pre> ├── ui/ </pre> | A folder containing the source code and assets for the web-based user interface of the "Hello, World!" application. This user interface will get distributed along with the application. |
| <pre> ├┬─ workdir/ </pre> | A working folder containing configuration files and compliled artifacts related to the building of the whole hApp. |
| <pre> ├┬─ workdir/ </pre> | A working folder containing configuration files and compiled artifacts related to the building of the whole hApp. |
| <pre> │├── happ.yaml </pre> | The manifest file for the hApp. It references the DNA files to be included, along with the roles they play in the application. In this case, there's only one DNA file, `hello_world`. |
| <pre> │├── hello_world.happ </pre> | The compiled hApp bundle, which includes all the DNAs (in case just the one). |
| <pre> │├── hello_world.webhapp </pre> | The compiled web hApp bundle, which includes the hApp bundle plus the zipped UI. |
Expand Down
18 changes: 8 additions & 10 deletions src/pages/get-started/3-forum-app-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ tocData:
href: 6-scaffold-entry-types
- text: 7. Scaffold a collection
href: 7-scaffold-a-collection
- text: 8. Run your applicaiton in dev mode
- text: 8. Run your application in dev mode
href: 8-run-your-application-in-dev-mode
- text: 9. Integrate the generated UI elements
href: 9-integrate-the-generated-ui-elements
Expand Down Expand Up @@ -191,7 +191,7 @@ A DNA folder is where you will put the code that defines the rules of your appli

### Why do we use the term DNA?

In Holochain, we are trying to enable people to **choose to participate in coherent social coordination**, or interact meaningfully with each other online without needing a central authority to define the rules and keep everyone safe. To do that, we are borrowing some patterns from how biological organisms are able to coordinate coherently even at scales that social organisations such as companies or nations have come nowhere close to. In living creatures like humans, dolphins, redwood trees, and coral reefs, many of the cells in the body of an organism (trillions of the cells in a human body, for instance) are each running a (roughly) identical copy of a rule set in the form of DNA.
In Holochain, we are trying to enable people to **choose to participate in coherent social coordination**, or interact meaningfully with each other online without needing a central authority to define the rules and keep everyone safe. To do that, we are borrowing some patterns from how biological organisms are able to coordinate coherently even at scales that social organizations such as companies or nations have come nowhere close to. In living creatures like humans, dolphins, redwood trees, and coral reefs, many of the cells in the body of an organism (trillions of the cells in a human body, for instance) are each running a (roughly) identical copy of a rule set in the form of DNA.

This enables many different independent parts (cells) to build relatively consistent superstructures (a body, for instance), move resources, identify and eliminate infections, and more --- all without centralized command and control. There is no "CEO" cell in the body telling everybody else what to do. It's a bunch of independent actors (cells) playing by a consistent set of rules (the DNA) coordinating in effective and resilient ways.

Expand Down Expand Up @@ -369,7 +369,7 @@ There are a few different kinds of actions, but the most common one is `Create`,

Every action contains the ID of its author (actually a cryptographic public key), a timestamp, a pointer to the previous source chain record, and a pointer to the entry data, if there is any. In this way, actions provide historical context and provenance for the entries they operate on.

The pointer to the previous source chain record creates an unbroken history from the current record all the way back to the source chain's starting point. This 'genesis' record contains the hash of the DNA, which servs as both the identifier for the specific set of validation rules that all following records should follow and the ID of the network that this source chain's actions are participating in.
The pointer to the previous source chain record creates an unbroken history from the current record all the way back to the source chain's starting point. This 'genesis' record contains the hash of the DNA, which serves as both the identifier for the specific set of validation rules that all following records should follow and the ID of the network that this source chain's actions are participating in.

An action is cryptographically signed by its author and is immutable (can't be changed or erased from either the source chain or the network's data store) once written. This, along with the validation rules specified by the DNA hash in the genesis record, are examples of a concept we call "intrinsic data integrity", in which data carries enough information about itself to be self-validating.

Expand Down Expand Up @@ -791,7 +791,7 @@ The scaffolding tool doesn't have any feature for building anchors and trees bey

!!!

Before you get started editing the UI, it's helpful to be able to actually run the scaffolded applciation. That way, you can watch changes take effect in real-time as you make them. So the next section will walk you through launching the application the tooling that's available there, and then in the section after that, we'll begin working with the `.svelte` files to build the UI.
Before you get started editing the UI, it's helpful to be able to actually run the scaffolded application. That way, you can watch changes take effect in real-time as you make them. So the next section will walk you through launching the application the tooling that's available there, and then in the section after that, we'll begin working with the `.svelte` files to build the UI.

## 8. Run your application in dev mode

Expand Down Expand Up @@ -858,7 +858,7 @@ CommentsForPost.svelte EditPost.svelte

The next step is to edit the UI files in the text editor or integrated development environment of your choice to add scaffolded components and build a fully featured UI. To integrate all of these generated UI elements, you'll need to add them to `App.svelte` file located in the `ui/src/` folder, or to some other `.svelte` file that eventually gets included in `App.svelte`.

If you don't yet have path commands for opening files in your prefered IDE, there are instructions for [VSCode/VSCodium](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line), [Sublime Text](https://www.sublimetext.com/docs/command_line.html#setup) and [WebStorm](https://www.jetbrains.com/help/webstorm/working-with-the-ide-features-from-command-line.html#5d6e8844). Going forward in this tutorial, we are going to use the `code` command when we mean for you to open files in your IDE, but you should substitute a different command (ex: `subl`, `vim`, `emacs` etc.) for `code` if you are using a different editor.
If you don't yet have path commands for opening files in your preferred IDE, there are instructions for [VSCode/VSCodium](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line), [Sublime Text](https://www.sublimetext.com/docs/command_line.html#setup) and [WebStorm](https://www.jetbrains.com/help/webstorm/working-with-the-ide-features-from-command-line.html#5d6e8844). Going forward in this tutorial, we are going to use the `code` command when we mean for you to open files in your IDE, but you should substitute a different command (ex: `subl`, `vim`, `emacs` etc.) for `code` if you are using a different editor.

Open the `App.svelte` file with your preferred IDE.

Expand Down Expand Up @@ -915,7 +915,7 @@ Next some variables are instantiated: one to hold the Holochain client that conn

**Take note of the line that starts with `$:`**. This is a special Svelte label that turns regular variables into **reactive variables**. We won't get too deep into Svelte right now, because this is a tutorial about Holochain, but when a reactive variable changes, Svelte will re-render the entire component. This lets you write a template declaratively, enclosing the reactive variable in `{}` braces, and let Svelte handle the updating of the template wherever the variable changes.

Finally, there's an `onMount` handler, which is run when the component is first displayed. The handler currently does one thing: it connects to the hApp backend via the conductor, waits until the connection is establised, sets `loading` to false, and adds the resulting client connection to the context so that all components can access it.
Finally, there's an `onMount` handler, which is run when the component is first displayed. The handler currently does one thing: it connects to the hApp backend via the conductor, waits until the connection is established, sets `loading` to false, and adds the resulting client connection to the context so that all components can access it.

### `<main>` section

Expand Down Expand Up @@ -1002,8 +1002,7 @@ Your `<main>` block should now look like this:
```svelte
<main>
{#if loading}
<div style="display: flex; flex: 1; align-items: center; justify-content: ce
nter">
<div style="display: flex; flex: 1; align-items: center; justify-content: center">
<mwc-circular-progress indeterminate />
</div>
{:else}
Expand Down Expand Up @@ -1039,8 +1038,7 @@ Now your `<main>` block should look like this:
```svelte
<main>
{#if loading}
<div style="display: flex; flex: 1; align-items: center; justify-content: ce
nter">
<div style="display: flex; flex: 1; align-items: center; justify-content: center">
<mwc-circular-progress indeterminate />
</div>
{:else}
Expand Down
2 changes: 1 addition & 1 deletion src/pages/get-started/4-packaging-and-distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The steps for publishing an app to the Launcher's app store are documented in th
If you prefer to distribute your app as a full standalone executable, you will need to bundle the Holochain runtime and your app together and take care of the necessary interactions between them. Because Holochain itself is really just a set of Rust libraries, you can of course build your own application that uses those libraries, but that's a fair amount of work. Currently there are two much simpler paths for doing this: using either the [Electron](https://www.electronjs.org/) or [Tauri](https://tauri.app/) frameworks, both of which can generate cross-platform executables from standard web UIs. These frameworks also support inclusion of additional binaries, which in our case are the [holochain conductor](https://docs.rs/holochain/latest/holochain/) and the [lair keystore](https://docs.rs/lair_keystore/latest/lair_keystore/). Though there is quite a bit of complexity in setting things up for these frameworks, all the hard work has already been done for you:

* **Electron**: Refer to the community-supported [electron-holochain-template](https://github.com/lightningrodlabs/electron-holochain-template/) repo.
* **Tauri**: See the officially supported [holochain-kanagroo](https://github.com/holochain-apps/holochain-kangaroo) repo.
* **Tauri**: See the officially supported [holochain-kangaroo](https://github.com/holochain-apps/holochain-kangaroo) repo.

Both of these are GitHub template repos with detailed instructions on how to clone the repos and add in your UI and DNA, as well as build and release commands that will create the cross-platform executables that you can then deliver to your end users.

Expand Down

0 comments on commit dcac146

Please sign in to comment.