├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── _config.yml
├── description.txt
├── index.js
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # nyc test coverage
21 | .nyc_output
22 |
23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24 | .grunt
25 |
26 | # Bower dependency directory (https://bower.io/)
27 | bower_components
28 |
29 | # node-waf configuration
30 | .lock-wscript
31 |
32 | # Compiled binary addons (https://nodejs.org/api/addons.html)
33 | build/Release
34 |
35 | # Dependency directories
36 | node_modules/
37 | jspm_packages/
38 |
39 | # TypeScript v1 declaration files
40 | typings/
41 |
42 | # Optional npm cache directory
43 | .npm
44 |
45 | # Optional eslint cache
46 | .eslintcache
47 |
48 | # Optional REPL history
49 | .node_repl_history
50 |
51 | # Output of 'npm pack'
52 | *.tgz
53 |
54 | # Yarn Integrity file
55 | .yarn-integrity
56 |
57 | # dotenv environment variables file
58 | .env
59 |
60 | # next.js build output
61 | .next
62 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # jekyll config
2 | _config.yml
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Merferry
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Crawl Wikipedia pages and upload TTS to YouTube.
2 | > Do you want to:
3 | > - [Upload Wikipedia TTS videos on YouTube]?
4 |
5 |
6 |
7 | ## setup
8 |
9 | 1. Install [Node.js], if not installed.
10 | 2. Run `npm install -g wikipedia-tts` in [console].
11 | 3. To install this as a package use `npm install wikipedia-tts`.
12 | 1. Follow setup at [extra-googletts].
13 | 2. Follow setup at [extra-youtubeuploader].
14 |
15 |
16 |
17 | ## console
18 |
19 | ```bash
20 | wikipedia-tts [page] [options]
21 | # --help: show this help
22 | # -l, --log: enable log
23 | # -o, --output: set output file
24 | # -d, --db: set crawl database file (crawl.db)
25 | # -p, --priority: set page priority (0)
26 | # -r, --references: set page references (0)
27 | # -s, --status: set page status (0)
28 | # -t, --times: times to crawl/upload (1)
29 | # Environment variables:
30 | # WIKIPEDIATTS_LOG: enable logging (0)
31 | # WIKIPEDIATTS_DB: crawl database file (crawl.db)
32 |
33 | wikipedia-tts "Ladakh"
34 | # "Ladakh" is uploaded to YouTube
35 |
36 | wikipedia-tts add "Plant nutrition"
37 | # "Plant nutrition" is added to crawl list
38 |
39 | wikipedia-tts update "Plant nutrition" --priority 1
40 | # "Plant nutrition" priority is set to 1
41 | # this means it will be crawled/uploaded first
42 | # even if other pages have higher number of references
43 |
44 | wikipedia-tts crawl
45 | # "Plant nutrition" is page links are crawled
46 | # this is because it is on top priority, references
47 |
48 | wikipedia-tts crawl --times 10
49 | # Crawling done recursively 10 times
50 |
51 | wikipedia-tts upload
52 | # Highest ranking page is crawled and uploaded to YouTube
53 |
54 | wikipedia-tts upload --times 10
55 | # Uploading done recursively 10 times
56 | ```
57 |
58 |
59 |
60 | ## package
61 |
62 | ```javascript
63 | const wikipediaTts = require('wikipedia-tts');
64 | // wikipediaTts.setup([db path]): db conn (promise)
65 | // wikipediaTts.get, ): {title, priority, references, status} (promise)
66 | // wikipediaTts.add(, ): page (promise)
67 | // wikipediaTts.remove(, ): page (promise)
68 | // wikipediaTts.update(, , [value]): page (promise)
69 | // wikipediaTts.crawl(, [options]): times crawled (promise)
70 | // wikipediaTts.upload(, [options]): times uploaded (promise)
71 | // wikipediaTts(