All Projects → barretlee → Kindlebookmaker

barretlee / Kindlebookmaker

Licence: mit
Kindle Book Maker with KindleGen, Make Book from RSS/single URL/directory and so on.

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
Webspider
在线地址: http://119.23.223.90:8000
Stars: ✭ 340 (-6.59%)
Mutual labels:  spider
Stringer
A self-hosted, anti-social RSS reader.
Stars: ✭ 3,362 (+823.63%)
Mutual labels:  rss
91porn Api
🌭💦 91porn爬虫在线无限制API接口(永久有效,口令每日更新) 及 在线web预览
Stars: ✭ 341 (-6.32%)
Mutual labels:  spider
Elves
🎊 Design and implement of lightweight crawler framework.
Stars: ✭ 315 (-13.46%)
Mutual labels:  spider
Ios Weekly
🇨🇳 老司机 iOS 周报
Stars: ✭ 3,938 (+981.87%)
Mutual labels:  rss
Podcastgenerator
Open Source Podcast Publishing Solution since 2006
Stars: ✭ 344 (-5.49%)
Mutual labels:  rss
Zhihu Login
知乎模拟登录,支持提取验证码和保存 Cookies
Stars: ✭ 340 (-6.59%)
Mutual labels:  spider
Api.rss
RSS as RESTful. This service allows you to transform RSS feed into an awesome API.
Stars: ✭ 340 (-6.59%)
Mutual labels:  rss
51job Spider
🔎 前程无忧 Python 招聘岗位信息爬取和分析
Stars: ✭ 328 (-9.89%)
Mutual labels:  spider
Ttbot
今日头条机器人,支持用户登陆、关注、取消关注、获取关注粉丝、发文、发悟空问答、点赞、评论、采集各种类型新闻讯息等,使用今日头条网页版API实现
Stars: ✭ 338 (-7.14%)
Mutual labels:  spider
Rss Bridge
The RSS feed for websites missing it
Stars: ✭ 4,067 (+1017.31%)
Mutual labels:  rss
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
Morerssplz
Convert other article sources to RSS feeds
Stars: ✭ 315 (-13.46%)
Mutual labels:  rss
Weatherspider
天气爬虫(全国城镇天气自动定时抓取更新,并开放RESTful查询接口),附带代理IP池定时更新并检测其可用性
Stars: ✭ 337 (-7.42%)
Mutual labels:  spider
Sign
逆向app的sign等参数的思路和体验, 安卓逆向, 安卓破解, 逆向app,爬虫解密
Stars: ✭ 334 (-8.24%)
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:

Kindle Book Maker

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 the coverImage, you should better set a value.
  • ouput, optional, default is ./build and [name].
  • singlePage, optional, for uri spider
  • push2kindle, optional, the kindle 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

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].