ether-code 0.5.6 → 0.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/ether.js CHANGED
@@ -6,7 +6,7 @@ const http = require('http')
6
6
  const { EtherCompiler } = require('./compiler')
7
7
  const { Watcher } = require('./watcher')
8
8
 
9
- const VERSION = '0.5.6'
9
+ const VERSION = '0.5.8'
10
10
 
11
11
  const COLORS = {
12
12
  reset: '\x1b[0m',
@@ -112,6 +112,13 @@ class CSSGenerator {
112
112
  const priorityMap = {
113
113
  'contenu': 'content',
114
114
  'contenus': 'content',
115
+ 'transformer': 'transform',
116
+ 'decalage-contour': 'outline-offset',
117
+ 'décalage-contour': 'outline-offset',
118
+ 'decalage contour': 'outline-offset',
119
+ 'décalage contour': 'outline-offset',
120
+ 'contour-decalage': 'outline-offset',
121
+ 'contour-décalage': 'outline-offset',
115
122
  'famille-police': 'font-family',
116
123
  'famille police': 'font-family',
117
124
  'police-famille': 'font-family',
@@ -901,6 +908,8 @@ class CSSGenerator {
901
908
  'en cours': 'running',
902
909
  'ombre': 'box-shadow',
903
910
  'transformation': 'transform',
911
+ 'souligner': 'underline',
912
+ 'transformer': 'transform',
904
913
  'fond': 'background',
905
914
  'couleur': 'color',
906
915
  'opacite': 'opacity',
@@ -1164,6 +1173,12 @@ class CSSGenerator {
1164
1173
 
1165
1174
  translateSelector(selector) {
1166
1175
  let result = selector
1176
+
1177
+ const preserved = []
1178
+ result = result.replace(/([.#][a-zA-Z_\u00C0-\u024F][a-zA-Z0-9_\u00C0-\u024F-]*)/g, (match) => {
1179
+ preserved.push(match)
1180
+ return `__PRESERVED_${preserved.length - 1}__`
1181
+ })
1167
1182
 
1168
1183
  result = result.replace(/:racine\b/gi, ':root')
1169
1184
  result = result.replace(/::avant\b/gi, '::before')
@@ -1215,6 +1230,24 @@ class CSSGenerator {
1215
1230
  result = result.replace(/\bvalide\b/gi, ':valid')
1216
1231
  result = result.replace(/\binvalide\b/gi, ':invalid')
1217
1232
 
1233
+ result = result.replace(/\bliste ordonnée\b/gi, 'ol')
1234
+ result = result.replace(/\bliste ordonnee\b/gi, 'ol')
1235
+ result = result.replace(/\bliste description\b/gi, 'dl')
1236
+ result = result.replace(/\bélément liste\b/gi, 'li')
1237
+ result = result.replace(/\belement liste\b/gi, 'li')
1238
+ result = result.replace(/\bligne horizontale\b/gi, 'hr')
1239
+ result = result.replace(/\bcitation bloc\b/gi, 'blockquote')
1240
+ result = result.replace(/\bgroupe champs\b/gi, 'fieldset')
1241
+ result = result.replace(/\bzone texte\b/gi, 'textarea')
1242
+ result = result.replace(/\bcellule entête\b/gi, 'th')
1243
+ result = result.replace(/\bcellule entete\b/gi, 'th')
1244
+ result = result.replace(/\bentête tableau\b/gi, 'thead')
1245
+ result = result.replace(/\bentete tableau\b/gi, 'thead')
1246
+ result = result.replace(/\bcorps tableau\b/gi, 'tbody')
1247
+ result = result.replace(/\bpied tableau\b/gi, 'tfoot')
1248
+ result = result.replace(/\blégende figure\b/gi, 'figcaption')
1249
+ result = result.replace(/\blegende figure\b/gi, 'figcaption')
1250
+
1218
1251
  result = result.replace(/\bcorps\b/gi, 'body')
1219
1252
  result = result.replace(/\btête\b/gi, 'head')
1220
1253
  result = result.replace(/\btete\b/gi, 'head')
@@ -1250,6 +1283,27 @@ class CSSGenerator {
1250
1283
  result = result.replace(/\bdivision\b/gi, 'div')
1251
1284
  result = result.replace(/\bportée\b/gi, 'span')
1252
1285
  result = result.replace(/\bportee\b/gi, 'span')
1286
+ result = result.replace(/\bpréformaté\b/gi, 'pre')
1287
+ result = result.replace(/\bpreformate\b/gi, 'pre')
1288
+ result = result.replace(/\bétiquette\b/gi, 'label')
1289
+ result = result.replace(/\betiquette\b/gi, 'label')
1290
+ result = result.replace(/\bsélection\b/gi, 'select')
1291
+ result = result.replace(/\bselection\b/gi, 'select')
1292
+ result = result.replace(/\bterme\b/gi, 'dt')
1293
+ result = result.replace(/\bdéfinition\b/gi, 'dd')
1294
+ result = result.replace(/\bdefinition\b/gi, 'dd')
1295
+ result = result.replace(/\brésumé\b/gi, 'summary')
1296
+ result = result.replace(/\bresume\b/gi, 'summary')
1297
+ result = result.replace(/\bpetit\b/gi, 'small')
1298
+ result = result.replace(/\badresse\b/gi, 'address')
1299
+ result = result.replace(/\blégende\b/gi, 'legend')
1300
+ result = result.replace(/\blegende\b/gi, 'legend')
1301
+ result = result.replace(/\bfigure\b/gi, 'figure')
1302
+ result = result.replace(/\bligne\b/gi, 'tr')
1303
+
1304
+ for (let i = 0; i < preserved.length; i++) {
1305
+ result = result.replace(`__PRESERVED_${i}__`, preserved[i])
1306
+ }
1253
1307
 
1254
1308
  return result
1255
1309
  }
@@ -688,7 +688,7 @@ class EtherLexer {
688
688
  const normalized = this.normalizeAccents(phrase)
689
689
  const compounds = [
690
690
  'en ligne', 'hors ligne', 'au survol', 'au clic', 'au focus',
691
- 'au double clic', 'au changement', 'a la soumission',
691
+ 'au double clic', 'au changement', 'a la soumission',
692
692
  'retour a la ligne', 'lecture seule', 'zone texte',
693
693
  'case a cocher', 'bouton radio', 'premiere lettre',
694
694
  'premiere ligne', 'inferieur ou egal',
@@ -698,12 +698,32 @@ class EtherLexer {
698
698
  'droite a gauche',
699
699
  'definir defaut', 'mettre a jour',
700
700
  'cle primaire', 'cle etrangere',
701
- 'non nul', 'par defaut',
701
+ 'non nul', 'par defaut',
702
702
  'au focus dans', 'pointeur bas', 'pointeur haut',
703
703
  'obtenir contenu', 'erreur type', 'erreur syntaxe',
704
704
  'nettoyer gauche', 'nettoyer droite', 'vers date',
705
- 'si null', 'creer role',
706
- 'a la reinitialisation'
705
+ 'si null', 'creer role',
706
+ 'a la reinitialisation',
707
+ 'liste ordonnee', 'liste description',
708
+ 'ligne horizontale', 'citation bloc',
709
+ 'groupe champs', 'cellule entete',
710
+ 'entete tableau', 'corps tableau', 'pied tableau',
711
+ 'legende figure', 'decalage contour',
712
+ 'ombre boite', 'ombre texte',
713
+ 'bordure rayon', 'largeur max', 'largeur min',
714
+ 'hauteur max', 'hauteur min',
715
+ 'taille police', 'poids police', 'style police',
716
+ 'famille police', 'hauteur ligne',
717
+ 'alignement texte', 'decoration texte', 'transformation texte',
718
+ 'direction flex', 'enveloppe flex',
719
+ 'justifier contenu', 'aligner elements',
720
+ 'colonnes grille', 'lignes grille',
721
+ 'style liste', 'type liste',
722
+ 'couleur fond', 'image fond', 'position fond', 'taille fond',
723
+ 'couleur bordure', 'style bordure', 'largeur bordure',
724
+ 'espacement lettres', 'espacement mots',
725
+ 'espace blanc', 'debordement texte',
726
+ 'flou fond', 'filtre fond'
707
727
  ]
708
728
  return compounds.includes(normalized)
709
729
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ether-code",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "description": "Ether - Le langage intentionnel",
5
5
  "main": "cli/compiler.js",
6
6
  "bin": {