Easy-to-use static blog generator from the Windows filesystem. Works with Dropbox.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Dropblog
.gitignore
Dropblog.sln
LICENSE
README.md
upload.php

README.md

Dropblog

Extremely simple system to automatically generate static blog content from cloud storage.

How to set up

  1. Pull the repository.
  2. Set up a webpage with a PHP host.
  3. Choose a random password.
  4. Open upload.php. Change "YourPasswordHere" to your random password.
  5. Put upload.php on your host.
  6. Create a blog/ folder on your host, then folders for each user you want to add (lowercase_and_underscores_for_user_names). If your host uses Unix permissions, you'll have to set those up now (talk to your host, this is a big topic).
  7. Rename AppConfigPlaceholder.cs to AppConfig.cs and open it.
  8. Set blogFolderPath to the local filesystem location of the folder you want to share.
  9. Set getSites to return the correct settings for your BlogSites (see below).
  10. Create a folder for each combination of blog and user in your blogFolderPath. Dropblog will look for folders in the format "User Name - Blog Name" (spaces/punctuation must be exact).
  11. Launch it.
  12. Create a text file in one of the blog-user folders. Save it. Bam, you're done.

Once it's set up, you just need to keep the uploader running in the background and all text files in those folders will automatically be uploaded.

BlogSites settings

  • friendlyName - the name of the blog for the purposes of determining the content folders.
  • url - the public-facing address of the site where you've hosted upload.php. You don't need to actually include upload.php in the path, just the path to the directory it's in.
  • password - the one you made up in step 3 above.
  • prefix - the path to the folder you want the content to appear in (from the host's perspective). This will depend on how your host has set up their paths.
  • users - a list of people who have the ability to create blog posts.

Headers and footers

You can also create a folder which is just the blog's name inside the blogFolderPath folder. If you place files named "header.html" and "footer.html" there, it'll join them on before and after the content. Despite the name, it's convenient to use the header and footer to generate correct HTML ( etc)

Cool stuff

  • Lives on Windows, plays ball with the Windows ecosystem. All you need is .NET Framework 4.5 -- no Ruby runtime or whatever.
  • It detects changes to files and uploads them in realtime. On a good connection you can go from ctrl-s to published online in under a second.
  • You can upload images (<500kb).
  • It keeps an index of which files have been uploaded and only uploads ones that have changed.
  • It works flawlessly with Dropbox (and probably OneDrive and such as well) -- you can even share blog folders and give people write access.
  • It doesn't upload subfolders, so you don't need to worry about accidentally sharing every text file on your hard drive.
  • The uploader script is extremely simple, so it wouldn't be hard to port to other stacks.
  • It generates a rudimentary index of posts.

Not-so-cool stuff

  • PHP is terrible.
  • The index is not pageinated or sorted.
  • It doesn't have tags yet.