News

This page explains what I’m working on and what I have planned. You can subscribe to the newsletter below to recieve a summary at the start of each season. Please don’t hesitate to contact me if you have any questions.




To do

Finish Feed template
  • Create folder with public domain material
  • Finish script to build test sites from folders
  • Add a customizable header motif with dots, gradient etc?
Finish Archive template
  • Create folder with public domain material, new deal photos?
Record new demo video
  • Create simple custom text editor built in electron or something which has autocomplete tags, drag and drop images, explain that you can build something like this yourself Bring your own interface”
  • Show sites I run using Blot:
    • Blot's developer blog on the default feed theme
    • My visual scrapbook on the archives theme: shows tag folders, photo blog
    • My personal site: simple landing page, edit with a doc file?

Redirect Blot subdomain to valid custom domain with temporary 302 response and tell Sed and Shibel

Fix ampersand encoding bug in Marius's thumbnails

Work out cause of Paul's bug with image_cache directory not existing, perhaps use one of fs-extra's methods?

Work more on Tim's template

Finish working out how to get zoom-able images on Emily's template


Could we have multiple clients attached to one blog?

Tell Amit when new homepage is live

Fix bug on brochure site with links to dashboard not redirecting to log-in pages and tell Chris

Fix thumbnail bug in metadata and tell Michael

Fix bug with double escaped embedded ampersands then tell Gavin and Ryan his and Shibel

Finish public share url for templates and tell Marcus and Chad


Fix bug with case sensitivity for tag folders. Need to recursively check all directories for proper case when extracting tags then tell Thomas and Steve

Fix bug with question mark in image name, e.g. drag and drop 'x?y.jpg' into a blog folder.

Fix bug with question mark in image path's name inside a markdown file, e.g. embed a file 'x?y.jpg' in a markdown file.

Improve Ghost importer and tell Vin

Investigate log-in issue. There's no reason sessions should expire any sooner than say after a week of inactivity. Tell Marcus

Fix the hamburger button on public site. Tell Marcus

Improve the access to the documentation links. Tell Marcus

Run a scraper for broken documentation links on the site. Tell Marcus

Fix bug with upper-case domain and tell Sed

Fix bugs with RSS feeds validation. Perhaps extend absoluteURLs helper function? Tell John

Fix bug which means that a date specified in a file's path takes precedence over a date specified in the file's metadata. Current behaviour conflicts with the documentation. Tell Sean. CANNOT REPRODUCE.

Fix Magazine template bugs
  • Fix text styling inside blockquotes and tell Jacob
  • Fix bug with image zoom when you click back on the zoomed image to close and tell Florence

Finish converting Jack's site from Hugo to Blot using this Wordpress-style export view for a Hugo template.

Fix index template bugs
  • Footnote link styling is wonky and tell Jacob

Tell Chris, Nash and John know about new themes

Fix bug with Rodrigo's Word Document files

Git client bugs:
  • Fix bug with case-sensitivity when transfering from Git to Dropbox and tell Shantesh
  • Fix bug which occurs when you change your username while using the Git client (caused by the broken repo url) and tell Koen
  • Work out how to pipe custom error messages down
  • Pipe custom message when you change a blog's handle (breaking repo url)
  • Tell Koen about the broken repo URL fix
Image and thumbnail bugs
  • Fix bug for images containing upper-case characters on Jonas' blog
  • Fix bug for missing thumbnails from images in posts on Shashwati's blog
  • Fix bug with thumbnails and tell John
  • Fix bug for missing thumbnails on Jay's blog
  • Fix bug with image minification which produces larger file than source file and tell Jan
  • Fix bug with gifs and the image cacher. Animated gifs from imgur.com were not playing, just the first frame was fetched. Tell Oleg
  • Fix Anders image path bug. A file titled _på besøg hos gomorgen danmark.jpg” cannot be embedded in a blog post. Write test which ensures this doesn't happen again. This should also fix bug with case-sensitive paths to thumbnails + Dropbox client and tell Jan-Erik on Twitter DMs. Make resolve work more impressively, attempt to resolve a path in a case insensitive manner. Or is this a good idea? Maybe we should only resolve paths which match stored metadata? Or should we make a best-effort? As long as we are resolving case-only it should be fine… Tell Michael it now works. This should also fix bug with accents in image paths for Wesley. Incorporate retries into the thumbnail fetcher…
