Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bensheldon/kindle_clippings
Automatically import Kindle `My Clippings.txt` and view them, using GitHub Actions and Pages
https://github.com/bensheldon/kindle_clippings
Last synced: 17 days ago
JSON representation
Automatically import Kindle `My Clippings.txt` and view them, using GitHub Actions and Pages
- Host: GitHub
- URL: https://github.com/bensheldon/kindle_clippings
- Owner: bensheldon
- Created: 2022-12-20T22:25:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-08-14T01:03:27.000Z (over 1 year ago)
- Last Synced: 2024-10-16T07:13:55.216Z (28 days ago)
- Language: Ruby
- Homepage: https://bensheldon.github.io/kindle_clippings/
- Size: 3.74 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kindle Clippings Importer and Viewer
Automatically ingests Kindle's `My Clippings.txt` files; combines, dedupes, and preserves their contents (Highlights/Bookmarks/Notes), and generates a simple website for reading and exploring them.
This project uses [**GitHub Actions**](./.github/workflows) to automatically ingest and process the `My Clippings.txt` files, re-committing the updated [`clippings.yml`](./clippings.yml) back to this repository. Then, a custom **Jekyll** static site is generated and published to [**GitHub Pages**](https://bensheldon.github.io/kindle_clippings).
## To use entirely through GitHub.com
1. Download the `My Clippings.txt` file from your Kindle
2. Upload your `My Clippings.txt` into the [`import_here`](./import_here) directory via the GitHub UI.This will automatically trigger a GitHub Actions workflow that will parse the contents of your `My Clippings.txt`, append new items to [`clippings.yml`](./clippings.yml), delete the original file you uploaded, and create a new commit with those changes. Then the workflow will rebuild and republish the GitHub Pages website.
## Development
Install it:
```ruby
bundle install
```Tests run with:
```ruby
bundle exec rspec
bundle exec rubocop
```Manually run the import script:
```ruby
bin/import
```Manually build/develop the website:
```ruby
bundle exec jekyll server
```