summaryrefslogtreecommitdiffstats
path: root/docs/manual/ablog-commands.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/ablog-commands.rst')
-rw-r--r--docs/manual/ablog-commands.rst178
1 files changed, 178 insertions, 0 deletions
diff --git a/docs/manual/ablog-commands.rst b/docs/manual/ablog-commands.rst
new file mode 100644
index 0000000..c50cbd7
--- /dev/null
+++ b/docs/manual/ablog-commands.rst
@@ -0,0 +1,178 @@
+.. _commands:
+
+ABlog Commands
+==============
+
+.. post:: Mar 1, 2015
+ :tags: config, commands
+ :author: Ahmet, Mehmet
+ :category: Manual
+ :location: SF
+
+
+``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.
+
+.. contents:: Here are all the things you can do:
+ :local:
+ :backlinks: top
+
+.. _start:
+
+Start a New Project
+-------------------
+
+``ablog start`` command is for quickly setting up a blog project.
+See :ref:`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:
+
+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:
+
+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
+
+.. update:: Apr 7, 2015
+
+ Added ``ablog clean`` and ``ablog deploy`` commands.