ABlog Commands

ablog commands are for streamlining blog operations, i.e. building, serving, and viewing blog pages, as well as starting a new blog:

$ ablog
usage: ablog [-h] [-v] {start,build,clean,serve,post,deploy} ...

ABlog for blogging with Sphinx

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         print ABlog version and exit

subcommands:
  {start,build,clean,serve,post,deploy}
    start               start a new blog project
    build               build your blog project
    clean               clean your blog build files
    serve               serve and view your project
    post                create a blank post
    deploy              deploy your website build files

See 'ablog <command> -h' for more information on a specific command.

Start a New Project

ablog start command is for quickly setting up a blog project. See ABlog Quick Start for how it works and what it prepares for you:

$ ablog start -h
usage: ablog start [-h]

Start a new blog project by answering a few questions. You will end up with a
configuration file and sample pages.

optional arguments:
  -h, --help  show this help message and exit

Build your Website

Running ablog build in your project folder builds your website HTML pages:

$ ablog build -h
usage: ablog build [-h] [-a] [-b BUILDER] [-s SOURCEDIR] [-w WEBSITE]
                   [-d DOCTREES] [-T] [-P]

Path options can be set in conf.py. Default values of paths are relative to
conf.py.

optional arguments:
  -h, --help    show this help message and exit
  -a            write all files; default is to only write new and changed
                files
  -b BUILDER    builder to use, default `ablog_builder` or dirhtml
  -s SOURCEDIR  root path for source files, default is path to the folder that
                contains conf.py
  -w WEBSITE    path for website, default is _website when `ablog_website` is
                not set in conf.py
  -d DOCTREES   path for the cached environment and doctree files, default
                .doctrees when `ablog_doctrees` is not set in conf.py
  -T            show full traceback on exception
  -P            run pdb on exception

Serve and View Locally

Running ablog serve, after building your website, will start a Python server and open up browser tab to view your website:

$ ablog serve -h
usage: ablog serve [-h] [-w WEBSITE] [-p PORT] [-n] [-r] [--patterns]

Serve options can be set in conf.py. Default values of paths are relative to
conf.py.

optional arguments:
  -h, --help  show this help message and exit
  -w WEBSITE  path for website, default is _website when `ablog_website` is
              not set in conf.py
  -p PORT     port number for HTTP server; default is 8000
  -n          do not open website in a new browser tab
  -r          rebuild when a file matching patterns change or get added
  --patterns  patterns for triggering rebuilds

Deploy to GitHub Pages

Running ablog deploy will push your website to GitHub:

$ ablog deploy -h
usage: ablog deploy [-h] [-w WEBSITE] [-p REPODIR] [-g GITHUB_PAGES]
                    [-m MESSAGE] [-f] [--push-quietly]
                    [--github-branch GITHUB_BRANCH] [--github-ssh]
                    [--github-token GITHUB_TOKEN] [--github-url GITHUB_URL]

Path options can be set in conf.py. Default values of paths are relative to
conf.py.

options:
  -h, --help            show this help message and exit
  -w WEBSITE            path for website, default is _website when
                        `ablog_website` is not set in conf.py
  -p REPODIR            path to the location of repository to be deployed, e.g.
                        `../username.github.io`, default is folder containing
                        `conf.py`
  -g GITHUB_PAGES       GitHub username for deploying to GitHub pages
  -m MESSAGE            commit message
  -f                    overwrite last commit, i.e. `commit --amend; push -f`
  --push-quietly        be more quiet when pushing changes
  --github-branch GITHUB_BRANCH
                        Branch to use. Default is 'master'.
  --github-ssh          use ssh when cloning website
  --github-token GITHUB_TOKEN
                        environment variable name storing GitHub access token
  --github-url GITHUB_URL
                        Custom GitHub URL. Useful when multiple accounts are
                        configured on the same machine. Default is:
                        git@github.com

Create a Post

Finally, ablog post will make a new post template file:

$ ablog post -h
usage: ablog post [-h] [-t TITLE] filename

positional arguments:
  filename    filename, e.g. my-nth-post (.rst appended)

optional arguments:
  -h, --help  show this help message and exit
  -t TITLE    post title; default is formed from filename

Clean Build Files

In case you needed, running ablog clean will remove build files and do a deep clean with -D option:

$ ablog clean -h
usage: ablog clean [-h] [-d DOCTREES] [-w WEBSITE] [-D]

Path options can be set in conf.py. Default values of paths are relative to
conf.py.

optional arguments:
  -h, --help   show this help message and exit
  -d DOCTREES  path for the cached environment and doctree files, default
               .doctrees when `ablog_doctrees` is not set in conf.py
  -w WEBSITE   path for website, default is _website when `ablog_website` is
               not set in conf.py
  -D           deep clean, remove cached environment and doctree files

Updated on 07 April 2015

Added ablog clean and ablog deploy commands.

Comments

comments powered by Disqus