Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Death to htmlify! Overhaul of inline text parsing & substitutions #46

Merged
merged 2 commits into from
Dec 31, 2012

Conversation

mojavelinux
Copy link
Member

This PR is a major step forward for Asciidoctor because it removes all remaining hardcoded HTML and opens the door for docbook output (all that remains is creating those templates). With the substitutions more organized, declarative configuration, extension & customization should fall right into place.

...and to add icing to the cake, it runs even faster than before.

Here's a summary of the modifications:

  • inline text is rendered using templates
  • create a common parent AbstractNode for all structured elements
  • create a common parent AbstractBlock for section, block and list item
  • create an Inline element for inline rendering
  • correct quoted text substitutions to be fully compliant w/ AsciiDoc
  • implement inline image macro
  • implement inline passthrough macros (using extract & restore)
  • add template for line break & callout
  • add replacements substitution (for symbols like copyright, trademark, etc)
  • substitute attributes in attribute values
  • pull regexs for inline parsing into Asciidoctor module
  • more robust regex for anchors and attribute lines
  • double-line heading should not be allowed to start w/ a dot
  • load tilt lazily (don't need to load if using built-in templates)
  • remove import of unused cgi library
  • optimized some regexs
  • lots 'o tests
  • more TomDoc

Happy New Year! 馃帄

- death to htmlify, no more hardcoded html!
  inline text is rendered using templates
- create a common parent AbstractNode for all structured elements
- create a common parent AbstractBlock for section, block and list item
- create an Inline element for inline rendering
- correct quoted text substitutions to be fully compliant w/ AsciiDoc
- implement inline image macro
- implement inline passthrough macros (using extract & restore)
- add template for line break & callout
- add replacements substitution (for symbols like copyright, trademark, etc)
- substitute attributes in attribute values
- pull regexs for inline parsing into Asciidoctor module
- more robust regex for anchors and attribute lines
- double-line heading should not be allowed to start w/ a dot
- load tilt lazily (don't need to load if using built-in templates)
- remove import of unused cgi library
- optimized some regexs
- lots 'o tests
- more TomDoc
@erebor
Copy link
Member

erebor commented Dec 31, 2012

AH-mazing. 馃殌

erebor added a commit that referenced this pull request Dec 31, 2012
Death to htmlify! Overhaul of inline text parsing & substitutions
@erebor erebor merged commit c825121 into asciidoctor:master Dec 31, 2012
@mojavelinux
Copy link
Member Author

Thanks Ryan! Thank you, too, for working with me throughout the holidays to keep things moving. It's been a great season. I look forward to what is to come in 2013! Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants