/* * Copyright (c) 2019-2020, Sergey Bugaev * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace Markdown { class Paragraph final : public Block { public: class Line { public: explicit Line(Text&& text) : m_text(move(text)) { } static OwnPtr parse(Vector::ConstIterator& lines); const Text& text() const { return m_text; } private: Text m_text; }; Paragraph(NonnullOwnPtrVector&& lines) : m_lines(move(lines)) { } virtual ~Paragraph() override { } virtual String render_to_html() const override; virtual String render_for_terminal(size_t view_width = 0) const override; private: NonnullOwnPtrVector m_lines; }; }