Encoding bugs:
  • Fix Kevin's URL encoding bug. Each entry's url property is not encoded as a URI component on the server but it needs to be.
  • Determine cause of Markdown converter failure for Dropbox/Apps/Strange encoding bug
  • Fix encoding bug with greek URLs then tell Rodericus know
  • Fix bug with template tags in blog post and tell Shibel

Fix bugs with git removed / renamed file unit test on Travis

Fix bug with makeTeaser for ~/Dropbox/bug.html which locks main process painfully

Fix bug with rename catcher which allows two posts to share a guid. It caused a bug with Disqus comments. To reproduce this bug: Rename an entry. Create new entry with old name. Both entries have same GUID.

Fix bug with .emf files in Word Document and follow up with Todd. Can we convert EMFs? Can we pass a flag to pandoc to let them deal with it? Is this just caused by Tiff files? I need a Windows machine to test this.

Date parser bugs
  • Finish support for RFC3339 dates and tell Shawn.
  • Handle edge case of date surrounded by quotes, e.g. Date: '2018-01-02' and tell Amit
  • Fix bug parsing ISO8601 date format and tell Thomas
  • 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
Markdown bugs
  • Fix issue with teaser generator that locks up a build process, sometimes for 10+ seconds.
  • Fix bug with blockquotes and tell Kerim. Multiple >” symbols on the blank paragraphs between other quoted text are not formatting properly.
  • Fix bug with indented code in pre tags and tell Michael

Move to monthly billing of $3 per month for new customers?

Move to UUIDs for blog identifiers
  • Can we incrementally move people over to check it works ok?
Re-instate blotcdn.com
  • Tell Marius and Alexander (@wbergg in Twitter DMs) and Nash

Research Redis clustering

Restructure application folder
  • make serving static files from NGINX easier?
    • ln /data/blogs/{blogID}/folder /data/cache/{hostname}/folder/…
    • ln /data/blogs/{blogID}/static /data/cache/{hostname}/static/…
  • consolidating the data stored about each blog
  • Specfic ideas:
    • Move cache directory from /cache to /data/cache
    • Move blog's folder contents from /blogs/{blogID} to data/blogs/{blogID}/folder
    • Move static files directory from /static/{blogID} to /data/blogs/{blogID}/static
    • Move db directory from /db to /data/db
    • Move logs directory from /logs to /data/logs
    • Remove /tmp directory and instead use os.tmpDir
Improvements to public site
  • Clean up error messages in logs for public site
  • Add 404 log
  • Tooltips for lock and CVC on sign up page
  • Loading state for submit button on sign up page
  • Unify dashboard header style post-payment
  • Navigation collapse on mobile devices
  • Fix formatting guide
  • Featured sites on homepage are generated automatically
  • Collapsible sidebar
  • Fix logged out page
  • Pixel perfect logo SVG (no blur)
  • Logo spacing from Chrome tab
  • Fix tags across site
  • Upload new Twitter avatar and background
  • Tell this person that there is now documentation on how to mirror a repo to GitHub
  • Favicon with white background for folder
  • HTML minifier
  • CSS compressor
  • JavaScript minifier
  • Custom video player on index page
  • Add types and examples to items on reference page
  • Add a resource page to the documentation with guides like Chad's
  • Make formatting guide searchable
  • Make reference page searchable
  • Generate high quality optimized favicons from new logo
  • Extract SVG of logo which can be used to produce hover effects, and on black
  • Write build scripts which can be run to produce results checked into git
    • inline css in blot.css
    • inline css in katex.css?
    • base 64 encode and inline small images on homepage
    • Optimize all images in image directory
  • Ask for critiques

