thangngoc89's notebooks

  • Test beta semver - /thangngoc89/test-rc-semver
    Last edited 7 years ago
    const semver = require("semver") console.log(semver.satisfies("15.0.0", "^15.0.0-rc.1")) console.log(semver.satisfies("15.0.0-0", "^15.0.0-0")) console.log(semver.satisfies("15.0.0-rc.1", "^15.0.0-0"))
  • jquerynomic - /thangngoc89/jquerynomic
    Last edited 7 years ago
    const cheerio = require("cheerio") const document = ` <h1>1</h1> <h2>1.1</h2> <p>paragraph 1.1 - 1<span>foo</span></p> <p>paragraph 1.1 - 2<span>foo</span></p> <h3>1.1.1</h3> <h3>1.1.2</h3> <h4>1.1.2.1</h4> <h5>1.1.2.1.1</h5> <h6>1.1.2.1.1.1</h6> <p>paragraph 1.1.2.1.1.1 - 1<span>bar</span></p> <h2>1.2</h2> <h1>2</h1> <h1>3</h1> <h2>3.1</h2> <h1>4</h1> ` const $ = cheerio.load(document) $("p").each(function() { console.log("======") console.log($(this).siblings("h2").get(0)) console.log("======") })
  • An remark example - /thangngoc89/an-remark-example
    Last edited 7 years ago
    const remark = require('remark'); const visit = require('unist-util-visit'); const got = require('got'); got('http://daynhauhoc.com/raw/29429') .then((res) => { // We don't want any part before this line let data = res.body const startPos = data.indexOf('### Giới thiệu tổng quan khóa học') data = data.substring(startPos, data.length) processMd(data) }) .catch((error) => console.error(error))
  • Replace path - /thangngoc89/replace-path-test
    Last edited 7 years ago
    var string = 'path/deep-path/data.yaml'; var path = require('path'); console.log(path.normalize(string)); console.log(string.replace(/\//g, path.sep));
  • Return result from a javascript callback - /thangngoc89/javascript-callback
    Last edited 7 years ago
    var Bypasser = require('node-bypasser'); var URI = require('urijs'); var data = 'multiple urls : http://adf.ly/1DX0XD'; var result = URI.withinString(data, function(url) { var unshortenedUrl = null; var w = new Bypasser(url); yield w.decrypt(function(err, res) { // How can I return res ? unshortenedUrl = res; return res }) return unshortenedUrl; });
  • test web scraping with scraperjs - /thangngoc89/medsouls-scraper
    Last edited 7 years ago
    var scraperjs = require('scraperjs'); var i = 0; // This var is used to control loop. Don't want to be banned by tonicdev var scraper = (url) => { scraperjs.StaticScraper.create(url) .scrape(function($) { return $(".post-outer").map(function() { var title = $(this).find(".post-title > a").text(); var image = $(this).find("meta[itemprop='image_url']").attr("content"); var content = $(this).find(".post-body").html(); var date = $(this).find(".published[itemprop='datePublished']").attr("title"); var tags = $(this).find(".post-labels").text() .replace(/\n/g,"") // Remove all EOL .replace("Labels:",""); return { title: title, image: image, content: content, tags: tags, date: date, } }).get(); }) .then(function(data) { console.log(data); if(data.length > 0 && i < 1) { var lastDate = data[data.length-1].date; var nextUrl = 'http://medsouls.blogspot.com/search?max-results=10&updated-max='+lastDate; i++; scraper(nextUrl); } }); } scraper('http://medsouls.blogspot.com/');