Paragraph.cpp 921 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Copyright (c) 2019-2020, Sergey Bugaev <bugaevc@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <AK/StringBuilder.h>
  7. #include <LibMarkdown/Paragraph.h>
  8. #include <LibMarkdown/Visitor.h>
  9. namespace Markdown {
  10. String Paragraph::render_to_html(bool tight) const
  11. {
  12. StringBuilder builder;
  13. if (!tight)
  14. builder.append("<p>");
  15. builder.append(m_text.render_to_html());
  16. if (!tight)
  17. builder.append("</p>");
  18. builder.append('\n');
  19. return builder.build();
  20. }
  21. String Paragraph::render_for_terminal(size_t) const
  22. {
  23. StringBuilder builder;
  24. builder.append(m_text.render_for_terminal());
  25. builder.append("\n\n");
  26. return builder.build();
  27. }
  28. RecursionDecision Paragraph::walk(Visitor& visitor) const
  29. {
  30. RecursionDecision rd = visitor.visit(*this);
  31. if (rd != RecursionDecision::Recurse)
  32. return rd;
  33. return m_text.walk(visitor);
  34. }
  35. }