PrismJS / PrismJS/prism

How to migrate the website?

Open
#3,550 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

So I'm basically done with the migration work for v2 (languages, plugins, etc). The only remaining problems are #3547 and the website.

This issue is only about the main page. I will consider a generated JSDoc page as optional for now. That's another can of worms to unpack, that I don't want to get into right now.

My main question is how we will get index.html and download.html working. Those 2 are the hardest. Once we get those 2 working, all others will be simple.

  • index.html is hard because it is actually a fully static page that we currently dynamically build in the browser. The question here is: how can we get our build process for the website to be as powerful that we can generate just some static HTML for index.html?
  • download.html is hard because of the bundling. The (gulp) build system in v2 uses rollup which is an amazing tool. We somehow need to be able to use rollup in the browser to generate a bundle for our users.

A note on the download page: I plan to supply rollup in the download page with the distribution ESM files of Prism. This means that all transpiling and minifying is already done, and we only have to generate a bundle.

So I guess the question is: Which build tool/framework? I'm not very knowledgeable in that field. I can write code using frameworks, but I don't have a good overview of what tooling/frameworks are out there and fit our use case. Please help.

@LeaVerou @mAAdhaTTah @Golmote @JaKXz

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 examining the website build process for v2, especially how index.html and download.html are generated and how the Gulp and Rollup steps interact. Compare the current browser-side generation with the desired static index page and browser-based bundling. Done means the two pages work in the migrated website; generated JSDoc is explicitly out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, rollup
Domain
build-system, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.