All Projects → owulveryck → rePocketable

owulveryck / rePocketable

Licence: MIT license
Tool to fetch articles from (getPocket|the web) and turn them into epub

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to rePocketable

mkepub
Simple minimalistic library for creating EPUB3 files
Stars: ✭ 68 (+38.78%)
Mutual labels:  epub, epub-generation
Calibre
The official source code repository for the calibre ebook manager
Stars: ✭ 11,221 (+22800%)
Mutual labels:  epub, epub-generation
Percollate
A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs.
Stars: ✭ 3,535 (+7114.29%)
Mutual labels:  epub, readability
jEpub
Simple EPUB builder library, works in modern browsers.
Stars: ✭ 33 (-32.65%)
Mutual labels:  epub, epub-generation
acsm-calibre-plugin
Calibre plugin for ACSM->EPUB and ACSM->PDF conversion.
Stars: ✭ 118 (+140.82%)
Mutual labels:  epub
Frontend-Animations
Frontend Animation Projects.🚀
Stars: ✭ 20 (-59.18%)
Mutual labels:  hacktoberfest2021
Hacktoberfest2021
Hacktoberfest is open to everyone in our global community. Whether you’re a seasoned contributor or looking for projects to contribute to for the first time, you’re welcome to participate.
Stars: ✭ 9 (-81.63%)
Mutual labels:  hacktoberfest2021
Resume-Maker
Resume Maker is tool where you can generate your resume for free. It has functionality like dynamic preview, color themes, responsive ,etc.
Stars: ✭ 40 (-18.37%)
Mutual labels:  hacktoberfest2021
typiform
⚛️ A serverless React powered online form builder that works like a doc.
Stars: ✭ 16 (-67.35%)
Mutual labels:  hacktoberfest2021
Commandline-Games-hacktoberfest
A repository to share command line games. An opportunity to start and learn about open source code contributions flow.
Stars: ✭ 16 (-67.35%)
Mutual labels:  hacktoberfest2021
rchore
An feature packed Google Tasks CLI written purely in Rust
Stars: ✭ 36 (-26.53%)
Mutual labels:  hacktoberfest2021
configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (+38.78%)
Mutual labels:  hacktoberfest2021
keycloak-admin-client
PHP Client to connect to Keycloak admin rest apis
Stars: ✭ 57 (+16.33%)
Mutual labels:  hacktoberfest2021
Algorithms
A repository by Codechef@MUST for data structures and algorithms
Stars: ✭ 19 (-61.22%)
Mutual labels:  hacktoberfest2021
Androapps
Important Android projects to learn fundamentals of android development
Stars: ✭ 48 (-2.04%)
Mutual labels:  hacktoberfest2021
react-native-ebook
React Native E-book (.mobi, .epub)
Stars: ✭ 45 (-8.16%)
Mutual labels:  epub
EveReader
Epub Reader, focused on annotation.
Stars: ✭ 68 (+38.78%)
Mutual labels:  epub
Hacktoberfest2021
This is for Hacktoberfest 2021
Stars: ✭ 16 (-67.35%)
Mutual labels:  hacktoberfest2021
react-in-out-textarea
A simple React.js User Interface Component that is like Google Translate with full TypeScript Support
Stars: ✭ 28 (-42.86%)
Mutual labels:  hacktoberfest2021
instaUnfollow
Check people don't follow you back on Instagram.
Stars: ✭ 50 (+2.04%)
Mutual labels:  hacktoberfest2021

rePocketable

GitHub go.mod Go version of a Go module Linux macOS Windows Build

This tool and its webpage are under construction.

Best possible option if you want to see what it will eventually do is to run a cli tool such as to epub:

go run cmd/toEpub/*.go https://whateverpageyouwanttoread/

This utility takes optional -H arguments to pass headers to the http downloader. This option can be used several times to be compatible with the curl command.

ex:

 toEpub -H 'sec-ch-ua: "Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36' \
  -H 'sec-ch-ua-platform: "macOS"'  https://thewebsite/thepage.html

I wrote some explanation of the concept in a blog post

Hacktoberfest

This is a toy project, but I am more and more relying on it. I think that hacktoberfest is a good opportunity to turn this project into a product. I will write a contributing guide soon; meanwhile if you want to participate the urgent matters are:

  • Writing a proper vision: discussing it into an issue and submitting a PR to mention in in the README
  • Writing autonomous end-to-end tests: grabbing a sample page, running an httptest server, running a toEpub code and analysing the result
  • Writing a proper documentation
  • Adding a contribution guide
  • sky is the limit, discuss in issues and submit PR once issues are discussed :D

Features

The internal libraries (used by the CLI) are implemeting those features:

  • Webpage fetching and pre-processing
    • preprocessing and sanitization of figures to fetch the correct image from responsive and/or javascript tags (Medium and Toward datascience)
    • experimental feature to turn LaTeX figures into pictures (github.com/go-latex/latex)
    • extraction of the content based on the ARC90 readility project (github.com/cixtor/readability)
  • Opengraph processing to extract meta informations (github.com/dyatlov/go-opengraph)
    • Generation of a cover picture with the front image of the website, the title and the author of the artible
    • Generation of a first chapter with meta data such as the publication date
  • epub generation (github.com/bmaupin/go-epub)
  • experimental getpocket integration
    • reading the article lists and generating epubs from the list
    • a daemon mode that will eventually runs on a ereader device to sync the list (heavy WIP)

Configurations

Those configuration may influence various internal libraries.

KEY TYPE DEFAULT REQUIRED DESCRIPTION
DOWNLOADER_LIVENESS_CHECK Duration 5m true
DOWNLOADER_PROBE_TIMEOUT Duration 60m true
DOWNLOADER_HTTP_TIMEOUT Duration 10s true
DOWNLOADER_TRANSPORT_TIMEOUT Duration 5s true

Those configuration are used for cli using the pocket integration

KEY TYPE DEFAULT REQUIRED DESCRIPTION
POCKET_UPDATE_FREQUENCY Duration 1h true How often to query getPocket
POCKET_HEALTH_CHECK Duration 30s true
POCKET_POCKET_URL String https://getpocket.com/v3/get true
POCKET_CONSUMER_KEY String true See https://getpocket.com/developer/apps/ to get a consumer key
POCKET_USERNAME String The pocket username (will try to fetch it if not found)
POCKET_TOKEN String The access token, will try to fetch it if not found or invalid
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].