diff --git a/app/site/views/help/help.json b/app/site/views/help/help.json index 086dc21f8ef..3b9fca73ef7 100644 --- a/app/site/views/help/help.json +++ b/app/site/views/help/help.json @@ -1 +1 @@ -{"getting-started-with-blot":{"title":"Getting started with Blot","slug":"getting-started-with-blot","subsections":[{"title":"Posts and formatting","slug":"posts-and-formatting","url":"/help/getting-started-with-blot#posts-and-formatting","html":"

Blot is a blogging platform. It creates a folder inside your Dropbox and publishes files you put inside. This means you can use your favorite text editor to write your blog.

\n\n\n\n\n

Posts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Pages\n Posts\n Bookmark.webloc\n Document.docx\n Funny.gif\n Markdown.md\n Picture.jpg\n Text.txt\n Webpage.html\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These files become blog posts when you put them somewhere in your site's folder:

Blot skips files and folders whose name starts with an underscore. Use this feature to embed an image in a blog post.

\n\n

Importing your posts from elsewhere

I've written scripts to generate a folder of files from sites hosted on Tumblr, Wordpress, Jekyll and Squarespace. If you contact me, I can run them on your site and send you the result.

\n\n\n

Formatting your posts

Blot supports Markdown, a markup language designed for plain text files. You can add headings, lists, mathematical statements set in LaTeX, syntax highlighting to code snippets and much more.

View the formatting guide →\n

\n
","path":"1. Posts and formatting.txt"},{"title":"Pages and drafts","slug":"pages-and-drafts","url":"/help/getting-started-with-blot#pages-and-drafts","html":"
\n\n\n

Pages and drafts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Anecdote.txt\n Anecdote.txt.html\n Pages\n About.txt\n Contact.txt\n Posts\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

Files inside a folder called 'Pages' are added to your site's menu instead of the list of blog posts. You can hide a page from your site's menu if you prefer.

Files inside a folder called 'Drafts' are not published to your site. Instead, Blot creates a preview file which you can open in your web browser.

\n\n

Public files

Every file in your site's folder is public. For example, if you put Archive.zip in your folder, your readers can download it at www.your-site.com/archive.zip. You can use Blot as a static file server. Please note that paths and URLs on Blot are case-insensitive.

\n
","path":"2. Pages and drafts.txt"},{"title":"Metadata and dates","slug":"metadata-and-dates","url":"/help/getting-started-with-blot#metadata-and-dates","html":"
\n\n\n\n

Metadata

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: February 28th, 1973\nTags: Literature, Schwarzgerät\n\n# Gravity's rainbow\n\nA screaming comes across the sky.\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot generates all metadata for each post automatically based on the file's contents, name and location. This metadata includes a publish date, permalink and a summary. You can override Blot's metadata with your own.

Metadata must start on the file's first line and be separated from the rest of the post by at least one blank line.

You can also create your own custom metadata and use it on your site's template. View the full list of metadata.

\n
","path":"3. Metadata and dates.txt"},{"title":"URLs and tags","slug":"urls-and-tags","url":"/help/getting-started-with-blot#urls-and-tags","html":"
\n\n\n\n\n

Dates

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: September 4th, 1992\nTags: Philhellenism, Murder\n\nDoes such a thing as 'the fatal flaw,' that shadowy dark crack running down the middle of a life, exist outside literature?\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot uses the file’s creation date as its publish date by default. You can specify a different date in the file's metadata.

Blot supports a variety of ways that people write dates. The following formats produce a blog post with the same date:

September 18, 2017   09/18/2017\n2017-09-18 00:00     9.18.2017\n

You can also specify a publish date using the file's name, or its path, or a combination of both:

2017-07-18-00:00-Post.txt   2017/07/18/Post.txt \n2017/7.18.Post.txt          2017/7.18/Post.txt\n

If you write the numbers in your dates in different order, please tell Blot on the settings page. If you specify a date in the future, Blot will wait until then to publish it. And if you prefer, you can hide the dates on your site's dashboard.

\n\n\n\n\n

Tags

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nTags: Nabokov, Phaedra\n\nLolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.\n\n
\n \n \n \n \n \n\n \n \n \n \n

You can tag a post in the metadata at the top of a file. Tags can contain whitespace. Although tags are case-insensitive, it’s worth capitalizing tags consistently because Blot uses the most recent case when displaying a tag on your site.

You can also use brackets in a folder's name to tag posts. For example, all the files in a folder called '[Fiction]' will become blog posts tagged 'Fiction'. You can nest folders:

[Book notes] / [Fiction] / Williwaw.txt\n
\n\n\n\n\n\n\n\n\n

Teasers

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\n# Lycurgus\n\nHe was of the opinion that even in death a statesman should...\n\n{{more}}\n\nNor were his calculations misguided, because there was no state in Greece to match Sparta...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Some of Blot's templates show a teaser for each post on the homepage, and include a link to the read full post. By default, Blot creates a teaser from the first few paragraphs in the post. You can specify the breakpoint in the file yourself:

Everything before {{more}} will be included in the teaser, and the rest will be shown on the post's page. You can also use <!-- more --> in an HTML file.\n

\n
","path":"4. URLs and tags.txt"}],"path":"1. Getting started with Blot"},"templates":{"title":"Templates","slug":"templates","subsections":[{"title":"Getting started","slug":"getting-started","url":"/help/templates#getting-started","html":"

Creating a template, or modifying an existing template will require an understanding of HTML, CSS and Mustache. Blot will be familiar to those who have worked with templates on other blogging platforms.

\n

The best way to learn how to use Blot's template is to clone an existing template and look at its source. Please don't hestitate to contact me if you have any questions.

\n\n

Modify an existing template

To modify an existing template, create a new template on the design page and specify the template you wish to clone.

\n\n

Debugging

If you append the query string ?json=true to a URL on Blot, you can retrieve the view used to render its template. I’d suggest using a browser extension like JSONView to make more sense of it.

\n
","path":"1. Getting started.txt"},{"title":"How routing works","slug":"how-routing-works","url":"/help/templates#how-routing-works","html":"
\n\n\n

Routing

When an HTTP request from one of your readers arrives at your site, Blot follows these steps to work out what to send in response. This process is known as routing.

    \n
  1. Check your site's template to see if there is a route which matches the path. If there is, render the template and send the HTML as a response.

    \n
  2. \n
  3. Check your site's folder to see if there is a file which matches the path. Send the file as a response if it matches.

    \n
  4. \n
  5. Check your site's list of redirects to see if you have set one up for this path.

    \n
  6. \n
  7. Serve your template's error page if you have one, or Blot's error page if not.

    \n
  8. \n

You can read the source code which defines these steps for a more precise idea of how things work.

\n
","path":"2. How routing works.txt"},{"title":"Using variables","slug":"using-variables","url":"/help/templates#using-variables","html":"

\n\n\n

Site variables

Blot uses these variables to render Mustache templates.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{title}}your site’s title
{{#menu}}...{{/menu}}a list containing the links on your site’s menu
{{avatar}}the URL to your site’s avatar
{{siteURL}}the URL to your site’s homepage
{{feedURL}}the URL to your site’s RSS feed
{{cssURL}}the URL to your site’s CSS file
{{scriptURL}}the URL to your site’s JS file
{{sitemapURL}}the URL to your site’s sitemap
{{cacheID}}a unix time stamp for the last change you made to your site
{{timeZone}}your site’s timezone
{{roundAvatar}}true if you’ve indicated your avatar is round, false if not
{{hideDates}}true if you’ve chosen to hide the dates on your site, false if not
\n\n\n

Post variables

Note that some of the variables, like {{{html}}} have three handlebars rather than two. Mustache escapes variables with two handlebars.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{id}}Number representing the entry's unique ID
{{date}}Human readable publish date for the entry
{{title}}Title of the entry
{{{titleTag}}}HTML of the entry's title
{{{html}}}HTML of the entry, including the title
{{{body}}}HTML of the entry, excluding the title
{{{teaser}}}HTML of the title and the first few items in the entry. You can specify the end of the teaser by inserting the special tag {{more}} into your blog post's file. Everything before {{more}} will be included in the teaser.
{{{teaserBody}}}{{{teaser}}} without the title.
{{summary}}Text summary of the entry
{{more}}Boolean indicating whether teaser differs from html. This is useful for determining whether or not to show 'read more' links.
{{tags}}List of tags for the entry
{{url}}Relative URL to the entry
{{menu}}"true" if the entry is a page, "false" if not
{{created}}Timestamp
{{updated}}Timestamp
\n\n\n\n

Helper functions

Blot exposes some general purpose functions as Mustache lambdas. Note that you can pass another variable from the view to these functions.

\n\n\n\n\n\n\n\n\n\n\n\n\n
The text inside the tag…is replaced with…
{{#encodeURIComponent}}...{{/encodeURIComponent}}The same text, encoded appropriately for a URI component

\n
","path":"3. Using variables.txt"},{"title":"Lists of posts","slug":"lists-of-posts","url":"/help/templates#lists-of-posts","html":"

\n\n\n\n

Lists

You can uses these variables to render lists of posts

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{#all_posts}}...{{/all_posts}}Every post ever published
{{#recent_posts}}...{{/recent_posts}}25 most recent posts on your site
{{#archives}}...{{/archives}}A list of years, months and the posts published on them
{{#all_tags}}...{{/all_tags}}the URL to your site’s avatar

\n
","path":"4. Lists of posts.txt"},{"title":"Metadata and thumbnails","slug":"metadata-and-thumbnails","url":"/help/templates#metadata-and-thumbnails","html":"

\n\n\n\n\n\n

Custom metadata

You can specify custom entry metadata:

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nAuthor: Eric Blair\n\n# Homage to Catalonia\n\nIn the Lenin Barracks in Barcelona, the day before...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Use custom metadata in your template like this:

Posted by {{metadata.author}}\n

Metadata keys are case insensitive. I’d recommend using conditional blocks to prevent your layout breaking if you don’t consistently specify metadata:

{{#metadata.author}}\n  Posted by {{metadata.author}}\n{{/metadata.author}}\n\n{{^metadata.author}}\n  Posted by the editor\n{{/metadata.author}}\n
\n\n\n\n\n\n

Thumbnails

Blot generates four sizes of thumbnails:

Blot will not increase the size of smaller images. The JSON added to each entry looks something like this:

{\n    ...\n    thumbnail: {\n        small: {url: "...", width: 160, height: 103},\n        medium: {url: "...", width: 640, height: 411},\n        large: {url: "...", width: 1060, height: 681},\n        square: {url: "...", width: 160, height: 160 }\n    },\n    ...\n}\n

You can use them in your template like this:

{{#thumbnail.medium}}\n    <img src="{{url}}" width="{{width}}" height="{{height}}">\n{{/thumbnail.medium}}\n

\n
","path":"5. Metadata and thumbnails.txt"}],"path":"2. Templates"},"guides-and-resources":{"title":"Guides and resources","slug":"guides-and-resources","subsections":[{"title":"Use your own domain","slug":"use-your-own-domain","url":"/help/guides-and-resources#use-your-own-domain","html":"

This is the blurb for this page.

\n\n\n

Using your own domain

Let's say you own the domain example.com and would like to point it to your site. First, you must decide whether you would like to use the apex domain, which is just example.com, or a subdomain like www.example.com or blog.example.com.

\n
","path":"1. Use your own domain.txt"},{"title":"Setting up redirects","slug":"setting-up-redirects","url":"/help/guides-and-resources#setting-up-redirects","html":"
\n\n

Redirects

You can set up redirects for missing or moved pages on your blog. Your site’s 404 log will help you discover URLs which need redirects. You can use RegEx to match multiple routes. For example, this rule redirects URLs starting with /post to /blog:

\\/post\\/(.*)  →  /blog/$1\n
","path":"2. Setting up redirects.txt"},{"title":"Embed an image in a blog post","slug":"embed-an-image-in-a-blog-post","url":"/help/guides-and-resources#embed-an-image-in-a-blog-post","html":"

How to embed an image in a blog post

\n
","path":"3. Embed an image in a blog post.txt"},{"title":"Date tokens","slug":"date-tokens","url":"/help/guides-and-resources#date-tokens","html":"
\n\n

Date tokens

Here is the reference for Moment.js's date tokens. These are used in Blot's permalink format, and its templates.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TokenOutput
MonthM1 2 ... 11 12
Mo1st 2nd ... 11th 12th
MM01 02 ... 11 12
MMMJan Feb ... Nov Dec
MMMMJanuary February ... November December
QuarterQ1 2 3 4
Qo1st 2nd 3rd 4th
Day of MonthD1 2 ... 30 31
Do1st 2nd ... 30th 31st
DD01 02 ... 30 31
Day of YearDDD1 2 ... 364 365
DDDo1st 2nd ... 364th 365th
DDDD001 002 ... 364 365
Day of Weekd0 1 ... 5 6
do0th 1st ... 5th 6th
ddSu Mo ... Fr Sa
dddSun Mon ... Fri Sat
ddddSunday Monday ... Friday Saturday
Day of Week (Locale)e0 1 ... 5 6
Day of Week (ISO)E1 2 ... 6 7
Week of Yearw1 2 ... 52 53
wo1st 2nd ... 52nd 53rd
ww01 02 ... 52 53
Week of Year (ISO)W1 2 ... 52 53
Wo1st 2nd ... 52nd 53rd
WW01 02 ... 52 53
YearYY70 71 ... 29 30
YYYY1970 1971 ... 2029 2030
Y1970 1971 ... 9999 +10000 +10001\n
\n Note: This complies with the ISO 8601 standard for dates past the year 9999\n
Week Yeargg70 71 ... 29 30
gggg1970 1971 ... 2029 2030
Week Year (ISO)GG70 71 ... 29 30
GGGG1970 1971 ... 2029 2030
AM/PMAAM PM
aam pm
HourH0 1 ... 22 23
HH00 01 ... 22 23
h1 2 ... 11 12
hh01 02 ... 11 12
k1 2 ... 23 24
kk01 02 ... 23 24
Minutem0 1 ... 58 59
mm00 01 ... 58 59
Seconds0 1 ... 58 59
ss00 01 ... 58 59
Fractional SecondS0 1 ... 8 9
SS00 01 ... 98 99
SSS000 001 ... 998 999
SSSS ... SSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
Unix TimestampX1360013296
Unix Millisecond Timestampx1360013296123
","path":"4. Date tokens.txt"},{"title":"Formatting","slug":"formatting","url":"/help/guides-and-resources#formatting","html":"

Blot converts text files from Markdown. You can use markdown to make text bold, italicized, create lists, links and more. You can mix Markdown and HTML in the same file.

\n\n\n

Videos

You can also paste the HTML for a video embed directly into a blog post. Blot also automatically converts plain URLs to Youtube and Vimeo videos into video embeds. To embed a youtube video in your blog post just paste its URL like this:

https://www.youtube.com/watch?v=nkJA6SYwa94\n
\n\n

Footnotes

You can specify footnotes using this syntax:

A line with a footnote.[^1] Another line.[^2]\n\n[^1]: And the note goes here.\n[^2]: And the second goes here too.\n
\n\n\n\n

Layout

I wrote a Markdown extension for Blot which provides basic layout shortcuts. The features are as follows:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…should make its contents...by applying this CSS class…
{<<}extend into the left marginwide left
{>>}extend into the right marginwide right
{<>}extend into both marginswide
{>}float right inside the pageright inside
{<}float left inside the pageleft inside
{|<}hang in the right marginright margin
{>|}hang in the left marginleft margin
{||}sit inside a 1/2 width columntwo column
{|||}sit inside a 1/3 width columnthree column
{||||}sit inside a 1/4 width columnfour column

You can including multiple lines inside the same layout tag by indenting them:

{<<} ## Subtitle which extends into left margin\n     A paragraph which will also extend into the left margin.\n\n{>>} ## Subtitle which extends into right margin\n     A paragraph which will also extend into the right margin.\n

Your blog's template controls how the layout HTML is styled. Most Blot templates come with a variation on layout.css which provides the above features as described.

\n\n\n\n\n\n\n\n\n

Bold and Italic

To create italics, use a single asterix (*) on either side of the text:

\n
*This text will be italic.*
\n
This text will be italic.
\n
\n

Surrounding text with two asterisks makes text bold:

\n
**This text will be bold.**
\n
This text will be bold.
\n
\n

Both * or _ symbols work to make text bold or italic. This way you can combine bold and italic in the same sentence. For example:

\n
**Everyone _must_ listen.**
\n
Everyone must listen.
\n
\n
\n\n\n\n\n

Strikethrough

Put a double tilde (~) on either side of the text you want to strikethrough:

\n
~~Strike out mistakes~~
\n
Strike out mistakes
\n
\n
\n\n\n\n\n\n\n\n

Lists

Make a bulleted list by preceding list items with a single asterix (*) or a hyphen (-). You need a space between the asterix and the text.

\n
\n- Round\n- Shell\n- Projectile\n
\n
\n Round\n Shell\n* Projectile\n
\n
\n

Create a numbered list by preceding list items with a number.

\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n
\n\n\n\n\n

Links

Create a text link by wrapping the linked text in brackets [ ], and then wrapping the link in parenthesis ( ). For example:

\n
\n[Wikipedia](https://wikipedia.org)
\n
Wikipedia
\n
\n
\n\n\n\n\n

Headings

# Largest heading\n## Subheading\n### Section heading\n
\n\n

Mathematics

Blot will convert equations set in LaTeX. Check out this useful guide. To use this, wrap your LaTeX in two dollar signs ($$) like this:

$$ f(x) = 2x^2 + 2/3 $$
\n    $$ f(x) = 2x^2 + 2/3 $$

\n\n\n\n\n\n\n

Images

Here's what the markdown looks like, note the ‘!’ before the tag.

![Alt text](http://example.com/image.jpg "Title")\n

Yes, first create a folder whose name starts with an underscore, e.g. '_images'. Blot will not turn any of the files inside into blog posts, but they will be public. Then put the image inside then embed the image like this:

![Image description](/_images/image.jpg)\n

Blot resolves relative paths based on the location of the source file, not its permalink. File paths are case-insenitive. For example, let's say your blog has this folder structure:

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Posts\n _apple.png\n fruit.txt\n _Images\n peach.png\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These images all resolve correctly in fruit.txt, no matter its resulting URL.

![Apple](_apple.png)\n![Apple](/posts/_apple.png)\n![Peach](../_images/peach.png)\n
\n\n\n

Code snippets

Indent code with four spaces:

var foo = “bar”;\n

You can also wrap code.snippets with three backticks `. This is useful for inserting code snippets inside a paragraph.

If you have enabled the syntax highlighting app, Blot will process the snippet using highlight.js. Every Blot template comes with its own syntax highlighting theme. If you are designing a custom blog template and want to use syntax highlighting, please add a theme to your blog’s CSS file.

\n
","path":"5. Formatting.txt"},{"title":"Metadata","slug":"metadata","url":"/help/guides-and-resources#metadata","html":"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KeyValue
DateDefaults to this file's creation date. Set the post's publish date using one of the supported formats.
TitleDefaults to the first title in this post or its file name.
TagsEmpty by default. Seperate your tags with a comma.
PermalinkDefaults to a URL-friendly version of the post's title. You can specify one here or change your site's default permalinks on the dashboard.
SummaryDefaults to the first sentence of the first paragraph in the file.
TeaserLike summary but a little longer. Defaults to the first few paragraphs.
ThumbnailGenerated from the largest image in the post. You can specify a path or URL to an image.
DraftDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a draft.
PageDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a page and add it to your blog's menu.
MenuDefaults to 'Yes' if the file is a page. Anything falsy (e.g. 'No') will hide the page from your site's menu.
\n

You can create your own metadata and access it in your blog's template.

\n

Here is the full list of Blot's native metadata:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Metadata propertiesExample
Draft/sample-post
Page/blog/sample-post
Menu/2017/sample-post
Permalink/2017/10/3/sample-post
URLAlias of the Permalink property
\n
Draft: no\nPage: no\nMenu: no\nPermalink: apple\nUrl: apple\nDate: 1/2/2020\nTags: Fruit, Pears\nThumbnail: _apple.png\nTitle: Apple\nSummary: Summary\n\n# Apple\n\nThis is the summary.\n

Draft 'Yes'\nPage 'Yes'\nMenu: 'Yes' or 'No'\nPermalink:\nUrl: \nDate:\nTags: \nThumbnail:\nSummary:\nTitle:

\n

You can create a page elsewhere in your blog's folder by adding Page: yes to the file's metadata. If you'd like to create a page that isn't on your blog's menu, add Menu: no as well.

\n

Blot tries to create a thumbnail from the largest image in a blog post.

\n

You can specify a different thumbnail in the metadata at the top of a file. You can use a URL or a path to a file inside Blot’s folder:

\n
Thumbnail: /_Photos/Apple.jpg\n
","path":"6. Metadata.txt"},{"title":"Permalink formats","slug":"permalink-formats","url":"/help/guides-and-resources#permalink-formats","html":"","path":"7. Permalink formats.txt"}],"path":"3. Guides and resources"},"account-and-billing":{"title":"Account and billing","slug":"account-and-billing","subsections":[{"title":"xt","slug":"xt","url":"/help/account-and-billing#xt","html":"

Blot charges an annual fee. You'll be billed when you first create a site, and each year after, as long as you keep your account open. You can cancel your subscription at any time.

\n

Your payment information does not touch Blot's servers. Blot uses Stripe to process subscription payments. Read more about Stripe's security on their website.

\n\n

Can I host multiple sites on Blot?

Yes, you can host as many sites as you like on Blot from the same account. Each site costs $20 a year. You can also create sites in different Dropbox accounts from the same Blot account.

\n\n

Does Blot support any alternatives to Dropbox?

Not at the moment. However, I plan to eventually add support Git, FTP, GitHub and Google Drive. Please contact me if there's a service you'd like me to support.

\n\n

Does Blot have a bandwidth or storage limit?

No, there’s no hard bandwidth or storage limit. However, if you use more than 1TB of bandwidth + storage combined per year, I will ask you to pay enough to meet the cost of hosting your site, or help you set up Blot on your own server.

\n\n

Can Blot access all the files in my Dropbox?

No, not by default. Blot only has access to a single folder in your Dropbox. However, you can grant Blot full access to your folder. You should only do this if you want to move your site's folder elsewhere, or share it with other people who use Dropbox.

\n\n

Does Blot use up my Dropbox bandwidth?

No, Dropbox's traffic limits do not apply to Blot. This is because Blot first transfers the contents of your folder to its server before delivering it to your readers.

\n\n

Does my subscription renew automatically?

Yes. I will email you one week before your subscription is renewed to give you time to cancel or update your billing information. I hate sneaky unwanted recurring bills as much as you do.

\n\n

Canceling your subscription

You can cancel your subscription on the account page. You can choose to disable your account immediately, or wait until the end of your current subscription period. You can also permanently delete your account.

\n
","path":"Questions.txt"}],"path":"4. Account and billing"},"sections":[{"title":"Getting started with Blot","slug":"getting-started-with-blot","subsections":[{"title":"Posts and formatting","slug":"posts-and-formatting","url":"/help/getting-started-with-blot#posts-and-formatting","html":"

Blot is a blogging platform. It creates a folder inside your Dropbox and publishes files you put inside. This means you can use your favorite text editor to write your blog.

\n\n\n\n\n

Posts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Pages\n Posts\n Bookmark.webloc\n Document.docx\n Funny.gif\n Markdown.md\n Picture.jpg\n Text.txt\n Webpage.html\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These files become blog posts when you put them somewhere in your site's folder:

Blot skips files and folders whose name starts with an underscore. Use this feature to embed an image in a blog post.

\n\n

Importing your posts from elsewhere

I've written scripts to generate a folder of files from sites hosted on Tumblr, Wordpress, Jekyll and Squarespace. If you contact me, I can run them on your site and send you the result.

\n\n\n

Formatting your posts

Blot supports Markdown, a markup language designed for plain text files. You can add headings, lists, mathematical statements set in LaTeX, syntax highlighting to code snippets and much more.

View the formatting guide →\n

\n
","path":"1. Posts and formatting.txt"},{"title":"Pages and drafts","slug":"pages-and-drafts","url":"/help/getting-started-with-blot#pages-and-drafts","html":"
\n\n\n

Pages and drafts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Anecdote.txt\n Anecdote.txt.html\n Pages\n About.txt\n Contact.txt\n Posts\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

Files inside a folder called 'Pages' are added to your site's menu instead of the list of blog posts. You can hide a page from your site's menu if you prefer.

Files inside a folder called 'Drafts' are not published to your site. Instead, Blot creates a preview file which you can open in your web browser.

\n\n

Public files

Every file in your site's folder is public. For example, if you put Archive.zip in your folder, your readers can download it at www.your-site.com/archive.zip. You can use Blot as a static file server. Please note that paths and URLs on Blot are case-insensitive.

\n
","path":"2. Pages and drafts.txt"},{"title":"Metadata and dates","slug":"metadata-and-dates","url":"/help/getting-started-with-blot#metadata-and-dates","html":"
\n\n\n\n

Metadata

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: February 28th, 1973\nTags: Literature, Schwarzgerät\n\n# Gravity's rainbow\n\nA screaming comes across the sky.\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot generates all metadata for each post automatically based on the file's contents, name and location. This metadata includes a publish date, permalink and a summary. You can override Blot's metadata with your own.

Metadata must start on the file's first line and be separated from the rest of the post by at least one blank line.

You can also create your own custom metadata and use it on your site's template. View the full list of metadata.

\n
","path":"3. Metadata and dates.txt"},{"title":"URLs and tags","slug":"urls-and-tags","url":"/help/getting-started-with-blot#urls-and-tags","html":"
\n\n\n\n\n

Dates

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: September 4th, 1992\nTags: Philhellenism, Murder\n\nDoes such a thing as 'the fatal flaw,' that shadowy dark crack running down the middle of a life, exist outside literature?\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot uses the file’s creation date as its publish date by default. You can specify a different date in the file's metadata.

Blot supports a variety of ways that people write dates. The following formats produce a blog post with the same date:

September 18, 2017   09/18/2017\n2017-09-18 00:00     9.18.2017\n

You can also specify a publish date using the file's name, or its path, or a combination of both:

2017-07-18-00:00-Post.txt   2017/07/18/Post.txt \n2017/7.18.Post.txt          2017/7.18/Post.txt\n

If you write the numbers in your dates in different order, please tell Blot on the settings page. If you specify a date in the future, Blot will wait until then to publish it. And if you prefer, you can hide the dates on your site's dashboard.

\n\n\n\n\n

Tags

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nTags: Nabokov, Phaedra\n\nLolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.\n\n
\n \n \n \n \n \n\n \n \n \n \n

You can tag a post in the metadata at the top of a file. Tags can contain whitespace. Although tags are case-insensitive, it’s worth capitalizing tags consistently because Blot uses the most recent case when displaying a tag on your site.

You can also use brackets in a folder's name to tag posts. For example, all the files in a folder called '[Fiction]' will become blog posts tagged 'Fiction'. You can nest folders:

[Book notes] / [Fiction] / Williwaw.txt\n
\n\n\n\n\n\n\n\n\n

Teasers

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\n# Lycurgus\n\nHe was of the opinion that even in death a statesman should...\n\n{{more}}\n\nNor were his calculations misguided, because there was no state in Greece to match Sparta...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Some of Blot's templates show a teaser for each post on the homepage, and include a link to the read full post. By default, Blot creates a teaser from the first few paragraphs in the post. You can specify the breakpoint in the file yourself:

Everything before {{more}} will be included in the teaser, and the rest will be shown on the post's page. You can also use <!-- more --> in an HTML file.\n

\n
","path":"4. URLs and tags.txt"}],"path":"1. Getting started with Blot"},{"title":"Templates","slug":"templates","subsections":[{"title":"Getting started","slug":"getting-started","url":"/help/templates#getting-started","html":"

Creating a template, or modifying an existing template will require an understanding of HTML, CSS and Mustache. Blot will be familiar to those who have worked with templates on other blogging platforms.

\n

The best way to learn how to use Blot's template is to clone an existing template and look at its source. Please don't hestitate to contact me if you have any questions.

\n\n

Modify an existing template

To modify an existing template, create a new template on the design page and specify the template you wish to clone.

\n\n

Debugging

If you append the query string ?json=true to a URL on Blot, you can retrieve the view used to render its template. I’d suggest using a browser extension like JSONView to make more sense of it.

\n
","path":"1. Getting started.txt"},{"title":"How routing works","slug":"how-routing-works","url":"/help/templates#how-routing-works","html":"
\n\n\n

Routing

When an HTTP request from one of your readers arrives at your site, Blot follows these steps to work out what to send in response. This process is known as routing.

    \n
  1. Check your site's template to see if there is a route which matches the path. If there is, render the template and send the HTML as a response.

    \n
  2. \n
  3. Check your site's folder to see if there is a file which matches the path. Send the file as a response if it matches.

    \n
  4. \n
  5. Check your site's list of redirects to see if you have set one up for this path.

    \n
  6. \n
  7. Serve your template's error page if you have one, or Blot's error page if not.

    \n
  8. \n

You can read the source code which defines these steps for a more precise idea of how things work.

\n
","path":"2. How routing works.txt"},{"title":"Using variables","slug":"using-variables","url":"/help/templates#using-variables","html":"

\n\n\n

Site variables

Blot uses these variables to render Mustache templates.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{title}}your site’s title
{{#menu}}...{{/menu}}a list containing the links on your site’s menu
{{avatar}}the URL to your site’s avatar
{{siteURL}}the URL to your site’s homepage
{{feedURL}}the URL to your site’s RSS feed
{{cssURL}}the URL to your site’s CSS file
{{scriptURL}}the URL to your site’s JS file
{{sitemapURL}}the URL to your site’s sitemap
{{cacheID}}a unix time stamp for the last change you made to your site
{{timeZone}}your site’s timezone
{{roundAvatar}}true if you’ve indicated your avatar is round, false if not
{{hideDates}}true if you’ve chosen to hide the dates on your site, false if not
\n\n\n

Post variables

Note that some of the variables, like {{{html}}} have three handlebars rather than two. Mustache escapes variables with two handlebars.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{id}}Number representing the entry's unique ID
{{date}}Human readable publish date for the entry
{{title}}Title of the entry
{{{titleTag}}}HTML of the entry's title
{{{html}}}HTML of the entry, including the title
{{{body}}}HTML of the entry, excluding the title
{{{teaser}}}HTML of the title and the first few items in the entry. You can specify the end of the teaser by inserting the special tag {{more}} into your blog post's file. Everything before {{more}} will be included in the teaser.
{{{teaserBody}}}{{{teaser}}} without the title.
{{summary}}Text summary of the entry
{{more}}Boolean indicating whether teaser differs from html. This is useful for determining whether or not to show 'read more' links.
{{tags}}List of tags for the entry
{{url}}Relative URL to the entry
{{menu}}"true" if the entry is a page, "false" if not
{{created}}Timestamp
{{updated}}Timestamp
\n\n\n\n

Helper functions

Blot exposes some general purpose functions as Mustache lambdas. Note that you can pass another variable from the view to these functions.

\n\n\n\n\n\n\n\n\n\n\n\n\n
The text inside the tag…is replaced with…
{{#encodeURIComponent}}...{{/encodeURIComponent}}The same text, encoded appropriately for a URI component

\n
","path":"3. Using variables.txt"},{"title":"Lists of posts","slug":"lists-of-posts","url":"/help/templates#lists-of-posts","html":"

\n\n\n\n

Lists

You can uses these variables to render lists of posts

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{#all_posts}}...{{/all_posts}}Every post ever published
{{#recent_posts}}...{{/recent_posts}}25 most recent posts on your site
{{#archives}}...{{/archives}}A list of years, months and the posts published on them
{{#all_tags}}...{{/all_tags}}the URL to your site’s avatar

\n
","path":"4. Lists of posts.txt"},{"title":"Metadata and thumbnails","slug":"metadata-and-thumbnails","url":"/help/templates#metadata-and-thumbnails","html":"

\n\n\n\n\n\n

Custom metadata

You can specify custom entry metadata:

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nAuthor: Eric Blair\n\n# Homage to Catalonia\n\nIn the Lenin Barracks in Barcelona, the day before...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Use custom metadata in your template like this:

Posted by {{metadata.author}}\n

Metadata keys are case insensitive. I’d recommend using conditional blocks to prevent your layout breaking if you don’t consistently specify metadata:

{{#metadata.author}}\n  Posted by {{metadata.author}}\n{{/metadata.author}}\n\n{{^metadata.author}}\n  Posted by the editor\n{{/metadata.author}}\n
\n\n\n\n\n\n

Thumbnails

Blot generates four sizes of thumbnails:

Blot will not increase the size of smaller images. The JSON added to each entry looks something like this:

{\n    ...\n    thumbnail: {\n        small: {url: "...", width: 160, height: 103},\n        medium: {url: "...", width: 640, height: 411},\n        large: {url: "...", width: 1060, height: 681},\n        square: {url: "...", width: 160, height: 160 }\n    },\n    ...\n}\n

You can use them in your template like this:

{{#thumbnail.medium}}\n    <img src="{{url}}" width="{{width}}" height="{{height}}">\n{{/thumbnail.medium}}\n

\n
","path":"5. Metadata and thumbnails.txt"}],"path":"2. Templates"},{"title":"Guides and resources","slug":"guides-and-resources","subsections":[{"title":"Use your own domain","slug":"use-your-own-domain","url":"/help/guides-and-resources#use-your-own-domain","html":"

This is the blurb for this page.

\n\n\n

Using your own domain

Let's say you own the domain example.com and would like to point it to your site. First, you must decide whether you would like to use the apex domain, which is just example.com, or a subdomain like www.example.com or blog.example.com.

\n
","path":"1. Use your own domain.txt"},{"title":"Setting up redirects","slug":"setting-up-redirects","url":"/help/guides-and-resources#setting-up-redirects","html":"
\n\n

Redirects

You can set up redirects for missing or moved pages on your blog. Your site’s 404 log will help you discover URLs which need redirects. You can use RegEx to match multiple routes. For example, this rule redirects URLs starting with /post to /blog:

\\/post\\/(.*)  →  /blog/$1\n
","path":"2. Setting up redirects.txt"},{"title":"Embed an image in a blog post","slug":"embed-an-image-in-a-blog-post","url":"/help/guides-and-resources#embed-an-image-in-a-blog-post","html":"

How to embed an image in a blog post

\n
","path":"3. Embed an image in a blog post.txt"},{"title":"Date tokens","slug":"date-tokens","url":"/help/guides-and-resources#date-tokens","html":"
\n\n

Date tokens

Here is the reference for Moment.js's date tokens. These are used in Blot's permalink format, and its templates.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TokenOutput
MonthM1 2 ... 11 12
Mo1st 2nd ... 11th 12th
MM01 02 ... 11 12
MMMJan Feb ... Nov Dec
MMMMJanuary February ... November December
QuarterQ1 2 3 4
Qo1st 2nd 3rd 4th
Day of MonthD1 2 ... 30 31
Do1st 2nd ... 30th 31st
DD01 02 ... 30 31
Day of YearDDD1 2 ... 364 365
DDDo1st 2nd ... 364th 365th
DDDD001 002 ... 364 365
Day of Weekd0 1 ... 5 6
do0th 1st ... 5th 6th
ddSu Mo ... Fr Sa
dddSun Mon ... Fri Sat
ddddSunday Monday ... Friday Saturday
Day of Week (Locale)e0 1 ... 5 6
Day of Week (ISO)E1 2 ... 6 7
Week of Yearw1 2 ... 52 53
wo1st 2nd ... 52nd 53rd
ww01 02 ... 52 53
Week of Year (ISO)W1 2 ... 52 53
Wo1st 2nd ... 52nd 53rd
WW01 02 ... 52 53
YearYY70 71 ... 29 30
YYYY1970 1971 ... 2029 2030
Y1970 1971 ... 9999 +10000 +10001\n
\n Note: This complies with the ISO 8601 standard for dates past the year 9999\n
Week Yeargg70 71 ... 29 30
gggg1970 1971 ... 2029 2030
Week Year (ISO)GG70 71 ... 29 30
GGGG1970 1971 ... 2029 2030
AM/PMAAM PM
aam pm
HourH0 1 ... 22 23
HH00 01 ... 22 23
h1 2 ... 11 12
hh01 02 ... 11 12
k1 2 ... 23 24
kk01 02 ... 23 24
Minutem0 1 ... 58 59
mm00 01 ... 58 59
Seconds0 1 ... 58 59
ss00 01 ... 58 59
Fractional SecondS0 1 ... 8 9
SS00 01 ... 98 99
SSS000 001 ... 998 999
SSSS ... SSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
Unix TimestampX1360013296
Unix Millisecond Timestampx1360013296123
","path":"4. Date tokens.txt"},{"title":"Formatting","slug":"formatting","url":"/help/guides-and-resources#formatting","html":"

Blot converts text files from Markdown. You can use markdown to make text bold, italicized, create lists, links and more. You can mix Markdown and HTML in the same file.

\n\n\n

Videos

You can also paste the HTML for a video embed directly into a blog post. Blot also automatically converts plain URLs to Youtube and Vimeo videos into video embeds. To embed a youtube video in your blog post just paste its URL like this:

https://www.youtube.com/watch?v=nkJA6SYwa94\n
\n\n

Footnotes

You can specify footnotes using this syntax:

A line with a footnote.[^1] Another line.[^2]\n\n[^1]: And the note goes here.\n[^2]: And the second goes here too.\n
\n\n\n\n

Layout

I wrote a Markdown extension for Blot which provides basic layout shortcuts. The features are as follows:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…should make its contents...by applying this CSS class…
{<<}extend into the left marginwide left
{>>}extend into the right marginwide right
{<>}extend into both marginswide
{>}float right inside the pageright inside
{<}float left inside the pageleft inside
{|<}hang in the right marginright margin
{>|}hang in the left marginleft margin
{||}sit inside a 1/2 width columntwo column
{|||}sit inside a 1/3 width columnthree column
{||||}sit inside a 1/4 width columnfour column

You can including multiple lines inside the same layout tag by indenting them:

{<<} ## Subtitle which extends into left margin\n     A paragraph which will also extend into the left margin.\n\n{>>} ## Subtitle which extends into right margin\n     A paragraph which will also extend into the right margin.\n

Your blog's template controls how the layout HTML is styled. Most Blot templates come with a variation on layout.css which provides the above features as described.

\n\n\n\n\n\n\n\n\n

Bold and Italic

To create italics, use a single asterix (*) on either side of the text:

\n
*This text will be italic.*
\n
This text will be italic.
\n
\n

Surrounding text with two asterisks makes text bold:

\n
**This text will be bold.**
\n
This text will be bold.
\n
\n

Both * or _ symbols work to make text bold or italic. This way you can combine bold and italic in the same sentence. For example:

\n
**Everyone _must_ listen.**
\n
Everyone must listen.
\n
\n
\n\n\n\n\n

Strikethrough

Put a double tilde (~) on either side of the text you want to strikethrough:

\n
~~Strike out mistakes~~
\n
Strike out mistakes
\n
\n
\n\n\n\n\n\n\n\n

Lists

Make a bulleted list by preceding list items with a single asterix (*) or a hyphen (-). You need a space between the asterix and the text.

\n
\n- Round\n- Shell\n- Projectile\n
\n
\n Round\n Shell\n* Projectile\n
\n
\n

Create a numbered list by preceding list items with a number.

\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n
\n\n\n\n\n

Links

Create a text link by wrapping the linked text in brackets [ ], and then wrapping the link in parenthesis ( ). For example:

\n
\n[Wikipedia](https://wikipedia.org)
\n
Wikipedia
\n
\n
\n\n\n\n\n

Headings

# Largest heading\n## Subheading\n### Section heading\n
\n\n

Mathematics

Blot will convert equations set in LaTeX. Check out this useful guide. To use this, wrap your LaTeX in two dollar signs ($$) like this:

$$ f(x) = 2x^2 + 2/3 $$
\n    $$ f(x) = 2x^2 + 2/3 $$

\n\n\n\n\n\n\n

Images

Here's what the markdown looks like, note the ‘!’ before the tag.

![Alt text](http://example.com/image.jpg "Title")\n

Yes, first create a folder whose name starts with an underscore, e.g. '_images'. Blot will not turn any of the files inside into blog posts, but they will be public. Then put the image inside then embed the image like this:

![Image description](/_images/image.jpg)\n

Blot resolves relative paths based on the location of the source file, not its permalink. File paths are case-insenitive. For example, let's say your blog has this folder structure:

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Posts\n _apple.png\n fruit.txt\n _Images\n peach.png\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These images all resolve correctly in fruit.txt, no matter its resulting URL.

![Apple](_apple.png)\n![Apple](/posts/_apple.png)\n![Peach](../_images/peach.png)\n
\n\n\n

Code snippets

Indent code with four spaces:

var foo = “bar”;\n

You can also wrap code.snippets with three backticks `. This is useful for inserting code snippets inside a paragraph.

If you have enabled the syntax highlighting app, Blot will process the snippet using highlight.js. Every Blot template comes with its own syntax highlighting theme. If you are designing a custom blog template and want to use syntax highlighting, please add a theme to your blog’s CSS file.

\n
","path":"5. Formatting.txt"},{"title":"Metadata","slug":"metadata","url":"/help/guides-and-resources#metadata","html":"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KeyValue
DateDefaults to this file's creation date. Set the post's publish date using one of the supported formats.
TitleDefaults to the first title in this post or its file name.
TagsEmpty by default. Seperate your tags with a comma.
PermalinkDefaults to a URL-friendly version of the post's title. You can specify one here or change your site's default permalinks on the dashboard.
SummaryDefaults to the first sentence of the first paragraph in the file.
TeaserLike summary but a little longer. Defaults to the first few paragraphs.
ThumbnailGenerated from the largest image in the post. You can specify a path or URL to an image.
DraftDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a draft.
PageDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a page and add it to your blog's menu.
MenuDefaults to 'Yes' if the file is a page. Anything falsy (e.g. 'No') will hide the page from your site's menu.
\n

You can create your own metadata and access it in your blog's template.

\n

Here is the full list of Blot's native metadata:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Metadata propertiesExample
Draft/sample-post
Page/blog/sample-post
Menu/2017/sample-post
Permalink/2017/10/3/sample-post
URLAlias of the Permalink property
\n
Draft: no\nPage: no\nMenu: no\nPermalink: apple\nUrl: apple\nDate: 1/2/2020\nTags: Fruit, Pears\nThumbnail: _apple.png\nTitle: Apple\nSummary: Summary\n\n# Apple\n\nThis is the summary.\n

Draft 'Yes'\nPage 'Yes'\nMenu: 'Yes' or 'No'\nPermalink:\nUrl: \nDate:\nTags: \nThumbnail:\nSummary:\nTitle:

\n

You can create a page elsewhere in your blog's folder by adding Page: yes to the file's metadata. If you'd like to create a page that isn't on your blog's menu, add Menu: no as well.

\n

Blot tries to create a thumbnail from the largest image in a blog post.

\n

You can specify a different thumbnail in the metadata at the top of a file. You can use a URL or a path to a file inside Blot’s folder:

\n
Thumbnail: /_Photos/Apple.jpg\n
","path":"6. Metadata.txt"},{"title":"Permalink formats","slug":"permalink-formats","url":"/help/guides-and-resources#permalink-formats","html":"","path":"7. Permalink formats.txt"}],"path":"3. Guides and resources"},{"title":"Account and billing","slug":"account-and-billing","subsections":[{"title":"xt","slug":"xt","url":"/help/account-and-billing#xt","html":"

Blot charges an annual fee. You'll be billed when you first create a site, and each year after, as long as you keep your account open. You can cancel your subscription at any time.

\n

Your payment information does not touch Blot's servers. Blot uses Stripe to process subscription payments. Read more about Stripe's security on their website.

\n\n

Can I host multiple sites on Blot?

Yes, you can host as many sites as you like on Blot from the same account. Each site costs $20 a year. You can also create sites in different Dropbox accounts from the same Blot account.

\n\n

Does Blot support any alternatives to Dropbox?

Not at the moment. However, I plan to eventually add support Git, FTP, GitHub and Google Drive. Please contact me if there's a service you'd like me to support.

\n\n

Does Blot have a bandwidth or storage limit?

No, there’s no hard bandwidth or storage limit. However, if you use more than 1TB of bandwidth + storage combined per year, I will ask you to pay enough to meet the cost of hosting your site, or help you set up Blot on your own server.

\n\n

Can Blot access all the files in my Dropbox?

No, not by default. Blot only has access to a single folder in your Dropbox. However, you can grant Blot full access to your folder. You should only do this if you want to move your site's folder elsewhere, or share it with other people who use Dropbox.

\n\n

Does Blot use up my Dropbox bandwidth?

No, Dropbox's traffic limits do not apply to Blot. This is because Blot first transfers the contents of your folder to its server before delivering it to your readers.

\n\n

Does my subscription renew automatically?

Yes. I will email you one week before your subscription is renewed to give you time to cancel or update your billing information. I hate sneaky unwanted recurring bills as much as you do.

\n\n

Canceling your subscription

You can cancel your subscription on the account page. You can choose to disable your account immediately, or wait until the end of your current subscription period. You can also permanently delete your account.

\n
","path":"Questions.txt"}],"path":"4. Account and billing"}],"sidebar":[{"title":"Getting started with Blot","slug":"getting-started-with-blot","subsections":[{"title":"Posts and formatting","slug":"posts-and-formatting","url":"/help/getting-started-with-blot#posts-and-formatting","html":"

Blot is a blogging platform. It creates a folder inside your Dropbox and publishes files you put inside. This means you can use your favorite text editor to write your blog.

\n\n\n\n\n

Posts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Pages\n Posts\n Bookmark.webloc\n Document.docx\n Funny.gif\n Markdown.md\n Picture.jpg\n Text.txt\n Webpage.html\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These files become blog posts when you put them somewhere in your site's folder:

Blot skips files and folders whose name starts with an underscore. Use this feature to embed an image in a blog post.

\n\n

Importing your posts from elsewhere

I've written scripts to generate a folder of files from sites hosted on Tumblr, Wordpress, Jekyll and Squarespace. If you contact me, I can run them on your site and send you the result.

\n\n\n

Formatting your posts

Blot supports Markdown, a markup language designed for plain text files. You can add headings, lists, mathematical statements set in LaTeX, syntax highlighting to code snippets and much more.

View the formatting guide →\n

\n
","path":"1. Posts and formatting.txt"},{"title":"Pages and drafts","slug":"pages-and-drafts","url":"/help/getting-started-with-blot#pages-and-drafts","html":"
\n\n\n

Pages and drafts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Anecdote.txt\n Anecdote.txt.html\n Pages\n About.txt\n Contact.txt\n Posts\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

Files inside a folder called 'Pages' are added to your site's menu instead of the list of blog posts. You can hide a page from your site's menu if you prefer.

Files inside a folder called 'Drafts' are not published to your site. Instead, Blot creates a preview file which you can open in your web browser.

\n\n

Public files

Every file in your site's folder is public. For example, if you put Archive.zip in your folder, your readers can download it at www.your-site.com/archive.zip. You can use Blot as a static file server. Please note that paths and URLs on Blot are case-insensitive.

\n
","path":"2. Pages and drafts.txt"},{"title":"Metadata and dates","slug":"metadata-and-dates","url":"/help/getting-started-with-blot#metadata-and-dates","html":"
\n\n\n\n

Metadata

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: February 28th, 1973\nTags: Literature, Schwarzgerät\n\n# Gravity's rainbow\n\nA screaming comes across the sky.\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot generates all metadata for each post automatically based on the file's contents, name and location. This metadata includes a publish date, permalink and a summary. You can override Blot's metadata with your own.

Metadata must start on the file's first line and be separated from the rest of the post by at least one blank line.

You can also create your own custom metadata and use it on your site's template. View the full list of metadata.

\n
","path":"3. Metadata and dates.txt"},{"title":"URLs and tags","slug":"urls-and-tags","url":"/help/getting-started-with-blot#urls-and-tags","html":"
\n\n\n\n\n

Dates

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: September 4th, 1992\nTags: Philhellenism, Murder\n\nDoes such a thing as 'the fatal flaw,' that shadowy dark crack running down the middle of a life, exist outside literature?\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot uses the file’s creation date as its publish date by default. You can specify a different date in the file's metadata.

Blot supports a variety of ways that people write dates. The following formats produce a blog post with the same date:

September 18, 2017   09/18/2017\n2017-09-18 00:00     9.18.2017\n

You can also specify a publish date using the file's name, or its path, or a combination of both:

2017-07-18-00:00-Post.txt   2017/07/18/Post.txt \n2017/7.18.Post.txt          2017/7.18/Post.txt\n

If you write the numbers in your dates in different order, please tell Blot on the settings page. If you specify a date in the future, Blot will wait until then to publish it. And if you prefer, you can hide the dates on your site's dashboard.

\n\n\n\n\n

Tags

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nTags: Nabokov, Phaedra\n\nLolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.\n\n
\n \n \n \n \n \n\n \n \n \n \n

You can tag a post in the metadata at the top of a file. Tags can contain whitespace. Although tags are case-insensitive, it’s worth capitalizing tags consistently because Blot uses the most recent case when displaying a tag on your site.

You can also use brackets in a folder's name to tag posts. For example, all the files in a folder called '[Fiction]' will become blog posts tagged 'Fiction'. You can nest folders:

[Book notes] / [Fiction] / Williwaw.txt\n
\n\n\n\n\n\n\n\n\n

Teasers

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\n# Lycurgus\n\nHe was of the opinion that even in death a statesman should...\n\n{{more}}\n\nNor were his calculations misguided, because there was no state in Greece to match Sparta...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Some of Blot's templates show a teaser for each post on the homepage, and include a link to the read full post. By default, Blot creates a teaser from the first few paragraphs in the post. You can specify the breakpoint in the file yourself:

Everything before {{more}} will be included in the teaser, and the rest will be shown on the post's page. You can also use <!-- more --> in an HTML file.\n

\n
","path":"4. URLs and tags.txt"}],"path":"1. Getting started with Blot"},{"title":"Templates","slug":"templates","subsections":[],"path":"2. Templates"},{"title":"Guides and resources","slug":"guides-and-resources","subsections":[],"path":"3. Guides and resources"},{"title":"Account and billing","slug":"account-and-billing","subsections":[],"path":"4. Account and billing"}],"urls":{"posts-and-formatting":"/help/getting-started-with-blot#posts-and-formatting","pages-and-drafts":"/help/getting-started-with-blot#pages-and-drafts","metadata-and-dates":"/help/getting-started-with-blot#metadata-and-dates","urls-and-tags":"/help/getting-started-with-blot#urls-and-tags","getting-started":"/help/templates#getting-started","how-routing-works":"/help/templates#how-routing-works","using-variables":"/help/templates#using-variables","lists-of-posts":"/help/templates#lists-of-posts","metadata-and-thumbnails":"/help/templates#metadata-and-thumbnails","use-your-own-domain":"/help/guides-and-resources#use-your-own-domain","setting-up-redirects":"/help/guides-and-resources#setting-up-redirects","embed-an-image-in-a-blog-post":"/help/guides-and-resources#embed-an-image-in-a-blog-post","date-tokens":"/help/guides-and-resources#date-tokens","formatting":"/help/guides-and-resources#formatting","metadata":"/help/guides-and-resources#metadata","permalink-formats":"/help/guides-and-resources#permalink-formats","xt":"/help/account-and-billing#xt"}} +{"getting-started-with-blot":{"title":"Getting started with Blot","slug":"getting-started-with-blot","subsections":[{"title":"Posts and formatting","slug":"posts-and-formatting","url":"/help/getting-started-with-blot#posts-and-formatting","html":"

Blot is a blogging platform. It creates a folder inside your Dropbox and publishes files you put inside. This means you can use your favorite text editor to write your blog.

\n\n\n\n\n

Posts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Pages\n Posts\n Bookmark.webloc\n Document.docx\n Funny.gif\n Markdown.md\n Picture.jpg\n Text.txt\n Webpage.html\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These files become blog posts when you put them somewhere in your site's folder:

Blot skips files and folders whose name starts with an underscore. Use this feature to embed an image in a blog post.

\n\n

Importing your posts from elsewhere

I've written scripts to generate a folder of files from sites hosted on Tumblr, Wordpress, Jekyll and Squarespace. If you contact me, I can run them on your site and send you the result.

\n\n\n

Formatting your posts

Blot supports Markdown, a markup language designed for plain text files. You can add headings, lists, mathematical statements set in LaTeX, syntax highlighting to code snippets and much more.

View the formatting guide →\n

\n
","path":"1. Posts and formatting.txt"},{"title":"Pages and drafts","slug":"pages-and-drafts","url":"/help/getting-started-with-blot#pages-and-drafts","html":"
\n\n\n

Pages and drafts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Anecdote.txt\n Anecdote.txt.html\n Pages\n About.txt\n Contact.txt\n Posts\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

Files inside a folder called 'Pages' are added to your site's menu instead of the list of blog posts. You can hide a page from your site's menu if you prefer.

Files inside a folder called 'Drafts' are not published to your site. Instead, Blot creates a preview file which you can open in your web browser.

\n\n

Public files

Every file in your site's folder is public. For example, if you put Archive.zip in your folder, your readers can download it at www.your-site.com/archive.zip. You can use Blot as a static file server. Please note that paths and URLs on Blot are case-insensitive.

\n
","path":"2. Pages and drafts.txt"},{"title":"Metadata and dates","slug":"metadata-and-dates","url":"/help/getting-started-with-blot#metadata-and-dates","html":"
\n\n\n\n

Metadata

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: February 28th, 1973\nTags: Literature, Schwarzgerät\n\n# Gravity's rainbow\n\nA screaming comes across the sky.\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot generates all metadata for each post automatically based on the file's contents, name and location. This metadata includes a publish date, permalink and a summary. You can override Blot's metadata with your own.

Metadata must start on the file's first line and be separated from the rest of the post by at least one blank line.

You can also create your own custom metadata and use it on your site's template. View the full list of metadata.

\n
","path":"3. Metadata and dates.txt"},{"title":"URLs and tags","slug":"urls-and-tags","url":"/help/getting-started-with-blot#urls-and-tags","html":"
\n\n\n\n\n

Dates

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: September 4th, 1992\nTags: Philhellenism, Murder\n\nDoes such a thing as 'the fatal flaw,' that shadowy dark crack running down the middle of a life, exist outside literature?\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot uses the file’s creation date as its publish date by default. You can specify a different date in the file's metadata.

Blot supports a variety of ways that people write dates. The following formats produce a blog post with the same date:

September 18, 2017   09/18/2017\n2017-09-18 00:00     9.18.2017\n

You can also specify a publish date using the file's name, or its path, or a combination of both:

2017-07-18-00:00-Post.txt   2017/07/18/Post.txt \n2017/7.18.Post.txt          2017/7.18/Post.txt\n

If you write the numbers in your dates in different order, please tell Blot on the settings page. If you specify a date in the future, Blot will wait until then to publish it. And if you prefer, you can hide the dates on your site's dashboard.

\n\n\n\n\n

Tags

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nTags: Nabokov, Phaedra\n\nLolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.\n\n
\n \n \n \n \n \n\n \n \n \n \n

You can tag a post in the metadata at the top of a file. Tags can contain whitespace. Although tags are case-insensitive, it’s worth capitalizing tags consistently because Blot uses the most recent case when displaying a tag on your site.

You can also use brackets in a folder's name to tag posts. For example, all the files in a folder called '[Fiction]' will become blog posts tagged 'Fiction'. You can nest folders:

[Book notes] / [Fiction] / Williwaw.txt\n
\n\n\n\n\n\n\n\n\n

Teasers

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\n# Lycurgus\n\nHe was of the opinion that even in death a statesman should...\n\n{{more}}\n\nNor were his calculations misguided, because there was no state in Greece to match Sparta...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Some of Blot's templates show a teaser for each post on the homepage, and include a link to the read full post. By default, Blot creates a teaser from the first few paragraphs in the post. You can specify the breakpoint in the file yourself:

Everything before {{more}} will be included in the teaser, and the rest will be shown on the post's page. You can also use <!-- more --> in an HTML file.\n

\n
","path":"4. URLs and tags.txt"}],"path":"1. Getting started with Blot"},"templates":{"title":"Templates","slug":"templates","subsections":[{"title":"Getting started","slug":"getting-started","url":"/help/templates#getting-started","html":"

Creating a template, or modifying an existing template will require an understanding of HTML, CSS and Mustache. Blot will be familiar to those who have worked with templates on other blogging platforms.

\n

The best way to learn how to use Blot's template is to clone an existing template and look at its source. Please don't hestitate to contact me if you have any questions.

\n\n

Modify an existing template

To modify an existing template, create a new template on the design page and specify the template you wish to clone.

\n\n

Debugging

If you append the query string ?json=true to a URL on Blot, you can retrieve the view used to render its template. I’d suggest using a browser extension like JSONView to make more sense of it.

\n
","path":"1. Getting started.txt"},{"title":"How routing works","slug":"how-routing-works","url":"/help/templates#how-routing-works","html":"
\n\n\n

Routing

When an HTTP request from one of your readers arrives at your site, Blot follows these steps to work out what to send in response. This process is known as routing.

    \n
  1. Check your site's template to see if there is a route which matches the path. If there is, render the template and send the HTML as a response.

    \n
  2. \n
  3. Check your site's folder to see if there is a file which matches the path. Send the file as a response if it matches.

    \n
  4. \n
  5. Check your site's list of redirects to see if you have set one up for this path.

    \n
  6. \n
  7. Serve your template's error page if you have one, or Blot's error page if not.

    \n
  8. \n

You can read the source code which defines these steps for a more precise idea of how things work.

\n
","path":"2. How routing works.txt"},{"title":"Using variables","slug":"using-variables","url":"/help/templates#using-variables","html":"

\n\n\n

Site variables

Blot uses these variables to render Mustache templates.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{title}}your site’s title
{{#menu}}...{{/menu}}a list containing the links on your site’s menu
{{avatar}}the URL to your site’s avatar
{{siteURL}}the URL to your site’s homepage
{{feedURL}}the URL to your site’s RSS feed
{{cssURL}}the URL to your site’s CSS file
{{scriptURL}}the URL to your site’s JS file
{{sitemapURL}}the URL to your site’s sitemap
{{cacheID}}a unix time stamp for the last change you made to your site
{{timeZone}}your site’s timezone
{{roundAvatar}}true if you’ve indicated your avatar is round, false if not
{{hideDates}}true if you’ve chosen to hide the dates on your site, false if not
\n\n\n

Post variables

Note that some of the variables, like {{{html}}} have three handlebars rather than two. Mustache escapes variables with two handlebars.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{id}}Number representing the entry's unique ID
{{date}}Human readable publish date for the entry
{{title}}Title of the entry
{{{titleTag}}}HTML of the entry's title
{{{html}}}HTML of the entry, including the title
{{{body}}}HTML of the entry, excluding the title
{{{teaser}}}HTML of the title and the first few items in the entry. You can specify the end of the teaser by inserting the special tag {{more}} into your blog post's file. Everything before {{more}} will be included in the teaser.
{{{teaserBody}}}{{{teaser}}} without the title.
{{summary}}Text summary of the entry
{{more}}Boolean indicating whether teaser differs from html. This is useful for determining whether or not to show 'read more' links.
{{tags}}List of tags for the entry
{{url}}Relative URL to the entry
{{menu}}"true" if the entry is a page, "false" if not
{{created}}Timestamp
{{updated}}Timestamp
\n\n\n\n

Helper functions

Blot exposes some general purpose functions as Mustache lambdas. Note that you can pass another variable from the view to these functions.

\n\n\n\n\n\n\n\n\n\n\n\n\n
The text inside the tag…is replaced with…
{{#encodeURIComponent}}...{{/encodeURIComponent}}The same text, encoded appropriately for a URI component

\n
","path":"3. Using variables.txt"},{"title":"Lists of posts","slug":"lists-of-posts","url":"/help/templates#lists-of-posts","html":"

\n\n\n\n

Lists

You can uses these variables to render lists of posts

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{#all_posts}}...{{/all_posts}}Every post ever published
{{#recent_posts}}...{{/recent_posts}}25 most recent posts on your site
{{#archives}}...{{/archives}}A list of years, months and the posts published on them
{{#all_tags}}...{{/all_tags}}the URL to your site’s avatar

\n
","path":"4. Lists of posts.txt"},{"title":"Metadata and thumbnails","slug":"metadata-and-thumbnails","url":"/help/templates#metadata-and-thumbnails","html":"

\n\n\n\n\n\n

Custom metadata

You can specify custom entry metadata:

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nAuthor: Eric Blair\n\n# Homage to Catalonia\n\nIn the Lenin Barracks in Barcelona, the day before...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Use custom metadata in your template like this:

Posted by {{metadata.author}}\n

Metadata keys are case insensitive. I’d recommend using conditional blocks to prevent your layout breaking if you don’t consistently specify metadata:

{{#metadata.author}}\n  Posted by {{metadata.author}}\n{{/metadata.author}}\n\n{{^metadata.author}}\n  Posted by the editor\n{{/metadata.author}}\n
\n\n\n\n\n\n

Thumbnails

Blot generates four sizes of thumbnails:

Blot will not increase the size of smaller images. The JSON added to each entry looks something like this:

{\n    ...\n    thumbnail: {\n        small: {url: "...", width: 160, height: 103},\n        medium: {url: "...", width: 640, height: 411},\n        large: {url: "...", width: 1060, height: 681},\n        square: {url: "...", width: 160, height: 160 }\n    },\n    ...\n}\n

You can use them in your template like this:

{{#thumbnail.medium}}\n    <img src="{{url}}" width="{{width}}" height="{{height}}">\n{{/thumbnail.medium}}\n

\n
","path":"5. Metadata and thumbnails.txt"}],"path":"2. Templates"},"guides-and-resources":{"title":"Guides and resources","slug":"guides-and-resources","subsections":[{"title":"Use your own domain","slug":"use-your-own-domain","url":"/help/guides-and-resources#use-your-own-domain","html":"

Learn how to configure your site and access some of Blot's more advanced features.

\n\n\n

Using your own domain

Let's say you own the domain example.com and would like to point it to your site. First, you must decide whether you would like to use the apex domain, which is just example.com, or a subdomain like www.example.com or blog.example.com.

\n
","path":"1. Use your own domain.txt"},{"title":"Setting up redirects","slug":"setting-up-redirects","url":"/help/guides-and-resources#setting-up-redirects","html":"
\n\n

Redirects

You can set up redirects for missing or moved pages on your blog. Your site’s 404 log will help you discover URLs which need redirects. You can use RegEx to match multiple routes. For example, this rule redirects URLs starting with /post to /blog:

\\/post\\/(.*)  →  /blog/$1\n
","path":"2. Setting up redirects.txt"},{"title":"Embed an image in a blog post","slug":"embed-an-image-in-a-blog-post","url":"/help/guides-and-resources#embed-an-image-in-a-blog-post","html":"

How to embed an image in a blog post

\n
","path":"3. Embed an image in a blog post.txt"},{"title":"Date tokens","slug":"date-tokens","url":"/help/guides-and-resources#date-tokens","html":"
\n\n

Date tokens

Here is the reference for Moment.js's date tokens. These are used in Blot's permalink format, and its templates.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TokenOutput
MonthM1 2 ... 11 12
Mo1st 2nd ... 11th 12th
MM01 02 ... 11 12
MMMJan Feb ... Nov Dec
MMMMJanuary February ... November December
QuarterQ1 2 3 4
Qo1st 2nd 3rd 4th
Day of MonthD1 2 ... 30 31
Do1st 2nd ... 30th 31st
DD01 02 ... 30 31
Day of YearDDD1 2 ... 364 365
DDDo1st 2nd ... 364th 365th
DDDD001 002 ... 364 365
Day of Weekd0 1 ... 5 6
do0th 1st ... 5th 6th
ddSu Mo ... Fr Sa
dddSun Mon ... Fri Sat
ddddSunday Monday ... Friday Saturday
Day of Week (Locale)e0 1 ... 5 6
Day of Week (ISO)E1 2 ... 6 7
Week of Yearw1 2 ... 52 53
wo1st 2nd ... 52nd 53rd
ww01 02 ... 52 53
Week of Year (ISO)W1 2 ... 52 53
Wo1st 2nd ... 52nd 53rd
WW01 02 ... 52 53
YearYY70 71 ... 29 30
YYYY1970 1971 ... 2029 2030
Y1970 1971 ... 9999 +10000 +10001\n
\n Note: This complies with the ISO 8601 standard for dates past the year 9999\n
Week Yeargg70 71 ... 29 30
gggg1970 1971 ... 2029 2030
Week Year (ISO)GG70 71 ... 29 30
GGGG1970 1971 ... 2029 2030
AM/PMAAM PM
aam pm
HourH0 1 ... 22 23
HH00 01 ... 22 23
h1 2 ... 11 12
hh01 02 ... 11 12
k1 2 ... 23 24
kk01 02 ... 23 24
Minutem0 1 ... 58 59
mm00 01 ... 58 59
Seconds0 1 ... 58 59
ss00 01 ... 58 59
Fractional SecondS0 1 ... 8 9
SS00 01 ... 98 99
SSS000 001 ... 998 999
SSSS ... SSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
Unix TimestampX1360013296
Unix Millisecond Timestampx1360013296123
","path":"4. Date tokens.txt"},{"title":"Formatting","slug":"formatting","url":"/help/guides-and-resources#formatting","html":"

Blot converts text files from Markdown. You can use markdown to make text bold, italicized, create lists, links and more. You can mix Markdown and HTML in the same file.

\n\n\n

Videos

You can also paste the HTML for a video embed directly into a blog post. Blot also automatically converts plain URLs to Youtube and Vimeo videos into video embeds. To embed a youtube video in your blog post just paste its URL like this:

https://www.youtube.com/watch?v=nkJA6SYwa94\n
\n\n

Footnotes

You can specify footnotes using this syntax:

A line with a footnote.[^1] Another line.[^2]\n\n[^1]: And the note goes here.\n[^2]: And the second goes here too.\n
\n\n\n\n

Layout

I wrote a Markdown extension for Blot which provides basic layout shortcuts. The features are as follows:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…should make its contents...by applying this CSS class…
{<<}extend into the left marginwide left
{>>}extend into the right marginwide right
{<>}extend into both marginswide
{>}float right inside the pageright inside
{<}float left inside the pageleft inside
{|<}hang in the right marginright margin
{>|}hang in the left marginleft margin
{||}sit inside a 1/2 width columntwo column
{|||}sit inside a 1/3 width columnthree column
{||||}sit inside a 1/4 width columnfour column

You can including multiple lines inside the same layout tag by indenting them:

{<<} ## Subtitle which extends into left margin\n     A paragraph which will also extend into the left margin.\n\n{>>} ## Subtitle which extends into right margin\n     A paragraph which will also extend into the right margin.\n

Your blog's template controls how the layout HTML is styled. Most Blot templates come with a variation on layout.css which provides the above features as described.

\n\n\n\n\n\n\n\n\n

Bold and Italic

To create italics, use a single asterix (*) on either side of the text:

\n
*This text will be italic.*
\n
This text will be italic.
\n
\n

Surrounding text with two asterisks makes text bold:

\n
**This text will be bold.**
\n
This text will be bold.
\n
\n

Both * or _ symbols work to make text bold or italic. This way you can combine bold and italic in the same sentence. For example:

\n
**Everyone _must_ listen.**
\n
Everyone must listen.
\n
\n
\n\n\n\n\n

Strikethrough

Put a double tilde (~) on either side of the text you want to strikethrough:

\n
~~Strike out mistakes~~
\n
Strike out mistakes
\n
\n
\n\n\n\n\n\n\n\n

Lists

Make a bulleted list by preceding list items with a single asterix (*) or a hyphen (-). You need a space between the asterix and the text.

\n
\n- Round\n- Shell\n- Projectile\n
\n
\n Round\n Shell\n* Projectile\n
\n
\n

Create a numbered list by preceding list items with a number.

\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n
\n\n\n\n\n

Links

Create a text link by wrapping the linked text in brackets [ ], and then wrapping the link in parenthesis ( ). For example:

\n
\n[Wikipedia](https://wikipedia.org)
\n
Wikipedia
\n
\n
\n\n\n\n\n

Headings

# Largest heading\n## Subheading\n### Section heading\n
\n\n

Mathematics

Blot will convert equations set in LaTeX. Check out this useful guide. To use this, wrap your LaTeX in two dollar signs ($$) like this:

$$ f(x) = 2x^2 + 2/3 $$
\n    $$ f(x) = 2x^2 + 2/3 $$

\n\n\n\n\n\n\n

Images

Here's what the markdown looks like, note the ‘!’ before the tag.

![Alt text](http://example.com/image.jpg "Title")\n

Yes, first create a folder whose name starts with an underscore, e.g. '_images'. Blot will not turn any of the files inside into blog posts, but they will be public. Then put the image inside then embed the image like this:

![Image description](/_images/image.jpg)\n

Blot resolves relative paths based on the location of the source file, not its permalink. File paths are case-insenitive. For example, let's say your blog has this folder structure:

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Posts\n _apple.png\n fruit.txt\n _Images\n peach.png\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These images all resolve correctly in fruit.txt, no matter its resulting URL.

![Apple](_apple.png)\n![Apple](/posts/_apple.png)\n![Peach](../_images/peach.png)\n
\n\n\n

Code snippets

Indent code with four spaces:

var foo = “bar”;\n

You can also wrap code.snippets with three backticks `. This is useful for inserting code snippets inside a paragraph.

If you have enabled the syntax highlighting app, Blot will process the snippet using highlight.js. Every Blot template comes with its own syntax highlighting theme. If you are designing a custom blog template and want to use syntax highlighting, please add a theme to your blog’s CSS file.

\n
","path":"5. Formatting.txt"},{"title":"Metadata","slug":"metadata","url":"/help/guides-and-resources#metadata","html":"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KeyValue
DateDefaults to this file's creation date. Set the post's publish date using one of the supported formats.
TitleDefaults to the first title in this post or its file name.
TagsEmpty by default. Seperate your tags with a comma.
PermalinkDefaults to a URL-friendly version of the post's title. You can specify one here or change your site's default permalinks on the dashboard.
SummaryDefaults to the first sentence of the first paragraph in the file.
TeaserLike summary but a little longer. Defaults to the first few paragraphs.
ThumbnailGenerated from the largest image in the post. You can specify a path or URL to an image.
DraftDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a draft.
PageDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a page and add it to your blog's menu.
MenuDefaults to 'Yes' if the file is a page. Anything falsy (e.g. 'No') will hide the page from your site's menu.
\n

You can create your own metadata and access it in your blog's template.

\n

Here is the full list of Blot's native metadata:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Metadata propertiesExample
Draft/sample-post
Page/blog/sample-post
Menu/2017/sample-post
Permalink/2017/10/3/sample-post
URLAlias of the Permalink property
\n
Draft: no\nPage: no\nMenu: no\nPermalink: apple\nUrl: apple\nDate: 1/2/2020\nTags: Fruit, Pears\nThumbnail: _apple.png\nTitle: Apple\nSummary: Summary\n\n# Apple\n\nThis is the summary.\n

Draft 'Yes'\nPage 'Yes'\nMenu: 'Yes' or 'No'\nPermalink:\nUrl: \nDate:\nTags: \nThumbnail:\nSummary:\nTitle:

\n

You can create a page elsewhere in your blog's folder by adding Page: yes to the file's metadata. If you'd like to create a page that isn't on your blog's menu, add Menu: no as well.

\n

Blot tries to create a thumbnail from the largest image in a blog post.

\n

You can specify a different thumbnail in the metadata at the top of a file. You can use a URL or a path to a file inside Blot’s folder:

\n
Thumbnail: /_Photos/Apple.jpg\n
","path":"6. Metadata.txt"},{"title":"Permalink formats","slug":"permalink-formats","url":"/help/guides-and-resources#permalink-formats","html":"","path":"7. Permalink formats.txt"}],"path":"3. Guides and resources"},"account-and-billing":{"title":"Account and billing","slug":"account-and-billing","subsections":[{"title":"xt","slug":"xt","url":"/help/account-and-billing#xt","html":"

Blot charges an annual fee. You'll be billed when you first create a site, and each year after, as long as you keep your account open. You can cancel your subscription at any time.

\n

Your payment information does not touch Blot's servers. Blot uses Stripe to process subscription payments. Read more about Stripe's security on their website.

\n\n

Can I host multiple sites on Blot?

Yes, you can host as many sites as you like on Blot from the same account. Each site costs $20 a year. You can also create sites in different Dropbox accounts from the same Blot account.

\n\n

Does Blot support any alternatives to Dropbox?

Not at the moment. However, I plan to eventually add support Git, FTP, GitHub and Google Drive. Please contact me if there's a service you'd like me to support.

\n\n

Does Blot have a bandwidth or storage limit?

No, there’s no hard bandwidth or storage limit. However, if you use more than 1TB of bandwidth + storage combined per year, I will ask you to pay enough to meet the cost of hosting your site, or help you set up Blot on your own server.

\n\n

Can Blot access all the files in my Dropbox?

No, not by default. Blot only has access to a single folder in your Dropbox. However, you can grant Blot full access to your folder. You should only do this if you want to move your site's folder elsewhere, or share it with other people who use Dropbox.

\n\n

Does Blot use up my Dropbox bandwidth?

No, Dropbox's traffic limits do not apply to Blot. This is because Blot first transfers the contents of your folder to its server before delivering it to your readers.

\n\n

Does my subscription renew automatically?

Yes. I will email you one week before your subscription is renewed to give you time to cancel or update your billing information. I hate sneaky unwanted recurring bills as much as you do.

\n\n

Canceling your subscription

You can cancel your subscription on the account page. You can choose to disable your account immediately, or wait until the end of your current subscription period. You can also permanently delete your account.

\n
","path":"Questions.txt"}],"path":"4. Account and billing"},"sections":[{"title":"Getting started with Blot","slug":"getting-started-with-blot","subsections":[{"title":"Posts and formatting","slug":"posts-and-formatting","url":"/help/getting-started-with-blot#posts-and-formatting","html":"

Blot is a blogging platform. It creates a folder inside your Dropbox and publishes files you put inside. This means you can use your favorite text editor to write your blog.

\n\n\n\n\n

Posts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Pages\n Posts\n Bookmark.webloc\n Document.docx\n Funny.gif\n Markdown.md\n Picture.jpg\n Text.txt\n Webpage.html\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These files become blog posts when you put them somewhere in your site's folder:

Blot skips files and folders whose name starts with an underscore. Use this feature to embed an image in a blog post.

\n\n

Importing your posts from elsewhere

I've written scripts to generate a folder of files from sites hosted on Tumblr, Wordpress, Jekyll and Squarespace. If you contact me, I can run them on your site and send you the result.

\n\n\n

Formatting your posts

Blot supports Markdown, a markup language designed for plain text files. You can add headings, lists, mathematical statements set in LaTeX, syntax highlighting to code snippets and much more.

View the formatting guide →\n

\n
","path":"1. Posts and formatting.txt"},{"title":"Pages and drafts","slug":"pages-and-drafts","url":"/help/getting-started-with-blot#pages-and-drafts","html":"
\n\n\n

Pages and drafts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Anecdote.txt\n Anecdote.txt.html\n Pages\n About.txt\n Contact.txt\n Posts\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

Files inside a folder called 'Pages' are added to your site's menu instead of the list of blog posts. You can hide a page from your site's menu if you prefer.

Files inside a folder called 'Drafts' are not published to your site. Instead, Blot creates a preview file which you can open in your web browser.

\n\n

Public files

Every file in your site's folder is public. For example, if you put Archive.zip in your folder, your readers can download it at www.your-site.com/archive.zip. You can use Blot as a static file server. Please note that paths and URLs on Blot are case-insensitive.

\n
","path":"2. Pages and drafts.txt"},{"title":"Metadata and dates","slug":"metadata-and-dates","url":"/help/getting-started-with-blot#metadata-and-dates","html":"
\n\n\n\n

Metadata

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: February 28th, 1973\nTags: Literature, Schwarzgerät\n\n# Gravity's rainbow\n\nA screaming comes across the sky.\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot generates all metadata for each post automatically based on the file's contents, name and location. This metadata includes a publish date, permalink and a summary. You can override Blot's metadata with your own.

Metadata must start on the file's first line and be separated from the rest of the post by at least one blank line.

You can also create your own custom metadata and use it on your site's template. View the full list of metadata.

\n
","path":"3. Metadata and dates.txt"},{"title":"URLs and tags","slug":"urls-and-tags","url":"/help/getting-started-with-blot#urls-and-tags","html":"
\n\n\n\n\n

Dates

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: September 4th, 1992\nTags: Philhellenism, Murder\n\nDoes such a thing as 'the fatal flaw,' that shadowy dark crack running down the middle of a life, exist outside literature?\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot uses the file’s creation date as its publish date by default. You can specify a different date in the file's metadata.

Blot supports a variety of ways that people write dates. The following formats produce a blog post with the same date:

September 18, 2017   09/18/2017\n2017-09-18 00:00     9.18.2017\n

You can also specify a publish date using the file's name, or its path, or a combination of both:

2017-07-18-00:00-Post.txt   2017/07/18/Post.txt \n2017/7.18.Post.txt          2017/7.18/Post.txt\n

If you write the numbers in your dates in different order, please tell Blot on the settings page. If you specify a date in the future, Blot will wait until then to publish it. And if you prefer, you can hide the dates on your site's dashboard.

\n\n\n\n\n

Tags

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nTags: Nabokov, Phaedra\n\nLolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.\n\n
\n \n \n \n \n \n\n \n \n \n \n

You can tag a post in the metadata at the top of a file. Tags can contain whitespace. Although tags are case-insensitive, it’s worth capitalizing tags consistently because Blot uses the most recent case when displaying a tag on your site.

You can also use brackets in a folder's name to tag posts. For example, all the files in a folder called '[Fiction]' will become blog posts tagged 'Fiction'. You can nest folders:

[Book notes] / [Fiction] / Williwaw.txt\n
\n\n\n\n\n\n\n\n\n

Teasers

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\n# Lycurgus\n\nHe was of the opinion that even in death a statesman should...\n\n{{more}}\n\nNor were his calculations misguided, because there was no state in Greece to match Sparta...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Some of Blot's templates show a teaser for each post on the homepage, and include a link to the read full post. By default, Blot creates a teaser from the first few paragraphs in the post. You can specify the breakpoint in the file yourself:

Everything before {{more}} will be included in the teaser, and the rest will be shown on the post's page. You can also use <!-- more --> in an HTML file.\n

\n
","path":"4. URLs and tags.txt"}],"path":"1. Getting started with Blot"},{"title":"Templates","slug":"templates","subsections":[{"title":"Getting started","slug":"getting-started","url":"/help/templates#getting-started","html":"

Creating a template, or modifying an existing template will require an understanding of HTML, CSS and Mustache. Blot will be familiar to those who have worked with templates on other blogging platforms.

\n

The best way to learn how to use Blot's template is to clone an existing template and look at its source. Please don't hestitate to contact me if you have any questions.

\n\n

Modify an existing template

To modify an existing template, create a new template on the design page and specify the template you wish to clone.

\n\n

Debugging

If you append the query string ?json=true to a URL on Blot, you can retrieve the view used to render its template. I’d suggest using a browser extension like JSONView to make more sense of it.

\n
","path":"1. Getting started.txt"},{"title":"How routing works","slug":"how-routing-works","url":"/help/templates#how-routing-works","html":"
\n\n\n

Routing

When an HTTP request from one of your readers arrives at your site, Blot follows these steps to work out what to send in response. This process is known as routing.

    \n
  1. Check your site's template to see if there is a route which matches the path. If there is, render the template and send the HTML as a response.

    \n
  2. \n
  3. Check your site's folder to see if there is a file which matches the path. Send the file as a response if it matches.

    \n
  4. \n
  5. Check your site's list of redirects to see if you have set one up for this path.

    \n
  6. \n
  7. Serve your template's error page if you have one, or Blot's error page if not.

    \n
  8. \n

You can read the source code which defines these steps for a more precise idea of how things work.

\n
","path":"2. How routing works.txt"},{"title":"Using variables","slug":"using-variables","url":"/help/templates#using-variables","html":"

\n\n\n

Site variables

Blot uses these variables to render Mustache templates.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{title}}your site’s title
{{#menu}}...{{/menu}}a list containing the links on your site’s menu
{{avatar}}the URL to your site’s avatar
{{siteURL}}the URL to your site’s homepage
{{feedURL}}the URL to your site’s RSS feed
{{cssURL}}the URL to your site’s CSS file
{{scriptURL}}the URL to your site’s JS file
{{sitemapURL}}the URL to your site’s sitemap
{{cacheID}}a unix time stamp for the last change you made to your site
{{timeZone}}your site’s timezone
{{roundAvatar}}true if you’ve indicated your avatar is round, false if not
{{hideDates}}true if you’ve chosen to hide the dates on your site, false if not
\n\n\n

Post variables

Note that some of the variables, like {{{html}}} have three handlebars rather than two. Mustache escapes variables with two handlebars.

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{id}}Number representing the entry's unique ID
{{date}}Human readable publish date for the entry
{{title}}Title of the entry
{{{titleTag}}}HTML of the entry's title
{{{html}}}HTML of the entry, including the title
{{{body}}}HTML of the entry, excluding the title
{{{teaser}}}HTML of the title and the first few items in the entry. You can specify the end of the teaser by inserting the special tag {{more}} into your blog post's file. Everything before {{more}} will be included in the teaser.
{{{teaserBody}}}{{{teaser}}} without the title.
{{summary}}Text summary of the entry
{{more}}Boolean indicating whether teaser differs from html. This is useful for determining whether or not to show 'read more' links.
{{tags}}List of tags for the entry
{{url}}Relative URL to the entry
{{menu}}"true" if the entry is a page, "false" if not
{{created}}Timestamp
{{updated}}Timestamp
\n\n\n\n

Helper functions

Blot exposes some general purpose functions as Mustache lambdas. Note that you can pass another variable from the view to these functions.

\n\n\n\n\n\n\n\n\n\n\n\n\n
The text inside the tag…is replaced with…
{{#encodeURIComponent}}...{{/encodeURIComponent}}The same text, encoded appropriately for a URI component

\n
","path":"3. Using variables.txt"},{"title":"Lists of posts","slug":"lists-of-posts","url":"/help/templates#lists-of-posts","html":"

\n\n\n\n

Lists

You can uses these variables to render lists of posts

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…is replaced with…
{{#all_posts}}...{{/all_posts}}Every post ever published
{{#recent_posts}}...{{/recent_posts}}25 most recent posts on your site
{{#archives}}...{{/archives}}A list of years, months and the posts published on them
{{#all_tags}}...{{/all_tags}}the URL to your site’s avatar

\n
","path":"4. Lists of posts.txt"},{"title":"Metadata and thumbnails","slug":"metadata-and-thumbnails","url":"/help/templates#metadata-and-thumbnails","html":"

\n\n\n\n\n\n

Custom metadata

You can specify custom entry metadata:

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nAuthor: Eric Blair\n\n# Homage to Catalonia\n\nIn the Lenin Barracks in Barcelona, the day before...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Use custom metadata in your template like this:

Posted by {{metadata.author}}\n

Metadata keys are case insensitive. I’d recommend using conditional blocks to prevent your layout breaking if you don’t consistently specify metadata:

{{#metadata.author}}\n  Posted by {{metadata.author}}\n{{/metadata.author}}\n\n{{^metadata.author}}\n  Posted by the editor\n{{/metadata.author}}\n
\n\n\n\n\n\n

Thumbnails

Blot generates four sizes of thumbnails:

Blot will not increase the size of smaller images. The JSON added to each entry looks something like this:

{\n    ...\n    thumbnail: {\n        small: {url: "...", width: 160, height: 103},\n        medium: {url: "...", width: 640, height: 411},\n        large: {url: "...", width: 1060, height: 681},\n        square: {url: "...", width: 160, height: 160 }\n    },\n    ...\n}\n

You can use them in your template like this:

{{#thumbnail.medium}}\n    <img src="{{url}}" width="{{width}}" height="{{height}}">\n{{/thumbnail.medium}}\n

\n
","path":"5. Metadata and thumbnails.txt"}],"path":"2. Templates"},{"title":"Guides and resources","slug":"guides-and-resources","subsections":[{"title":"Use your own domain","slug":"use-your-own-domain","url":"/help/guides-and-resources#use-your-own-domain","html":"

Learn how to configure your site and access some of Blot's more advanced features.

\n\n\n

Using your own domain

Let's say you own the domain example.com and would like to point it to your site. First, you must decide whether you would like to use the apex domain, which is just example.com, or a subdomain like www.example.com or blog.example.com.

\n
","path":"1. Use your own domain.txt"},{"title":"Setting up redirects","slug":"setting-up-redirects","url":"/help/guides-and-resources#setting-up-redirects","html":"
\n\n

Redirects

You can set up redirects for missing or moved pages on your blog. Your site’s 404 log will help you discover URLs which need redirects. You can use RegEx to match multiple routes. For example, this rule redirects URLs starting with /post to /blog:

\\/post\\/(.*)  →  /blog/$1\n
","path":"2. Setting up redirects.txt"},{"title":"Embed an image in a blog post","slug":"embed-an-image-in-a-blog-post","url":"/help/guides-and-resources#embed-an-image-in-a-blog-post","html":"

How to embed an image in a blog post

\n
","path":"3. Embed an image in a blog post.txt"},{"title":"Date tokens","slug":"date-tokens","url":"/help/guides-and-resources#date-tokens","html":"
\n\n

Date tokens

Here is the reference for Moment.js's date tokens. These are used in Blot's permalink format, and its templates.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
TokenOutput
MonthM1 2 ... 11 12
Mo1st 2nd ... 11th 12th
MM01 02 ... 11 12
MMMJan Feb ... Nov Dec
MMMMJanuary February ... November December
QuarterQ1 2 3 4
Qo1st 2nd 3rd 4th
Day of MonthD1 2 ... 30 31
Do1st 2nd ... 30th 31st
DD01 02 ... 30 31
Day of YearDDD1 2 ... 364 365
DDDo1st 2nd ... 364th 365th
DDDD001 002 ... 364 365
Day of Weekd0 1 ... 5 6
do0th 1st ... 5th 6th
ddSu Mo ... Fr Sa
dddSun Mon ... Fri Sat
ddddSunday Monday ... Friday Saturday
Day of Week (Locale)e0 1 ... 5 6
Day of Week (ISO)E1 2 ... 6 7
Week of Yearw1 2 ... 52 53
wo1st 2nd ... 52nd 53rd
ww01 02 ... 52 53
Week of Year (ISO)W1 2 ... 52 53
Wo1st 2nd ... 52nd 53rd
WW01 02 ... 52 53
YearYY70 71 ... 29 30
YYYY1970 1971 ... 2029 2030
Y1970 1971 ... 9999 +10000 +10001\n
\n Note: This complies with the ISO 8601 standard for dates past the year 9999\n
Week Yeargg70 71 ... 29 30
gggg1970 1971 ... 2029 2030
Week Year (ISO)GG70 71 ... 29 30
GGGG1970 1971 ... 2029 2030
AM/PMAAM PM
aam pm
HourH0 1 ... 22 23
HH00 01 ... 22 23
h1 2 ... 11 12
hh01 02 ... 11 12
k1 2 ... 23 24
kk01 02 ... 23 24
Minutem0 1 ... 58 59
mm00 01 ... 58 59
Seconds0 1 ... 58 59
ss00 01 ... 58 59
Fractional SecondS0 1 ... 8 9
SS00 01 ... 98 99
SSS000 001 ... 998 999
SSSS ... SSSSSSSSS000[0..] 001[0..] ... 998[0..] 999[0..]
Unix TimestampX1360013296
Unix Millisecond Timestampx1360013296123
","path":"4. Date tokens.txt"},{"title":"Formatting","slug":"formatting","url":"/help/guides-and-resources#formatting","html":"

Blot converts text files from Markdown. You can use markdown to make text bold, italicized, create lists, links and more. You can mix Markdown and HTML in the same file.

\n\n\n

Videos

You can also paste the HTML for a video embed directly into a blog post. Blot also automatically converts plain URLs to Youtube and Vimeo videos into video embeds. To embed a youtube video in your blog post just paste its URL like this:

https://www.youtube.com/watch?v=nkJA6SYwa94\n
\n\n

Footnotes

You can specify footnotes using this syntax:

A line with a footnote.[^1] Another line.[^2]\n\n[^1]: And the note goes here.\n[^2]: And the second goes here too.\n
\n\n\n\n

Layout

I wrote a Markdown extension for Blot which provides basic layout shortcuts. The features are as follows:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
The tag…should make its contents...by applying this CSS class…
{<<}extend into the left marginwide left
{>>}extend into the right marginwide right
{<>}extend into both marginswide
{>}float right inside the pageright inside
{<}float left inside the pageleft inside
{|<}hang in the right marginright margin
{>|}hang in the left marginleft margin
{||}sit inside a 1/2 width columntwo column
{|||}sit inside a 1/3 width columnthree column
{||||}sit inside a 1/4 width columnfour column

You can including multiple lines inside the same layout tag by indenting them:

{<<} ## Subtitle which extends into left margin\n     A paragraph which will also extend into the left margin.\n\n{>>} ## Subtitle which extends into right margin\n     A paragraph which will also extend into the right margin.\n

Your blog's template controls how the layout HTML is styled. Most Blot templates come with a variation on layout.css which provides the above features as described.

\n\n\n\n\n\n\n\n\n

Bold and Italic

To create italics, use a single asterix (*) on either side of the text:

\n
*This text will be italic.*
\n
This text will be italic.
\n
\n

Surrounding text with two asterisks makes text bold:

\n
**This text will be bold.**
\n
This text will be bold.
\n
\n

Both * or _ symbols work to make text bold or italic. This way you can combine bold and italic in the same sentence. For example:

\n
**Everyone _must_ listen.**
\n
Everyone must listen.
\n
\n
\n\n\n\n\n

Strikethrough

Put a double tilde (~) on either side of the text you want to strikethrough:

\n
~~Strike out mistakes~~
\n
Strike out mistakes
\n
\n
\n\n\n\n\n\n\n\n

Lists

Make a bulleted list by preceding list items with a single asterix (*) or a hyphen (-). You need a space between the asterix and the text.

\n
\n- Round\n- Shell\n- Projectile\n
\n
\n Round\n Shell\n* Projectile\n
\n
\n

Create a numbered list by preceding list items with a number.

\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n1. Eins\n2. Deux\n3. Tres\n
\n
\n
\n\n\n\n\n

Links

Create a text link by wrapping the linked text in brackets [ ], and then wrapping the link in parenthesis ( ). For example:

\n
\n[Wikipedia](https://wikipedia.org)
\n
Wikipedia
\n
\n
\n\n\n\n\n

Headings

# Largest heading\n## Subheading\n### Section heading\n
\n\n

Mathematics

Blot will convert equations set in LaTeX. Check out this useful guide. To use this, wrap your LaTeX in two dollar signs ($$) like this:

$$ f(x) = 2x^2 + 2/3 $$
\n    $$ f(x) = 2x^2 + 2/3 $$

\n\n\n\n\n\n\n

Images

Here's what the markdown looks like, note the ‘!’ before the tag.

![Alt text](http://example.com/image.jpg "Title")\n

Yes, first create a folder whose name starts with an underscore, e.g. '_images'. Blot will not turn any of the files inside into blog posts, but they will be public. Then put the image inside then embed the image like this:

![Image description](/_images/image.jpg)\n

Blot resolves relative paths based on the location of the source file, not its permalink. File paths are case-insenitive. For example, let's say your blog has this folder structure:

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Posts\n _apple.png\n fruit.txt\n _Images\n peach.png\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These images all resolve correctly in fruit.txt, no matter its resulting URL.

![Apple](_apple.png)\n![Apple](/posts/_apple.png)\n![Peach](../_images/peach.png)\n
\n\n\n

Code snippets

Indent code with four spaces:

var foo = “bar”;\n

You can also wrap code.snippets with three backticks `. This is useful for inserting code snippets inside a paragraph.

If you have enabled the syntax highlighting app, Blot will process the snippet using highlight.js. Every Blot template comes with its own syntax highlighting theme. If you are designing a custom blog template and want to use syntax highlighting, please add a theme to your blog’s CSS file.

\n
","path":"5. Formatting.txt"},{"title":"Metadata","slug":"metadata","url":"/help/guides-and-resources#metadata","html":"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
KeyValue
DateDefaults to this file's creation date. Set the post's publish date using one of the supported formats.
TitleDefaults to the first title in this post or its file name.
TagsEmpty by default. Seperate your tags with a comma.
PermalinkDefaults to a URL-friendly version of the post's title. You can specify one here or change your site's default permalinks on the dashboard.
SummaryDefaults to the first sentence of the first paragraph in the file.
TeaserLike summary but a little longer. Defaults to the first few paragraphs.
ThumbnailGenerated from the largest image in the post. You can specify a path or URL to an image.
DraftDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a draft.
PageDefaults to 'No'. Anything truthy (e.g. 'Yes') will turn the post into a page and add it to your blog's menu.
MenuDefaults to 'Yes' if the file is a page. Anything falsy (e.g. 'No') will hide the page from your site's menu.
\n

You can create your own metadata and access it in your blog's template.

\n

Here is the full list of Blot's native metadata:

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Metadata propertiesExample
Draft/sample-post
Page/blog/sample-post
Menu/2017/sample-post
Permalink/2017/10/3/sample-post
URLAlias of the Permalink property
\n
Draft: no\nPage: no\nMenu: no\nPermalink: apple\nUrl: apple\nDate: 1/2/2020\nTags: Fruit, Pears\nThumbnail: _apple.png\nTitle: Apple\nSummary: Summary\n\n# Apple\n\nThis is the summary.\n

Draft 'Yes'\nPage 'Yes'\nMenu: 'Yes' or 'No'\nPermalink:\nUrl: \nDate:\nTags: \nThumbnail:\nSummary:\nTitle:

\n

You can create a page elsewhere in your blog's folder by adding Page: yes to the file's metadata. If you'd like to create a page that isn't on your blog's menu, add Menu: no as well.

\n

Blot tries to create a thumbnail from the largest image in a blog post.

\n

You can specify a different thumbnail in the metadata at the top of a file. You can use a URL or a path to a file inside Blot’s folder:

\n
Thumbnail: /_Photos/Apple.jpg\n
","path":"6. Metadata.txt"},{"title":"Permalink formats","slug":"permalink-formats","url":"/help/guides-and-resources#permalink-formats","html":"","path":"7. Permalink formats.txt"}],"path":"3. Guides and resources"},{"title":"Account and billing","slug":"account-and-billing","subsections":[{"title":"xt","slug":"xt","url":"/help/account-and-billing#xt","html":"

Blot charges an annual fee. You'll be billed when you first create a site, and each year after, as long as you keep your account open. You can cancel your subscription at any time.

\n

Your payment information does not touch Blot's servers. Blot uses Stripe to process subscription payments. Read more about Stripe's security on their website.

\n\n

Can I host multiple sites on Blot?

Yes, you can host as many sites as you like on Blot from the same account. Each site costs $20 a year. You can also create sites in different Dropbox accounts from the same Blot account.

\n\n

Does Blot support any alternatives to Dropbox?

Not at the moment. However, I plan to eventually add support Git, FTP, GitHub and Google Drive. Please contact me if there's a service you'd like me to support.

\n\n

Does Blot have a bandwidth or storage limit?

No, there’s no hard bandwidth or storage limit. However, if you use more than 1TB of bandwidth + storage combined per year, I will ask you to pay enough to meet the cost of hosting your site, or help you set up Blot on your own server.

\n\n

Can Blot access all the files in my Dropbox?

No, not by default. Blot only has access to a single folder in your Dropbox. However, you can grant Blot full access to your folder. You should only do this if you want to move your site's folder elsewhere, or share it with other people who use Dropbox.

\n\n

Does Blot use up my Dropbox bandwidth?

No, Dropbox's traffic limits do not apply to Blot. This is because Blot first transfers the contents of your folder to its server before delivering it to your readers.

\n\n

Does my subscription renew automatically?

Yes. I will email you one week before your subscription is renewed to give you time to cancel or update your billing information. I hate sneaky unwanted recurring bills as much as you do.

\n\n

Canceling your subscription

You can cancel your subscription on the account page. You can choose to disable your account immediately, or wait until the end of your current subscription period. You can also permanently delete your account.

\n
","path":"Questions.txt"}],"path":"4. Account and billing"}],"sidebar":[{"title":"Getting started with Blot","slug":"getting-started-with-blot","subsections":[{"title":"Posts and formatting","slug":"posts-and-formatting","url":"/help/getting-started-with-blot#posts-and-formatting","html":"

Blot is a blogging platform. It creates a folder inside your Dropbox and publishes files you put inside. This means you can use your favorite text editor to write your blog.

\n\n\n\n\n

Posts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Pages\n Posts\n Bookmark.webloc\n Document.docx\n Funny.gif\n Markdown.md\n Picture.jpg\n Text.txt\n Webpage.html\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

These files become blog posts when you put them somewhere in your site's folder:

Blot skips files and folders whose name starts with an underscore. Use this feature to embed an image in a blog post.

\n\n

Importing your posts from elsewhere

I've written scripts to generate a folder of files from sites hosted on Tumblr, Wordpress, Jekyll and Squarespace. If you contact me, I can run them on your site and send you the result.

\n\n\n

Formatting your posts

Blot supports Markdown, a markup language designed for plain text files. You can add headings, lists, mathematical statements set in LaTeX, syntax highlighting to code snippets and much more.

View the formatting guide →\n

\n
","path":"1. Posts and formatting.txt"},{"title":"Pages and drafts","slug":"pages-and-drafts","url":"/help/getting-started-with-blot#pages-and-drafts","html":"
\n\n\n

Pages and drafts

\n\n \n \n \n \n \n \n Your site\n \n\n Name \n\n \n Drafts\n Anecdote.txt\n Anecdote.txt.html\n Pages\n About.txt\n Contact.txt\n Posts\n  \n  \n  \n \n \n \n \n \n \n\n \n \n \n \n

Files inside a folder called 'Pages' are added to your site's menu instead of the list of blog posts. You can hide a page from your site's menu if you prefer.

Files inside a folder called 'Drafts' are not published to your site. Instead, Blot creates a preview file which you can open in your web browser.

\n\n

Public files

Every file in your site's folder is public. For example, if you put Archive.zip in your folder, your readers can download it at www.your-site.com/archive.zip. You can use Blot as a static file server. Please note that paths and URLs on Blot are case-insensitive.

\n
","path":"2. Pages and drafts.txt"},{"title":"Metadata and dates","slug":"metadata-and-dates","url":"/help/getting-started-with-blot#metadata-and-dates","html":"
\n\n\n\n

Metadata

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: February 28th, 1973\nTags: Literature, Schwarzgerät\n\n# Gravity's rainbow\n\nA screaming comes across the sky.\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot generates all metadata for each post automatically based on the file's contents, name and location. This metadata includes a publish date, permalink and a summary. You can override Blot's metadata with your own.

Metadata must start on the file's first line and be separated from the rest of the post by at least one blank line.

You can also create your own custom metadata and use it on your site's template. View the full list of metadata.

\n
","path":"3. Metadata and dates.txt"},{"title":"URLs and tags","slug":"urls-and-tags","url":"/help/getting-started-with-blot#urls-and-tags","html":"
\n\n\n\n\n

Dates

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nDate: September 4th, 1992\nTags: Philhellenism, Murder\n\nDoes such a thing as 'the fatal flaw,' that shadowy dark crack running down the middle of a life, exist outside literature?\n\n
\n \n \n \n \n \n\n \n \n \n \n

Blot uses the file’s creation date as its publish date by default. You can specify a different date in the file's metadata.

Blot supports a variety of ways that people write dates. The following formats produce a blog post with the same date:

September 18, 2017   09/18/2017\n2017-09-18 00:00     9.18.2017\n

You can also specify a publish date using the file's name, or its path, or a combination of both:

2017-07-18-00:00-Post.txt   2017/07/18/Post.txt \n2017/7.18.Post.txt          2017/7.18/Post.txt\n

If you write the numbers in your dates in different order, please tell Blot on the settings page. If you specify a date in the future, Blot will wait until then to publish it. And if you prefer, you can hide the dates on your site's dashboard.

\n\n\n\n\n

Tags

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\nTags: Nabokov, Phaedra\n\nLolita, light of my life, fire of my loins. My sin, my soul. Lo-lee-ta: the tip of the tongue taking a trip of three steps down the palate to tap, at three, on the teeth. Lo. Lee. Ta.\n\n
\n \n \n \n \n \n\n \n \n \n \n

You can tag a post in the metadata at the top of a file. Tags can contain whitespace. Although tags are case-insensitive, it’s worth capitalizing tags consistently because Blot uses the most recent case when displaying a tag on your site.

You can also use brackets in a folder's name to tag posts. For example, all the files in a folder called '[Fiction]' will become blog posts tagged 'Fiction'. You can nest folders:

[Book notes] / [Fiction] / Williwaw.txt\n
\n\n\n\n\n\n\n\n\n

Teasers

\n\n \n \n \n \n \n \n Your post.txt\n \n\n
\n# Lycurgus\n\nHe was of the opinion that even in death a statesman should...\n\n{{more}}\n\nNor were his calculations misguided, because there was no state in Greece to match Sparta...\n\n
\n \n \n \n \n \n\n \n \n \n \n

Some of Blot's templates show a teaser for each post on the homepage, and include a link to the read full post. By default, Blot creates a teaser from the first few paragraphs in the post. You can specify the breakpoint in the file yourself:

Everything before {{more}} will be included in the teaser, and the rest will be shown on the post's page. You can also use <!-- more --> in an HTML file.\n

\n
","path":"4. URLs and tags.txt"}],"path":"1. Getting started with Blot"},{"title":"Templates","slug":"templates","subsections":[],"path":"2. Templates"},{"title":"Guides and resources","slug":"guides-and-resources","subsections":[],"path":"3. Guides and resources"},{"title":"Account and billing","slug":"account-and-billing","subsections":[],"path":"4. Account and billing"}],"urls":{"posts-and-formatting":"/help/getting-started-with-blot#posts-and-formatting","pages-and-drafts":"/help/getting-started-with-blot#pages-and-drafts","metadata-and-dates":"/help/getting-started-with-blot#metadata-and-dates","urls-and-tags":"/help/getting-started-with-blot#urls-and-tags","getting-started":"/help/templates#getting-started","how-routing-works":"/help/templates#how-routing-works","using-variables":"/help/templates#using-variables","lists-of-posts":"/help/templates#lists-of-posts","metadata-and-thumbnails":"/help/templates#metadata-and-thumbnails","use-your-own-domain":"/help/guides-and-resources#use-your-own-domain","setting-up-redirects":"/help/guides-and-resources#setting-up-redirects","embed-an-image-in-a-blog-post":"/help/guides-and-resources#embed-an-image-in-a-blog-post","date-tokens":"/help/guides-and-resources#date-tokens","formatting":"/help/guides-and-resources#formatting","metadata":"/help/guides-and-resources#metadata","permalink-formats":"/help/guides-and-resources#permalink-formats","xt":"/help/account-and-billing#xt"}} diff --git a/notes/documentation/3. Guides and resources/1. Use your own domain.txt b/notes/documentation/3. Guides and resources/1. Use your own domain.txt index 5d8998eda98..7c7f173db00 100644 --- a/notes/documentation/3. Guides and resources/1. Use your own domain.txt +++ b/notes/documentation/3. Guides and resources/1. Use your own domain.txt @@ -1,4 +1,4 @@ -This is the blurb for this page. +Learn how to configure your site and access some of Blot's more advanced features. ## Using your own domain