ether-code 0.9.9 → 0.10.1
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 +1 -1
- package/generators/html-generator.js +20 -16
- package/i18n/i18n-js.json +5 -3
- package/package.json +1 -1
- package/parsers/ether-parser-base.js +1 -1
package/cli/ether.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const path = require('path')
|
|
1
2
|
const fs = require('fs')
|
|
2
3
|
|
|
3
4
|
class HTMLGenerator {
|
|
@@ -660,25 +661,28 @@ class HTMLGenerator {
|
|
|
660
661
|
this.indent++
|
|
661
662
|
|
|
662
663
|
if (isRawContent) {
|
|
663
|
-
let rawContent = ''
|
|
664
664
|
for (const child of children) {
|
|
665
|
-
if (
|
|
666
|
-
|
|
665
|
+
if (child.type === 'EtherCSS') {
|
|
666
|
+
this.generateEtherCSS(child)
|
|
667
|
+
} else if (child.type === 'EtherJS') {
|
|
668
|
+
this.generateEtherJS(child)
|
|
669
|
+
} else if (typeof child === 'string') {
|
|
670
|
+
const generatedCode = this.compileEmbeddedCode(child.trim(), tag.toLowerCase())
|
|
671
|
+
const lines = generatedCode.split('\n')
|
|
672
|
+
for (const line of lines) {
|
|
673
|
+
this.writeLine(line)
|
|
674
|
+
}
|
|
667
675
|
} else if (child.type === 'Text' || child.type === 'text') {
|
|
668
676
|
const content = child.content || child.text || child.value || ''
|
|
669
677
|
if (content.trim()) {
|
|
670
|
-
|
|
678
|
+
const generatedCode = this.compileEmbeddedCode(content.trim(), tag.toLowerCase())
|
|
679
|
+
const lines = generatedCode.split('\n')
|
|
680
|
+
for (const line of lines) {
|
|
681
|
+
this.writeLine(line)
|
|
682
|
+
}
|
|
671
683
|
}
|
|
672
684
|
}
|
|
673
685
|
}
|
|
674
|
-
|
|
675
|
-
if (rawContent.trim()) {
|
|
676
|
-
const generatedCode = this.compileEmbeddedCode(rawContent.trim(), tag.toLowerCase())
|
|
677
|
-
const lines = generatedCode.split('\n')
|
|
678
|
-
for (const line of lines) {
|
|
679
|
-
this.writeLine(line)
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
686
|
} else {
|
|
683
687
|
for (const child of children) {
|
|
684
688
|
if (typeof child === 'string') {
|
|
@@ -1080,14 +1084,14 @@ class HTMLGenerator {
|
|
|
1080
1084
|
if (!node.source) return
|
|
1081
1085
|
|
|
1082
1086
|
try {
|
|
1083
|
-
const { EtherParserCSS } = require('
|
|
1087
|
+
const { EtherParserCSS } = require('../parsers/ether-parser-css')
|
|
1084
1088
|
const { CSSGenerator } = require('./css-generator')
|
|
1085
1089
|
|
|
1086
1090
|
const cssParser = new EtherParserCSS()
|
|
1087
1091
|
const cssAst = cssParser.parse(node.source)
|
|
1088
1092
|
|
|
1089
1093
|
const cssGenerator = new CSSGenerator()
|
|
1090
|
-
cssGenerator.loadI18n('
|
|
1094
|
+
cssGenerator.loadI18n(path.join(__dirname, '../i18n/i18n-css.json'))
|
|
1091
1095
|
const cssOutput = cssGenerator.generate(cssAst)
|
|
1092
1096
|
|
|
1093
1097
|
if (cssOutput) {
|
|
@@ -1106,14 +1110,14 @@ class HTMLGenerator {
|
|
|
1106
1110
|
if (!node.source) return
|
|
1107
1111
|
|
|
1108
1112
|
try {
|
|
1109
|
-
const { EtherParserJS } = require('
|
|
1113
|
+
const { EtherParserJS } = require('../parsers/ether-parser-js')
|
|
1110
1114
|
const { JSGenerator } = require('./js-generator')
|
|
1111
1115
|
|
|
1112
1116
|
const jsParser = new EtherParserJS()
|
|
1113
1117
|
const jsAst = jsParser.parse(node.source)
|
|
1114
1118
|
|
|
1115
1119
|
const jsGenerator = new JSGenerator()
|
|
1116
|
-
jsGenerator.loadI18n('
|
|
1120
|
+
jsGenerator.loadI18n(path.join(__dirname, '../i18n/i18n-js.json'))
|
|
1117
1121
|
const jsOutput = jsGenerator.generate(jsAst)
|
|
1118
1122
|
|
|
1119
1123
|
if (jsOutput) {
|
package/i18n/i18n-js.json
CHANGED
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"fenetre": { "fr": "fenêtre", "en": "window", "es": "ventana", "ru": "окно", "zh": "窗口", "ja": "ウィンドウ" },
|
|
407
407
|
"selecteur": { "fr": "sélecteur", "en": "querySelector", "es": "selector", "ru": "селектор", "zh": "选择器", "ja": "クエリセレクター" },
|
|
408
408
|
"selecteurs": { "fr": "sélecteurs", "en": "querySelectorAll", "es": "selectores", "ru": "селекторы", "zh": "选择器全部", "ja": "クエリセレクターオール" },
|
|
409
|
-
"elementParId": { "fr": "
|
|
409
|
+
"elementParId": { "fr": "élémentParId", "en": "getElementById", "es": "elemento por id", "ru": "элемент по id", "zh": "通过ID获取元素", "ja": "ゲットエレメントバイID" },
|
|
410
410
|
"elementsParClasse": { "fr": "éléments par classe", "en": "getElementsByClassName", "es": "elementos por clase", "ru": "элементы по классу", "zh": "通过类获取元素", "ja": "ゲットエレメンツバイクラスネーム" },
|
|
411
411
|
"elementsParTag": { "fr": "éléments par tag", "en": "getElementsByTagName", "es": "elementos por tag", "ru": "элементы по тегу", "zh": "通过标签获取元素", "ja": "ゲットエレメンツバイタグネーム" },
|
|
412
412
|
"creerElement": { "fr": "créer élément", "en": "createElement", "es": "crear elemento", "ru": "создать элемент", "zh": "创建元素", "ja": "クリエイトエレメント" },
|
|
@@ -425,7 +425,6 @@
|
|
|
425
425
|
"remplacerAvec": { "fr": "remplacer avec", "en": "replaceWith", "es": "reemplazar con", "ru": "заменить на", "zh": "替换为", "ja": "リプレースウィズ" },
|
|
426
426
|
"contenuHTML": { "fr": "contenu HTML", "en": "innerHTML", "es": "contenido HTML", "ru": "внутренний HTML", "zh": "内部HTML", "ja": "インナーHTML" },
|
|
427
427
|
"htmlExterne": { "fr": "HTML externe", "en": "outerHTML", "es": "HTML externo", "ru": "внешний HTML", "zh": "外部HTML", "ja": "アウターHTML" },
|
|
428
|
-
"contenuTexte": { "fr": "contenu texte", "en": "textContent", "es": "contenido texto", "ru": "текстовое содержимое", "zh": "文本内容", "ja": "テキストコンテンツ" },
|
|
429
428
|
"texteInterne": { "fr": "texte interne", "en": "innerText", "es": "texto interno", "ru": "внутренний текст", "zh": "内部文本", "ja": "インナーテキスト" },
|
|
430
429
|
"obtenirAttribut": { "fr": "obtenir attribut", "en": "getAttribute", "es": "obtener atributo", "ru": "получить атрибут", "zh": "获取属性", "ja": "ゲットアトリビュート" },
|
|
431
430
|
"definirAttribut": { "fr": "définir attribut", "en": "setAttribute", "es": "definir atributo", "ru": "установить атрибут", "zh": "设置属性", "ja": "セットアトリビュート" },
|
|
@@ -449,7 +448,10 @@
|
|
|
449
448
|
"suivantDom": { "fr": "suivant", "en": "nextSibling", "es": "siguiente", "ru": "следующий", "zh": "下一个兄弟节点", "ja": "ネクストシブリング" },
|
|
450
449
|
"precedent": { "fr": "précédent", "en": "previousSibling", "es": "anterior", "ru": "предыдущий", "zh": "上一个兄弟节点", "ja": "プリビアスシブリング" },
|
|
451
450
|
"elementSuivant": { "fr": "élément suivant", "en": "nextElementSibling", "es": "elemento siguiente", "ru": "следующий элемент", "zh": "下一个兄弟元素", "ja": "ネクストエレメントシブリング" },
|
|
452
|
-
"elementPrecedent": { "fr": "élément précédent", "en": "previousElementSibling", "es": "elemento anterior", "ru": "предыдущий элемент", "zh": "上一个兄弟元素", "ja": "プリビアスエレメントシブリング" }
|
|
451
|
+
"elementPrecedent": { "fr": "élément précédent", "en": "previousElementSibling", "es": "elemento anterior", "ru": "предыдущий элемент", "zh": "上一个兄弟元素", "ja": "プリビアスエレメントシブリング" },
|
|
452
|
+
"recupererId": { "fr": "récupérer id", "en": "getElementById", "es": "obtener por id", "ru": "получить по id", "zh": "通过ID获取", "ja": "IDで取得" },
|
|
453
|
+
"surClic": { "fr": "surClic", "en": "onclick", "es": "alClic", "ru": "приКлике", "zh": "点击时", "ja": "クリック時" },
|
|
454
|
+
"contenuTexte": { "fr": "contenuTexte", "en": "textContent", "es": "contenidoTexto", "ru": "текстовоеСодержимое", "zh": "文本内容", "ja": "テキスト内容" }
|
|
453
455
|
},
|
|
454
456
|
"evenements": {
|
|
455
457
|
"ecouter": { "fr": "écouter", "en": "addEventListener", "es": "escuchar", "ru": "слушать", "zh": "监听", "ja": "アッドイベントリスナー" },
|
package/package.json
CHANGED