- Update dependencies
- Implement template fragments
- Add direct iteration using the
_for
attribute
- Add support for Array attribute values
- Add Tilt integration (#15)
- Add
HTML#import_map
,HTML#js_module
methods
- Fix rendering of HTML void element tags
- Add support for namespaced local extensions using
#extend
- Implement
#def_tag
for defining custom tags inline
- Fix usage of const components (#13)
- Fix formatting of HTML/XML attributes for non-string values
- Remove unused
Encoding
module - Add SOAP extension (#11, thanks @aemadrid)
- Fix behaviour of call to
#p
in an extension (#10)
- Refactor and improve documentation
- Add support for XML namespaced tags and attributes (#9)
- Move and refactor HTML/XML common code to Tags module
- Rename
Papercraft::Component
toPapercraft::Template
- Cleanup and update examples
- Fix behaviour of #emit with block
- Improve README
- Refactor markdown code, add
Papercraft.markdown
method (#8)
- Implement JSON templating (#7)
- Add support for MIME types (#6)
- Change entrypoint from
Kernel#H
,Kernel#X
toPapercraft.html
,.xml
(#5)
- Fix tag method line reference
- Don't clobber ArgumentError exception
- Add support for #emit_yield in applied component (#4)
- Add support for partial parameter application (#3)
- Improve documentation
- Add
Renderer#tag
method - Add
HTML#style
,HTML#script
methods
- Add deferred evaluation
- Fix tag rendering with empty text in Ruby 3.0
- Add support for extensions
- Add support for emitting Markdown
- Add support for passing proc as argument to
#H
and#X
- Deprecate
Encoding
module
- Fix gemspec
- Cleanup and refactor code
- Add Papercraft.xml global method for XML templates
- Make
Component
a descendant ofProc
- Introduce new component API
- Rename Rubyoshka to Papercraft
- Convert underscores to dashes for tag and attribute names (@jaredcwhite)
- Add
#emit_yield
for rendering layouts - Add experimental template compilation (WIP)
- Remove support for Ruby 2.6
- Fix Rubyoshka on Ruby 3.0
- Refactor and add more tests
- Add support for rendering XML
- Add Rubyoshka.component method
- Remove Modulation dependency
- Add support for emitting component modules
- Implement caching
- Improve performance
- Handle attributes with
false
value correctly
- Better documentation
- Fix #text
- Add local context
- First working version