text Gulp - 从HTML获取数据,创建说明文本并写入Firebase DB
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text Gulp - 从HTML获取数据,创建说明文本并写入Firebase DB相关的知识,希望对你有一定的参考价值。
//get links, content, filename from html, create slug, and write to txt file THEN run callback fn that creates description text
let nmb = 0;
let counter = 0;
let slugArray = [];
let titlesArray = [];
gulp.task('get-data', function () {
function newFun(callback) {
let title, content;
return gulp.src('./*.html')
.pipe(dom(function (document) {
//get elements' value from DOM of the HTML file
title = document.querySelector('title') ? document.querySelector('title').textContent : '';
content = document.querySelectorAll('.testimonials_text')[4] ? document.querySelectorAll('.testimonials_text')[4].innerHTML : `no-slug-${nmb}`;
content = content.trim();
}))
.on('data', function () {
//get slug
let url = title === '' ? 'no-content-' + nmb : getSlug(title);
titlesArray.push(title);
slugArray.push(url);
//write object to firebase
if (url !== '') {
let dataStore = {
title,
url,
content
};
database.ref('pages').child(url).set(dataStore);
}
//count nodes
nmb++;
console.log(nmb);
})
.on('end', function () {
callback(titlesArray, slugArray);
console.log('done');
})
.pipe(exit());
}
newFun(function (titlesArray, slugArray) {
let lines = readTextFile.readSync('./example/descriptions.txt');
let linesArray = lines.split('\n');
linesArray.forEach(function (line) {
if (line !== '\r' && line !== '' && counter < titlesArray.length) {
let lowerTitle = titlesArray[counter].toLowerCase();
let description = line.replace('#h1#', lowerTitle);
console.log(counter, titlesArray[counter]);
database.ref('pages/' + slugArray[counter]).child('description').set(description);
counter++;
}
});
});
});
以上是关于text Gulp - 从HTML获取数据,创建说明文本并写入Firebase DB的主要内容,如果未能解决你的问题,请参考以下文章
在 gulp.src() 中获取当前文件名
text Gulp Node js将HTML解析为Firebase json和txt站点地图
Gulp API
从 webdriver.io 获取数据后动态构建 Mocha 测试
我常用的前端开发工具—cutterman,mark man,sublime text,yeoman,gulp……
gulp压缩构建代码