Add support for HTTP2

Think about responsive images and optimizing at request time and tell Marius

Write summer newsletter
  • Send on June 21

Set NODE_ENV environment variable to production

Add notification emails for monit events?

Add secure one-time link to reboot the AWS instance?

Use the –trace-sync-io command-line flag to determine if Blot is using any sync methods inappropriately

Replace some of the assert() tests which run every time the server starts with Jasmine tests that run via npm test.

Research state of static site generators:

Add new variable for last-build-time for a blog, and use this for in the sites' RSS feeds. Tell Shawn

Add button to clear 404 log and tell Jamie

Add frequency indicator for each route 404 log and tell Jamie

Create a status page and uptime monitor and tell Amit. I like this style (just a JSON response)

Prune redis keys and begin storing more on disk

Use a redis analysis tool to see if I can squeeze more out of REDIS

Generate list of external API dependencies and follow changes for each

Add hasBreakpoint property to entry to allow greater control over display of {{{teaser}}} and tell Pratik

Generate thumbnails for gifs and tell Mike

Add way to auto-refresh page during theme development on preview subdomains. Tell Ryan

Add way to filter entries by post type (e.g. photo) and tell Justin.

Add support for nesting multiple layout tags e.g. {<>} {||} Y” and tell Marius

Finish re-write of template system
  • Add titlecase helper function?
  • Tell Josh when you can safely toggle to local editing.
  • Local editing
    • Ask to confirm, but remove files from blog folder when disabling local editing
    • Fix bug with title and partials in local editing then tell Luke and Frank
    • Read and write package.json for local editing, then tell uncrtn, Aurynn and Brian know when it's possible to set variables locally and Eli
    • Add support for 'creating' a template inside '/Templates/'
    • Tell Myron on Twitter when it is possible to rename the folder created for a template in local editing.
  • Fix bug with template editor which resets content of a view. Follow up with Nathan who has extensive steps to reproduce, and John
  • Add support for listing files in arbritary folders (e.g. use a custom folder as a 'public' folder) and tell Nash
  • Add support for entry lists of variable length and tell Logan
  • Think about serving the template directory as a static folder, allowing things like favicon.png and humans.txt to not become blog posts. Follow up with Jamie
  • Add persona/cargo style customization buttons
    • Serve previews of templates from a domain with HTTPS
    • Add iframe of site in edit page of template editor
    • Work out how to make live modifications quickly to a CSS file for preview purposes
  • Re-do url redirector to use route-parser and properly support regular expressions
  • Move to uuid based template IDs instead of slug
  • Allow paginated list of entries on other pages and tell Kevin and Eli
  • Fix bug with filtering paginated list of entries and tell Roy and Josh and Logan
  • Add a popular entry list
  • Add a related entry list and tell Thomas know
  • Don't write my own DSL, use SQL Something like this in front matter? recent_posts: SELECT POSTS WHERE

Add support for YAML-style custom metadata and tell Shibel and Casey and Amit

Support 2FA (Two factor authentication)
Subscription refactor
  • Add support for subscriptions via PayPal
  • Different payment methods per blog
  • Seperate blog subscriptions behind the scenes to avoid the crazy calculations. Think of them like domains, you wouldn't do what Blot is doing for those…
Move to Linode?
Add nice import step under 'Services' and as part of sign up
  • Create importer script for John's posts from flickr
  • Create importer script for tumblr text files and tell Sawyer
  • Create importer script for Weebly and tell David
  • Finish Ghost theme import for Kingi
  • Map excerpt metadata to summary for Jekyll converter importer
  • Look into how Hexo has written imports for blogger, joomla, rss, wordpress.
  • Add importer for Twitter and sell Sawyer
Backups
  • Add hourly local redis rdb dumps
  • Add script to roll back into hourly local db dumps and remote backups
  • Delete backups older than a month from s3 automatically
  • Archive logfiles with backups and wipe on a rolling basis

Create script to export Blot sites to common formats like Wordpress and let Roberto know

Increase annual price to $40. This will not affect existing customers.


Create an API for Blot
Offer to make websites for in return for a link:
Allow logged in users to see public homepage. Perhaps use dashboard.blot.im for dashboard?
  • Add a slack.com style dropdown on the public homepage for logged in users which takes them to the dashboard for their sites.

When the user's blog does not have a client, client.write and client.remove need to remove the files from the source folder. Create some kind of local client which we fall back and use when none is configured?

Add tool to services page which would ensure that all posts in the folder had a date as part of their filename or metadata. Tell Nash

Work out how to host podcasts on Blot and tell Adrian

Move to using unix socket with redis client per documentation for better throughput. Read this issue first, I might need to make some user group permissions tweaks to ensure things are secure.

Add support for IPv6 and tell Raul

Increase default quality for sharp's output images

Client.write does not propogate sync errors… to demonstrate this, revoke dropbox token then try to enable local editing.

Re-enable image minifier and fix the bugs it creates

Can we keep the pandoc child_process running and pipe stuff in and out for speed? Measure before after to ensure this helps

Webloc converter
  • Generate screenshots as thumbnails for webloc posts perhaps using pupeteer and PNG8, which seems efficient for screenshots and tell Tom
  • Download the webpage for bookmark files and try to extract title + summary
Prune package.json

Cluster the main process. How will I verify that there is not statefullness somewhere in the server? I also want the main 'server' running on different threads to the CPU intensive stuff like image processing. Will this fix the bug with additional child processes if main process runs out of memory? Something wasn't being killed during the Nash WAV bug of August, 2018. There were duplicate node rebuild processes running.

Fix bugs with RSS feeds validation. Perhaps extend absoluteURLs helper function? Tell John

Add support for Microformats in the default themes. Tell Amit.

Add support for Micropub in Blot's API. Tell Amit.

Add support for HTTPS on preview subdomains

Allow download of templates as zip of local contents on dashboard?

Distribute static built blogs on dat or something similar

Ensure the nginx service can be controlled properly using Upstart. It seems like Monit's attempts to reboot the service which failed, caused the downtime. Potentially worth reviewing commands in this: https://gist.github.com/andmej/1953239

Add an EXPIRY to the log entries for a blog's 404 log

Reconsider default slug length or add new short slug property and tell Josh

Set up Dependabot to automate dependency upgrade PRs

Make dashboard requests idempotent to prevent multiple form resubmits, multiple new blogs created accidentally? More information about idempotent requests

Follow up with Christian about DataValet blocking

Work out why Pandoc cannot handle 'linked' images (instead of conventionally embedded images). For instructiosn on reproducing bug, see SG's email and follow up when resolved.

Look into mirroring a site across multiple domains and follow up with Thomas

Create server dashboard to visualize load etc. using something like this: https://github.com/GitSquared/edex-ui or https://github.com/yaronn/blessed-contrib

Move to cool user subdomains? Pretty to proper blog IDs instead of integers

