HorizontalRule.h 775 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
  3. * Copyright (c) 2022, the SerenityOS developers.
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #pragma once
  8. #include <AK/OwnPtr.h>
  9. #include <AK/StringView.h>
  10. #include <AK/Vector.h>
  11. #include <LibMarkdown/Block.h>
  12. #include <LibMarkdown/LineIterator.h>
  13. namespace Markdown {
  14. class HorizontalRule final : public Block {
  15. public:
  16. HorizontalRule() = default;
  17. virtual ~HorizontalRule() override = default;
  18. virtual ByteString render_to_html(bool tight = false) const override;
  19. virtual Vector<ByteString> render_lines_for_terminal(size_t view_width = 0) const override;
  20. virtual RecursionDecision walk(Visitor&) const override;
  21. static OwnPtr<HorizontalRule> parse(LineIterator& lines);
  22. };
  23. }