From 9facf0ad6e2cf558b6948a9f6e7572f6c364d6df Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sat, 8 Oct 2022 01:30:26 +0300 Subject: [PATCH 1/3] scheme list processing in example --- README.md | 6 ++++-- example/src/index.sxml | 12 +++++++++--- example/webpack.config.js | 14 +++++++++++++- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index bfd1a73..10bfd47 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,11 @@ use: [ loader: 'sxml-loader', options: { interpreter: 'guile', - flags: ['-c'], // "eval" flag (in Guile case "-c") should be last. - // SXML_LOADER_CONTENT will be replaced with processing SXML markup. + // The "eval" flag (in the case of Guile "-c") must come last. + flags: ['-c'], + + // SXML_LOADER_CONTENT will be replaced with SXML markup. expr: '(use-modules (sxml simple))(sxml->xml SXML_LOADER_CONTENT)', }, }, diff --git a/example/src/index.sxml b/example/src/index.sxml index 576f853..310561e 100644 --- a/example/src/index.sxml +++ b/example/src/index.sxml @@ -1,5 +1,11 @@ -'((html +`((html (@ (lang en)) (head - (title "Hello")) + (meta (@ (charset utf-8))) + (title "sxml-loader example")) (body - (h1 "Hello World!")))) + (h1 "sxml-loader example") + + (h2 "List rendering") + ,(map + (lambda (num) `(article "Article " ,num)) + '(1 2 3))))) diff --git a/example/webpack.config.js b/example/webpack.config.js index 85bfc3e..fd5a0e3 100644 --- a/example/webpack.config.js +++ b/example/webpack.config.js @@ -6,7 +6,19 @@ module.exports = { rules: [ { test: /\.sxml$/, - use: ['html-loader', 'sxml-loader'], + use: [ + 'html-loader', + { + loader: 'sxml-loader', + /* + options: { + interpreter: 'guile', + flags: ['-c'], + expr: '(use-modules (sxml simple))(sxml->xml SXML_LOADER_CONTENT)', + }, + */ + }, + ], }, ], }, -- 2.36.1 From 4ea70060433acb8de84d19a83e34f869eaac0c42 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sat, 8 Oct 2022 01:30:42 +0300 Subject: [PATCH 2/3] doctype passing --- src/loader.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/loader.js b/src/loader.js index c0a3914..dea7cc6 100644 --- a/src/loader.js +++ b/src/loader.js @@ -18,6 +18,10 @@ const schema = { type: 'string', default: '(import sxml-serializer)(display (serialize-sxml SXML_LOADER_CONTENT))', }, + doctype: { + type: 'string', + default: '', + }, }, }; @@ -42,9 +46,13 @@ module.exports = function(content, map, meta) { expr = expr.replace('SXML_LOADER_CONTENT', content); flags.push(expr); + let doctype = schema.properties.doctype.default; + if (options.doctype) + doctype = options.doctype; + const cb = this.async(); runScheme(interpreter, flags).then(data => { - cb(null, data, map, meta); + cb(null, `${doctype}\n${data}`, map, meta); }).catch(err => { console.error(err); }); -- 2.36.1 From 795d2b48e8ec4722cae3982d5771fc8ee6da7b58 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sat, 8 Oct 2022 01:30:57 +0300 Subject: [PATCH 3/3] ver --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e34c329..3ace95e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sxml-loader", - "version": "0.2.0", + "version": "0.2.1", "description": "Scheme XML loader for webpack", "main": "src/loader.js", "bugs": "http://git.vilor.one/vilor/sxml-loader/issues", -- 2.36.1