{"id":21262374,"url":"https://github.com/johanbrook/tumblr-import","last_synced_at":"2025-03-15T07:42:28.872Z","repository":{"id":9249998,"uuid":"11072632","full_name":"johanbrook/tumblr-import","owner":"johanbrook","description":"Simple CoffeeScript to fetch and save text posts from a given Tumblr blog","archived":false,"fork":false,"pushed_at":"2013-07-02T14:03:20.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-21T22:42:49.665Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johanbrook.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-30T15:33:37.000Z","updated_at":"2013-10-28T21:44:57.000Z","dependencies_parsed_at":"2022-09-06T02:01:33.402Z","dependency_job_id":null,"html_url":"https://github.com/johanbrook/tumblr-import","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johanbrook%2Ftumblr-import","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johanbrook%2Ftumblr-import/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johanbrook%2Ftumblr-import/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johanbrook%2Ftumblr-import/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johanbrook","download_url":"https://codeload.github.com/johanbrook/tumblr-import/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243701314,"owners_count":20333616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T04:58:17.498Z","updated_at":"2025-03-15T07:42:28.846Z","avatar_url":"https://github.com/johanbrook.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tumblr backup in CoffeeScript\n\nSimple script I'm using to fetch my Tumblr *text posts* and save to file.\n\nMarkdown formatted posts will be saved with an `.md` extension, otherwise `.txt`.\n\n## Dependencies\n\nExcept for [Node.js](http://nodejs.org/) and [CoffeeScript](coffeescript.org), there are no external dependenices.\n\n## Usage\n\n### From the command line\n\n\tcoffee tumblr.coffee \u003cTumblr URL\u003e [path]\n\nwhere \u003cTumblr URL\u003e is mandatory and can be `something.tumblr.com` or a custom domain name, such as `log.johanbrook.com`. `path` is where all posts will be saved, and is optional, and defaults to the current directory. If specified, it can be relative or absolute.\n\n**Important:** In order run the script, a `config.json` file must exists in the same directory as `tumblr.coffee`, and include the following:\n\n\t{\n\t\t\"api_key\": \"\u003capi key from tumblr\u003e\"\n\t}\n\nIn order to obtain an API key, just register an application here: http://www.tumblr.com/oauth/apps. Don't worry: no weird OAuth stuff has to be done.\n\n### In code\n\n\tclient = new Tumblr(blog_url, api_key)\n\t# path defaults to current directory\n\t# limit defaults to 20\n\tclient.save_posts path: \"./posts\", limit: 15, (error, blog) -\u003e\n\t\t# error can be null or an error thrown\n\t\t# On success, blog will be an object with this info: http://www.tumblr.com/docs/en/api/v2#blog-info\n\t\tunless error\n\t\t\tconsole.log \"Saved posts from #{blog.title}!\"\n\n## Left to do\n\n- Create a workaround for Tumblr's limit on max twenty posts for every fetch.\n- Only fetch new posts since last fetch, if possible.\n- Add metadata to top of saved file, like YAML Front matter with date, etc.\n\n## License\n\nhttp://www.wtfpl.net/about\n\n       DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE \n                   Version 2, December 2004 \n\nCopyright (C) 2013 Johan Brook \n\nEveryone is permitted to copy and distribute verbatim or modified \ncopies of this license document, and changing it is allowed as long \nas the name is changed. \n\n           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE \n  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION \n\n 0. You just DO WHAT THE FUCK YOU WANT TO.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohanbrook%2Ftumblr-import","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohanbrook%2Ftumblr-import","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohanbrook%2Ftumblr-import/lists"}