Updated:
Simple wrapper for nikola
If you find a bug, you may send an e-mail or open an issue at
https://git.daemons.it/drymer/nikola.el/
◊ Main commands:
• `nikola-new-post': Creates a new post and opens it.
• `nikola-new-page': Creates a new page and opens it.
• `nikola-build': Builds the site.
• `nikola-start-webserver': Starts nikola's webserver.
• `nikola-stop-webserver': Stops nikola's webserver.
• `nikola-deploy': Deploys the site.
• `nikola-version': Shows nikola and nikola.el version.
◊ Variables:
• `nikola-output-root-directory': Nikola's site directory.
• `nikola-verbose': If set to *t*, it will create a buffer called
**Nikola** with the output of all commands. Set to *nil* by default.
• `nikola-webserver-auto': If set to *t*, it will use `nikola auto' to
launch the webserver. If set to *nil*, it will use `nikola
serve'. Set to *nil* by default.
• `nikola-webserver-host': Set it to *0.0.0.0* if you want to make the
webserver accesible from outside the machine. Set to *127.0.0.1* by
default.
• `nikola-webserver-port': Nikola's webserver port. Set to *8000* by
default.
• `nikola-deploy-input': If *nil*, just execute plain deploy, if *t*,
asks for user input, *any string* is passed to the deploy string
automatically.
This variable is intended to use with a deploy script or command that
uses git, thus needs a commit message. It could be used for whatever
other reason, also. To use the message writed on Emacs on the deploy
order, you have to use the variable **$COMMIT**. For example, your
deploy command could be:
┌────
│ DEPLOY_COMMANDS = {
│ 'default': [
│ "git add .", "git commit -m \"$COMMIT\"", "git push"
│ ]
│ }
└────
Set to *nil* by default.
• `nikola-new-post-extension': The extension of new posts. If it's a
list, ido completion will be offered. Set to *html* by default.
• `nikola-new-page-extension': The extension of new pages. If it's a
list, ido completion will be offered. Set to *html* by default.
• `nikola-deploy-input-default': If `nikola-deploy-input' is *t*, this
variable changes the default value so you can just press RET. Set to
*New post* by default.
◊ Hooks:
Use them as you would usually do.
• `nikola-build-before-hook'
• `nikola-build-after-hook'
• `nikola-deploy-before-hook'
• `nikola-deploy-after-hook'
If you only want to execute a simple script or command before or after
building or deploying, you can set the next variables to that script's
path or command:
• `nikola-build-before-hook-script'
• `nikola-build-after-hook-script'
• `nikola-deploy-before-hook-script'
• `nikola-deploy-after-hook-script'
For example, to execute a script before deploying:
┌────
│ (setq nikola-deploy-before-hook-script "~/scripts/pre-deploy.sh")
└────
For more complicated things, you should use create a function and add
is a hook.