docsify icon indicating copy to clipboard operation
docsify copied to clipboard

Language syntax highlight (PrismJS) : language dependency order

Open noraj opened this issue 2 years ago • 0 comments

Feature request

What problem does this feature solve?

https://github.com/PrismJS/prism/issues/3302

The issue is that Prism's languages have dependencies, so you have to load them in the right order. For example, Arduino requires C++ or Crystal requires Ruby, etc.

The documentation suggest you load 1 plugin for 1 language manually: https://docsify.js.org/#/language-highlight

So for example I did that and loaded them alphabetically.

  <script src="vendor/prismjs/components/prism-bash.min.js"></script>
  <script src="vendor/prismjs/components/prism-crystal.min.js"></script>
  <script src="vendor/prismjs/components/prism-elixir.min.js"></script>
  <script src="vendor/prismjs/components/prism-go.min.js"></script>
  <script src="vendor/prismjs/components/prism-java.min.js"></script>
  <script src="vendor/prismjs/components/prism-julia.min.js"></script>
  <script src="vendor/prismjs/components/prism-lua.min.js"></script>
  <script src="vendor/prismjs/components/prism-nim.min.js"></script>
  <script src="vendor/prismjs/components/prism-perl.min.js"></script>
  <script src="vendor/prismjs/components/prism-php.min.js"></script>
  <script src="vendor/prismjs/components/prism-powershell.min.js"></script>
  <script src="vendor/prismjs/components/prism-python.min.js"></script>
  <script src="vendor/prismjs/components/prism-ruby.min.js"></script>
  <script src="vendor/prismjs/components/prism-rust.min.js"></script>

But it results in this error since Crystal is loaded before Ruby.

image

What does the proposed API look like?

N/A

How should this be implemented in your opinion?

Maybe do something with the autoloader plugin. So we don't have to includes all the scripts manually. Or maybe whitelist the language to load in the configuration and handle the load order depending on the dependencies order.

Are you willing to work on this yourself?

No

noraj avatar Dec 30 '22 15:12 noraj