Skip to content

Add experimental support to build using Bikeshed - #296

Merged
foolip merged 1 commit into
mainfrom
bikeshed-experiment
Nov 6, 2025
Merged

foolip merged 1 commit into
mainfrom
bikeshed-experiment

Conversation

@foolip

@foolip foolip commented Feb 20, 2025 •

Copy link
Copy Markdown
Member

The new --bikeshed flag enables Bikeshed mode. The wattsi2bikeshed.js script converts the source from Wattsi to Bikeshed syntax.

The hardest part of this is ensuring that cross-references still resolve to the same thing. Wattsi's <span> and <i> for autolinks are converted to <a>, but changes to HTML itself will likely be needed for some cases where the data-x="" (with hyphens) is unambiguous but where Bikeshed's linking text (with spaces) is ambiguous and would require a for="" attribute.

What doesn't work:

  • Some cross-references as per above.
  • Some manual changes to HTML are still needed:
    https://github.com/whatwg/html/tree/bikeshed-experiment
  • Existing IDs aren't always preserved.
  • Simplification of HTML into Bikeshed shorthands like {{Node}}.
  • subdfn, which has no equivalent in Bikeshed.
  • Variants like the dev edition aren't properly supported.

Comment thread src/main.rs Outdated
Comment thread build.sh Outdated
@foolip

foolip commented Oct 29, 2025

Copy link
Copy Markdown
Member Author

Although this is far from complete, I'd like to add the experimental mode to html-build to make collaboration on it easier. At TPAC I'd like to demo how to use it (which is a lot easier if this is merged) and where people can help out if they're interested.

I'm happy to clean up some things if requested, I wrote this as an experiment and probably left a few weird things in that need explaining or removing.

@annevk

annevk commented Oct 30, 2025

Copy link
Copy Markdown
Member

Happy to rubber stamp this, but let's give @sideshowbarker and @zcorpan a chance to chime in as well.

@sideshowbarker

Copy link
Copy Markdown
Member

Happy to rubber stamp this

Same here. This is epic and it seems like it could go ahead and be landed — for the reasons Philip outlined in https://github.com/whatwg/html-build/pull/296#issuecomment-3464324423 — and any further work could be handled in follow-up PRs

@zcorpan

zcorpan commented Nov 3, 2025

Copy link
Copy Markdown
Member

I tried running this which worked. The output is broken (e.g. many cross-references don't work correctly), but that is as expected.

@zcorpan

zcorpan commented Nov 3, 2025

Copy link
Copy Markdown
Member

@foolip can you resolve merge conflicts?

The new --bikeshed flag enables Bikeshed mode. The wattsi2bikeshed.js
script converts the source from Wattsi to Bikeshed syntax.

The hardest part of this is ensuring that cross-references still resolve
to the same thing. Wattsi's <span> and <i> for autolinks are converted
to <a>, but changes to HTML itself will likely be needed for some cases
where the data-x="" (with hyphens) is unambiguous but where Bikeshed's
linking text (with spaces) is ambiguous and would require a for=""
attribute.

What doesn't work:

  - Some cross-references as per above.
  - Some manual changes to HTML are still needed:
    https://github.com/whatwg/html/tree/bikeshed-experiment
  - Existing IDs aren't always preserved.
  - Simplification of HTML into Bikeshed shorthands like {{Node}}.
  - subdfn, which has no equivalent in Bikeshed.
  - Variants like the dev edition aren't properly supported.
@foolip
foolip force-pushed the bikeshed-experiment branch from fa185ea to ece38f7 Compare November 3, 2025 17:33
@foolip

foolip commented Nov 3, 2025

Copy link
Copy Markdown
Member Author

@zcorpan I've squashed everything into a single commit with a commit message describing the status, which I also put into the PR description.

@annevk do you also want to take a look or should I just merge this?

@foolip
foolip merged commit 3c0c97c into main Nov 6, 2025
3 of 4 checks passed
@foolip
foolip deleted the bikeshed-experiment branch November 6, 2025 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants