The lists below give you a idea of what I’m working on. I tend to announce significant news on Blot’s Twitter account. Please don’t hesitate to contact me if you have any questions.
Done

Updated dev SSL guide
5 days ago

Updated style css
5 days ago

Updated help route
5 days ago

Updated finder module
5 days ago

Updated public site
5 days ago

Removed layout css from dashboard
5 days ago

Updated documentation
5 days ago

Added layout.css to public site
5 days ago

Add update defaults script
6 days ago

Fixed clause in vhosts file
6 days ago

Redirect HTTP requests for blogs which require SSL
6 days ago

Add option to require SSL to profile page
6 days ago

Don't require SSL by default
6 days ago

Added option to require SSL
6 days ago

Updated public site
6 days ago

Updated documentation
6 days ago

Updated finder module
6 days ago

Added option to disablea theme
6 days ago

Fix bug serving index.html in blog's root directory
6 days ago

Support blogs which don't have a template
6 days ago

Updated homepage
7 days ago

Updated updates page
7 days ago

Added finder module
7 days ago

Updated help route
7 days ago

Removed logging
7 days ago

Updated site css
7 days ago

Updated site views
7 days ago

Updated mockups
7 days ago

Moved finder module
7 days ago

Updated site
8 days ago

Moved static dir into site
8 days ago

Insert stripe plan into config
8 days ago

Updated public site
8 days ago

Updated finder script
8 days ago

Updated notes
9 days ago

Allow static requests through
9 days ago

Updated dashboard to follow new site
9 days ago

Removed public directory for Blot
9 days ago

Reorganized site view directory
9 days ago

Updated mockups
12 days ago

Updated v5 mockup
12 days ago

Added v7 mockup
13 days ago

Added v8 mockup
13 days ago

Updated v5 mockup
13 days ago

Updated v5 mockup
14 days ago

Updated v5 mockup
16 days ago

Added updates route to mockups
16 days ago

Updated site mockups
17 days ago

Updated v5 mockup
19 days ago

Added v6 mockup
19 days ago

Updated v5 mockup
19 days ago

Added v5 mockup
20 days ago

Updated v4 mockup
20 days ago

Updated v3 mockup
20 days ago

Added new mockup
22 days ago

Added new marketing site prototyping server
22 days ago

Updated mockup
22 days ago

Updated documentation
22 days ago

Updated marketing site
22 days ago

Updated new mockup
24 days ago

Added new site on homepage
25 days ago

Updated help page
a month ago

Updated terms page
a month ago

Updated finder style sheet
a month ago

Updated finder module
a month ago

Updated documentation
a month ago

Updated docs
a month ago

Updated finder module
a month ago

Updated docs build script
a month ago

Updated documentation
a month ago

Updated documentation
a month ago

Moved from old gmail address to david@blot.im
a month ago

Updated documentation
a month ago

Updated terms page
a month ago

Updated sign up page
a month ago

Updated documentation
a month ago

Updated docs
a month ago

Updated documentation build file
a month ago

Updated documentation
a month ago

Updated documentation
a month ago

Updated mustache version
a month ago

Added css file for finder window
a month ago

Updated help page
a month ago

Updated finder module
a month ago

Updated documentation
a month ago

Updated help page
a month ago

Updated build script
a month ago

Reload the view in dev mode for each request
a month ago

Removed table styling
a month ago

Updated documentation
a month ago

Updated marketing site
a month ago

Refactored script which builds documentation
a month ago

To do

Improve the documentation

  • Fix broken links within (and to) the documentation
  • Ensure subsections are linkable
  • Organize guides under the relevant section
  • Add example folders for the sites I run
  • Document all the template variables, no matter how embarrassing

Improve the selection of templates

  • Design for sites with specific kinds of posts
  • Add better customization options
  • Let Chris, Nash and John know

Record a new demo video

  • Show sites I run using Blot
  • Blot's developer blog, a conventional blog, show using different text editors
  • My visual scrapbook: shows tag folders, photo blog
  • My link blog: shows the webloc feature, shows IFFFT, perhaps from favourited tweets?
  • My personal site: simple landing page, edit with a doc file?

Increase price for new customers to $30 a year. This will not affect existing customers.


Fix bug in metadata parser which gets tripped by a URL on the first line of the file.

