{"post_stream":{"posts":[{"id":735230,"name":"Szabolcs","username":"szhorvat","avatar_template":"/user_avatar/meta.discourse.org/szhorvat/{size}/154711_2.png","created_at":"2020-04-17T12:27:30.469Z","cooked":"\u003cp\u003eWe have a discourse forum for a scientific software, and use the math plugin. Unfortunately, math is not quotable.\u003c/p\u003e\n\u003cp\u003eIf I select some text, a Quote button appears:\u003c/p\u003e\n\u003cp\u003e\u003cdiv class=\"lightbox-wrapper\"\u003e\u003ca class=\"lightbox\" href=\"https://d11a6trkgmumsb.cloudfront.net/original/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d.png\" data-download-href=\"/uploads/short-url/tboO7OrXDFBnLiJP2lnfD8Wbsnj.png?dl=1\" title=\"image\" rel=\"noopener nofollow ugc\"\u003e\u003cimg src=\"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_690x168.png\" alt=\"image\" data-base62-sha1=\"tboO7OrXDFBnLiJP2lnfD8Wbsnj\" width=\"690\" height=\"168\" srcset=\"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_690x168.png, https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_1035x252.png 1.5x, https://d11a6trkgmumsb.cloudfront.net/original/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d.png 2x\" data-small-upload=\"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_10x10.png\"\u003e\u003cdiv class=\"meta\"\u003e\n\u003csvg class=\"fa d-icon d-icon-far-image svg-icon\" aria-hidden=\"true\"\u003e\u003cuse xlink:href=\"#far-image\"\u003e\u003c/use\u003e\u003c/svg\u003e\u003cspan class=\"filename\"\u003eimage\u003c/span\u003e\u003cspan class=\"informations\"\u003e1328×324 27.5 KB\u003c/span\u003e\u003csvg class=\"fa d-icon d-icon-discourse-expand svg-icon\" aria-hidden=\"true\"\u003e\u003cuse xlink:href=\"#discourse-expand\"\u003e\u003c/use\u003e\u003c/svg\u003e\n\u003c/div\u003e\u003c/a\u003e\u003c/div\u003e\u003c/p\u003e\n\u003cp\u003eClicking it results in the following:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e[quote]\ndefinition of the closeness centrality:\n\nci=1N−1N∑j=11dij c_i = \\frac{1}{N-1} \\sum_{j=1}^N\\frac{1}{d_{ij}}\n[/quote]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNotice that in the quotation, the math appeared as a weird textual version (unreadable) followed by the actual LaTeX source, but lacking the \u003ccode\u003e$\u003c/code\u003e delimiters.\u003c/p\u003e\n\u003cp\u003eI assume that there is no fix for this currently. It would be nice if this could be improved in the future.\u003c/p\u003e","post_number":1,"post_type":1,"posts_count":5,"updated_at":"2021-05-05T02:36:53.987Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":42,"reads":90,"readers_count":89,"score":468.0,"yours":false,"topic_id":148342,"topic_slug":"math-should-be-quotable","display_username":"Szabolcs","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":2,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"link_counts":[{"url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d.png","internal":false,"reflection":false,"title":"cc88f2105465865d05d7d0cbb51236638c4f2c9d.png","clicks":0}],"read":true,"user_title":null,"bookmarked":false,"actions_summary":[{"id":2,"count":8}],"moderator":false,"admin":false,"staff":false,"user_id":69152,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"post_url":"/t/math-should-be-quotable/148342/1","locale":"en","is_localized":false,"language":"en","activity_pub_enabled":true,"activity_pub_delivered_at":null,"activity_pub_scheduled_at":null,"activity_pub_published_at":null,"activity_pub_deleted_at":null,"activity_pub_updated_at":null,"activity_pub_visibility":"public","activity_pub_local":true,"activity_pub_url":"https://meta.discourse.org/t/math-should-be-quotable/148342/1","activity_pub_domain":null,"activity_pub_object_type":"Note","activity_pub_first_post":true,"activity_pub_object_id":null,"boosts":[],"can_boost":false,"event":null,"calendar_details":[],"customer_flair_customer":null,"direct_reply_count":0,"reactions":[{"id":"heart","type":"emoji","count":8}],"current_user_reaction":null,"reaction_users_count":8,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null,"can_vote":true},{"id":930611,"name":"Matt Bauman","username":"mbauman","avatar_template":"/user_avatar/meta.discourse.org/mbauman/{size}/139835_2.png","created_at":"2021-05-04T19:50:50.976Z","cooked":"\u003cp\u003eThis is still occurring and also happens with inline math, as reported by a member on our instance:\u003c/p\u003e\n\u003caside class=\"onebox allowlistedgeneric\"\u003e\n  \u003cheader class=\"source\"\u003e\n      \u003cimg src=\"https://d11a6trkgmumsb.cloudfront.net/original/3X/a/a/aa21d0565071470ae4c347ef1c485e432d53b9c1.png\" class=\"site-icon\" width=\"32\" height=\"32\"\u003e\n      \u003ca href=\"https://discourse.julialang.org/t/quoting-posts-with-latex-equations/60542\" target=\"_blank\" rel=\"noopener nofollow ugc\" title=\"07:00PM - 04 May 2021\"\u003eJuliaLang – 4 May 21\u003c/a\u003e\n  \u003c/header\u003e\n  \u003carticle class=\"onebox-body\"\u003e\n    \u003cdiv class=\"aspect-image\" style=\"--aspect-ratio:408/263;\"\u003e\u003cimg src=\"https://d11a6trkgmumsb.cloudfront.net/original/3X/1/2/12829a7ba92b924d4ce81099cbf99785bee9b405.png\" class=\"thumbnail\" width=\"408\" height=\"263\"\u003e\u003c/div\u003e\n\n\u003ch3\u003e\u003ca href=\"https://discourse.julialang.org/t/quoting-posts-with-latex-equations/60542\" target=\"_blank\" rel=\"noopener nofollow ugc\"\u003eQuoting posts with LaTeX equations?\u003c/a\u003e\u003c/h3\u003e\n\n\u003cp\u003eI’ve noticed that if you try to quote a post with LaTeX equations, e.g. $O(n^3)$ for O(n^3), in the quoted text it gets mangled to something like O(n3)O(n^3).   It would be nice if the original $O(n^3)$ were preserved.\u003c/p\u003e\n\n  \u003cp\u003e\u003cspan class=\"label1\"\u003eReading time: 1 mins 🕑\u003c/span\u003e\n    \u003cspan class=\"label2\"\u003eLikes: 3 ❤\u003c/span\u003e\u003c/p\u003e\n\n  \u003c/article\u003e\n  \u003cdiv class=\"onebox-metadata\"\u003e\n    \n    \n  \u003c/div\u003e\n  \u003cdiv style=\"clear: both\"\u003e\u003c/div\u003e\n\u003c/aside\u003e\n","post_number":2,"post_type":1,"posts_count":5,"updated_at":"2021-05-04T19:51:24.869Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":41,"reads":70,"readers_count":69,"score":294.0,"yours":false,"topic_id":148342,"topic_slug":"math-should-be-quotable","display_username":"Matt Bauman","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"link_counts":[{"url":"https://discourse.julialang.org/t/quoting-posts-with-latex-equations/60542","internal":false,"reflection":false,"title":"Quoting posts with LaTeX equations? - Meta Discussion - JuliaLang","clicks":10}],"read":true,"user_title":null,"bookmarked":false,"actions_summary":[{"id":2,"count":3}],"moderator":false,"admin":false,"staff":false,"user_id":64761,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"post_url":"/t/math-should-be-quotable/148342/2","locale":"en","is_localized":false,"language":"en","activity_pub_enabled":false,"boosts":[],"can_boost":false,"event":null,"customer_flair_customer":null,"direct_reply_count":0,"reactions":[{"id":"heart","type":"emoji","count":3}],"current_user_reaction":null,"reaction_users_count":3,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":930846,"name":"Sam Saffron","username":"sam","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png","created_at":"2021-05-05T02:36:46.259Z","cooked":"\u003cp\u003eNote, I agree completely we should clean this up, but it feels extremely complicated.\u003c/p\u003e\n\u003cp\u003eI am putting a \u003ca class=\"hashtag-cooked\" href=\"/tag/pr-welcome\" data-type=\"tag\" data-slug=\"pr-welcome\" data-id=\"68\"\u003e\u003cspan class=\"hashtag-icon-placeholder\"\u003e\u003csvg class=\"fa d-icon d-icon-square-full svg-icon svg-node\"\u003e\u003cuse href=\"#square-full\"\u003e\u003c/use\u003e\u003c/svg\u003e\u003c/span\u003e\u003cspan\u003epr-welcome\u003c/span\u003e\u003c/a\u003e on this in case someone with advances skills wants to give it a shot.\u003c/p\u003e","post_number":3,"post_type":1,"posts_count":5,"updated_at":"2021-05-05T02:36:46.259Z","reply_count":1,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":1,"reads":63,"readers_count":62,"score":187.6,"yours":false,"topic_id":148342,"topic_slug":"math-should-be-quotable","display_username":"Sam Saffron","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111","flair_group_id":47,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"read":true,"user_title":"co-founder","title_is_group":false,"bookmarked":false,"actions_summary":[{"id":2,"count":7}],"moderator":false,"admin":true,"staff":true,"user_id":1,"hidden":false,"trust_level":3,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"post_url":"/t/math-should-be-quotable/148342/3","locale":"en","is_localized":false,"language":"en","activity_pub_enabled":false,"boosts":[],"can_boost":false,"event":null,"customer_flair_customer":null,"direct_reply_count":1,"reactions":[{"id":"heart","type":"emoji","count":7}],"current_user_reaction":null,"reaction_users_count":7,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":1085045,"name":"Max Kaye","username":"XertroV","avatar_template":"/user_avatar/meta.discourse.org/xertrov/{size}/222435_2.png","created_at":"2022-04-06T03:03:59.818Z","cooked":"\u003cp\u003eI had a look into quoting math (I’m considering writing a PR or contributing to one).\u003c/p\u003e\n\u003cp\u003eDocumenting some initial thoughts and findings here.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt seems like quoting all goes through these main components:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/quote.js#L4\" rel=\"noopener nofollow ugc\"\u003e\u003ccode\u003ebuildQuote\u003c/code\u003e function\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/controllers/topic.js#L332\" rel=\"noopener nofollow ugc\"\u003e\u003ccode\u003eTopicController.selectedText\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe content passed to the quote comes from \u003ccode\u003ethis.quoteState.buffer\u003c/code\u003e – that’s populated in \u003ca href=\"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/components/quote-button.js#L162-L191\" rel=\"noopener nofollow ugc\"\u003e\u003ccode\u003eQuoteButton._selectionChanged\u003c/code\u003e\u003c/a\u003e (mb other places too)\u003c/li\u003e\n\u003cli\u003eThat calls \u003ca href=\"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/utilities.js#L161\" rel=\"noopener nofollow ugc\"\u003e\u003ccode\u003eselectedText\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewhich calls \u003ca href=\"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/to-markdown.js#L644\" rel=\"noopener nofollow ugc\"\u003e\u003ccode\u003etoMarkdown\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ebuildQuote\u003c/code\u003e function takes a post object – I think that’s a complete json description of the post \u003ca href=\"https://meta.discourse.org/t/math-should-be-quotable/148342/3.json\"\u003eexample\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSo my initial impression is one of these points might be patchable:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003etoMarkdown\u003c/code\u003e matches elements against various html tags; mathjax uses custom elements I think that are detectable (mb not SVG rendering), mb katex does too?\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eselectedText\u003c/code\u003e does some matching for elements like code blocks and onebox – might be able to detect mathjax/katex elements and transform them? (Note: probably a good idea to have a hook or something here so the logic for transformation can be added to the discourse-math plugin instead of the main discourse codebase).\u003c/li\u003e\n\u003cli\u003ethe other points don’t seem as suitable as either of these two.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSome other thoughts on approaches and how to get the raw math.\u003c/p\u003e\n\u003cp\u003eDepending on how katex / mathjax+svg\u003csup class=\"footnote-ref\"\u003e\u003ca href=\"#footnote-1085045-1\" id=\"footnote-ref-1085045-1\"\u003e[1]\u003c/a\u003e\u003c/sup\u003e work, every instance of math should have a root HTML element I think (possibly multiple b/c there are some hidden elements for accessibility and things). So if we know the places that math exists, we might be able to parse the raw post for instances of content delimited with \u003ccode\u003e$\u003c/code\u003e (but interpreters are tricky – mb there’s already one in the codebase?)\u003c/p\u003e\n\u003cp\u003eAlternatively, mathjax at least has a right-click \u0026gt; view-tex esq feature (which should be the literal string between \u003ccode\u003e$\u003c/code\u003e pairs); I am not sure how to hook in to that, but if there’s a way to do that for mathjax v2, v3, and katex, then it should be possible to use that to replace selected formatted math with \u003ccode\u003e$...$\u003c/code\u003e (note: that works for inline math, need to cover the case for the other kind, too – which uses \u003ccode\u003e$$...$$\u003c/code\u003e or \u003ccode\u003e[/.../]\u003c/code\u003e delimiters.)\u003c/p\u003e\n\u003cp\u003eProblems atm:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIDK how to implement a hook or whether there’s something better to use / a better way of doing it in the discourse codebase.\u003c/li\u003e\n\u003cli\u003eSeveral unknowns about mathjax/katex that need to be investigated.\n\u003cul\u003e\n\u003cli\u003eHTML elements – how to detect them reliably?\u003c/li\u003e\n\u003cli\u003eHow to get raw TeX code?\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf anyone has any other ideas for where/what to patch, other possible implementation methods, or whatever, then please post them.\u003c/p\u003e\n\u003chr class=\"footnotes-sep\"\u003e\n\n\u003col class=\"footnotes-list\"\u003e\n\u003cli id=\"footnote-1085045-1\" class=\"footnote-item\"\u003e\u003cp\u003e\u003cem\u003eI think mb mathjax+svg isn’t supported, so that mb isn’t an issue\u003c/em\u003e \u003ca href=\"#footnote-ref-1085045-1\" class=\"footnote-backref\"\u003e↩︎\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e","post_number":4,"post_type":1,"posts_count":5,"updated_at":"2022-04-06T03:05:08.544Z","reply_count":0,"reply_to_post_number":3,"quote_count":0,"incoming_link_count":2,"reads":46,"readers_count":45,"score":139.2,"yours":false,"topic_id":148342,"topic_slug":"math-should-be-quotable","display_username":"Max Kaye","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":1,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"link_counts":[{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/components/quote-button.js#L162-L191","internal":false,"reflection":false,"title":"discourse/quote-button.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","clicks":2},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/quote.js#L4","internal":false,"reflection":false,"title":"discourse/quote.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","clicks":1},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/controllers/topic.js#L332","internal":false,"reflection":false,"title":"discourse/topic.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","clicks":1},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/utilities.js#L161","internal":false,"reflection":false,"title":"discourse/utilities.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","clicks":0},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/to-markdown.js#L644","internal":false,"reflection":false,"title":"discourse/to-markdown.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","clicks":0}],"read":true,"user_title":"Plugin Author","title_is_group":false,"reply_to_user":{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png"},"bookmarked":false,"actions_summary":[{"id":2,"count":6}],"moderator":false,"admin":false,"staff":false,"user_id":21714,"hidden":false,"trust_level":1,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"post_url":"/t/math-should-be-quotable/148342/4","locale":"en","is_localized":false,"language":"en","activity_pub_enabled":false,"boosts":[],"can_boost":false,"event":null,"customer_flair_customer":null,"direct_reply_count":0,"reactions":[{"id":"heart","type":"emoji","count":6}],"current_user_reaction":null,"reaction_users_count":6,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null},{"id":1949787,"name":"Ethan ","username":"Ethsim2","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","created_at":"2026-03-08T20:20:05.201Z","cooked":"\u003cp\u003eDiscourse Math was heavily upgraded in January 2026 to a new official core-bundled version, with MathJax 4.1 as default and KaTeX as an alternative. The plugin docs also note that KaTeX includes the CopyTex extension for copying LaTeX source.\u003c/p\u003e\n\u003cp\u003eWould it be worthwhile adding a small theme-component patch that improves quote selection for math-heavy posts?\u003c/p\u003e\n\u003cp\u003eFor MathJax-heavy sites like Physics with Ethan, the most practical idea is:\u003cbr\u003e\n1.\tintercept the selected HTML before Discourse turns it back into Markdown,\u003cbr\u003e\n2.\tfind math wrapper elements,\u003cbr\u003e\n3.\treplace them with their original TeX source wrapped in \u003ccode\u003e$...$\u003c/code\u003e or \u003ccode\u003e$$...$$\u003c/code\u003e,\u003cbr\u003e\n4.\tthen let Discourse continue building the quote.\u003c/p\u003e\n\u003cp\u003eHere is a potential theme-component script i would start off with, if it’s worthwhile modifying the Horizon (or Default) theme’s \u003ccode\u003e\u0026lt;/head\u0026gt;\u003c/code\u003e or JS area.\u003c/p\u003e\n\u003cpre data-code-wrap=\"js\"\u003e\u003ccode class=\"lang-js\"\u003e\n\u0026lt;script type=\"text/discourse-plugin\" version=\"1.0\"\u0026gt;\n  apiInitializer(\"1.34.0\", (api) =\u0026gt; {\n    function texFromMathElement(el) {\n      // MathJax v3/v4 commonly stores the source in an annotation child.\n      const annotation =\n        el.querySelector('annotation[encoding=\"application/x-tex\"]') ||\n        el.querySelector('annotation');\n\n      if (annotation?.textContent?.trim()) {\n        const tex = annotation.textContent.trim();\n\n        // Heuristic: block math wrappers are often display containers.\n        const isBlock =\n          el.tagName === \"MJX-CONTAINER\" \u0026amp;\u0026amp;\n          (el.getAttribute(\"display\") === \"true\" ||\n            el.getAttribute(\"display\") === \"block\");\n\n        return isBlock ? `$$\\n${tex}\\n$$` : `$${tex}$`;\n      }\n\n      return null;\n    }\n\n    function patchMathInFragment(fragment) {\n      const candidates = fragment.querySelectorAll(\n        \"mjx-container, .math, .katex, .MathJax\"\n      );\n\n      candidates.forEach((node) =\u0026gt; {\n        const replacement = texFromMathElement(node);\n        if (!replacement) {\n          return;\n        }\n\n        const textNode = document.createTextNode(replacement);\n        node.replaceWith(textNode);\n      });\n\n      return fragment;\n    }\n\n    api.modifyClass(\"component:quote-button\", {\n      pluginId: \"ethan-math-quote-fix\",\n\n      _selectionChanged() {\n        this._super(...arguments);\n\n        try {\n          const selection = window.getSelection();\n          if (!selection || selection.rangeCount === 0) {\n            return;\n          }\n\n          const range = selection.getRangeAt(0);\n          const fragment = range.cloneContents();\n          patchMathInFragment(fragment);\n\n          const container = document.createElement(\"div\");\n          container.appendChild(fragment);\n\n          // Replace the buffer that Discourse later converts into quote markdown.\n          if (this.quoteState) {\n            this.quoteState.buffer = container.innerHTML;\n          }\n        } catch (e) {\n          // Fail quietly so normal quoting still works.\n          console.warn(\"Math quote patch failed:\", e);\n        }\n      },\n    });\n  });\n\u0026lt;/script\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eA few important caveats:\u003cbr\u003e\n•\tThis is a practical patch, not something I found already published by Meta. The underlying strategy is inferred from the quote path going through the selected HTML and toMarkdown.\u003cbr\u003e\n•\tIt is most likely to help when i’m using the MathJax provider, which is the current default in Discourse Math, and the option i usually use.\u003cbr\u003e\n•\tThe script may need small selector tweaks depending on whether my rendered math ends up as \u003ccode\u003emjx-container\u003c/code\u003e, \u003ccode\u003e.MathJax\u003c/code\u003e, or another wrapper. I would test on a staging site, that would be a new \u003ca href=\"https://meta.discourse.org/t/142537?silent=true\"\u003estandard install\u003c/a\u003e.\u003cbr\u003e\n•\tIt is unlikely to be perfect for every edge case, especially mixed inline/block selections or nested quoted material.\u003c/p\u003e\n\u003cp\u003eBecause Discourse now officially supports KaTeX with CopyTex, another route is to switch provider if my main pain point is copying LaTeX source rather than rendering fidelity. That would not automatically solve quote-selection, but it does mean the rendered math already has a more copy-friendly path built in.\u003c/p\u003e\n\u003cp\u003eFor my MathJax heavy site, Physics with Ethan, i’m currently thinking:\u003cbr\u003e\n•\tkeep MathJax unless someone suggests i could change to KaTex? ,\u003cbr\u003e\n•\tmaybe add a quote-selection patch to the Horizon theme, from the above (using a staging site).\u003cbr\u003e\n•\tand treat it as a local quality-of-life fix until there is a proper upstream solution. This 2020 feature topic still being open in 2026 suggests upstream may remain slow here.\u003c/p\u003e","post_number":6,"post_type":1,"posts_count":5,"updated_at":"2026-03-08T20:22:28.728Z","reply_count":0,"reply_to_post_number":null,"quote_count":0,"incoming_link_count":0,"reads":20,"readers_count":19,"score":79.0,"yours":false,"topic_id":148342,"topic_slug":"math-should-be-quotable","display_username":"Ethan ","primary_group_name":null,"flair_name":null,"flair_url":null,"flair_bg_color":null,"flair_color":null,"flair_group_id":null,"badges_granted":[],"version":3,"can_edit":false,"can_delete":false,"can_recover":false,"can_see_hidden_post":false,"can_wiki":false,"read":true,"user_title":"Scribe","title_is_group":false,"bookmarked":false,"actions_summary":[{"id":2,"count":3}],"moderator":false,"admin":false,"staff":false,"user_id":160471,"hidden":false,"trust_level":2,"deleted_at":null,"user_deleted":false,"edit_reason":null,"can_view_edit_history":true,"wiki":false,"post_url":"/t/math-should-be-quotable/148342/6","locale":"en","is_localized":false,"language":"en","activity_pub_enabled":false,"boosts":[],"can_boost":false,"event":null,"customer_flair_customer":null,"direct_reply_count":0,"reactions":[{"id":"heart","type":"emoji","count":3}],"current_user_reaction":null,"reaction_users_count":3,"current_user_used_main_reaction":false,"can_accept_answer":false,"can_unaccept_answer":false,"accepted_answer":false,"topic_accepted_answer":null}],"stream":[735230,930611,930846,1085045,1949787]},"timeline_lookup":[[1,2183],[2,1800],[4,1464],[5,31]],"suggested_topics":[],"tags":[{"id":68,"name":"приветствие-прат","slug":"pr-welcome"}],"tags_descriptions":{"приветствие-прат":"Вы можете отправить pull-запрос в Github, реализующий это"},"fancy_title":"Математика должна быть цитируемой","fancy_title_localized":true,"locale":"en","id":148342,"title":"Math should be quotable","posts_count":5,"created_at":"2020-04-17T12:27:30.350Z","views":955,"reply_count":1,"like_count":27,"last_posted_at":"2026-03-08T20:20:05.201Z","visible":true,"closed":false,"archived":false,"has_summary":false,"archetype":"regular","slug":"math-should-be-quotable","category_id":2,"word_count":1261,"deleted_at":null,"user_id":69152,"featured_link":null,"pinned_globally":false,"pinned_at":null,"pinned_until":null,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_1024x249.png","slow_mode_seconds":0,"draft":null,"draft_key":"topic_148342","draft_sequence":null,"unpinned":null,"pinned":false,"current_post_number":3,"highest_post_number":6,"deleted_by":null,"actions_summary":[{"id":4,"count":0,"hidden":false,"can_act":false},{"id":8,"count":0,"hidden":false,"can_act":false},{"id":10,"count":0,"hidden":false,"can_act":false},{"id":7,"count":0,"hidden":false,"can_act":false},{"id":1002,"count":0,"hidden":false,"can_act":false}],"chunk_size":20,"bookmarked":false,"topic_timer":null,"message_bus_last_id":0,"participant_count":5,"show_read_indicator":false,"thumbnails":[{"max_width":null,"max_height":null,"width":1328,"height":324,"url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":249,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_1024x249.png"},{"max_width":800,"max_height":800,"width":800,"height":195,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_800x195.png"},{"max_width":600,"max_height":600,"width":600,"height":146,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_600x146.png"},{"max_width":400,"max_height":400,"width":400,"height":97,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_400x97.png"},{"max_width":300,"max_height":300,"width":300,"height":73,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_300x73.png"},{"max_width":200,"max_height":200,"width":200,"height":48,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/c/c/cc88f2105465865d05d7d0cbb51236638c4f2c9d_2_200x48.png"}],"slow_mode_enabled_until":null,"has_localized_content":true,"activity_pub_enabled":true,"activity_pub_local":true,"activity_pub_deleted_at":null,"activity_pub_published_at":null,"activity_pub_scheduled_at":null,"activity_pub_delivered_at":null,"activity_pub_full_topic":false,"activity_pub_published_post_count":0,"activity_pub_total_post_count":5,"activity_pub_object_id":null,"activity_pub_object_type":null,"activity_pub_actor":{"id":1,"username":"feature","domain":"meta.discourse.org","handle":"feature@meta.discourse.org","ap_id":"https://meta.discourse.org/ap/actor/f510931b1c556bbc94ea1971a1924f03","name":"Features","ap_type":"Group","model_id":2,"model_type":"category","can_admin":null,"default_visibility":"public","publication_type":"first_post","post_object_type":"Note","enabled":true,"ready":true},"activity_pub_post_actors":[],"related_topics":[{"fancy_title":"Adding proper copy/paste of latex code","fancy_title_localized":false,"locale":"en","id":253663,"title":"Adding proper copy/paste of latex code","slug":"adding-proper-copy-paste-of-latex-code","posts_count":4,"reply_count":0,"highest_post_number":4,"image_url":null,"created_at":"2022-06-21T12:28:13.598Z","last_posted_at":"2023-02-01T11:06:19.429Z","bumped":true,"bumped_at":"2022-06-22T04:13:21.411Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Made another PR, this time to add something I always wanted: proper copy/paste of latex code: highlight rendered latex in a post, paste in editor and get proper latex, see: \n\n\n@sam The Discourse “quote” functionality is \u0026hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":493,"name":"завершено","slug":"completed"},{"id":265,"name":"математика","slug":"math"}],"tags_descriptions":{"завершено":"Когда функции, предложенные в категориях #feature и #ux, реализуются, им прис..."},"like_count":5,"views":692,"category_id":2,"featured_link":null,"op_like_count":3,"ai_topic_gist":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Исходный автор","user":{"id":27946,"username":"nordize","name":"Nordize","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/n/c68b51/{size}.png","trust_level":2}},{"extras":null,"description":"Частый автор","user":{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3}},{"extras":null,"description":"Частый автор","user":{"id":71154,"username":"martin","name":"Martin Brennan","avatar_template":"/user_avatar/meta.discourse.org/martin/{size}/491371_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2}},{"extras":"latest","description":"Последний автор","user":{"id":100484,"username":"JammyDodger","name":"","avatar_template":"/user_avatar/meta.discourse.org/jammydodger/{size}/254611_2.png","trust_level":3}}]},{"fancy_title":"Upgrading to New Math Plugin","fancy_title_localized":false,"locale":"en","id":227435,"title":"Upgrading to New Math Plugin","slug":"upgrading-to-new-math-plugin","posts_count":12,"reply_count":1,"highest_post_number":12,"image_url":null,"created_at":"2022-01-31T23:38:42.841Z","last_posted_at":"2022-05-18T19:55:51.133Z","bumped":true,"bumped_at":"2022-05-18T19:55:51.133Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I still have the old “Discourse Mathjax” plugin installed. Has anyone successfully converted their posts to display properly with the new plugin? Would you be kind to post a working command line? \nThe two plugins are not\u0026hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":265,"name":"математика","slug":"math"}],"tags_descriptions":{},"like_count":24,"views":626,"category_id":6,"featured_link":null,"op_like_count":1,"ai_topic_gist":null,"has_accepted_answer":false,"posters":[{"extras":null,"description":"Исходный автор","user":{"id":27946,"username":"nordize","name":"Nordize","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/n/c68b51/{size}.png","trust_level":2}},{"extras":null,"description":"Частый автор","user":{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3}},{"extras":"latest","description":"Последний автор","user":{"id":100484,"username":"JammyDodger","name":"","avatar_template":"/user_avatar/meta.discourse.org/jammydodger/{size}/254611_2.png","trust_level":3}}]},{"fancy_title":"Discourse Math","fancy_title_localized":false,"locale":"en","id":65770,"title":"Discourse Math","slug":"discourse-math","posts_count":14,"reply_count":175,"highest_post_number":250,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_1024x62.png","created_at":"2017-07-06T21:27:02.366Z","last_posted_at":"2026-04-02T11:43:46.300Z","bumped":true,"bumped_at":"2026-04-02T11:39:09.754Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":discourse2:\nSummary\n\nDiscourse Math uses MathJax (default) or KaTeX to render maths in your Discourse forum.\n\n\n:open_book:\nInstall Guide\n\nThis plugin is  bundled with Discourse core. There is no need to insta\u0026hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1358,"height":83,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":62,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_1024x62.png"},{"max_width":800,"max_height":800,"width":800,"height":48,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_800x48.png"},{"max_width":600,"max_height":600,"width":600,"height":36,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_600x36.png"},{"max_width":400,"max_height":400,"width":400,"height":24,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_400x24.png"},{"max_width":300,"max_height":300,"width":300,"height":18,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_300x18.png"},{"max_width":200,"max_height":200,"width":200,"height":12,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_200x12.png"}],"tags":[{"id":83,"name":"официальный","slug":"official"},{"id":265,"name":"математика","slug":"math"},{"id":517,"name":"включено-в-ядро","slug":"included-in-core"}],"tags_descriptions":{"официальный":"Темы, компоненты тем или плагины, официально поддерживаемые командой Discourse"},"like_count":75,"views":36555,"category_id":22,"featured_link":null,"op_like_count":70,"ai_topic_gist":"Users clarified that the Discourse Math plugin is unavailable for free hosting plans, prompting a suggestion to improve the clarity of its availability status on the official plugins directory page.","has_accepted_answer":false,"posters":[{"extras":null,"description":"Исходный автор","user":{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta.discourse.org/discourse/{size}/148734_2.png","admin":true,"trust_level":4}},{"extras":null,"description":"Частый автор","user":{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3}},{"extras":null,"description":"Частый автор","user":{"id":191026,"username":"LeafGlowPath","name":"Leaf Glow Path","avatar_template":"/user_avatar/meta.discourse.org/leafglowpath/{size}/549258_2.png","trust_level":0}},{"extras":null,"description":"Частый автор","user":{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta.discourse.org/natedhaliwal/{size}/313494_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":3}},{"extras":"latest","description":"Последний автор","user":{"id":160471,"username":"Ethsim2","name":"Ethan ","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","trust_level":2}}]},{"fancy_title":"Adding Maths support for Chat","fancy_title_localized":false,"locale":"en","id":252018,"title":"Adding Maths support for Chat","slug":"adding-maths-support-for-chat","posts_count":8,"reply_count":3,"highest_post_number":10,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92.png","created_at":"2023-01-17T12:46:00.301Z","last_posted_at":"2024-10-07T15:30:35.214Z","bumped":true,"bumped_at":"2024-08-10T17:29:20.292Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I have a recently upgraded discourse instance (discourse 92bb728fe5, discourse-math f9cf94d2). I have configured discourse-math to use katex, but the problem appears with mathjax too. I observe that math is rendered corr\u0026hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":831,"height":238,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92.png"},{"max_width":800,"max_height":800,"width":800,"height":229,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92_2_800x229.png"},{"max_width":600,"max_height":600,"width":600,"height":171,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92_2_600x171.png"},{"max_width":400,"max_height":400,"width":400,"height":114,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92_2_400x114.png"},{"max_width":300,"max_height":300,"width":300,"height":85,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92_2_300x85.png"},{"max_width":200,"max_height":200,"width":200,"height":57,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/d/e/2/de2783fb591d106601e76e8fb52e7bada8375c92_2_200x57.png"}],"tags":[{"id":317,"name":"чат","slug":"chat"},{"id":265,"name":"математика","slug":"math"}],"tags_descriptions":{},"like_count":24,"views":812,"category_id":2,"featured_link":null,"op_like_count":2,"ai_topic_gist":"Discourse-math support in chat is being developed, with initial support for MathJax, and a pending patch for KaTeX, addressing the issue of math rendering not working in chats despite correct rendering in post previews and posts.","has_accepted_answer":false,"posters":[{"extras":null,"description":"Исходный автор","user":{"id":74935,"username":"Anton_Akhmerov","name":"Anton Akhmerov","avatar_template":"/user_avatar/meta.discourse.org/anton_akhmerov/{size}/169548_2.png","trust_level":2}},{"extras":null,"description":"Частый автор","user":{"id":73340,"username":"Alexander","name":"Alexander Barrios","avatar_template":"/user_avatar/meta.discourse.org/alexander/{size}/497634_2.png","flair_name":"support-enthusiasts","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_group_id":151,"trust_level":2}},{"extras":null,"description":"Частый автор","user":{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta.discourse.org/falco/{size}/179432_2.png","primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":4}},{"extras":null,"description":"Частый автор","user":{"id":106607,"username":"panic","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/p/3ab097/{size}.png","trust_level":2}},{"extras":"latest","description":"Последний автор","user":{"id":136810,"username":"lindsey","name":"Lindsey Fogle","avatar_template":"/user_avatar/meta.discourse.org/lindsey/{size}/318210_2.png","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3}}]},{"fancy_title":"Discourse Math plugin","fancy_title_localized":true,"locale":"zh_CN","id":265331,"title":":cn: Discourse Math 插件","slug":"discourse-math","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_1024x62.png","created_at":"2023-05-17T13:34:26.721Z","last_posted_at":"2023-05-17T13:35:20.680Z","bumped":true,"bumped_at":"2023-05-17T13:35:20.680Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"||| \n-|-|-| \n:information_source:  | Overview | Discourse Math uses MathJax (default) or KaTeX to let you use math formulas in your Discourse. \n:hammer_and_wrench: | Repo Link | https://github.com/discourse/discourse-mat\u0026hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🇨🇳 Discourse Math 插件","thumbnails":[{"max_width":null,"max_height":null,"width":1358,"height":83,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":62,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_1024x62.png"},{"max_width":800,"max_height":800,"width":800,"height":48,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_800x48.png"},{"max_width":600,"max_height":600,"width":600,"height":36,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_600x36.png"},{"max_width":400,"max_height":400,"width":400,"height":24,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_400x24.png"},{"max_width":300,"max_height":300,"width":300,"height":18,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_300x18.png"},{"max_width":200,"max_height":200,"width":200,"height":12,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/0/7/8/0783e5858f4219b6624393a8e9ffad5ecdfec133_2_200x12.png"}],"tags":[{"id":297,"name":"китайский-перевод","slug":"chinese-translation"}],"tags_descriptions":{},"like_count":0,"views":1271,"category_id":181,"featured_link":null,"op_like_count":0,"ai_topic_gist":"The official discussion for the Discourse Math plugin is located at \u003chttps://meta.discourse.org/t/discourse-math/65770\u003e, and Chinese translations can be modified directly on Crowdin at \u003chttps://discourse.cro wdin.com/translate/16c5e0dd74114efa353342bcdf62241c/364/en-zhcn/1322\u003e.","has_accepted_answer":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user":{"id":79292,"username":"honeymoose","name":"HoneyMoose","avatar_template":"/user_avatar/meta.discourse.org/honeymoose/{size}/198718_2.png","trust_level":2}}]}],"summarizable":true,"has_cached_summary":true,"is_nested_view":null,"valid_reactions":["heart","laughing","cry","exploding_head","clap","confetti_ball","hugs","chefs_kiss","100","+1","rocket","star_struck","discourse","eyes"],"can_vote":true,"vote_count":1,"user_voted":false,"discourse_zendesk_plugin_zendesk_id":null,"discourse_zendesk_plugin_zendesk_url":"https://your-url.zendesk.com/agent/tickets/","details":{"can_edit":false,"notification_level":1,"participants":[{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png","post_count":1,"primary_group_name":"team","flair_name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_bg_color":"","flair_group_id":47,"admin":true,"trust_level":3},{"id":21714,"username":"XertroV","name":"Max Kaye","avatar_template":"/user_avatar/meta.discourse.org/xertrov/{size}/222435_2.png","post_count":1,"primary_group_name":null,"flair_name":null,"flair_url":null,"flair_color":null,"flair_bg_color":null,"flair_group_id":null,"trust_level":1},{"id":64761,"username":"mbauman","name":"Matt Bauman","avatar_template":"/user_avatar/meta.discourse.org/mbauman/{size}/139835_2.png","post_count":1,"primary_group_name":null,"flair_name":null,"flair_url":null,"flair_color":null,"flair_bg_color":null,"flair_group_id":null,"trust_level":2},{"id":69152,"username":"szhorvat","name":"Szabolcs","avatar_template":"/user_avatar/meta.discourse.org/szhorvat/{size}/154711_2.png","post_count":1,"primary_group_name":null,"flair_name":null,"flair_url":null,"flair_color":null,"flair_bg_color":null,"flair_group_id":null,"trust_level":1},{"id":160471,"username":"Ethsim2","name":"Ethan ","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png","post_count":1,"primary_group_name":null,"flair_name":null,"flair_url":null,"flair_color":null,"flair_bg_color":null,"flair_group_id":null,"trust_level":2}],"created_by":{"id":69152,"username":"szhorvat","name":"Szabolcs","avatar_template":"/user_avatar/meta.discourse.org/szhorvat/{size}/154711_2.png"},"last_poster":{"id":160471,"username":"Ethsim2","name":"Ethan ","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_2.png"},"links":[{"url":"https://discourse.julialang.org/t/quoting-posts-with-latex-equations/60542","title":"Quoting posts with LaTeX equations? - Meta Discussion - JuliaLang","internal":false,"attachment":false,"reflection":false,"clicks":10,"user_id":64761,"domain":"discourse.julialang.org","root_domain":"julialang.org"},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/components/quote-button.js#L162-L191","title":"discourse/quote-button.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","internal":false,"attachment":false,"reflection":false,"clicks":2,"user_id":21714,"domain":"github.com","root_domain":"github.com"},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/controllers/topic.js#L332","title":"discourse/topic.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","internal":false,"attachment":false,"reflection":false,"clicks":1,"user_id":21714,"domain":"github.com","root_domain":"github.com"},{"url":"https://github.com/discourse/discourse/blob/1598e6b489125bade2a7bfc144ae346815dedf00/app/assets/javascripts/discourse/app/lib/quote.js#L4","title":"discourse/quote.js at 1598e6b489125bade2a7bfc144ae346815dedf00 · discourse/discourse · GitHub","internal":false,"attachment":false,"reflection":false,"clicks":1,"user_id":21714,"domain":"github.com","root_domain":"github.com"}]},"bookmarks":[]}