-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e7f43e9
commit 556dde7
Showing
3 changed files
with
134 additions
and
134 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,38 +1,38 @@ | ||
| module.exports = { | ||
| "env": { | ||
| "es6": true, | ||
| "node": false, | ||
| "browser": false | ||
| }, | ||
| "globals": { | ||
| "console": true | ||
| }, | ||
| "extends": "eslint:recommended", | ||
| "parserOptions": { | ||
| "ecmaVersion": 2017, | ||
| "sourceType": "module" | ||
| }, | ||
| "rules": { | ||
| "indent": [ | ||
| "error", | ||
| "tab", { | ||
| "SwitchCase": 1 | ||
| } | ||
| ], | ||
| "linebreak-style": [ | ||
| "error", | ||
| "unix" | ||
| ], | ||
| "quotes": [ | ||
| "error", | ||
| "double" | ||
| ], | ||
| "semi": [ | ||
| "error", | ||
| "always" | ||
| ], | ||
| "no-console": [ | ||
| "warn" | ||
| ] | ||
| } | ||
| "env": { | ||
| "es6": true, | ||
| "node": false, | ||
| "browser": false | ||
| }, | ||
| "globals": { | ||
| "console": true | ||
| }, | ||
| "extends": "eslint:recommended", | ||
| "parserOptions": { | ||
| "ecmaVersion": 2017, | ||
| "sourceType": "module" | ||
| }, | ||
| "rules": { | ||
| "indent": [ | ||
| "error", | ||
| "tab", { | ||
| "SwitchCase": 1 | ||
| } | ||
| ], | ||
| "linebreak-style": [ | ||
| "error", | ||
| "unix" | ||
| ], | ||
| "quotes": [ | ||
| "error", | ||
| "double" | ||
| ], | ||
| "semi": [ | ||
| "error", | ||
| "always" | ||
| ], | ||
| "no-console": [ | ||
| "warn" | ||
| ] | ||
| } | ||
| }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,81 +1,81 @@ | ||
| # SingleFile (Command Line Interface) | ||
|
|
||
| ## Introduction | ||
|
|
||
| SingleFile can be launched from the command line by running it into a (headless) browser. It runs through Node.js as a standalone script injected into the web page instead of being embedded into a WebExtension. To connect to the browser, it can use [Puppeteer](https://github.com/GoogleChrome/puppeteer) or [Selenium WebDriver](https://www.npmjs.com/package/selenium-webdriver). Alternatively, it can also emulate a browser with JavaScript disabled by using [jsdom](https://github.com/jsdom/jsdom). | ||
|
|
||
| ## Install | ||
|
|
||
| - Make sure Chrome or Firefox is installed and the executable can be found through the `PATH` environment variable. Otherwise you will need to set the `--browser-executable-path` option to help SingleFile locating it. As an alternative to Chrome and Firefox, you can use jsdom by setting the `--back-end` option to `jsdom`. | ||
|
|
||
| - Install [Node.js](https://nodejs.org) | ||
|
|
||
| - Unzip the [master archive](https://github.com/gildas-lormeau/SingleFile/archive/master.zip) somewhere on your disk in an empty folder and go into the `SingleFile-master/cli` directory. | ||
|
|
||
| `unzip master.zip .` | ||
|
|
||
| `cd SingleFile-master` | ||
|
|
||
| `cd cli` | ||
|
|
||
| - As an alternative to decompressing the master archive, you can clone the repository if `git` is installed on your machine and go into the `SingleFile/cli` directory. | ||
|
|
||
| `git clone https://github.com/gildas-lormeau/SingleFile.git` | ||
|
|
||
| `cd SingleFile` | ||
|
|
||
| `cd cli` | ||
|
|
||
| - Install dependencies with npm (installed with Node.js). | ||
|
|
||
| `npm install` | ||
|
|
||
| - Make `single-file` executable (Linux/Unix/BSD etc.). | ||
|
|
||
| `chmod +x single-file` | ||
|
|
||
| - To use Firefox instead of Chrome, you must download the [Selenium WebDriver](https://www.npmjs.com/package/selenium-webdriver) component (i.e. `geckodriver` for Firefox). Make sure it can be found through the `PATH` environment variable or the `cli` folder. Otherwise you will need to set the `--web-driver-executable-path` option to help WebDriver locating the executable. | ||
|
|
||
| - To use Puppeteer with Firefox, you must install the package `puppeteer-firefox` manually by running `npm install puppeteer-firefox` and set the `--back-end` option to `puppeteer-firefox`. | ||
|
|
||
| ## Run | ||
|
|
||
| - Syntax | ||
|
|
||
| `single-file <url> [output] [options ...]` | ||
|
|
||
| - Display help | ||
|
|
||
| `single-file --help` | ||
|
|
||
| - Examples | ||
|
|
||
| - Dump the processed content of https://www.wikipedia.org into the console | ||
|
|
||
| `single-file https://www.wikipedia.org` | ||
|
|
||
| - Save https://www.wikipedia.org into `wikipedia.html` | ||
|
|
||
| `single-file https://www.wikipedia.org wikipedia.html` | ||
|
|
||
| - Save https://www.wikipedia.org into `wikipedia.html` with Firefox instead of Chrome | ||
|
|
||
| `single-file https://www.wikipedia.org wikipedia.html --back-end=webdriver-gecko` | ||
|
|
||
| ## Docker | ||
|
|
||
| - Build | ||
|
|
||
| `docker build -t singlefile .` | ||
|
|
||
| - Run | ||
|
|
||
| `docker run singlefile "https://www.wikipedia.org"` | ||
|
|
||
| - Run and pipe the result into a file | ||
|
|
||
| `docker run singlefile "https://www.wikipedia.org" > wikipedia.html` | ||
|
|
||
| ## License | ||
|
|
||
| SingleFile is licensed under AGPL. Code derived from third-party projects is licensed under MIT. Please contact me at gildas.lormeau <at> gmail.com if you are interested in licensing the SingleFile code for a commercial service or product. | ||
| # SingleFile (Command Line Interface) | ||
|
|
||
| ## Introduction | ||
|
|
||
| SingleFile can be launched from the command line by running it into a (headless) browser. It runs through Node.js as a standalone script injected into the web page instead of being embedded into a WebExtension. To connect to the browser, it can use [Puppeteer](https://github.com/GoogleChrome/puppeteer) or [Selenium WebDriver](https://www.npmjs.com/package/selenium-webdriver). Alternatively, it can also emulate a browser with JavaScript disabled by using [jsdom](https://github.com/jsdom/jsdom). | ||
|
|
||
| ## Install | ||
|
|
||
| - Make sure Chrome or Firefox is installed and the executable can be found through the `PATH` environment variable. Otherwise you will need to set the `--browser-executable-path` option to help SingleFile locating it. As an alternative to Chrome and Firefox, you can use jsdom by setting the `--back-end` option to `jsdom`. | ||
|
|
||
| - Install [Node.js](https://nodejs.org) | ||
|
|
||
| - Unzip the [master archive](https://github.com/gildas-lormeau/SingleFile/archive/master.zip) somewhere on your disk in an empty folder and go into the `SingleFile-master/cli` directory. | ||
|
|
||
| `unzip master.zip .` | ||
|
|
||
| `cd SingleFile-master` | ||
|
|
||
| `cd cli` | ||
|
|
||
| - As an alternative to decompressing the master archive, you can clone the repository if `git` is installed on your machine and go into the `SingleFile/cli` directory. | ||
|
|
||
| `git clone https://github.com/gildas-lormeau/SingleFile.git` | ||
|
|
||
| `cd SingleFile` | ||
|
|
||
| `cd cli` | ||
|
|
||
| - Install dependencies with npm (installed with Node.js). | ||
|
|
||
| `npm install` | ||
|
|
||
| - Make `single-file` executable (Linux/Unix/BSD etc.). | ||
|
|
||
| `chmod +x single-file` | ||
|
|
||
| - To use Firefox instead of Chrome, you must download the [Selenium WebDriver](https://www.npmjs.com/package/selenium-webdriver) component (i.e. `geckodriver` for Firefox). Make sure it can be found through the `PATH` environment variable or the `cli` folder. Otherwise you will need to set the `--web-driver-executable-path` option to help WebDriver locating the executable. | ||
|
|
||
| - To use Puppeteer with Firefox, you must install the package `puppeteer-firefox` manually by running `npm install puppeteer-firefox` and set the `--back-end` option to `puppeteer-firefox`. | ||
|
|
||
| ## Run | ||
|
|
||
| - Syntax | ||
|
|
||
| `single-file <url> [output] [options ...]` | ||
|
|
||
| - Display help | ||
|
|
||
| `single-file --help` | ||
|
|
||
| - Examples | ||
|
|
||
| - Dump the processed content of https://www.wikipedia.org into the console | ||
|
|
||
| `single-file https://www.wikipedia.org` | ||
|
|
||
| - Save https://www.wikipedia.org into `wikipedia.html` | ||
|
|
||
| `single-file https://www.wikipedia.org wikipedia.html` | ||
|
|
||
| - Save https://www.wikipedia.org into `wikipedia.html` with Firefox instead of Chrome | ||
|
|
||
| `single-file https://www.wikipedia.org wikipedia.html --back-end=webdriver-gecko` | ||
|
|
||
| ## Docker | ||
|
|
||
| - Build | ||
|
|
||
| `docker build -t singlefile .` | ||
|
|
||
| - Run | ||
|
|
||
| `docker run singlefile "https://www.wikipedia.org"` | ||
|
|
||
| - Run and pipe the result into a file | ||
|
|
||
| `docker run singlefile "https://www.wikipedia.org" > wikipedia.html` | ||
|
|
||
| ## License | ||
|
|
||
| SingleFile is licensed under AGPL. Code derived from third-party projects is licensed under MIT. Please contact me at gildas.lormeau <at> gmail.com if you are interested in licensing the SingleFile code for a commercial service or product. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,17 @@ | ||
| { | ||
| "name": "single-file", | ||
| "version": "0.0.1", | ||
| "description": "SingleFile", | ||
| "author": "Gildas Lormeau", | ||
| "license": "AGPL-3.0-or-later", | ||
| "dependencies": { | ||
| "file-url": "*", | ||
| "iconv-lite": "*", | ||
| "jsdom": "*", | ||
| "puppeteer-core": "*", | ||
| "request-promise-native": "*", | ||
| "selenium-webdriver": "4.0.0-alpha.5", | ||
| "strong-data-uri": "*", | ||
| "yargs": "*" | ||
| } | ||
| } | ||
| { | ||
| "name": "single-file", | ||
| "version": "0.0.1", | ||
| "description": "SingleFile", | ||
| "author": "Gildas Lormeau", | ||
| "license": "AGPL-3.0-or-later", | ||
| "dependencies": { | ||
| "file-url": "*", | ||
| "iconv-lite": "*", | ||
| "jsdom": "*", | ||
| "puppeteer-core": "*", | ||
| "request-promise-native": "*", | ||
| "selenium-webdriver": "4.0.0-alpha.5", | ||
| "strong-data-uri": "*", | ||
| "yargs": "*" | ||
| } | ||
| } |