Skip to content

An enchanting 🔮 web screenshot tool for capturing and sharing web content effortlessly

License

Notifications You must be signed in to change notification settings

TypeError/crystalball

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crystal Ball 🔮

A Magical Web Screenshot Project

Crystal Ball 🔮 is a library that takes an array or file of URLs and returns a report with screenshots (using Puppeteer), application headers and src/href references.

For information on downloading and installing Node.js, see nodejs.org.

Usage

Crystal Ball Command Line Install

$ npm install crystalball -g 

Crystal Ball (cli)

The first parameter is URL(s) (encapsulated in quotes, separated by commas) or a filename and followed by individual options.

Options
  • prefix : Prefix http and https to each URL
  • port : Add additional port 8080 for HTTP and 8443 for HTTPS
  • file : Use the first parameter as a filename (instead of URLs) to parse (URLs separated by a new line)

If the last argument is a number, it will specify the number of concurrent connections (default = 10).

Note: The file argument must be included to use a filename.

Examples:

Array of URLS:
crystalball 'http://example.com, http://example1.com'

Array of URLS with Options:
crystalball 'http://example.com, http://example1.com' prefix ports 15

File (must include file argument):
crystalball 'example.txt' file

File with Options:
crystalball 'example.txt' file prefix ports 15

Note: The first argument should be encapsulated in quotes.

Module Install

$ npm install crystalball

Modules

Import: import * as O from "crystalball";
Require: const O = require("crystalball");

Options

Options are passed as an object with the following properties and values.

  • file : true : Use filename as argument
  • filename: "example" : Report filename (defaults to cb)
  • prefix: true : Prefix http and https
  • ports : boolean : Add port 8080 for http and port 8443 for https
  • connections : number : Number of concurrent connections (default = 10)
Example:
O.see("example.txt", { file: true, filename: "example", prefix: true });
    => Report output in ./crystalball/example_date.html
    => Data output in ./crystalball/data/

Functions

The see function takes an array of URLS and options.

O.see(["http://www.example.com", "http://www.example2.com"], options);
    => Report output in ./crystalball/cb_date.html
    => Data output in ./crystalball/data/

The file function takes a filename and options.

O.file("example.txt", options);
    => Report output in ./crystalball/cb_date.html
    => Data output in ./crystalball/data/

Reporting

  1. HTML report with screenshots, application headers and src/href references at ./crystalball/cb_date.html. (Note: Clicking on each screenshot will toggle size)
  2. Data files with application source, headers and src/href references at ./crystalball/data/.