barretlee / Kindlebookmaker
Licence: mit
Kindle Book Maker with KindleGen, Make Book from RSS/single URL/directory and so on.
Stars: ✭ 364
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Kindlebookmaker
Hacker News Digest
📰 A responsive interface of Hacker News with summaries and thumbnails.
Stars: ✭ 278 (-23.63%)
Mutual labels: rss, spider
Reader
Free and open source feeds reader, including all major Google Reader features
Stars: ✭ 347 (-4.67%)
Mutual labels: rss
Rssmonster
Google Reader inspired self-hosted RSS reader written in VueJS with an Express NodeJS backend. RSSMonster is compatible with the Fever API.
Stars: ✭ 321 (-11.81%)
Mutual labels: rss
Elves
🎊 Design and implement of lightweight crawler framework.
Stars: ✭ 315 (-13.46%)
Mutual labels: spider
Podcastgenerator
Open Source Podcast Publishing Solution since 2006
Stars: ✭ 344 (-5.49%)
Mutual labels: rss
Api.rss
RSS as RESTful. This service allows you to transform RSS feed into an awesome API.
Stars: ✭ 340 (-6.59%)
Mutual labels: rss
Ttbot
今日头条机器人,支持用户登陆、关注、取消关注、获取关注粉丝、发文、发悟空问答、点赞、评论、采集各种类型新闻讯息等,使用今日头条网页版API实现
Stars: ✭ 338 (-7.14%)
Mutual labels: spider
Freshonions Torscraper
Fresh Onions is an open source TOR spider / hidden service onion crawler hosted at zlal32teyptf4tvi.onion
Stars: ✭ 348 (-4.4%)
Mutual labels: spider
Weatherspider
天气爬虫(全国城镇天气自动定时抓取更新,并开放RESTful查询接口),附带代理IP池定时更新并检测其可用性
Stars: ✭ 337 (-7.42%)
Mutual labels: spider
Webster
a reliable high-level web crawling & scraping framework for Node.js.
Stars: ✭ 364 (+0%)
Mutual labels: spider
Fictiondown
小说下载|小说爬取|起点|笔趣阁|导出Markdown|导出txt|转换epub|广告过滤|自动校对
Stars: ✭ 362 (-0.55%)
Mutual labels: spider
Kindle Book Maker
This Project is aimed at creating a kindle book generator. Fetching data from internet, then combo all data to a mini .mobi
book, what you have to do is just edit profiles and run build commands.
Project structure
Data comes in three way:
- spider fetch a uri content, but you need to config the class the article's title and content
- spider fetch a rss source
- from local file
Here is the structure of project:
After preparing data, The program will filter some dirty data, and transfer remote file link to local file, that means it will download the resources.
Finally, using kindleGen generate book. I had put the kindleGen file to /bin/kindlegen, 28M.
Usage
First, run this command:
chmod +x bin/**/kindlegen
Try a simple demo:
git clone https://github.com/barretlee/kindleBookMaker.git;
cd kindleBookMaker;
npm install;
node index;
open build/*.mobi;
There are lots of function, simplify to three command.
- generate from rss:
node index --rss http://barretlee.com/rss2.xml
# node index -r http://barretlee.com/rss2.xml
- generate from a uri,
-u URL titleQuery ContentQuery FilterRegExp
:
node index --uri \
http://www.barretlee.com/blog/2016/04/28/mini-query/ \
.post-title \
.post-content \
/<div class="shit-spider"[\s\S]+?<\/div>/
- generate from local directory:
node index --dirctory ./src/demo/
# node index -d ./src/demo/
and three other arguments:
-
--verbose
,-v
, detail about kindle generation. -
--help
,-h
, help. -
-push2kindle
,-p
, push the builded.mobi
file to your kindle.
Configure
var moment = require('moment');
module.exports = {
// entry: './src/KF8-Demo',
entry: {
base: './src/KF8-Demo',
list: []
},
bookInfo: {
title: "Barret Lee's Personal Website",
lang: "zh",
creator: "Barret Lee",
copyright: "Barret Lee",
publisher: "",
coverImage: 'coverImage.png'
},
/*option*/
output: {
base: './build',
format: '[name]-' + moment().format('YYYYMMDD')
},
/*option for uri*/
singlePage: {
title: 'div.title',
description: 'div.content',
reg: function(data) {
return data.replace(/<div class="shit-spider"[\s\S]+?<\/div>/, '');
}
},
/*option*/
push2kindle: {
email: '[email protected]',
password: 'your-email-password',
kindle: '[email protected]'
}
};
-
entry
, can be a String or an Object-
base
, the entry base, where remote file placed. -
list
, it impacts the order of book article list.
-
-
bookInfo
, be attention to thecoverImage
, you should better set a value. -
ouput
, optional, default is./build
and[name]
. -
singlePage
, optional, for uri spider -
push2kindle
, optional, thekindle
param is your device matched email, can be edit at here.
Todo
- [ ] generate from markdown file directly.
- [ ] fix push2kindle bug, cannot push
.mobi
format file, i don't konw why.
Relative articles
- http://www.idpf.org/epub/30/spec/epub30-publications.html#sec-item-property-values
- http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm
- http://www.aliciaramirez.com/2014/05/how-to-make-a-kindle-ebook-from-scratch/
Contributors
LICENSE
The MIT License (MIT)
Copyright (c) 2016 小胡子哥
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].