Docs


Writing on the Vilvik Blog

How to write, submit, and publish a post on the Vilvik blog.

Last updated October 22, 2026

Go to the live page Open my dashboard

The blog is for tutorials, notes, and walkthroughs you want to share with other Vilvik users. Any signed-in account can write a post. Posts go through a light editorial review before they publish.

The Lifecycle

flowchart LR Draft -- "Submit for review" --> Pending["Pending review"] Pending -- "Approve" --> Published Pending -- "Request changes" --> Draft Pending -- "Reject" --> Rejected Published -. "Keep editing" .-> Published

Once a post is published, you can keep editing it; the slug is locked so existing links stay alive. If an editor needs to rename a published post later, the old URL keeps working as a permanent redirect.

Write a Draft

Open your blog dashboard and click Write a post. The editor is split-pane Markdown:

  • The toolbar covers headings, bold, italic, lists, links, images, code blocks, and a live preview pane. For a table, type it in Markdown pipe syntax.
  • Triple-backtick fenced code blocks support a language tag (```python, ```js, etc) and render with syntax colours on the live post.
  • The cover image becomes the hero banner at the top of the post and the social-card image when someone shares the URL. Upload your own or pick one from the gallery; it is shown at a 1200 by 630 ratio everywhere, so keep the important part near the middle. Remove cover takes it off again.
  • When you insert an image, the editor adds it with placeholder alt text already selected, so you can type a short description straight away.

The editor saves your work in the background a few seconds after you stop typing (and again every minute if anything changed), so a crashed tab is rarely a problem. The note next to the title tells you when the last save happened, or if a save failed. Save draft saves straight away without leaving the page; it needs a title, but the background save does not, so you can start with the body. A post can be up to 100,000 characters long (roughly 15,000 words). For anything longer, split it into a series.

Submit for Review

When the post is ready, click Submit for review. Your post moves into the editorial queue and you cannot edit it until the editor responds. You will see "Pending review" on the post in your dashboard.

To check how the post will look before submitting, use the editor's preview pane, which uses the same styling as the live page, or open Preview next to the draft on your dashboard to see the full post page (only you can see it).

After Review

The editor can take one of three actions:

  • Approve. The post is published. You receive an in-app notification and an email (subject to your notification preferences). The post appears on the blog index, on your author page at /blog/@<your-username>/, in the RSS feed, and in the sitemap.
  • Request changes. The post returns to draft and the editor's message lands in your dashboard. Update the post and submit again.
  • Reject. The post moves to rejected with the editor's reason. You can write a new post any time.

If you have admin status, your submissions skip the queue and publish directly.

What About Comments and Upvotes?

Readers who are signed in can leave a comment or upvote your post. Comments are plain text and limited to one level of replies (top-level comment plus one round of replies) so threads stay readable. Upvotes are an anonymous count. Readers cannot see who upvoted what.

You can choose to receive an email when someone comments on your post or replies to a comment of yours from notification preferences under "Blog & comments".

Thanks for the feedback!