Mitchell Hanberg
b0a7f9da11
Extract helper module for creating elements
...
Also removes illegal `html` macros, which allows use to only define one
clause and remove some tests.
2019-08-20 21:01:07 -04:00
AJ Harrington
f3aabf8f59
Updated html macro to put a <!DOCTYPE html> before the <html /> tag ( #18 )
...
Removed html from the list of nonvoid tags. Implemented specifically
so the doctype declaration can be put in. Not sure if this or adding
an if block to check the tag was a better solution.
Added tests for the html macro to the tests since it would no longer
show up in nonvoid_elements list.
mix test passes
2019-08-19 19:53:17 -04:00
Shritesh Bhattarai
43f10cd0de
Add radio_button ( #14 )
2019-08-13 11:04:14 -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
0521aa2aad
Escape content passed to single arity tags
2019-08-07 21:08:16 -04:00
Mitchell Hanberg
c91d742ba7
Explicitly import Temple instead of using __MODULE__
2019-07-12 15:46:45 -04:00
Mitchell Hanberg
7ad4b0e941
Rename Temple.htm to Temple.temple
2019-07-08 22:29:41 -04:00
Mitchell Hanberg
d210d3bff5
Extract safe result from hidden fields within inputs_for/4
...
Also switches to using `with` instead of `lexical_scoping` because it is
more idiomatic.
2019-07-07 22:26:32 -04:00
Mitchell Hanberg
2929e6c7c3
Remove IO.inspect
2019-07-05 22:36:59 -04:00
Mitchell Hanberg
eabe9cdd9b
Fix collision of Temple.textarea and Phoenix.HTML.Form.textarea
2019-07-04 11:21:54 -04:00
Mitchell Hanberg
8daf85fdb3
Allow defcomponent to work with runtime values for assigns
...
Also allows tags and defcomponents to accept maps in addition to keyword
lists
2019-07-04 00:16:29 -04:00
Mitchell Hanberg
6c8246fe89
Touching up the docs
2019-07-03 22:09:39 -04:00
Mitchell Hanberg
cf0707f8aa
Fix mdn docs
2019-07-03 21:42:30 -04:00
Mitchell Hanberg
9278f7fb4e
Rename to Temple
2019-07-01 22:48:51 -04:00
Mitchell Hanberg
dbf8dce765
Phoenix generators for layout and html resource
2019-07-01 22:14:32 -04:00
Mitchell Hanberg
05b11b4bf5
Open put_open_tag up to numbers and atoms as well as binaries
2019-07-01 21:58:50 -04:00
Mitchell Hanberg
dd8edc025d
Add wrappe for Phoenix.Form.submit
2019-07-01 00:25:33 -04:00
Mitchell Hanberg
a372a64858
Fix block style phx_link macros
2019-07-01 00:25:13 -04:00
Mitchell Hanberg
fb5147ff97
Improve doc generation
...
- Downloads all the mdn documentation in parallel
- Enables the `--silent` flag for curl
- Aliases the docs mix task to run update_mdn_docs first
2019-06-30 21:59:38 -04:00
Mitchell Hanberg
b387106281
Fill in README
2019-06-30 14:40:29 -04:00
Mitchell Hanberg
52a27c3dc2
Fix phx_link, phx_button block style implementation
2019-06-30 14:28:44 -04:00
Mitchell Hanberg
883f0966ea
Add .travis.yml
2019-06-29 18:33:33 -04:00
Mitchell Hanberg
ee6674f8ca
Engine documentation
2019-06-29 18:14:22 -04:00
Mitchell Hanberg
1cb522d440
Wrap Phoenix.HTML.Link module
2019-06-29 18:14:05 -04:00
Mitchell Hanberg
6b55fc7665
Implement remaining from helpers
2019-06-01 00:02:49 -04:00
Mitchell Hanberg
6161d31614
Form module documentation
2019-05-11 23:11:07 -04:00
Mitchell Hanberg
f4dd5d70d7
Tags module documentation
2019-05-11 22:48:33 -04:00
Mitchell Hanberg
c80a858b48
Extra non-tags macros to Dsl module
2019-05-11 12:49:34 -04:00
Mitchell Hanberg
71e6c91c8f
Extract Form module and rename Html module to Tags
2019-05-10 15:56:09 -04:00
Mitchell Hanberg
80fadb1b15
Documentation for partial/1
2019-05-10 15:28:13 -04:00
Mitchell Hanberg
02e9971ef5
Don't generate math
macro
2019-05-10 15:27:59 -04:00
Mitchell Hanberg
c8eb8d48d4
Remove javascript macro
...
Javascript should be written like so
```
script """
console.log("hi");
"""
```
2019-05-10 15:13:57 -04:00
Mitchell Hanberg
15ac084aed
text/1 docs
2019-05-10 15:13:04 -04:00
Mitchell Hanberg
06cbdd80ff
form_for and text_input macros
2019-05-10 15:06:03 -04:00
Mitchell Hanberg
083ff0682e
Don't create an svg macro
2019-05-10 15:04:40 -04:00
Mitchell Hanberg
f65b11362c
Extra util functions to their own module
2019-05-08 22:26:19 -04:00
Mitchell Hanberg
db17577bb5
Document void and nonvoid element macros
...
The mix task will fetch the element documentation from MDN for each
element and include that in the documentation.
The main documentation for these macros will be in the moduledoc
2019-05-08 22:09:14 -04:00
Mitchell Hanberg
83b99d8a8a
Document htm macro
2019-05-08 22:07:23 -04:00
Mitchell Hanberg
0ad883dfcb
Add formatter config for locals_without_parens
2019-05-08 03:47:43 -04:00
Mitchell Hanberg
d81029c9be
Enable passing content or attrs as variables
...
Before, the guards in the macro definitions would only work for content
or attributes that were passed in as literals.
2019-05-08 03:31:13 -04:00
Mitchell Hanberg
6c6bd8dd3b
Phoenix template engine
2019-04-28 22:25:57 -04:00
Mitchell Hanberg
f62abac8c5
dont import HTML.link as it conflicts with the link tag
2019-04-28 20:50:24 -04:00
Mitchell Hanberg
72db6378c8
Fix runtime attrs for void elements
2019-04-28 20:08:26 -04:00
Mitchell Hanberg
d6ed780949
Allow passing content as first arg instead of block
2019-04-27 11:46:02 -04:00
Mitchell Hanberg
53ede43000
Compile attrs at runtime to enable interpolation
2019-04-27 11:45:20 -04:00
Mitchell Hanberg
48c5eacf25
Rename component to defcomponent
2019-04-27 11:44:08 -04:00
Mitchell Hanberg
e1c54ff09d
Output htm output as raw
...
This should probably be moved to the phoenix engine once that is started
2019-04-27 11:24:17 -04:00
Mitchell Hanberg
cada669071
Allow Components to take props + other stuff
...
- Don't allow htm to take safe option
- Always escape calls to `text`
2019-04-26 16:59:43 -04:00
Mitchell Hanberg
8e1ae6cf11
Rename deftag to component
2019-04-15 18:37:13 -04:00
Mitchell Hanberg
3e3d17c1b9
add html nonvoid element
2019-04-15 18:36:36 -04:00