Title not vertically centered in ConTeXt

As Henri Menke explained, ConTeXt does not provide a default mechanism for typesetting document titles. It is assumed that the writer (or a module writer, for modules used to typeset journal articles) is responsible for providing an appropriate mechanism.

To generate titles for my documents, I hook into the \startdocument and \stopdocument macros, which can be used to setup pdf metadata. For example, if you compile the following document:

\setupinteraction[state=start]
\startdocument
    [
      metadata:title=A sample document,
      metadata:author=Some author,
      metadata:keyword=ConTeXt example,
    ]


A sample document

\stopdocument

then pdfinfo filename.pdf gives:

Title:          A sample document
Keywords:       ConTeXt example
Author:         Some author
Creator:        LuaTeX + ConTeXt MkIV
Producer:       LuaTeX-1.0.0
CreationDate:   Thu Oct  6 20:28:56 2016
ModDate:        Thu Oct  6 20:28:56 2016
Tagged:         no
Form:           none
Pages:          1
Encrypted:      no
Page size:      595.276 x 841.89 pts (A4)
Page rot:       0
File size:      5964 bytes
Optimized:      no
PDF version:    1.7

Ideally, I like to use the same interface to generate the title page as well. To do so, I simply set the before key of \setupdocument to a setup that generates the title page. For example, to generate the titlepage that you want:

\startsetups document:title
  \startstandardmakeup[align=middle]
     {\ss\bfd\setupinterlinespace
       \documentvariable{metadata:title} \endgraf}
     \blank[big]
     {\ss\tfb\setupinterlinespace
       \documentvariable{metadata:author} \endgraf}
     \blank[medium]
     {\ss\tf\setupinterlinespace
       \documentvariable{metadata:date} \endgraf}
  \stopstandardmakeup
\stopsetups

\setupdocument[before=\setups{document:title}]

Then, the above \startdocument ... \stopdocument snippet will generate the title page and set the pdf metadata. Here is the complete minimal example:

\setupinteraction[state=start]

\startsetups document:title
  \startstandardmakeup[align=middle]
     {\ss\bfd\setupinterlinespace
       \documentvariable{metadata:title} \endgraf}
     \blank[big]
     {\ss\tfb\setupinterlinespace
       \documentvariable{metadata:author} \endgraf}
     \blank[medium]
     {\ss\tf\setupinterlinespace
       \documentvariable{metadata:date} \endgraf}
  \stopstandardmakeup
\stopsetups

\setupdocument[before=\setups{document:title}]

\startdocument
    [
      metadata:title=A sample document,
      metadata:author=Some author,
      metadata:keyword=ConTeXt example,
      metadata:date=\currentdate,
    ]


A sample document

\stopdocument

You are using the wrong command. The \title command creates an unnumbered chapter in ConTeXt (contrary to LaTeX where you set the document title this way).

To my knowledge, there is no predefined mechanism like \maketitle in ConTeXt, so you have to make up the titlepage on your own. To still have some kind of abstraction you can define styles to hold the visual modifiers to be applied to the text.

\definemakeup[titlepage][align=middle]

\definealternativestyle[titlestyle][\ss\bfd][]
\definealternativestyle[authorstyle][\ss\tfa][]

\starttext

\startfrontmatter
  \startmakeup[titlepage]
    \titlestyle{My very awesome title}
    \blank[big]
    \authorstyle{Author Name}
  \stopmakeup
\stopfrontmatter

\stoptext

enter image description here


Addendum: I still think there is no mechanism for document titles in the core but there is Wolfgang's third party module title.

\usemodule[title]

\starttext

\startfrontmatter
  \startstandardmakeup
    \placetitle
      [
        title={My very awesome title},
        author={Author Name},
        date=\currentdate,
      ]
  \stopstandardmakeup
\stopfrontmatter

\stoptext