Fix bug which makes templates whose names contain a single prime (') un-deleteable

Fix bug with KaTeX LaTeX rendering

Fix bug with case sensitivity for tag folders

Fix bug when you try to restart a cancelled Blot subscription

Fix bug with pandoc's video embed feature which automatically adds the autoplay attribute when turning a raw url to a video into a video player

Fix bug with strange windows notepad encoding

Fix bug with accents in image paths

Fix bug which occurs if you have two blogs in the same Dropbox App folder, then unlink one of them, then relink it.

Fix bug with catching dropbox file renames

  • False positives are really annoying. You'll publish a new post and it won't show up on your blog because it'll be buried in the archives. Renames need to be right next to each other in the dropbox delta queue.
  • Use a string-difference algorithm to improve rename recognition? Something with a funny name like Jaro–Winkler distance.
  • Let Nash know

Fix bug with how the date parser. It doesn't handles a space (or lack of space) between the date and the time. For example, '2017-08-27 18:16:59' works but '2017-08-27-18:16:59' doesn't

Help Larry

Help Svenja


Public site improvements

  • Log 404s on the public site to identify neccessary redirects
  • Personalize the documentation for logged in users
  • Make the site responsive and looks good on phones

Redesign template system to make it easy to customize and create them.

  • Make templates file or folder based
  • Move www/blogs/* to /blogs/{{id}}/assets ? Or maybe some obscure folder?
  • Disable re-rendering for template locals
  • Local template editing does not clear cache
  • Use Hogan for precompiling and rendering templates?
  • Let Aurynn know when it's possible to set routes locally
  • Add way to allow all entry lists to access {{#months}} sorting options just like the archives page.
  • Fix Frank's strange template bug
  • Warn users that underscore will not work for hidden pages
  • Fix _ entries to true public files, tell john & other folks who depend on the menu: yes, page: no side effect
  • Tell Rodrigo don't write previews for _ posts
  • Add support for fetching only some properties of an entry (ideally only those that are used). prevent some properties from being fetched in some lists (html, for example in all_entries). Would be a good candidate for hgetall or hget?

Sync improvements

  • Re-implement folder verification feature and make use of the local content hash computation script to verify we have the correct version of a given file – Re-instate feature to check if a rogue sync took down the server and run sync on a seperate process
  • Add method to pause syncing and prevent future syncs then use this method with the create/remove blog migration too.
  • Ensure sync script is run by less priveledged user (just access to /tmp ? /blogs/{{ID}})?

Full folder access improvements

  • Try to use the same app folder when you upgrade from app folder to full site folder
  • Let Cosmo, Alex, James, Nick, Jostein know

Buy the .com

Incorporate

Add support for other payment methods

Start monthly newsletter with improvements, changes

Support embedding an image in a post by copy-pasting the Dropbox share link

Write a unified import tool which scrapes content from any blog/website http://exporter.blot.im/ https://github.com/hexojs/hexo-migrator-blogger https://github.com/welksonramos/hexo-migrator-joomla https://github.com/hexojs/hexo-migrator-rss https://github.com/hexojs/hexo-migrator-wordpress https://github.com/dreikanter/wp2md exporter/importer

When a user pastes the whole tracking script into the preferences page on the dashboard, strip out everything except the ID which we need... perhaps create a page explaining what is happening before doing this.


Add nice Mathjax support, maybe make it an option on the preferences page?

Add support for entry property with escaped double quotes, tell Jay

Improve nginx error pages

Removing Date metadata from a post should reset its date to the file's creation date

  • Currently nothing changes.

New post support

  • Refactor code so it's possible to register new file converters easily.
  • Video posts (.mp4 for now?)
  • Basic audio posts (.mp3 for now?)
  • Add a file dependency / dependents list to each entry then use this to rebuild dependent entries when, for example, a public image is updated.
  • Multi-file posts from inside one folder? (Album)
  • Multi-file posts with the same name but different extension (image.txt and image.jpg)

Migrate code from require('mime') to require('mime-types') since it doesn't use a global default type. Remove the mime node module.

Migrate code from require('../../../') to shortcuts in node_modules.

Remove the dirToModule code and hard link the require references.

Add support for github style checkboxes and tell Christian

Refactor app/index.js

  • Ensure the routing serves requests to blogs fastest, then the dashboard, and finally the marketing site.
  • Merge all the weird vhost lines into one glob.

Use \ optgroup on timezone select dropdown to subdivide zones by current time, and steal the presentation format used by basecamp.

Use NGINX to send all Blot's static files

Add hourly local redis rdb dumps

Add script to roll back into hourly local db dumps and remote backups

Install nginx fail2ban & http2

Work out why blotcdn is so slow for https://latency.apex.sh

Backup s3 buckets every day? delete those older than a month?

Delete backups older than a month from s3 automatically

Add daemon for zero-downtime node restart

Set up AWS autorecovery

Test with instance reboot on live site

Test monit with nginx going down

Test monit with blot going down

New sync clients

Move to pretty IDs for everything

Re-do url redirector to use route-parser and properly support regular expressions

handle queries properly too https://mail.google.com/mail/u/0/?zx=tqp989l7y4yi#inbox/15b575fbc8d80ad1

Mass deletion of files did not remove the blog posts until verify tool was run on blog.

Allow users who are restarting an account with multiple blogs to disable some before restarting.

Giphy url support

Catch rename failed to find a match for scrapboox/patch_bunny_slippers.jpg -> /patch_bunny_slippers.png

Can rename tolerate a minor file size change?

Add filtering by date to 404 log https://mail.google.com/mail/u/0/#inbox/1566e52d170f29ca

Make the folder in Dropbox rename automatically when the user changes the username for one of their multiple blogs?

Move daily update generator from scripts to app folder?

If entries share publish date, sort them by blot creation date?

Consider what to do for footnote links in a teaser -> rewrite links to {{permalink}}#frag?

Add plugin for inline popover footnotes

Enable hyphenation again then tell rodericus

generate gif / svg thumbs if possible?

Find cause of fontconfig error / warning?

Password protection for blogs

Create an API for Blot

  • Add webhooks and tell Aurynn

Add option to enable hard line breaks

Investigate performance improvements to type() forEach

Email

  • Install time mover library
  • add proper error handling to email
  • make it easier to pass in variables

Validator

  • check each id has an entry and each entry has an id
  • check menu is right (pages exist, non deleted etc...)
  • generate fake entries for id clash
  • why does it not print lines in production?
  • must check each blog folder exists...

Add neat interface to customize blog level variables?

simplify video plugin HTML OUTPUT?

Move queues in entry/rename /remove to doEach

fix image caption plugin to be semantic

Devise nice way to declare unit tests for a file which don't need to be run on server start but can be run programmatically

Consider adding date format localization with Moment

Add button to remove avatar from settings page https://mail.google.com/mail/u/0/#search/remove+avatar/14f3e02d6dcf97ac

Handle noscript on dashboard / signup gracefully (remove all dashboard js?)

Incorporate typographic features from textile http://redcloth.org/textile/phrase-modifiers/

add supoprt for dynamic partials to make collections possible e.g. {{> /{{tag}}.html}} ?

move to line by line reading for as much as possible http://stackoverflow.com/questions/6156501/read-a-file-one-line-at-a-time-in-node-js https://nodejs.org/api/readline.html https://www.npmjs.com/package/byline

queue scheduled entries in redis this makes each server less stateful

renderLocals needs to inherit context so entries can refer to their own title etc...?

Why does pandoc \mouse.com become .com ?

Add a cool bookmarklet which drafts a post a la https://www.youtube.com/watch?v=cu5uXXulnNk

Move from preview files -> webloc / .url files ?

Create webloc to live version for each entry? I LIKE

Merge www/blog/id and blogs/id folders into one, with a dotfile directory? create .assets inside this for doc posts?

Move to hogan for main renderer? https://github.com/twitter/hogan.js

Move to new api file ids for renames? https://mail.google.com/mail/u/0/#inbox/150def93b65dc4b1

Move from 'archives' to 'archive'?

Noindex blog search results pages

Write a pandoc compatible markdown converter in javascript to resolve some of the performance issues with pandoc

Re-enable CSP on blot site in a way that works in Safari

Popular entry list

Related entry list

Expose list of rendering errors to callback

Prevent uploads will still pipe large files on the server

Add rewrite feature, e.g. rewrite /randomColor to /public/randomColor

Menu needs concurrency

Push archives feature https://mail.google.com/mail/u/0/#inbox/14fb1a48c08fe9be

Banned permalinks are possible when page:yes

Incorporate disk space monitor to alert for low space

Archive logfiles with backups

Generate list of external api dependencies and follow changes for each

Make drafts preview file identical (construct iframe based on window.location.href) and use copyref

Undo option for form changes

Store metadata for each file (type, size, mtime)

Add an explanation for the folder migrator...

Seperate the settings for blog and user & billing

Implement custom CSS for syntax highlight plugin

Wrap each pre tag in .hljs so other themes work too

Ensure Youtube plugin still functions if apis fails

Prevent image zoom plugin from zooming emojies

Embed plugin https://github.com/ritz078/embed.js

Move to some SQL for storing each entry's input and output...

Add passwords for accounts

Create script to export Blot sites to common formats

  • Let Roberto know

New plugin ideas https://github.com/getpelican/pelican-plugins

Use pandoc for katex instead of seperate function

Add transactional emails notifying user of changes to their email or password.

Download the webpage for bookmark files and try to extract title + summary


Create a comment system to replace Disqus

Create an email list system to replace Tiny Letter