component Postable(post arn.Postable, user *arn.User, highlightAuthorID string)
	.post.mountable(id=strings.ToLower(post.Type()) + "-" + toString(post.ID()), data-highlight=post.Author().ID == highlightAuthorID, data-api="/api/" + strings.ToLower(post.Type()) + "/" + post.ID())
		.post-author
			Avatar(post.Author())

			//- if post.recipient && post.recipient.ID !== post.author.ID
			//- 	a.user.post-recipient(href="/+" + post.recipient.nick, title=post.recipient.nick)
			//- 		img.user-image(src=post.recipient.avatar ? (post.recipient.avatar + "?s=100&r=x&d=mm") : "/images/elements/no-gravatar.svg", alt=post.recipient.nick)
		.post-content
			div(id="render-" + post.ID())!= post.HTML()

			if user != nil && user.ID == post.Author().ID
				.post-edit-interface
					if post.Type() == "Thread"
						input.post-title-input.hidden(id="title-" + post.ID(), value=post.Title(), type="text", placeholder="Thread title")
					textarea.post-text-input.hidden(id="source-" + post.ID())= post.Text()
					.buttons.hidden(id="edit-toolbar-" + post.ID())
						a.button.post-save.action(data-action="savePost", data-trigger="click", data-id=post.ID())
							Icon("save")
							span Save

						a.button.post-cancel-edit.action(data-action="editPost", data-trigger="click", data-id=post.ID())
							Icon("close")
							span Cancel

			.post-toolbar(id="toolbar-" + post.ID())
				.spacer
				.post-likes(id="likes-" + post.ID(), title="Likes")= len(post.Likes())

				if user != nil
					//- if user.ID !== post.authorId
					//- 	- var liked = post.likes && post.likes.indexOf(user.ID) !== -1

					//- 	a.post-tool.post-like(id="like-" + post.ID, onclick=`$.like("${type.toLowerCase()}", "${post.ID}")`, title="Like", class=liked ? "hidden" : ")
					//- 		i.fa.fa-thumbs-up.fa-fw

					//- 	a.post-tool.post-unlike(id="unlike-" + post.ID, onclick=`$.unlike("${type.toLowerCase()}", "${post.ID}")`, title="Unlike", class=!liked ? "hidden" : ")
					//- 		i.fa.fa-thumbs-down.fa-fw

					if user.ID == post.Author().ID
						a.post-tool.post-edit.action(data-action="editPost", data-trigger="click", data-id=post.ID(), title="Edit")
							RawIcon("pencil")

				if post.Type() != "Thread"
					a.post-tool.post-permalink.ajax(href=post.Link(), title="Permalink")
						RawIcon("link")

				//- if type === "Messages" && user && (user.ID === post.authorId || user.ID === post.recipientId)
				//- 	a.post-tool.post-delete(onclick=`if(confirm("Do you really want to delete this ${typeSingular.toLowerCase()} from ${post.author.nick}?")) $.delete${typeSingular}("${post.ID}")`, title="Delete")
				//- 		i.fa.fa-trash.fa-fw