Open tdhooten opened 3 weeks ago
How is this a replacement. With no apps ?
@rochakagrawal
It's not a replacement for Omnivore, it's a tool to easily convert your Omnivore library to the import format of the read-it-later apps I mentioned in the original comment.
It looks like Readwise Reader built a special tool to migrate since the announcement.
It looks like Readwise Reader built a special tool to migrate since the announcement.
If it supports tags, then it's a better solution than my app for Readwise. Currently Readwise doesn't support tags via their CSV import, which is a pain.
I really liked the feature of setting an email address for my newsletters. Really helped unclutter incoming mails. Does anyone, please, have an alternative?
I really liked the feature of setting an email address for my newsletters. Really helped unclutter incoming mails. Does anyone, please, have an alternative?
Readwise Reader also has this feature of generating special email addresses you can use for your feed or library.
@jacksonh Thank you for the recommendation. The suggestion Meco.app looks very good
For anyone trying to process their Omnivore export into something more suitable for import into Raindrop.io, etc, Omnivore suggests using a jq
command to convert your files, but it doesn't work very well.
Once you've installed jq
, here's a command which creates a nice CSV out of your metadata_*.json
files from your Omnivore export, including extracting your tags and cleaning up any non-printable characters in your title and description fields:
jq -r '
(["url","title","note","tags","created"]),
(.[] | [
.url,
(.title | gsub("\\n";" ") | gsub("\\r";" ") | gsub("\"";"''") | gsub("[^[:print:]]";" ") | gsub("\\s+";" ")),
(.description | gsub("\\n";" ") | gsub("\\r";" ") | gsub("\"";"''") | gsub("[^[:print:]]";" ") | gsub("\\s+";" ")),
([.labels[]?]|join(",")),
.savedAt
]) | @csv
' metadata_*.json > omnivore-export.csv
Once you've unzipped your Omnivore export .zip file, change into the directory where the metadata_*.json
files are, and then you should be able to paste this command into your shell and run it (works for me in zsh
and should work in bash
as well).
For your edification, learning and enjoyment, here's a detailed breakdown of what this jq
command does:
["url","title","note","tags","created"]
.[]
), it creates an array with these transformations:
.url
- Grabs the URL.title
field, it applies these cleanups in sequence:gsub("\\n";" ")
- Replaces newlines with spacesgsub("\\r";" ")
- Replaces carriage returns with spacesgsub("\"";"''")
- Replaces double quotes with two single quotesgsub("[^[:print:]]";" ")
- Replaces any non-printable characters with spacesgsub("\\s+";" ")
- Collapses multiple spaces into single spaces.description
field[.labels[]?]|join(",")
- Takes the labels array and joins it into a single comma-separated string.savedAt
- Grabs the timestamp| @csv
formats everything as proper CSV, automatically:
Edit: I've put this in a gist so it's easy to link to - tell your friends! 😁
For everyone going to migrate to Raindrop.io, I've created a program to convert the export ZIP to Raindrop's CSV import format.
Inspired by @ocean , this is a jq
command with a little fine-tune for converting to.xlsx
format and .md
format, and I add links to local files by =HYPERLINK()
command.
Tips: The jq command can directly run in Unix shell such like macOS terminal, but it cannot directly work in windows cause the “quote problem”. You can fine-tune it and give it a try, check: https://jqlang.github.io/jq/manual/
Follow these steps to .xlsx
(in macOS):
jq -r '
(["Tags","Title","Description","Created","File","URL"]),
(.[] | [
([.labels[]?]|join(",")),
(.title | gsub("\\n";" ") | gsub("\\r";" ") | gsub("\"";"''") | gsub("[^[:print:]]";" ") | gsub("\\s+";" ")),
(.description | gsub("\\n";" ") | gsub("\\r";" ") | gsub("\"";"''") | gsub("[^[:print:]]";" ") | gsub("\\s+";" ")),
.savedAt,
("=HYPERLINK(G1&\"\\content\\" + .slug + ".html\" ,\"Open\")"),
.url
]) | @csv
' metadata_*.json > omnivore-export.csv
omnivore-export.csv
file appears in the same folder. Open it with Numbers
App.Numbers
’s menu, click "Files > Export As > Excel…" , next step, export.omnivore-export.xlsx
file appears in the same folder..xlsx
with Excel
.G2
cell in Excel.E
, you should open a local html file.PS. I cannot make the links in .xlsx
work in macOS, but they work in windows, you can give it a try.
Eventually, it looks like this, I covered the text, notice G2
:
And here’s a command for Markdown .md
. Get the .csv
file and drop it to an online converter such as this. Markdown is slow at so much data though.
jq -r '
(["Tags","Title","Description","Created","File","URL"]),
(.[] | [
([.labels[]?]|join(",")),
(.title | gsub("\\n";" ") | gsub("\\r";" ") | gsub("\"";"''") | gsub("[^[:print:]]";" ") | gsub("\\s+";" ")),
(.description | gsub("\\n";" ") | gsub("\\r";" ") | gsub("\"";"''") | gsub("[^[:print:]]";" ") | gsub("\\s+";" ")),
.savedAt,
("[Open](.\\content\\" + .slug + ".html)"),
.url
]) | @csv
' metadata_*.json > omnivore-export.csv
@ocean Thanks for the jq. FYI small issue I ran into is that one of the entries in the meta_X_to_Y.json files had "description" : null
and that was breaking the script. Fixed that by making it "description" : "null"
and it ran fine, and was able to import to raindrop.
https://github.com/omnivore-app/omnivore/issues/4461#issuecomment-2453673588
A simple web app includes all the steps you should do to easily immigrate from Omnivore to Raindrop with all of your articles and their corresponding tags :) Omnivore JSON to Raindrop HTML web app Repo and the Python code
Polyglot, my read-it-later conversion service, now supports Omnivore exports and currently allows conversions to GoodLinks, Instapaper, Raindrop.io, and Readwise Reader.