Self-hosting documentation then tell Jake and Mohammed
  • How do we share info, like a link on a menu, or a header image across themes? Could there be a shared info repository that themes could access?
  • add support for dynamic partials to make collections possible, e.g. {{> /{tag}.html}} ?
  • Add neat interface to customize blog level variables?
  • How do we transition from a global menu to one that the themes have control over? How do we share existing links between themes? How do we deal with the order of pages in a user's folder?
  • How do we transition from a global date display format to one that themes have control over?
  • Port the jekyll theme Neocactus to Blot and document the process then tell Robert
  • Install and test a few of these static site generators
  • Make themes file or folder based
  • Consider making file-based theme directory a git repo and using this to implement basic undo-redo functionality.
  • Disable re-rendering for locals
  • Add better customization options
  • Local theme editing does not clear cache
  • Use Hogan for precompiling and rendering themes?
  • Parse tokens and params from routes and tell Jason
  • Add way to allow all entry lists to access {{#months}} sorting options just like the archives page.
  • Fix Frank's strange theme 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?
Dashboard
  • Add a broken link checker
  • Dumb quotes are still smartified, even without typeset enabled, possibly by pandoc?
  • Tolerate missing 'www' in personal domain field on dashboard for users with a custom domain when checking validity
  • Undo option for form changes
  • Add transactional emails notifying user of changes to their email or password.
  • Implement a flags page for toggling all the settings (including hidden ones) for a given blog
  • Route requests to new dashboard if toggle is on to allow thorough testing
  • 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.
  • Handle noscript on dashboard / signup gracefully (remove all dashboard js?)
  • Allow users who are restarting an account with multiple blogs to disable some before restarting.
  • Take a look at Notion and Cargo for some neat ideas
Public site
  • Log 404s on the public site to identify neccessary redirects
  • Personalize the documentation for logged in users

Add support for native PDF embeds in posts, just put a link to a PDF or a path, e.g. /_assets/file.pdf –> would become a nice embed.

Add support for native MP3 embeds in posts, just put a link to an MP3 or a path, e.g. /_assets/file.mp3 –> would become a nice embed then tell Luke and Nash

Fix bug with footnote links in a teaser from #frag to {{permalink}}#frag

File converters / codecs
  • Video posts (.mp4)
  • OPML files and tell John
  • Audio posts (.mp3 for now?) and tell Kevin
  • Multi-file posts from inside one folder? 'Folder>' Tell Kevin, Nash and Roberto
  • Multi-file posts with the same name but different extension (image.txt and image.jpg)
  • Markdown Write a pandoc compatible markdown converter in javascript to resolve some of the performance issues with pandoc. Perhaps just use Markdown-it
  • Add support for checkboxes and tell Matt and Shridhar

  • Add support for Pelican-style metadata in HTML posts using

  • Expose exif data on Photo posts? See if you can add comments to image metadata and tell Riley, also tell Mike

Clients

Allow Blot to fallback to client.read if the file does not exist on the blot server. Say the harddrive is wiped, we still would like to serve blog files

Sync
  • 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
  • Make the sync / rebuild proceses run with unpriviledged user permissions to ensure shit isnt fucked with user input… – 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}})?

Buy the .com
  • Remember to bump LetsEncrypt rate limits if needed
  • Remember to transfer Dropbox webhooks to new domain on the Dropbox developers console

Incorporate

Add support for other payment methods
  • Bitcoin and tell Chaz
  • Paypal
Support embedding an image in a post by copy-pasting the Dropbox share link

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


Git client:
  • Add support for LFS and tell Jamie
  • Backdate existing commits (perhaps set file ctime using info from git log?) This would sidestep the frustration experienced by Gavin when he imported an existing repository.
  • Extend sync lock during long syncs
  • Write test to simulate process dying and restarting mid-pull. Does the client recover? What happens if a pull fails midway? Does git recover?
  • Write tests for a series of random client operations (pull, add, push, move, reset, delete) that can be seeded and reliably re-run in the case of failure.
  • Move to neat promise chain api when 2.0 comes out
  • Test that client must keep sending new entries and deleted entries when it recieved an error from entry.build otherwise you get ghost posts…
  • send nice error message with instructions for 413 request too large: git reset HEAD^” etc…
  • Thoroughly document:
  • Tidy up tests and reduce size and runtime
  • This client should acquire a lock on the blog's folder before doing stuff to it more generally, especially during initialization etc…
  • what happens if user changes their handle? will pushing break?
    • I want them to be able to keep using their old one until someone else claims it, then I want 401 unauthorized, please reauthenticate with new username… but the remote path will be wrong?
  • Rate limit authentication route?

Review Fathom analytics and get back to Marcus

