PrismJS / PrismJS/prism

Automatically downloaded customised files

Open
#2,404 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
13k
Forks
1.4k
Avg merge
15h 36m
Merged PRs (30d)
3

Description

Motivation
The feature where you can minify the code by selecting which languages you need support for before clicking 'download' is nice, but it would be great to do this automatically (e.g. to add to build tools).

Clicking the relevant checkboxes on the website generates a URL like https://prismjs.com/download.html#themes=prism-funky&languages=markup+css+clike+javascript+haskell+protobuf+purebasic

And we can evidently automatically create this URL. But then the "Download JS" and "Download CSS" buttons have to be pressed manually to trigger the actual download.

Description
And endpoint or similar where I could download the CSS and JS files from a customised URL directly e.g.

GET https://prismjs.com/download.html#themes=prism-funky&languages=markup+css+clike+javascript+haskell+protobuf+purebasic?download=js

GET https://prismjs.com/download.html#themes=prism-funky&languages=markup+css+clike+javascript+haskell+protobuf+purebasic?download=css

Alternatives
Visiting the website manually or trying to reverse engineer the javascript that triggers the download button.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting download.html and the JavaScript behind the “Download JS” and “Download CSS” buttons. Trace how the selected theme and languages are processed, then verify that direct requests can return the corresponding customised CSS and JS files without manual interaction.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.