Commit Graph
75 Commits
Author SHA1 Message Date
Evan Almloff 8f67d0aafd make creating rsx nodes from macros possible 2023-06-29 12:52:27 -07:00
Evan Almloff 7b1f0c9412 Merge branch 'master' into router-typesafe 2023-06-28 08:56:07 -07:00
Evan Almloff d9e0b9a918 fix autoformatting raw strings 2023-06-02 12:03:56 -05:00
Evan Almloff 7be8ec3467 Fix html to rsx conversions 2023-04-24 16:07:50 -05:00
Jonathan Kelley d658f50141 publish autofmt 2023-03-24 09:34:40 -07:00
Jonathan Kelley f664ce8fe0 Merge branch 'master' of github.com:DioxusLabs/dioxus 2023-02-22 13:06:41 -08:00
Jonathan Kelley ab0023129d bump rsx 2023-02-22 12:22:45 -08:00
Evan Almloff a51f67c2ec add version to docs links in readmes 2023-02-18 18:38:30 -06:00
Jon Kelley 4f0f2484fd Merge pull request #774 from Demonthos/update-doc-links
Update guide doc links
2023-02-17 11:53:15 -08:00
Evan Almloff b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Jonathan Kelley 4e4e101eee fix: dont choke on emojji n exprs 2023-01-17 16:24:29 -08:00
Jonathan Kelley 61b8a25ad8 make clippy happy 2023-01-17 10:51:23 -08:00
Jonathan Kelley b81eca0433 fix: short expr lists should not eat the final exprs 2023-01-16 17:25:55 -08:00
Jonathan Kelley b6e4db1f2f fix: immediate exprs 2023-01-16 16:36:50 -08:00
Evan Almloff 3f3db39c28 update doc links 2023-01-15 15:18:12 -06:00
Jonathan Kelley aa0f6812fa fix ci around autofmt 2023-01-14 00:42:43 -08:00
Jonathan Kelley 270de7a0d2 fmt 2023-01-13 18:03:16 -08:00
Jonathan Kelley 3945928c59 fix: adjust padding on autofmt 2023-01-13 17:16:06 -08:00
Jonathan Kelley 0b110075ef chore: remvoe todos hiding in autofmt 2023-01-13 17:05:45 -08:00
Jonathan Kelley 9f9bcd747a chore: fewer clones in autoformat infrastructure 2023-01-13 16:58:53 -08:00
Jonathan Kelley ea032eeb8e clean up macro crate a little bit 2023-01-13 16:52:37 -08:00
Jonathan Kelley ac6035cb2a feat: parse entire file instead of hunting for verbtain 2023-01-13 16:46:34 -08:00
Jonathan Kelley bf559a6d06 fix clippy 2023-01-13 10:59:03 -08:00
Jonathan Kelley 6cd87796f2 feat: allow ifchains and for loops 2023-01-13 10:51:12 -08:00
Jonathan Kelley 8ec5cbcc20 fix ci 2023-01-12 22:54:50 -08:00
Jonathan Kelley 293ef9c690 fix: only flow exprs with indent in mind 2023-01-12 17:02:41 -08:00
Jonathan Kelley 983789e4c5 handle weird trailing whitespace in autofmt 2023-01-12 16:55:13 -08:00
Jonathan Kelley cc8b910cf3 fix emoji support in autofmt 2023-01-12 16:29:31 -08:00
Jon Kelley e5b39bb61f Merge pull request #744 from Demonthos/update-readmes
Update READMEs and tags for the 0.3 release
2023-01-10 18:21:55 -08:00
Jonathan Kelley 1940855e39 feat: implement comments in zero children nodes 2023-01-10 17:47:58 -08:00
Evan Almloff 52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley 74421d47fd fix comments being eaten in autofmt 2023-01-07 14:09:32 -08:00
Jonathan Kelley 7f01f61138 feat: publish 0.3 versions of many crates 2023-01-04 14:31:07 -05:00
Jonathan Kelley 4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Jonathan Kelley 5c63ae4b5d chore: dont panic 2022-12-29 01:02:07 -05:00
Jonathan Kelley bc3cf6501c feat: complete html to rsx rosetta 2022-12-28 16:22:20 -05:00
Jonathan Kelley 14bc007c15 wip: refactor out translation into its own crate 2022-12-28 11:51:41 -05:00
Jonathan Kelley c240aebfa1 chore: start instead of flart 2022-12-26 09:58:41 -05:00
Jonathan Kelley 4e330bc1ec chore: fix rsx printer 2022-12-19 16:20:02 -08:00
Jonathan Kelley 182f11d0f3 chore: update with master 2022-12-19 16:17:59 -08:00
Jonathan Kelley 09b38574db Merge branch 'master' into jk/autofmt-fixues 2022-12-19 12:19:51 -08:00
David Craven 99dafdb8ee Build failure on master. (#627)
* Build failure on master.

* Fix ci failure.

* Fix test.

* Ignore broken tests.

* Fix doctests.
2022-11-22 09:56:15 -08:00
Jon Kelley fb2f3e68ff fix: random commit (#586) 2022-10-08 23:07:20 -07:00
Jonathan Kelley 03bc63dacc wip: wire up bodynodes in more places 2022-10-05 01:13:14 -07: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
Jonathan Kelley 181a51a63b wip: add whitespace parsing to rsx 2022-09-30 10:51:53 -07:00
Jonathan Kelley 5313fc0cc6 fix: trailing commas with key 2022-09-28 17:06:11 -07:00
Jonathan Kelley a37458b9fa chore: fixes to autoformat to prevent double rendering of expr line 2022-09-28 16:47:10 -07:00
Jon Kelley 67dc6e6017 feat: implement type magic to allow strings, format args, and other types directly in rsx (#550)
* feat: implement type magic

* chore: undo example

* fix: let tests pass

* chore: add generic to allow any nesting of iterators

* Chore: remove comments

* chore: update rsx usage

* chore: use cleaner version of generic IntoVnode

* chore: don't derive default for lfietimed thing

* chore: remove latent comment

* fix: accept a third parameter
2022-09-12 22:49:04 -07: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