Dropbox client:
  • Add integration test with a dropbox Webhook call. I want to not push some code which would prevent syncing user folders.
  • Does client.remove support the removal of folders? If not, make it so and add a test
  • Add a step to authentication flow which says: 'there is already a folder called 'Your blog title' in your Dropbox, would you like to use that?' then overwrite the files inside. This prevents the proliferation of confusing 'Your blog title (1)' when you re-authenticate.
  • Add a progress bar to the dashboard when writing existing files to Dropbox. It takes a while and confuses people.
  • Adding an additional blog to existing app folder under constant webhooks failed. New blog had correct folder but old blog still used root. I guess we need to acquire a lock on ALL blogs interacting with that dropbox account.
  • Extend sync lock during long syncs
  • Write test to simulate process dying and restarting mid-pull. Does the client recover?
  • Write tests for a series of random dropbox client operations (pull, add, push, move, reset, delete) that can be seeded and reliably re-run in the case of failure.
  • Look into getAccessTokenFromCode on DBSDK repo to avoid the mess in get_account.js https://github.com/dropbox/dropbox-sdk-js/issues/64
  • Gracefuly retry wrapper around Dropbox
  • Can we write to a folder_id instead of a path? It would be nice to be able to move the blog's folder even when writing the initial files to it, for example…
  • This should be simple once we copy the exisiting state of the blog folder across. But right now it doesn't really do much. It resets the local server folder. Then resyncs.
  • Update to latest version of Dropbox client.
  • Make the folder in Dropbox rename automatically when the user changes the username for one of their multiple blogs?
Consider supporting Open Graph
Search engine
  • Improve search engine results and tell Tim

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

NGINX
  • Improve error pages
  • Recompile nginx with neccessary dependencies for auto-ssl instead of openresty?
  • Install nginx fail2ban & http2
Support linking to another blog post by its file path
Removing Date metadata from a post should reset its date to the file's creation date
  • Currently nothing changes.

Add a file dependency / dependents list to each entry then use this to rebuild dependent entries when, for example, a public image is updated.

Add support for comments via webmentions like Disqus and tell Amit

Investigate commento as an alternative to Disqus

Automate setting up application environment using /etc/profile.d:

sudo echo export BLOT_CACHE=true” > /etc/profile.d/blot.sh sudo chmod +x /etc/profile.d/blot.sh

Move away from upstart to systemd, because there was an issue with upstart losing track of nginx and failing to stop or restart its process.

Thumbnail generator
  • Improve transformer so it checks a file's MTIME against a stored value before rehashing the file
  • Generate thumbnails for GIFs / SVG thum
  • Prioritize faces
  • Aim to generate distinct thumbnails across the blog
  • Try to crop out ruined borders. E.g. when making a square crop of a rectangular image with a border, crop into the image as well to remove the border-on-three-sides effect
  • Extract color palette too for the image
  • Run quickly first time, then run in the background to pick the best thumbnail
  • Offer imgix style API for embedding thumbnails

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.

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

Move to pretty IDs for everything

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

Giphy url support

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

Indicate that some posts' permalink will not change (if metadata) on the dashboard when setting the blog's permalink format. Tell Chet.

Add filtering by date to 404 log and tell this person

Daily update email
  • Move generator from scripts to app folder such that the server no longer depends on anything in /scripts.
  • Allow configurable timezone for when I travel?

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

Enable hyphenation again then tell rodericus

Add password protection for blogs then tell Ed, this person, this person, Modomiro and Roy's friend Tim.

Add option to enable hard line breaks

