Have you ever experienced switch windows to manage your posts between _drafts
and _posts
? Have you complaint about publish
function in hexo
? If so, just try this plugin called hexo-undraft, it brings you enhanced publish experience.
It basically does mv
command like in the Terminal, but will prompt up and let you choose which one to mv. It will find your posts you want to publish first, then let you select the post you really want to publish and lastly move the post to your customized folder. That easy! Vice versa too.
npm install --save hexo-undraft
in posts you write, add a setting called "dest" on the top. If you omit this setting, the plugin will use <hexo_folder>/source/_posts
as the default path.
example:
---
title: example is here
tags:
dest: _posts/foo/bar
---
hexo undraft [title] [-t | --to FOLDER] [-a | --all]
- title: input full or partial title to let it find posts that you want to publish
- -t | --to FOLDER: if you give "dest" setting in the post, it will have higher priority, so that the plugin will omit what you input. Otherwise, the post will be published to designated path.
- -a | --all: if you use this flag, it will publish all posts that the plugin finds(in this case you have to give
title
). If you omit thetitle
, it will publish all posts after getting your confirmation.
in posts you have already published, add a setting called "origin" on the top. If you omit this setting, the plugin will use <hexo_folder>/source/_drafts
as the default path.
example:
---
title: example is here
tags:
origin: _drafts/foo/bar
---
hexo endraft [title] [-f | --from FOLDER] [-a | --all]
- title: input full or partial title to let it find posts that you want to draft
- -f | --from FOLDER: if you give "origin" setting in the post, it will have higher priority, so that the plugin will omit what you input. Otherwise, the post will be drafted to designated path.
- -a | --all: if you use this flag, it will draft all posts that the plugin finds(in this case you have to give
title
). If you omit thetitle
, it will draft all posts after getting your confirmation.
- when posts number is really large, the process time will be long because the plugin has to load all posts in order to filter.
- if the path you give either in post settings or terminal input is not existed, the plugin will create for you.
- if using
-t|-f
flag without a given path, the plugin will not run; similarly, if using-a
flag and giving additional parameter, the plugin will not run either.