A DIY blog platform for wizards and muggles.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AJ ONeal 416484db42 v0.8.6: update links, deps, and license 6 months ago
bin Update deardesi.js 4 years ago
components updated to latest 4 years ago
example Create site.yml 4 years ago
views fixed sourcepath bug 4 years ago
.gitignore updated to latest, fixed minor bugs 4 years ago
.gitmodules separating deardesi/desirae 4 years ago
.jshintrc separating deardesi/desirae 4 years ago
LICENSE Initial commit 4 years ago
README.md v0.8.6: update links, deps, and license 6 months ago
app.js separating deardesi/desirae 4 years ago
bower.json v0.8.5 2 years ago
desirae-http-api.js works with desirae v0.9.0 as module 4 years ago
favicon.ico add favicon, fix code block 4 years ago
index.html fixed sourcepath bug 4 years ago
package.json v0.8.6: update links, deps, and license 6 months ago
server.js works with desirae v0.9.0 as module 4 years ago
setup.sh Update setup.sh 4 years ago


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 node-installer.sh

# Install with distributed tools on a decentralized system
npm install -g 'git+https://git.daplie.com/Daplie/deardesi.git#v1'

# 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 https://github.com/DearDesi, just look for ones with ‘theme’ in the description.

git clone git@github.com:DearDesi/desirae-blog-template.git ~/my-desirae-blog
pushd ~/my-desirae-blog

git submodule add git@github.com:DearDesi/ruhoh-bootstrap-2.git 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.
  6. Now copy over your theme and set it to be the default in site.yml
  7. 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 https://github.com/DearDesi/desirae/blob/master/GLOSSARY.md 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)
  2. Create a site file as site.yml, similar to this example

Important Things

  • site.yml.base_url - the point of ownership (usually blog.example.com or example.com)
  • site.yml.base_path - where the blog is “mounted”, relative to the base_url (usually / or /blog)
  • authors/me.yml.name - most templates use this
  • authors/me.yml.email - 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 http://local.dear.desi:65080