pug/jade & gulp-merge-json line break

275 views Asked by At

I'm using pug/jade with gulp data & gulp-merge-json. I can't find a way to insert line break in my Json. I have tried to insert in the json :

  • \n
  • \"
  • \\
  • \/
  • \b
  • \f
  • \r
  • \u

None works. I managed to have a space using \t, but I really need to be able to use line breaks.

var data = require('gulp-data');
fs = require('fs'),
path = require('path'),
merge = require('gulp-merge-json');
var pug    = require('gulp-pug');
gulp.task('pug:data', function() {
    return gulp.src('assets/json/**/*.json')
        .pipe(merge({
            fileName: 'data.json',
            edit: (json, file) => {
                // Extract the filename and strip the extension
                var filename = path.basename(file.path),
                    primaryKey = filename.replace(path.extname(filename), '');

                // Set the filename as the primary key for our JSON data
                var data = {};
                data[primaryKey.toUpperCase()] = json;

                return data;
            }
        }))
        .pipe(gulp.dest('assets/temp'));
});

Here is the pug code :

    #abouttxt.hide.block.big.centered.layer_top
        | #{ABOUT[langage]}

Here is the Json named About.json :

{"en": "Peace, Love, Unity and Having fun* !",
"fr": "Ecriture et Réalisation\nVina Hiridjee et David Boisseaux-Chical\n\nDirection artistique et Graphisme\nNicolas Dali\n\nConception et Développement\nRomain Malauzat
    
    Production\nKomet Prod ...... etc"
}
1

There are 1 answers

0
Rom On

I didn't read the pug documentation well enough, my bad. you can do Unescaped String Interpolation like this.

!{ABOUT[langage]}