Commit graph

137 commits

Author SHA1 Message Date
Jonathan Kelley
4eefc3f854 chore: rename all &cx to cx, make clipppy happy 2022-12-07 13:11:40 -08:00
Jonathan Kelley
c1c5821dcf Merge branch 'master' into jk/templates-v3 2022-11-16 22:12:16 -08:00
Jonathan Kelley
0dad91bc08 wip: pass more events 2022-11-15 16:37:23 -08:00
Miles Murgaw
0085b9cb1d
Fix the Android support disagreement in the docs (#614) 2022-11-10 12:41:25 -08:00
Demonthos
047ed1e553
Subtree memorization / reactive templates (#488)
This commit adds subtree memoization to Dioxus.

Subtree memoization is basically a compile-time step that drastically 
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates 
are then understood by the various renderers in the ecosystem as a 
faster way of rendering the same items. 

For example, in the web, templates are simply a set of DOM Nodes created 
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance. 

Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.

This commit represents a working starter point for this work, adding support 
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve 
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Jon Kelley
28fba42e7e
feat: add an unhygenic render macro (#556)
* feat: add an unhygenic render macro

* chore: use render instead of rsx!(cx,
2022-09-25 01:05:16 -07:00
Jon Kelley
540e785d8b
Less clumsy configuration for desktop and mobile (#553)
* chore: dont use prebuilt builder pattern for configuring desktop

* chore: use regular config pattern for web

* Chore: update docs too

* chore: clean up some warnings
2022-09-13 16:22:27 -07:00
Altug Sahin
0c421f6e8c
Document formatting and typo fixes (#495)
* minor formatting

* Internationalization: move guide to en folder and preserve its history. (#494)

* chore: move guide to en folder

* docs: add english as language

* merged conf resolved

* chore: remove outdated docs

* chore: use taffy dimension directly

* Add PT-BR translations (#456)

* Translate final.md, hello_world.md, README.md, ROADMAP.md and SUMMARY.md

* Translatation complete

* Internationalization: move guide to en folder and preserve its history. (#494)

* Clean files and build mdBook with localization feature

* Rebase, remove leftovers and check book builds for every language: 

Co-authored-by: Jon Kelley <jkelleyrtp@gmail.com>

* Remove argument from `use_hook` closure (#496)

Also; update docs for said function

* chore: prevent reference from being uploaded

Co-authored-by: Altug Sahin <altugsahin@gmail.com>
Co-authored-by: Jon Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Breno Rocha <66398400+amindWalker@users.noreply.github.com>
Co-authored-by: Reinis Mazeiks <rMazeiks@users.noreply.github.com>
Co-authored-by: = <evanalmloff@gmail.com>
2022-09-05 13:58:19 -05:00
Reinis Mazeiks
c801d4402e
Fix propagation docs (#526)
* Fix typo - wrong example for "stopping propagation" section

* Move `lib.rs` in guide back to `src`

* Make sure tests get run when guide is updated (there's examples in the guide to check for compilation errors)
2022-08-10 07:23:27 -05:00
Marco Godoy
9538cfe733
Update Docs CI with mdbook translation support (#516)
* Update Docs CI with mdbook translation support #514

* install mdbook with --rev
2022-08-04 10:26:04 -05:00
Marc Espín
df5338f4e6
Fix typos and update code (#513) 2022-07-30 07:20:49 -05:00
Breno Rocha
6ea076fa7f
Add PT-BR translations (#456)
* Translate final.md, hello_world.md, README.md, ROADMAP.md and SUMMARY.md

* Translatation complete

* Internationalization: move guide to en folder and preserve its history. (#494)

* Clean files and build mdBook with localization feature

* Rebase, remove leftovers and check book builds for every language: 

Co-authored-by: Jon Kelley <jkelleyrtp@gmail.com>
2022-07-11 13:28:12 -04:00
Jonathan Kelley
2369b0cc7f chore: remove outdated docs 2022-07-09 15:22:54 -04:00
Jon Kelley
d9546d9504
Renderers are now packages, not features. (#387)
* feat: use synchronous router design

* feat: function to get router out of dom

* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Jon Kelley
c97ca7dff6
Internationalization: move guide to en folder and preserve its history. (#494)
* chore: move guide to en folder

* docs: add english as language
2022-07-09 12:31:46 -04:00
Reinis Mazeiks
6c323e9fc5
Rework Guide (#486)
* Move getting started to Guide

* Clean up summary and getting started

* Shorten intro by moving stuff to individual platform docs

* Make intro even shorter, summarize features

* Further cleanup; move development-related docs to separate section

* Make `guide` a crate. Turn code samples into examples so that we can check if they compile

* Rewrite "Describing the UI":

* Focus on RSX syntax (interactivity covered in later chapters); make sure samples are tested; concise language

* Move some "special attribute" samples to the `examples` directory

* Simplify introduction to components

* Simplify introduction to component props

* Document Prop features; add code samples

* Simplify component children docs

* Interactivity: better introduction to events

* Hooks: better introduction

* Remove outdated doc

* Introducs use_ref

* Simplify User Input chapter

* Document event handler props

* Meme editor example

* Meme editor walkthrough

* Add dark mode example

* Guide for context; dark mode example

* Guide: custom hooks

* Guide: conditional rendering

* Guide: rendering lists

* Guide: rendering lists + keys

* Move remaining infor from Reference to guide

* Delete reference book
2022-07-07 08:50:36 +00:00
Reinis Mazeiks
0ab2f38314 Guide: remove empty and almost empty pages
(Avoids confusion and improves navigation)
2022-06-30 22:39:34 +03:00
Reinis Mazeiks
f3fcec2bdf Merge branch 'master' of https://github.com/DioxusLabs/dioxus into rusty-events
 Conflicts:
	packages/html/src/events.rs
	packages/tui/src/hooks.rs
2022-06-28 21:09:20 +03:00
xTeKc
af951f30ce
update dead link 2022-06-12 04:10:42 -04:00
xTeKc
287cef96b1
fix link 2022-06-12 04:02:21 -04:00
Alejandro Osornio
6520b24d67
Update index.md
+ Fix outdated documentation
2022-06-01 15:52:43 -05:00
Reinis Mazeiks
45980f9a1e Update examples to avoid deprecated API 2022-05-12 15:00:43 +03:00
Jonathan Moore
21df7d2142
Fix typo 2022-05-05 17:49:08 -05:00
YuKun Liu
c9537a4c41
Update localstate.md 2022-04-17 12:27:41 +08:00
Jon Kelley
d8a6d61723
Merge pull request #335 from kdwarn/master 2022-04-02 14:50:37 -04:00
YuKun Liu
8e1e06d8c3
fix: docs 2022-03-28 13:11:33 +08:00
Kris Warner
e61fa44497 Make minor grammar, spelling, and style changes 2022-03-27 21:24:14 -04:00
Kris Warner
cb1e16c91c Fix name of later chapter 2022-03-26 10:58:54 -04:00
Kris Warner
36ccb835ab Clarify that expr in string literal limit of Rust 2022-03-26 10:52:55 -04:00
Kris Warner
55b818b08d Fix link to router guide 2022-03-26 00:04:58 -04:00
Kris Warner
2ffd90c98b Remove bullets from numbered list 2022-03-25 22:36:40 -04:00
Kris Warner
e57c0890ec Delete redundant sentence 2022-03-25 22:26:42 -04:00
Jon Kelley
d3ac3db296
Merge pull request #315 from Synphonyte/master
Option<...> props are optional by default.
2022-03-20 19:59:35 -04:00
Imbolc
1082472756
Update setup.md
A typo
2022-03-20 08:42:45 +03:00
Marc-Stefan Cassola
be55524e69
Change optional props docs 2022-03-15 19:49:16 +00:00
Jonathan Kelley
38d07f7111 docs: add some more to async 2022-03-09 12:33:28 -05:00
Jonathan Kelley
3e9023b131 docs: finish async 2022-03-09 10:22:12 -05:00
Jonathan Kelley
be2b4d36de fix: linking in attributions 2022-03-08 14:43:19 -05:00
Jonathan Kelley
c6fdd03a9d feat: add attributions for crates 2022-03-08 14:41:49 -05:00
Jonathan Kelley
3acd643afb docs: more docs and an errorhandling example 2022-03-08 14:15:18 -05:00
Jonathan Kelley
59f38839fa
Merge pull request #295 from DioxusLabs/jk/docsoverhaul
Docs: actually finish all of the documentation.
2022-03-08 00:56:44 -05:00
Jonathan Kelley
0f87ebb277 docs: even more docs 2022-03-06 20:37:57 -05:00
YuKun Liu
485f6f69f0
Update hooks.md 2022-03-06 15:05:21 +08:00
Jörg Kurlbaum
cc0e2c4877 Add options for compilation on systems that lack libappindicator3 2022-02-24 14:32:43 +01:00
Oliver Forral
d700850b70
fixing build warnings in hello world example
Fixing this warning when I try to compile

warning: function `App` should have a snake case name
 --> src/main.rs:7:4
  |
7 | fn App(cx: Scope) -> Element {
  |    ^^^ help: convert the identifier to snake case: `app`
  |
  = note: `#[warn(non_snake_case)]` on by default

Also changing edition from 2018 to 2021
2022-02-20 17:27:07 -07:00
Miles Murgaw
2fea2fb13a Merge branch 'master' of https://github.com/DioxusLabs/dioxus 2022-02-15 13:39:02 -05:00
Dave Rolsky
7c2d911fbf Fix closure signature for use_ref example in interactivity docs
The example showed the closure accepting a single argument, but it accepts
none.
2022-02-15 09:54:32 -06:00
Miles Murgaw
1413631d30 update: match DioxusLabs/docs#3 2022-02-14 19:08:10 -05:00
Jonathan Kelley
a325c03dd9 fix: lifetimes again 2022-02-12 11:02:55 -05:00
Jonathan Kelley
0596088312 docs: fix lifetimes on children 2022-02-12 10:57:57 -05:00
Reinis Mazeiks
f5907a682e Add a better introduction to what Components are. 2022-02-10 15:50:11 +02:00
Reinis Mazeiks
fc7d94b8d1 Proofread chapter 7 2022-02-10 13:28:54 +02:00
Reinis Mazeiks
ebc768932d Proofread chapter 6 2022-02-10 12:36:27 +02:00
Reinis Mazeiks
02d8e66f40 Refactor: move Component docs into the components directory to reflect how they are presented in the guide 2022-02-10 10:07:33 +02:00
Reinis Mazeiks
6727de447b Proofread & rephrase chapters 1-5 for readability 2022-02-09 19:35:56 +02:00
j1ngzoue
abbd0b8a39 fix: update the sample 2022-02-08 10:25:25 +09:00
Jonathan Kelley
8b402f946a docs: updaet hooks 2022-01-29 10:15:23 -05:00
Jonathan Kelley
3d75f1cb05 docs: fix some typos 2022-01-28 16:11:04 -05:00
Jonathan Kelley
b0fd034ae7 docs: add important hooks 2022-01-28 03:20:42 -05:00
Jonathan Kelley
564284f4be docs: add rules of hooks 2022-01-28 03:04:21 -05:00
Jonathan Kelley
4fb2221ee1 docs: buff up the theory of react 2022-01-28 02:44:13 -05:00
Jonathan Kelley
0592cdb135 Merge branch 'master' into jk/docs 2022-01-28 00:21:42 -05:00
Dave Rolsky
9e4ec43b1e Fix various typos and grammar nits
I also removed all trailing whitespace from lines since I have Emacs
configured to highlight this.
2022-01-21 21:43:43 -06:00
Jonathan Kelley
baf722de11 docs: add a roadmap 2022-01-15 20:14:51 -05:00
YuKun Liu
5d85eb6438
fix: edit git-repository-url 2022-01-13 18:16:55 +08:00
Benjamin Bädorf
79c39c164d
Fix typo in docs 2022-01-11 17:43:23 +00:00
Jonathan Kelley
1560e2daca docs: add more docs 2022-01-11 01:11:47 -05:00
Jonathan Kelley
bdf234d728 docs: improve components and elements 2022-01-09 22:28:07 -05:00
Jonathan Kelley
d5b05d640b docs: add more doc 2022-01-07 21:56:44 -05:00
Dave Rolsky
31bd010226 Fix typo of Diane's name
Those two American kids are just growing up as fast as they can, huh?
2022-01-06 10:11:47 -06:00
Dave Rolsky
a9500f3413 Fix typo in PostList example in guide 2022-01-06 10:11:30 -06:00
Jonathan Kelley
427b126bc1 feat: add prevent default attribute and upgrade router 2022-01-05 16:34:24 -05:00
Jonathan Kelley
616227bd3d fix: release post link 2022-01-03 14:42:36 -05:00
Jonathan Kelley
3de776c42a docs: fix the reference code 2022-01-03 13:26:15 -05:00
Jonathan Kelley
cafb7df736 docs: remove all usages of static closure syntax and update readme 2022-01-02 18:35:38 -05:00
Jonathan Kelley
d1560450ba wip: remove runner on hook and then update docs 2022-01-02 02:15:04 -05:00
Jonathan Kelley
3dc0e59876 fix: readme and examples syntax 2021-12-28 23:48:25 -05:00
Jonathan Kelley
b3ac2ee3f7 wip: upgrade hooks 2021-12-27 15:03:43 -05:00
Jonathan Kelley
c0e0196a67 docs: update the docs 2021-12-26 14:22:40 -05:00
Jonathan Kelley
4de16c4779 docs: update local examples and docs to support new syntaxes 2021-12-15 15:56:53 -05:00
Jonathan Kelley
93d4b8ca7c wip: some docs and suspense 2021-11-23 15:53:57 -05:00
Jonathan Kelley
a5f05d73ac wip: docs and router 2021-11-19 00:49:04 -05:00
Jonathan Kelley
d298b626d3 wip: add router 2021-11-03 00:35:56 -04:00
Jonathan Kelley
9874f342e2 docs: more docs 2021-11-01 18:38:09 -04:00
Jonathan Kelley
5ffa60664c docs: update docs surrounding cx.render 2021-11-01 13:39:07 -04:00
Jonathan Kelley
12a9758c3c docs: new advanced guide 2021-10-29 16:37:55 -04:00
Jonathan Kelley
97a2c62804 docs: create a new "advanced" book 2021-10-29 00:40:36 -04:00