WIP: Write documentation #55

Draft
tasiaiso wants to merge 22 commits from tasiaiso/tildefriends:tasiaiso-documentation into main
10 changed files with 65 additions and 5 deletions
Showing only changes of commit fae2771645 - Show all commits

View File

@ -1,4 +1,5 @@
.svn
db.sqlite
db.*
out/**/*.o
out/**/*.d
NOTES.md

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ out
*.swo
*.swp
.zsign_cache/
NOTES.md

View File

@ -15,3 +15,5 @@ apps/api/app.js
# only markdownlint should deal with the documentation
docs/**/*.md
NOTES.md

View File

@ -14,7 +14,7 @@ It is both a peer-to-peer social network client, participating in Secure Scuttle
## Documentation
Docs are a work in progress in the `docs` folder and in Tilde Friends: <https://www.tildefriends.net/~cory/wiki/#test-wiki/tf-app-quick-reference>.
Docs are a work in progress in the `docs` folder, or alternatively in Tilde Friends: <https://www.tildefriends.net/~cory/wiki/#test-wiki/tf-app-quick-reference>.
## License

View File

@ -1,4 +1,6 @@
# Philosophy
# Tilde Friends
## Philosophy
Tilde Friends is a platform for making, running, and sharing web applications.

50
docs/apps/quickstart.md Normal file
View File

@ -0,0 +1,50 @@
# Writing Tilde Friends applications7
TODO
## Creating your environment
1. Open an existing application (ie: `identity`);
2. Open the editing panel;
3. Save the app under a new name (ie `/~YOUR_USERNAME/my-app/`);
4. Go back to the main menu and open your new app;
5. You can now edit your app, save it and see changes in the real time.
## Project structure
An application has a `app.js` file that gets run when a user enters the app.
This file contains a function (typically called `main()`) that's considered the entry point.
Paste this in `app.js`:
```javascript
async function main() {
let ids = await ssb.getIdentities();
await app.setDocument(`
<body style="font-family: sans-serif; color: white">
<h1>Hello world!</h1>
</body>
</body>`);
}
main();
```
Save the app, and you should now be seeing `Hello world!` on the screen.
## Components
Once your app grows to a certain size, you'll want to introduce components.
In Tilde Friends, the de facto standard is [Lit](TODO).
Althogh you an use any framework you want, you're encouraged to use Lit as you can reuse
First, add lit-all-min.js into your project.
TODO
<!-- mention shadow dom -->
TODO: tfrpc
TODO: sharing apps

View File

@ -38,7 +38,8 @@ It's possible to build for Android, iOS, and Windows on Linux, if you have the r
To build in docker, `docker build .`
On NixOS: TODO
<!-- On NixOS: TODO -->
<!-- Add shell.nix and nix derivs first -->
Now that you have a binary, head over to <running.md>.

View File

@ -0,0 +1 @@
TODO

View File

@ -16,7 +16,8 @@ Their names should be meaningful and SHOULD not conflict with other files in oth
## Documentation
When writing documentation, the author should have in mind it's target audience: people with varying technical skills and backgrounds, fluency in peer-to-peer-specific terms and mental ability. The documentation should therefore be acessible and usefule to most people interested in building, using and contributing to Tilde Friends.
When writing documentation, the author should have in mind it's target audience: people with varying technical skills and backgrounds, fluency in peer-to-peer-specific terms and mental ability.
The documentation should therefore be acessible and usefule to most people interested in building, using and contributing to Tilde Friends.
### Terminology

View File

@ -0,0 +1 @@
TODO