added a new item content type: markdown

- emacs editor has an option to select markdown, now it has two planes: one for content editing and the other to show preview
- CodeMirror editor updated to 5.64.0
- to convert markdown to html we use showdown https://github.com/showdownjs/showdown (conversion is done on the client side)
This commit is contained in:
2021-11-26 21:49:21 +01:00
parent 119497bb01
commit 35cb54324f
8 changed files with 355 additions and 73 deletions

View File

@@ -94,6 +94,7 @@ public:
ct_html,
ct_bbcode,
ct_other, // no auto-formatting is applied
ct_markdown,
};
@@ -278,6 +279,8 @@ public:
static void print_content(HtmlTextStream & out, const pt::WTextStream & content, ItemContent::ContentType content_type, bool is_html_filter_on);
static void print_content(HtmlTextStream & out, const std::wstring & content, ItemContent::ContentType content_type, bool is_html_filter_on);
void print_content(HtmlTextStream & str);
bool CanContentBeHtmlFiltered();
bool has_read_access(const User * current_user) const;
@@ -304,6 +307,9 @@ public:
bool is_link_to() const;
bool is_link_redirect() const;
static ContentType get_content_type_from_str(const wchar_t * str);
static ContentType get_content_type_from_str(const std::wstring & str);
protected:
bool do_migration_to_1();