discourse/plugins/discourse-details
Godfrey Chan 9a1695ccc1
DEV: remove markdown-it-bundle and custom build code (#23859)
With Embroider, we can rely on async `import()` to do the splitting
for us.

This commit extracts from `pretty-text` all the parts that are
meant to be loaded async into a new `discourse-markdown-it` package
that is also a V2 addon (meaning that all files are presumed unused
until they are imported, aka "static").

Mostly I tried to keep the very discourse specific stuff (accessing
site settings and loading plugin features) inside discourse proper,
while the new package aims to have some resembalance of a general
purpose library, a MarkdownIt++ if you will. It is far from perfect
because of how all the "options" stuff work but I think it's a good
start for more refactorings (clearing up the interfaces) to happen
later.

With this, pretty-text and app/lib/text are mostly a kitchen sink
of loosely related text processing utilities.

After the refactor, a lot more code related to setting up the
engine are now loaded lazily, which should be a pretty nice win. I
also noticed that we are currently pulling in the `xss` library at
initial load to power the "sanitize" stuff, but I suspect with a
similar refactoring effort those usages can be removed too. (See
also #23790).

This PR does not attempt to fix the sanitize issue, but I think it
sets things up on the right trajectory for that to happen later.

Co-authored-by: David Taylor <david@taylorhq.com>
2023-11-06 16:59:49 +00:00
..
assets DEV: Rename I18n imports to discourse-i18n (#23915) 2023-10-18 11:07:09 +01:00
config Update translations (#23099) 2023-08-15 21:24:57 +02:00
spec/components DEV: Apply syntax_tree formatting to plugins/* 2023-01-07 11:11:37 +00:00
test/javascripts DEV: remove markdown-it-bundle and custom build code (#23859) 2023-11-06 16:59:49 +00:00
LICENSE
plugin.rb FIX: Hide core plugins from the admin Plugins list (#23328) 2023-08-31 10:01:01 +10:00
README.md for docs, normalize on space after code fence when specifying lang 2019-01-21 01:19:28 -08:00

discourse-details

HTML 5.1 <details> polyfill for Discourse.

NOTE: Does not work on IE9, but we don't support IE9 as of Jan 1 2016.

Usage

In your posts, surround text with [details=your summary] ... [/details].
For example:

   I watched the murder mystery on TV last night. [details=Who did it?]The butler did it[/details].

Installation

Follow our Install a Plugin howto, using
git clone https://github.com/discourse/discourse-details.git as the plugin command.

Issues

If you have issues or suggestions for the plugin, please bring them up on Discourse Meta.

License

MIT