{"id":20314660,"url":"https://github.com/dashpilot/dropdraft","last_synced_at":"2025-06-24T08:38:57.969Z","repository":{"id":135255957,"uuid":"277193670","full_name":"dashpilot/dropdraft","owner":"dashpilot","description":"Use Dropbox and Netlify as a blogging platform","archived":false,"fork":false,"pushed_at":"2020-07-05T00:16:42.000Z","size":63,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T12:49:07.854Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/dashpilot.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-04T22:22:20.000Z","updated_at":"2020-07-05T01:24:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7256cc6-19f9-4763-8554-c344e36dbe49","html_url":"https://github.com/dashpilot/dropdraft","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/dashpilot%2Fdropdraft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dashpilot%2Fdropdraft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dashpilot%2Fdropdraft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dashpilot%2Fdropdraft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dashpilot","download_url":"https://codeload.github.com/dashpilot/dropdraft/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241818857,"owners_count":20025210,"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-14T18:16:14.601Z","updated_at":"2025-03-04T08:44:34.130Z","avatar_url":"https://github.com/dashpilot.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"img/dropbox.png\" alt=\"Dropbox\" width=\"30\"/\u003e Dropdraft - Dropbox as a blogging platform\n\nUse Netlify + Dropbox as a blogging platform. Every time you add or update a markdown file in Dropbox, Netlify automatically pulls the data from your Dropbox and builds a new version of your site. For the syncing I used [Netlibox](https://github.com/jimniels/netlibox) by Jim Nielsen. The included example uses a simple handlebars template to render the markdown files, but you can edit scripts/build.js to work with your preferred static site generator or template engine.\n\nWorks with any app that supports Markdown, like:\n\n\u003cimg src=\"img/logos.jpg\" alt=\"Markdown Editors\" width=\"400\"/\u003e\n\n## Background\n\nI love writing markdown blog posts in apps like Ulysses, Byword and Bear, but if you want to be able to post to your blog without leaving the app, you're mostly limited to using proprietary platforms like Wordpress.com, Medium or Blogger (often without support for updating posts).\n\nI wanted a system that is:\n\n1. supported by most writing apps on mobile and desktop\n2. allows syncing posts to Github/Netlify/Vercel to use it with any SSG or SPA\n3. is not tied to a proprietary blogging platform.\n\nIn comes Dropbox, which is supported by most apps, can be synced in realtime and although it proprietary as well, it does not tie you to a certain content format.\n\n## Manual Setup\n\n### 1. Fork this repo and create site in Netlify\n\nFork this repo and create [a new site in Netlify](https://app.netlify.com/start) tied to your forked repo. Don't worry about the Netlify settings, they will be set automatically through netlify.toml\n\n### 2. Create a new app in Dropbox\n\n[Setup an app](https://www.dropbox.com/developers/apps) in your Dropbox account. Under 'access type' choose 'app folder'. This folder will be stored inside the 'Apps' folder in your Dropbox and contain your blogposts.\n\n### 3. Generate a Dropbox access token\n\nFind your app in the [Developer App Console](https://www.dropbox.com/developers/apps) then under 'Oauth2' click the 'Generate' access token button. Copy the access token for the next step.\n\n### 4. Copy the access token to Netlify\n\nOn the Netlify site, go to Your site \u003e Settings \u003e Build \u0026 deploy \u003e Build environment variables and create a new access token called `DBX_ACCESS_TOKEN` and fill in the Dropbox access token from the previous step\n\n### 5. Create a Netlify build hook URL\n\nOn the Netlify site, go to Settings \u003e Build \u0026 deploy \u003e Build Hooks \u003e Add build hook and generate a new build hook URL. Copy the URL, and scroll up to create a new environment variable called `NETLIFY_BUILD_HOOK_URL` and paste the URL there.\n\n### 6. Paste the webhook URL in the Dropbox app console\n\nBack in Dropbox app console create a new webhook and paste the URL from the previous step.\n\nIf you got stuck somewhere, here's Jim's original cheat sheet:\n![final-view](https://user-images.githubusercontent.com/1316441/46992107-c9592f00-d0c5-11e8-8a1c-fa751765a402.png)\n\nOnce you've done all this, you should be able to create a markdown file in Dropbox and see it get deployed to your Netlify site's URL.\n\n## Automatic Setup (currently does not work yet)\n\n\u003ca href=\"https://app.netlify.com/start/deploy?repository=https://github.com/dashpilot/dropdraft\"\u003e\u003cimg src=\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e\n\n## List of apps that are compatible with DropDraft\n\nBelow is a (far from comprehensive) list of apps that are compatible with Dropbox and Dropdraft. Of course there are many, many more apps that can sync or save to Dropbox and as such compatible with Dropdraft.\n\n### Apps with built-in Dropbox integration\n\nIn some apps you can use your Dropbox folder as a source. This way you can manage all your posts without leaving the app:\n\n- :butterfly: Ulysses (Mac/iOS)\n- :notebook: Byword (Mac/iOS)\n- :one: 1Writer (iOS)\n- :package: Dropbox itself (Mac/Windows/iOS)\n\n### Apps that export to Dropbox\n\nThe apps below have no native Dropbox integration, but allow you to export single posts to Dropbox:\n\n- :bear: Bear (Mac/iOS)\n- :blue_book: Notion (Mac/Windows/iOS)\n- :page_with_curl: Lightpaper (Mac)\n- :fountain_pen: iA Writer (Mac/Windows/iOS/Android)\n\n## Acknowledgements\n\nThanks to Jim Nielsen for creating Netlibox, on which the syncing part is based. Read Jim Nielsen's [original post about Netlibox (Jekyll-based)](https://www.netlify.com/blog/2018/10/15/combining-netlify-with-dropbox-for-a-one-click-publishing-process/) for some more background on how the syncing works.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdashpilot%2Fdropdraft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdashpilot%2Fdropdraft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdashpilot%2Fdropdraft/lists"}