\documentclass[a4paper,11pt,twoside]{book}

% english and utf8
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
%\usepackage[british,russian]{babel}
\usepackage[british]{babel}

% url support
\usepackage{url}

% make links clickable
\usepackage{hyperref}

% code listings
\usepackage{listings}
\usepackage{color}

\definecolor{codebg}{rgb}{0.9,0.9,0.9}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}

% TODO ensure copyable indentation:
% http://tex.stackexchange.com/questions/142617/copy-pasting-leading-whitespace-and-blank-lines-in-listings-package-pdf

\lstset{%
  backgroundcolor=\color{codebg},   % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
  basicstyle=\ttfamily\footnotesize, % the size of the fonts that are used for the code
  columns=fullflexible,
  breakatwhitespace=false,         % sets if automatic breaks should only happen at whitespace
  breaklines=true,                 % sets automatic line breaking
  extendedchars=true,              % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
  keepspaces=true,                 % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
%
  commentstyle=\color{mygreen},    % comment style
  keywordstyle=\color{blue},       % keyword style
  stringstyle=\color{mymauve},     % string literal style
%
% language=Octave,                 % the language of the code
% morekeywords={*,...},            % if you want to add more keywords to the set
% deletekeywords={...},            % if you want to delete keywords from the given language
%
  numbers=none,                    % where to put the line-numbers; possible values are (none, left, right), not using line numbers to allow copy&paste
  stepnumber=1,                    % the step between two line-numbers. If it's 1, each line will be numbered
  numbersep=5pt,                   % how far the line-numbers are from the code
  numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
%
  showspaces=false,                % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
  showstringspaces=false,          % underline spaces within strings only
  showtabs=false,                  % show tabs within strings adding particular underscores
%
  tabsize=2,                       % sets default tabsize to 2 spaces
%  title=\lstname                   % show the filename of files included with \lstinputlisting; also try caption instead of title
%
    literate={-}{-}1,
    %    {\'}{'}1,
    %    {\"}{\"}1
  extendedchars=false
}

\lstdefinelanguage{json}{
	morekeywords={},
	sensitive=false,
	morestring=[b]",
}

\lstdefinelanguage{css}{
	morekeywords={},
	sensitive=false,
	morestring=[b]",
}

\lstdefinelanguage{javascript}{
	morekeywords={},
	sensitive=false,
	morestring=[b]",
}

% include images
\usepackage{graphicx}

% support github markdown strikethrough
% http://tex.stackexchange.com/questions/23711/strikethrough-text
\usepackage{ulem}

\newcommand{\centeronpage}{% Horizontal adjustment of image
  \ifodd\value{page}\hspace*{\dimexpr\evensidemargin-\oddsidemargin}\else\hspace*{-\dimexpr\evensidemargin-\oddsidemargin}\fi%
}

\title{The definitive Guide to Yii 2.0}
\author{
    Qiang Xue,
    Alexander Makarov,
    Carsten Brandt,
    Klimov Paul
    and
    many contributors from the Yii community
}

% uncomment for debugging layout issues
%\usepackage{showframe}

\begin{document}

    \frontmatter

    \begin{titlepage}
        % ensure centering the title page by ignoring odd and even margin
        \setlength{\oddsidemargin}{-1in}
        \setlength{\evensidemargin}{-1in}
        \setlength{\textwidth}{\paperwidth}

        \vspace*{\fill}

        % typesetting the title line
        \noindent
        \parbox{\textwidth}{\centering \bfseries \Huge
            The Definitive Guide
        }\vspace{.5cm}
        \parbox{\textwidth}{\centering \bfseries \Huge
            to
        }\vspace{.5cm}
        \parbox{\textwidth}{\centering \bfseries \Huge
            Yii 2.0
        }

        \vfill

        % typesetting authors
        \noindent
        \parbox{\textwidth}{\centering \Large
            Qiang Xue,\\
            Alexander Makarov,\\
            Carsten Brandt,\\
            Klimov Paul\\
            and\\
            the Yii community
        }

        \vspace*{\fill}

        \noindent
        \parbox{\textwidth}{\centering
            Copyright 2014 Yii Software LLC.
        }
    \end{titlepage}

    %Take a blank Page
    \pagebreak \thispagestyle{empty} \cleardoublepage

    \setcounter{tocdepth}{1}
    \tableofcontents

    \mainmatter

	\include{guide}

\end{document}
