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压缩构建代码