Commit graph

39 commits

Author SHA1 Message Date
Mitchell Hanberg f942817994
Utilize the EEx Engine instead of creating an EEx string (#177) 2022-04-19 23:56:46 -04:00
Mitchell Hanberg c6d29e592b Bump v0.8.0 2021-08-29 18:11:24 -04:00
Mitchell Hanberg 0715a514c5 Bump v0.7.0 2021-06-27 12:05:45 -04:00
Mitchell Hanberg d9f00e5147
Class object syntax (#140)
* Class object syntax

Allows for conditionally setting classes on an element.

* Docs for class bindings
2021-06-27 12:04:19 -04:00
Mitchell Hanberg 9d05f74cdf
Properly emit boolean attributes (#139)
* Update some docs

* Properly emit boolean attributes.

* Account for quoted literals when compiling attributes

* Update changelog
2021-06-26 21:47:21 -04:00
Mitchell Hanberg fb5f0a99f4 Bump v0.6.2 2021-06-03 23:14:58 -04:00
Mitchell Hanberg 006886fa5e Bump v0.6.1 2021-05-23 14:01:25 -04:00
Mitchell Hanberg 15a999d8f3 Only collect slots in the root of a component
slot definitions in a component instance can only exist in the root of
that component, with root being defined as the lexical scoping of the
slot still being the component it's defined in.

Fixes #126
2021-05-23 13:56:05 -04:00
Mitchell Hanberg 301963f06b Bump v0.6.0 2021-05-22 01:13:58 -04:00
Mitchell Hanberg 0b55cf1cec Bump v0.6.0-rc.1 2021-05-13 00:31:00 -04:00
Mitchell Hanberg fe3aed5df7 Some cleanup 2021-04-09 00:16:30 -04:00
Mitchell Hanberg e97302149b rename default branch 2021-01-02 13:34:19 -05:00
Mitchell Hanberg c4059b3a6e Bump v0.6.0-rc.0 2021-01-02 13:24:49 -05:00
Mitchell Hanberg ced2f6ab66 feat: New Component API 2021-01-02 13:22:03 -05:00
Mitchell Hanberg aa9a7dd578 Update changelog 2020-11-04 20:11:26 -05:00
Mitchell Hanberg 265c413960 Allow element attrs to be evaluated at runtime
Before this change, only keyword list literals could be passed to
elements. If they had non-literals as values, then those would compile
to EEx expressions.

This allows a non-literal to be passed as attrs and have the entire thing
compile to an EEx expression, which will pass the non-literal to a
"runtime_attrs" function, which evaluates a keyword list into a safe
string.

That last part might need to be reworked if the user is not using
the Phoenix.HTML.Engine EEx Engine.
2020-08-09 10:07:27 -04:00
Mitchell Hanberg 7be82e003f Module based Component API 2020-07-24 15:54:38 -04:00
Mitchell Hanberg 7bf649c4b5 Correctly parse do blocks
Did not correctly parse expressions with do blocks
where the expression had two or more arguments before
the block.
2020-07-22 21:34:50 -04:00
Mitchell Hanberg 2206aa62fe Bump v0.6.0-alpha.4 2020-07-16 00:21:25 -04:00
Mitchell Hanberg 1f599f5f6d Handle expressions with do blocks that aren't if/unless/for 2020-07-15 23:23:12 -04:00
Mitchell Hanberg a2917d3bae Update changelog 2020-07-15 22:40:46 -04:00
Mitchell Hanberg 4498eabedb Context/LiveView generator 2020-06-30 20:43:04 -04:00
Mitchell Hanberg 33c95186fb
Compile to EEx (#80)
Code is gross
2020-06-16 15:28:21 -04:00
Mitchell Hanberg 25284988bb Bump v0.5.0 2020-04-14 10:40:19 -04:00
Mitchell Hanberg 7376ce5d34 Bump v0.4.4 2020-04-14 10:39:47 -04:00
Mitchell Hanberg fb0359fa8c Bump v0.4.3 2020-01-07 23:49:51 -05:00
Mitchell Hanberg 71bddc6346 Bump v0.4.2 2019-11-22 22:55:57 -05:00
Mitchell Hanberg d2e8a45094 Bump v0.4.1 2019-09-25 19:23:00 -04:00
Mitchell Hanberg 86f5656b46 Bump v0.4.0 2019-09-13 21:38:53 -04:00
Mitchell Hanberg 5acd6fc079
Svg module (#25)
* Temple.Svg

- scopes update_mdn_task to the temple namespace
- introduces new temple.convert mix task to convert plain HTML and SVG to
  Temple syntax

* Rename Temple.Tags to Temple.Html

* Remove hackney

I'm not sure why it was even in there ¯\_(ツ)_/¯

* Update floki

* Document temple.convert in README
2019-09-13 21:36:16 -04:00
Mitchell Hanberg 9e4f56dd95 Bump v0.3.1 2019-08-27 22:09:22 -04:00
Mitchell Hanberg 451f5d4859 Bump v0.3.0 2019-08-20 23:32:14 -04:00
Mitchell Hanberg 3a52b2d7e7 Update changelog 2019-08-20 23:17:46 -04:00
Mitchell Hanberg a20900a281 Bump v0.2.0 2019-08-13 18:28:28 -04:00
Shritesh Bhattarai 43f10cd0de Add radio_button (#14) 2019-08-13 11:04:14 -04:00
Mitchell Hanberg 408dfdc6c7 Bump v0.1.2 2019-08-10 01:10:45 -04:00
Mitchell Hanberg eb0fde6e83
Don't recursively call generated component macros (#12)
Recursively calling the macros works fine if you `import` the whole
module wherever you are using your components, but not if you `require`
the module.

This is because importing brings in the all the macros into the callers
namespace, which allows them to be called just by the macro name. When
you `require` the module, it will look for the generated 2-arity macro
in the callers namespace, which probably doesn't exist.

We get around this by not recursively calling them and avoiding the
problem all togther. A few utility functions solves the original issue
of wanting to DRY the file.
2019-08-10 01:09:24 -04:00
Mitchell Hanberg 030e0f9d3c Bump v0.1.1 2019-08-08 09:01:28 -04:00
Mitchell Hanberg 03e35f858c Finishing touches 2019-07-03 20:57:19 -04:00