* Refactor parse mode out of getTransclusionTarget
* Refactor missing transclusion target
* Add a test to avoid regressions on the handling of macros vs procedures
* Refactor condition logic
* Preparing to split getTransclusionTarget into two separate functions
* Split getTransclusionTarget into getTransclusionTargetIncludingParseTreeNodes
* Resolve another inefficiency
The transclusion target was sometimes being parsed twice when transcluding as text/plain
Associated test results are also made more consistent
* Simplify method naming
* Neatening up
* fix drag and drop from chrome-like browsers to FireFox
* test feature matchMedia function
* implement new borwser sniffing functions as utilities
* use $tw.browser structure for isMobileChrome detection
With a demo courtesy of https://random.dog/
@rmunn you recently worked on the base64 utilities. I tried to use $tw.utils.base64Encode instead of window.btoa, but found that it didn't work. It's concerning because we expose that utility method as a filter operation, and it would be frustrating if we were not base64encoding things properly.
1. Update comments
2. Refactor use of parseTreeNodes so that they are not referenced unnecessarily
3. getTransclusionTarget doesn't need to return the parser object
* Added failing test for #7604
* Fix attribute substitution regexp
Use the same regexp in wiki.getSubstitutedText as is used in
Widget.prototype.substituteVariableReferences. Fixes#7604.
* Added a test for a variable name containing spaces
Previously, the implicit sort ordering of modules ensured that the "plugins" startup module ran before the "startup" startup module. That no longer holds when experimenting with alternate stores that might use a subtly different collation order (eg $:/core/modules/startup.js vs. $:/core/modules/startup/commands.js), so it's more robust to explicitly specify the dependency
* add option explodeplugins
refactor
Maintain Parameter Compatibility
change let to var
Refactoring the code
add conditional judgment
use === to avoid type-casting errors
refactor use <path> [<name>=<value>]
delete redundant code
backward compatibility support
easier to use
improve code
add documentation
* Update Notes
* Improve the code