Sign inDemoInstall


Package Overview
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies



A nice, friendly tool to help you get set up and start blogging, built on the Desirae blogging platform

Version published
Weekly downloads
increased by60%
Install size
12.0 MB
Weekly downloads



Did you mean to come here?

If you're a normal person interested in Desi, the DIY blog platform for normal people, you might have meant to go to DearDesi instead.

Otherwise, if you're a cyborg, wizzard, or web developer: carry on.

Dear Desi

These instructions cover the command line only.

If you want instructions for the web interface, head over to DearDesi.

Command Line Install (for developers)

This assumes that you already have git and node installed, otherwise see

# Install with distributed tools on a decentralized system
npm install -g 'git+'

# Install with the centralized, concentrated hypocrinet
npm install -g desi

That was easy

Quick Usage

  • desi init -d ~/Desktop/new-blog
  • pushd ~/Desktop/new-blog
  • desi post "my first post"
  • desi build
  • desi serve

Note: both through command line and web you need site.yml and authors/xyz.yml configured in order to create a post (as well as build). The post commands output the location of post in various formats.

Initialize your blog (step 1)

You can do this 3 ways:

  1. Create a new blog with desi init -d ~/Desktop/blog
  2. Clone the seed project and themes yourself
  3. Clone the seed project and import your posts and themes

Automated (desi init)

# initialize (and or create) a blog directory
desi init -d ~/Desktop/blog

# initialize the current directory
pushd ~/Desktop/blog
desi init

Note that you cannot initialize a directory that is already in use (where 'in use' means has at least one non-dotfile).

Manual (clone yourself)

There are a number of themes available at, just look for ones with 'theme' in the description.

git clone ~/my-desirae-blog
pushd ~/my-desirae-blog

git submodule add themes/ruhoh-bootstrap-2

You will need to make sure that you have some details about your theme in config.yml. Basically that means that you specify a datamap and which defaults for a page and post in the layouts folder.

Just open it up, it'll make sense.

Migrate (import another blog)

Obviously this is a little different for everyone, so here's what I'd recommend:

  1. start by following the Automated procedure above
  2. copy over your posts/articles folder(s)
  3. edit config.yml to add a config with a permalink with your collections (posts, articles, essays, whatever you call them)
  4. skip ahead to the Setup your blog section and make sure your site.yml and authors/xxx.yml are correct.
  5. run desi build -d /path/to/blog to test if there are any issues with your existing yaml
  • if there are, you can take a look at the normalize function and perhaps hand-edit a few things (and when you're ready, you can register your transform for collections.
  1. Now copy over your theme and set it to be the default in site.yml
  2. build again. Your site probably won't look right:
  • look for stuff like urls.base_url, host, page.url that might have an extra / at the beginning or end or be named slightly differently.

See for disambiguation about the meaning of terms in Desi.

Setup your blog (step 2)

  1. Create an authors file in authors/YOUR_NAME.yml and model it after this example
  • You don't need to use all of the fields (your template might not even support them all)
  1. Create a site file as site.yml, similar to this example

Important Things

  • site.yml.base_url - the point of ownership (usually or
  • site.yml.base_path - where the blog is "mounted", relative to the base_url (usually / or /blog)
  • authors/ - most templates use this
  • authors/ - and this
  • authors/me.yml.twitter - and this

Build your blog (step 2)

The build will fail if you don't have site.yml and authors/johndoe.yml configured.

desi build -d /path/to/blog

desi serve -d /path/to/blog

Now open up your evergreen browser to


This Source Code Form is subject to the terms of the Mozilla
Public License, v. 2.0. If a copy of the MPL was not distributed
with this file, You can obtain one at



Last updated on 09 Nov 2020

Did you know?


Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.


Related posts

SocketSocket SOC 2 Logo


  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap


Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc