From 8392c894d2f714377214731673190958d4c09860 Mon Sep 17 00:00:00 2001 From: Thorsten Claus Date: Sat, 4 Sep 2021 18:43:18 +0200 Subject: [PATCH 1/5] ensure ./log folder exists closes #8287 --- Changelog.md | 1 + log/.gitkeep | 0 2 files changed, 1 insertion(+) create mode 100644 log/.gitkeep diff --git a/Changelog.md b/Changelog.md index 5b743dc28..64acd3d04 100644 --- a/Changelog.md +++ b/Changelog.md @@ -8,6 +8,7 @@ * Replace uglifier with terser for JS compression [#8268](https://github.com/diaspora/diaspora/pull/8268) ## Bug fixes +* Ensure the log folder exists [#8287](https://github.com/diaspora/diaspora/pull/8287) ## Features * Add tags to tumblr posts [#8244](https://github.com/diaspora/diaspora/pull/8244) diff --git a/log/.gitkeep b/log/.gitkeep new file mode 100644 index 000000000..e69de29bb From 28f03f0a1156fe534cd77a4e99eb2c30fb147b31 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Mon, 16 Aug 2021 01:32:55 +0200 Subject: [PATCH 2/5] Cleanup person_by_handle route I think this is a leftover from a long time ago and I can't find anything that still uses that closes #8280 --- app/controllers/people_controller.rb | 9 --------- config/routes.rb | 4 ---- 2 files changed, 13 deletions(-) diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb index 9d33cf338..f03036e10 100644 --- a/app/controllers/people_controller.rb +++ b/app/controllers/people_controller.rb @@ -113,15 +113,6 @@ class PeopleController < ApplicationController end end - def retrieve_remote - if params[:diaspora_handle] - Workers::FetchWebfinger.perform_async(params[:diaspora_handle]) - head :ok - else - head :unprocessable_entity - end - end - private def find_person diff --git a/config/routes.rb b/config/routes.rb index 73bd3a383..a7a5af2de 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -181,10 +181,6 @@ Rails.application.routes.draw do resources :photos, except: %i(new update) get :stream get :hovercard - - collection do - post 'by_handle' => :retrieve_remote, :as => 'person_by_handle' - end end # Note: The contraint for this route's username parameter cannot be removed. From 122e12a0689856f0da227603d0bfe04bb5a814a3 Mon Sep 17 00:00:00 2001 From: Thorsten Claus Date: Sat, 31 Jul 2021 08:56:39 +0200 Subject: [PATCH 3/5] #7960 Add support for Markdown footnote syntax --- Gemfile | 5 +++-- Gemfile.lock | 2 ++ app/assets/javascripts/app/helpers/text_formatter.js | 3 +++ app/assets/javascripts/main.js | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 395ccf4de..7d7dec401 100644 --- a/Gemfile +++ b/Gemfile @@ -103,10 +103,11 @@ source "https://gems.diasporafoundation.org" do gem "rails-assets-highlightjs", "9.12.0" gem "rails-assets-markdown-it", "8.4.2" - gem "rails-assets-markdown-it-hashtag", "0.4.0" gem "rails-assets-markdown-it-diaspora-mention", "1.2.0" - gem "rails-assets-markdown-it-sanitizer", "0.4.3" + gem "rails-assets-markdown-it-footnote", "3.0.3" + gem "rails-assets-markdown-it-hashtag", "0.4.0" gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1" + gem "rails-assets-markdown-it-sanitizer", "0.4.3" gem "rails-assets-markdown-it-sub", "1.0.0" gem "rails-assets-markdown-it-sup", "1.0.0" diff --git a/Gemfile.lock b/Gemfile.lock index 5c5639f9f..9360b63d9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -577,6 +577,7 @@ GEM rails-assets-markdown-it--markdown-it-for-inline (0.1.1) rails-assets-markdown-it (8.4.2) rails-assets-markdown-it-diaspora-mention (1.2.0) + rails-assets-markdown-it-footnote (3.0.3) rails-assets-markdown-it-hashtag (0.4.0) rails-assets-markdown-it-sanitizer (0.4.3) rails-assets-markdown-it-sub (1.0.0) @@ -890,6 +891,7 @@ DEPENDENCIES rails-assets-markdown-it (= 8.4.2)! rails-assets-markdown-it--markdown-it-for-inline (= 0.1.1)! rails-assets-markdown-it-diaspora-mention (= 1.2.0)! + rails-assets-markdown-it-footnote (= 3.0.3)! rails-assets-markdown-it-hashtag (= 0.4.0)! rails-assets-markdown-it-sanitizer (= 0.4.3)! rails-assets-markdown-it-sub (= 1.0.0)! diff --git a/app/assets/javascripts/app/helpers/text_formatter.js b/app/assets/javascripts/app/helpers/text_formatter.js index 753590664..c9a302fe9 100644 --- a/app/assets/javascripts/app/helpers/text_formatter.js +++ b/app/assets/javascripts/app/helpers/text_formatter.js @@ -16,6 +16,9 @@ typographer: true }); + var footnote = window.markdownitFootnote; + md.use(footnote); + var inlinePlugin = window.markdownitForInline; md.use(inlinePlugin, "utf8_symbols", "text", function (tokens, idx) { tokens[idx].content = tokens[idx].content.replace(/<->/g, "↔") diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index e359ad7c2..a1a65d610 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -23,6 +23,7 @@ //= require markdown-it //= require markdown-it-diaspora-mention //= require markdown-it-for-inline +//= require markdown-it-footnote //= require markdown-it-hashtag //= require markdown-it-sanitizer //= require markdown-it-sub From c71caa5cb8479686a1ca3cac7521f2047de3cb0b Mon Sep 17 00:00:00 2001 From: Thorsten Claus Date: Sat, 31 Jul 2021 23:34:25 +0200 Subject: [PATCH 4/5] #7960 Add support for Markdown footnote syntax in Mobile view Splitting stripdown and markdownify options, because the footnote option seems to let the Redcarpet::Render::StripDown function crash --- lib/diaspora/message_renderer.rb | 43 +++++++++++++++++++------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/lib/diaspora/message_renderer.rb b/lib/diaspora/message_renderer.rb index 0072cbd57..84176d72f 100644 --- a/lib/diaspora/message_renderer.rb +++ b/lib/diaspora/message_renderer.rb @@ -50,7 +50,7 @@ module Diaspora end def strip_markdown - renderer = Redcarpet::Markdown.new Redcarpet::Render::StripDown, options[:markdown_options] + renderer = Redcarpet::Markdown.new Redcarpet::Render::StripDown, options[:stripdown_options] @message = renderer.render(message).strip end @@ -105,26 +105,35 @@ module Diaspora end end - DEFAULTS = {mentioned_people: [], - link_all_mentions: false, - disable_hovercards: false, - truncate: false, - append: nil, - append_after_truncate: nil, - squish: false, - escape: true, - escape_tags: false, - markdown_options: { - autolink: true, + DEFAULTS = {mentioned_people: [], + link_all_mentions: false, + disable_hovercards: false, + truncate: false, + append: nil, + append_after_truncate: nil, + squish: false, + escape: true, + escape_tags: false, + stripdown_options: { + autolink: true, fenced_code_blocks: true, space_after_headers: true, - strikethrough: true, - tables: true, - no_intra_emphasis: true, + strikethrough: true, + tables: true, + no_intra_emphasis: true + }, + markdown_options: { + autolink: true, + fenced_code_blocks: true, + space_after_headers: true, + strikethrough: true, + footnotes: true, + tables: true, + no_intra_emphasis: true }, markdown_render_options: { - filter_html: true, - hard_wrap: true, + filter_html: true, + hard_wrap: true, safe_links_only: true }}.freeze From 8f9ac33649e4d711ad2d39cd8994fe9c824a9902 Mon Sep 17 00:00:00 2001 From: Thorsten Claus Date: Sun, 22 Aug 2021 18:22:58 +0200 Subject: [PATCH 5/5] Using shared markdown options for plain text fixes #7960 closes #8277 --- Changelog.md | 1 + lib/diaspora/message_renderer.rb | 12 +++--------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Changelog.md b/Changelog.md index 64acd3d04..48d7aab0a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,6 +14,7 @@ * Add tags to tumblr posts [#8244](https://github.com/diaspora/diaspora/pull/8244) * Add blocks to the archive export [#8263](https://github.com/diaspora/diaspora/pull/8263) * Allow points and dashes in the username [#8266](https://github.com/diaspora/diaspora/pull/8266) +* Add support for footnotes in markdown [#8277](https://github.com/diaspora/diaspora/pull/8277) # 0.7.15.0 diff --git a/lib/diaspora/message_renderer.rb b/lib/diaspora/message_renderer.rb index 84176d72f..d3f0e0232 100644 --- a/lib/diaspora/message_renderer.rb +++ b/lib/diaspora/message_renderer.rb @@ -50,7 +50,9 @@ module Diaspora end def strip_markdown - renderer = Redcarpet::Markdown.new Redcarpet::Render::StripDown, options[:stripdown_options] + # Footnotes are not supported in text-only outputs (mail, crossposts etc) + stripdown_options = options[:markdown_options].except(:footnotes) + renderer = Redcarpet::Markdown.new Redcarpet::Render::StripDown, stripdown_options @message = renderer.render(message).strip end @@ -114,14 +116,6 @@ module Diaspora squish: false, escape: true, escape_tags: false, - stripdown_options: { - autolink: true, - fenced_code_blocks: true, - space_after_headers: true, - strikethrough: true, - tables: true, - no_intra_emphasis: true - }, markdown_options: { autolink: true, fenced_code_blocks: true,