Move all unit tests which run on server start (the helper folder is littered with these, CMD+F for 'require('assert') into CI tests.

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

Queue scheduled entries in redis somehow to make each server less stateful

Noindex blog search results pages

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

Expose list of rendering errors to callback

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

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

Follow up with Eli about work on the documentation and user's guide

Plugins:
  • Implement custom CSS for syntax highlight plugin
  • Fix image caption plugin to be semantic using
  • Ensure Youtube plugin still functions if apis fails
  • Prevent image zoom plugin from zooming emojies
  • Add soundcloud embeds then tell Jonas, Nashp, and Anders

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

Menu needs concurrency or atomic operations (so we can build posts in parallel)

Investigate atompub support for Marsedit and tell Chet

Move from preview files -> webloc / .url files? Everything requires an internet connection

Consider adding date format localization with Moment

Add an embed plugin https://github.com/ritz078/embed.js

Look into how Jekyll does data files and possibly support?

Add .lhs support and tell Roy

Internationalize i8n and tell Christian about Portuguese and Simon about French

Add support for github style checkboxes and tell Christian

Add a cool bookmarklet which drafts a post a la this demo

Consider allowing users to buy domains on Blot through DNS simple

Done

  1. Added cacheID to CSS files on public site

    13 hours ago

  2. Added template information to sites on homepage

    13 hours ago

  3. More tweaks

    14 hours ago

  4. Updated homepagr

    14 hours ago

  5. Tweaks to header

    15 hours ago

  6. Updated logo

    16 hours ago

  7. Initial commit

    19 hours ago

  8. Updated homepage

    2 days ago

  9. Tweaked sign up pages

    2 days ago

  10. New header

    2 days ago

  11. Fixed grid

    2 days ago

  12. Tweaks

    3 days ago

  13. Tweak

    3 days ago

  14. Updated layout

    3 days ago

  15. More reorganization

    3 days ago

  16. New layout

    3 days ago

  17. Reorganize

    6 days ago

  18. Moved nav

    6 days ago

  19. Updated homepage

    6 days ago

  20. Updated homepage layout

    6 days ago

  21. Updated layout

    6 days ago

  22. Initial commit

    7 days ago

  23. Updated public site

    7 days ago

  24. Added Zach to featured sites

    7 days ago

  25. Updated news page

    7 days ago

  26. Fixed broken links on template editor

    7 days ago

  27. Added draft of summer newsletter

    7 days ago

  28. Fixed broken links in documentation

    9 days ago

  29. Updated thumbnail script

    10 days ago

  30. Updated thumbnail script

    10 days ago

  31. Hid search and feed links when menu is collapsed on portfolio theme

    10 days ago

  32. Updated format of thumbnail names to fix bug for images whose name contains a questionmark

    10 days ago

  33. Fixed entry drop script

    10 days ago

  34. Refactored entry scripts

    10 days ago

  35. Fix link for redirecting an ignored 404

    16 days ago

  36. Updated script to edit blog id

    18 days ago

  37. More improvements to central layout

    20 days ago

  38. More tweaks to centered site

    20 days ago

  39. Updated index page

    20 days ago

  40. Updated log in and sign up pages

    20 days ago

  41. Updated index

    20 days ago

  42. Updated layout

    20 days ago

  43. Updated log in layout

    20 days ago

  44. Updated header and index

    20 days ago

  45. More tweaks to layout

    21 days ago

  46. Improved usability of header

    21 days ago

  47. Tweaks to index page

    21 days ago

  48. Usability tweaks to header

    21 days ago

  49. Logs access link when loading folder states

    22 days ago

  50. Added folder of montaigne essays

    22 days ago

  51. Added script to build demonstration blogs

    22 days ago

  52. Updated test blogs

    22 days ago

  53. Moved logging in access script

    22 days ago

  54. Added spec for Template.dropView

    22 days ago

  55. Linted Jasmine configuration

    22 days ago

  56. Exclude node_modules directories from test specs

    22 days ago

  57. Updated Jasmine to 3.3.1

    22 days ago

  58. Fixed failing test

    22 days ago

  59. Added test to get full template view

    22 days ago

  60. Added spec for Template.getPartials

    22 days ago

  61. Added test to get all template views

    22 days ago

  62. Added spec for Template.getViewByURL

    22 days ago

  63. Fixed path to Entry model in getPartials method of Template

    22 days ago

  64. Added spec for Template.getView

    22 days ago

  65. Tweaked domain guide

    22 days ago

  66. Updated notes

    23 days ago

  67. Updated readme for demo folders

    23 days ago

  68. Added spec for script to build demo blogs

    23 days ago

  69. Updated readme in test blog folders

    23 days ago

  70. Added new folder with mock Diary material and removed one squib

    23 days ago