#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
font:
  catalog:
    #OpenSans
    OpenSans:
      normal: OpenSans-Regular.ttf
      italic: OpenSans-Italic.ttf
      bold: OpenSans-Bold.ttf
      bold_italic: OpenSans-BoldItalic.ttf
    #DroidSerif
    DroidSerif:
      normal: DroidSerif-Regular.ttf
      italic: DroidSerif-Italic.ttf
      bold: DroidSerif-Bold.ttf
      bold_italic: DroidSerif-BoldItalic.ttf

page:
  background_color: #ffffff
  layout: portrait
  margin: [0.5in, 0.67in, 0.67in, 0.67in]
  # margin_inner and margin_outer keys are used for recto/verso print margins when media=prepress
  margin_inner: 0.75in
  margin_outer: 0.59in
  size: A4
base:
  align: justify
  # color as hex string (leading # is optional)
  font_color: #333333
  # color as RGB array
  #font_color: [51, 51, 51]
  # color as CMYK array (approximated)
  #font_color: [0, 0, 0, 0.92]
  #font_color: [0, 0, 0, 92%]
  font_family: DroidSerif
  # choose one of these font_size/line_height_length combinations
  #font_size: 14
  #line_height_length: 20
  #font_size: 11.25
  #line_height_length: 18
  #font_size: 11.2
  #line_height_length: 16
  font_size: 10
  line_height_length: 15
  #font_size: 11.25
  #line_height_length: 18
  line_height: $base_line_height_length / $base_font_size
  font_size_large: round($base_font_size * 1.25)
  font_size_small: round($base_font_size * 0.85)
  font_size_min: $base_font_size * 0.75
  font_style: normal
  border_color: #cccccc
  border_radius: 0
  border_width: 0.5
# FIXME vertical_rhythm is weird; we should think in terms of ems
#vertical_rhythm: $base_line_height_length * 2 / 3
# correct line height for Noto Serif metrics (comes with built-in line height)
vertical_rhythm: $base_line_height_length
horizontal_rhythm: $base_line_height_length
# QUESTION should vertical_spacing be block_spacing instead?
vertical_spacing: $vertical_rhythm
link:
  font_color: #585ac2
# literal is currently used for inline monospaced in prose and table cells
literal:
  font_color: #585ac2
  font_family: DroidSerif
menu_caret_content: " <font size=\"1.15em\"><color rgb=\"b12146\">\u203a</color></font> "
heading:
  align: left
  font_color: #303284
  #font_color: $base_font_color
  font_family: OpenSans
  font_style: bold
  text_transform: uppercase
  # h1 is used for part titles (book doctype only)
  h1_font_size: floor($base_font_size * 2.6)
  # h2 is used for chapter titles (book doctype only)
  h2_font_size: floor($base_font_size * 2.15)
  h3_font_size: round($base_font_size * 1.7)
  h4_font_size: $base_font_size_large
  h5_font_size: $base_font_size
  h6_font_size: $base_font_size_small
  #line_height: 1.4
  # correct line height for Noto Serif metrics (comes with built-in line height)
  line_height: 1
  margin_top: $vertical_rhythm * 0.4
  margin_bottom: $vertical_rhythm * 0.9
title_page:
  align: right
  logo:
    top: 10%
    align: right
    image: image:images/asf_logo_url.png[pdfwidth=35%,align=right]
  title:
    top: 55%
    font_size: $heading_h1_font_size
    font_family: $heading_font_family
    font_style: bold
    text_transform: uppercase
    font_color: $heading_font_color
    line_height: 0.9
  subtitle:
    font_size: $heading_h3_font_size
    font_family: $heading_font_family
    font_style: bold_italic
    font_color: $heading_font_color
    line_height: 1
  authors:
    margin_top: $base_font_size * 1.25
    font_size: $base_font_size_large
    font_color: $heading_font_color
    font_family: $heading_font_family
  revision:
    margin_top: $base_font_size * 1.25
block:
  margin_top: 0
  margin_bottom: $vertical_rhythm
caption:
  align: left
  font_size: $base_font_size * 0.95
  font_style: italic
  # FIXME perhaps set line_height instead of / in addition to margins?
  margin_inside: $vertical_rhythm / 3
  #margin_inside: $vertical_rhythm / 4
  margin_outside: 0
lead:
  font_size: $base_font_size_large
  line_height: 1.4
abstract:
  font_color: #5c6266
  font_size: $lead_font_size
  line_height: $lead_line_height
  font_style: italic
  first_line_font_style: bold
  title:
    align: center
    font_color: $heading_font_color
    font_family: $heading_font_family
    font_size: $heading_h4_font_size
    font_style: $heading_font_style
