From 9c7010ebe2041ae73195745d76403568237c2905 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 2 Jul 2026 13:35:28 -0400 Subject: feat(theme-studio): web-mode scene covering all 81 faces + HTML sample The web-mode preview is one mixed document: markup with every tag/attr variant, an inline CSS part, a generic template block (engine-agnostic on purpose), and a script part carrying a JSON island, JSX depths, nested template literals, SQL-in-a-string, a PHP preprocessor island, and JSDoc annotations. The realism gate now covers it, so all 81 faces are exercised. SAMPLES gains an HTML language, which also enriches the syntax and auto-dim previews. --- scripts/theme-studio/samples.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'scripts/theme-studio/samples.py') diff --git a/scripts/theme-studio/samples.py b/scripts/theme-studio/samples.py index feebd1b7..ca568ed3 100644 --- a/scripts/theme-studio/samples.py +++ b/scripts/theme-studio/samples.py @@ -704,6 +704,24 @@ ASMS=[ [('p',' '),('kw','xor'),('p',' '),('var','rdi'),('punc',','),('p',' '),('var','rdi'),('p',' '),('cmd',';'),('cm',' status 0')], [('p',' '),('kw','syscall')], ] +HTMLS=[ + [('cm','')], + [('cm','')], + [('punc','<'),('fnd','html'),('p',' '),('var','lang'),('op','='),('str','"en"'),('punc','>')], + [('punc','<'),('fnd','head'),('punc','>')], + [('p',' '),('punc','<'),('fnd','style'),('punc','>')], + [('p',' '),('pp','@media'),('p',' '),('punc','('),('prop','min-width'),('op',':'),('p',' '),('num','40rem'),('punc',')'),('p',' '),('punc','{')], + [('p',' '),('ty','body'),('p',' '),('fnc','.card'),('kw',':hover'),('p',' '),('punc','{'),('p',' '),('prop','color'),('op',':'),('p',' '),('con','#67809c'),('punc',';'),('p',' '),('punc','}}')], + [('p',' '),('punc','')], + [('punc','')], + [('punc','<'),('fnd','body'),('p',' '),('var','data-theme'),('op','='),('str','"dupre"'),('punc','>')], + [('p',' '),('punc','<'),('fnd','h1'),('punc','>'),('p','Fish '),('esc','&'),('p',' Chips'),('punc','')], + [('p',' '),('punc','<'),('fnd','script'),('punc','>')], + [('p',' '),('kw','const'),('p',' '),('var','total'),('p',' '),('op','='),('p',' '),('fnc','round'),('punc','('),('var','qty'),('p',' '),('op','*'),('p',' '),('var','price'),('punc',');'),('p',' '),('cmd','//'),('cm',' inline js')], + [('p',' '),('punc','')], + [('punc','')], + [('punc','')], +] # THEME_STUDIO_DATA_END: generate.py execs only the lines above this marker (the # code samples and COLS). Everything below is the standalone /tmp/dupre-canon.html -- cgit v1.2.3