diff --git a/README.md b/README.md index 3dc60f4..fa5eb23 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186). -_1614 TILs and counting..._ +_1615 TILs and counting..._ See some of the other learning resources I work on: - [Ruby Operator Lookup](https://www.visualmode.dev/ruby-operators) @@ -495,6 +495,7 @@ If you've learned something here, support my efforts writing daily TILs by - [Analyze Your Website Performance](internet/analyze-your-website-performance.md) - [Check Your Public IP Address](internet/check-your-public-ip-address.md) - [Digraph Unicode Characters Have A Titlecase](internet/digraph-unicode-characters-have-a-titlecase.md) +- [Download A Google Doc As Specific Format](internet/download-a-google-doc-as-specific-format.md) - [Enable Keyboard Shortcuts In Gmail](internet/enable-keyboard-shortcuts-in-gmail.md) - [Exclude AI Overview From Google Search](internet/exclude-ai-overview-from-google-search.md) - [Exclude Whitespace Changes From GitHub Diffs](internet/exclude-whitespace-changes-from-github-diffs.md) diff --git a/internet/download-a-google-doc-as-specific-format.md b/internet/download-a-google-doc-as-specific-format.md new file mode 100644 index 0000000..f84f013 --- /dev/null +++ b/internet/download-a-google-doc-as-specific-format.md @@ -0,0 +1,34 @@ +# Download A Google Doc As Specific Format + +I was recently given a public Google Doc URL and I was curious if I could +download it from the command line. I didn't want to have to install special CLI +though. I was hoping to use something like `curl`. + +A brief chat with Claude and I learned that not only can I use `curl`, but I +can specify the format in the _export_ URL. + +```bash +$ export GOOGLE_DOC_URL="https://docs.google.com/document/d/157rMgHeBf76T9TZnUjtrUyyS2XPwG0tObr-OjYNfMaI" + +$ echo $GOOGLE_DOC_URL +https://docs.google.com/document/d/157rMgHeBf76T9TZnUjtrUyyS2XPwG0tObr-OjYNfMaI + +$ curl -L "$GOOGLE_DOC_URL/export?format=pdf" -o doc.pdf + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 414 0 414 0 0 2763 0 --:--:-- --:--:-- --:--:-- 2895 +100 16588 0 16588 0 0 56214 0 --:--:-- --:--:-- --:--:-- 167k + +$ ls doc.pdf +doc.pdf +``` + +I append `/export` and then include the `?format=pdf` query param to specify +that I want the document to be exported in PDF format. With the `-o` flag I can +specify the name and extension of the output file. + +This is a handy on its own, but noticing that Google Docs supports other export +formats, I thought it would be useful to go back-and-forth with Claude to +sketch out a script that can do this and prompt me (with `fzf`) for the file +type -- [here is the gist for +`gdoc-download`](https://gist.github.com/jbranchaud/cf3d2028107a1bd8484eed7cca0fcdab).