admonition:
  column_rule_color: $base_border_color
  column_rule_width: $base_border_width
  padding: [0, $horizontal_rhythm, 0, $horizontal_rhythm]
  #icon:
  #  tip:
  #    name: fa-lightbulb-o
  #    stroke_color: 111111
  #    size: 24
  label:
    text_transform: uppercase
    font_style: bold
blockquote:
  font_color: $base_font_color
  font_size: $base_font_size_large
  border_color: $base_border_color
  border_width: 5
  # FIXME disable negative padding bottom once margin collapsing is implemented
  padding: [0, $horizontal_rhythm, $block_margin_bottom * -0.75, $horizontal_rhythm + $blockquote_border_width / 2]
  cite_font_size: $base_font_size_small
  cite_font_color: #999999
# code is used for source blocks (perhaps change to source or listing?)
code:
  font_color: #5c4cdb
  font_family: $literal_font_family
  font_size: ceil($base_font_size)
  padding: $code_font_size
  line_height: 1.25
  # line_gap is an experimental property to control how a background color is applied to an inline block element
  line_gap: 3.8
  background_color: #f5f5f5
  border_color: #f5f5f5
  border_radius: $base_border_radius
  border_width: 0.75
conum:
  font_family: OpenSans
  font_color: $literal_font_color
  font_size: $base_font_size
  line_height: 4 / 3
example:
  border_color: #f5f5f5
  border_radius: $base_border_radius
  border_width: 0.75
  background_color: #f5f5f5
  # FIXME reenable padding bottom once margin collapsing is implemented
  padding: [$vertical_rhythm, $horizontal_rhythm, 0, $horizontal_rhythm]
image:
  align: left
prose:
  margin_top: $block_margin_top
  margin_bottom: $block_margin_bottom
sidebar:
  background_color: #eeeeee
  border_color: #e1e1e1
  border_radius: $base_border_radius
  border_width: $base_border_width
  # FIXME reenable padding bottom once margin collapsing is implemented
  padding: [$vertical_rhythm, $vertical_rhythm * 1.25, 0, $vertical_rhythm * 1.25]
  title:
    align: center
    font_color: $heading_font_color
    font_family: $heading_font_family
    font_size: $heading_h4_font_size
    font_style: $heading_font_style
thematic_break:
  border_color: $base_border_color
  border_style: solid
  border_width: $base_border_width
  margin_top: $vertical_rhythm * 0.5
  margin_bottom: $vertical_rhythm * 1.5
description_list:
  term_font_style: bold
  term_spacing: $vertical_rhythm / 4
  description_indent: $horizontal_rhythm * 1.25
outline_list:
  indent: $horizontal_rhythm * 1.5
  #marker_font_color: 404040
  # NOTE outline_list_item_spacing applies to list items that do not have complex content
  item_spacing: $vertical_rhythm / 2
table:
  background_color: #ffffff
  font_color: $base_font_color
  #head_background_color: <hex value>
  head_font_color: $base_font_color
  head_font_style: bold
  #body_background_color: <hex value>
  body_stripe_background_color: #f9f9f9
  foot_background_color: #f5f5f5
  border_color: #dddddd
  border_width: $base_border_width
  cell_padding: 3
toc:
  indent: $horizontal_rhythm
  line_height: 1.4
  dot_leader:
    #content: ". "
    font_color: #a9a9a9
    #levels: 2 3
# NOTE in addition to footer, header is also supported
footer:
  font_size: $base_font_size_small
  # NOTE if background_color is set, background and border will span width of page
  border_color: #dddddd
  border_width: 0.25
  height: $base_line_height_length * 2.5
  line_height: 1
  padding: [$base_line_height_length / 2, 1, 0, 1]
  vertical_align: top
  #image_vertical_align: <alignment> or <number>
  # additional attributes for content:
  # * {page-count}
  # * {page-number}
  # * {document-title}
  # * {document-subtitle}
  # * {chapter-title}
  # * {section-title}
  # * {section-or-chapter-title}
  recto:
    #columns: "<50% =0% >50%"
    right:
      #content: '{page-number}'
      #content: '{section-or-chapter-title} - {page-number}'
      content: '{document-title} - {page-number}'
    #center:
    #  content: '{page-number}'
  verso:
    #columns: $footer_recto_columns
    left:
      content: $footer_recto_right_content
      #content: '{page-number} - {chapter-title}'
    #center:
#  content: '{page-number}'