# Project information
site_name: JSON for Modern C++
site_author: Niels Lohmann
site_url: https://json.nlohmann.me/

# Repository
repo_name: nlohmann/json
repo_url: https://github.com/nlohmann/json
edit_uri: edit/develop/doc/mkdocs/docs

# Copyright
copyright: Copyright &copy; 2013 - 2021 Niels Lohmann

# Configuration
theme:
  name: material
  language: en
  palette:
    primary: indigo
    accent: indigo
  font:
    text: Roboto
    code: Roboto Mono
  features:
    - tabs
    - instant

nav:
  - Home:
    - index.md
    - home/license.md
    - "Code of Conduct": home/code_of_conduct.md
    - "FAQ": home/faq.md
    - home/exceptions.md
    - home/releases.md
    - home/design_goals.md
    - home/sponsors.md
  - Features:
    - features/arbitrary_types.md
    - Binary Formats:
      - features/binary_formats/index.md
      - features/binary_formats/bson.md
      - features/binary_formats/cbor.md
      - features/binary_formats/messagepack.md
      - features/binary_formats/ubjson.md
    - features/binary_values.md
    - features/comments.md
    - Element Access:
      - features/element_access/index.md
      - features/element_access/unchecked_access.md
      - features/element_access/checked_access.md
      - features/element_access/default_value.md
    - features/iterators.md
    - features/json_pointer.md
    - features/json_patch.md
    - features/merge_patch.md
    - features/object_order.md
    - Parsing:
        - features/parsing/index.md
        - features/parsing/parse_exceptions.md
        - features/parsing/parser_callbacks.md
        - features/parsing/sax_interface.md
    - features/enum_conversion.md
    - features/macros.md
    - Types:
        - features/types/index.md
        - features/types/number_handling.md
  - Integration:
    - integration/index.md
    - integration/cmake.md
    - integration/package_managers.md
    - integration/pkg-config.md
  - Doxygen: doxygen/index.html
  - API:
      - basic_json:
        - api/basic_json/index.md
        - api/basic_json/accept.md
        - api/basic_json/array.md
        - api/basic_json/array_t.md
        - api/basic_json/at.md
        - api/basic_json/back.md
        - api/basic_json/basic_json.md
        - api/basic_json/~basic_json.md
        - api/basic_json/begin.md
        - api/basic_json/binary.md
        - api/basic_json/binary_t.md
        - api/basic_json/boolean_t.md
        - api/basic_json/cbegin.md
        - api/basic_json/cbor_tag_handler_t.md
        - api/basic_json/cend.md
        - api/basic_json/clear.md
        - api/basic_json/contains.md
        - api/basic_json/count.md
        - api/basic_json/crbegin.md
        - api/basic_json/crend.md
        - api/basic_json/diff.md
        - api/basic_json/dump.md
        - api/basic_json/emplace.md
        - api/basic_json/emplace_back.md
        - api/basic_json/empty.md
        - api/basic_json/end.md
        - api/basic_json/erase.md
        - api/basic_json/error_handler_t.md
        - api/basic_json/exception.md
        - api/basic_json/find.md
        - api/basic_json/flatten.md
        - api/basic_json/from_bson.md
        - api/basic_json/from_cbor.md
        - api/basic_json/from_msgpack.md
        - api/basic_json/from_ubjson.md
        - api/basic_json/front.md
        - api/basic_json/get.md
        - api/basic_json/get_allocator.md
        - api/basic_json/get_binary.md
        - api/basic_json/get_ptr.md
        - api/basic_json/get_ref.md
        - api/basic_json/get_to.md
        - api/basic_json/input_format_t.md
        - api/basic_json/insert.md
        - api/basic_json/invalid_iterator.md
        - api/basic_json/is_array.md
        - api/basic_json/is_binary.md
        - api/basic_json/is_boolean.md
        - api/basic_json/is_discarded.md
        - api/basic_json/is_null.md
        - api/basic_json/is_number.md
        - api/basic_json/is_number_float.md
        - api/basic_json/is_number_integer.md
        - api/basic_json/is_number_unsigned.md
        - api/basic_json/is_object.md
        - api/basic_json/is_primitive.md
        - api/basic_json/is_string.md
        - api/basic_json/is_structured.md
        - api/basic_json/items.md
        - api/basic_json/json_serializer.md
        - api/basic_json/max_size.md
        - api/basic_json/meta.md
        - api/basic_json/merge_patch.md
        - api/basic_json/number_float_t.md
        - api/basic_json/number_integer_t.md
        - api/basic_json/number_unsigned_t.md
        - api/basic_json/object.md
        - api/basic_json/object_comparator_t.md
        - api/basic_json/object_t.md
        - api/basic_json/operator_ValueType.md
        - api/basic_json/operator_value_t.md
        - api/basic_json/operator[].md
        - api/basic_json/operator=.md
        - api/basic_json/operator_eq.md
        - api/basic_json/operator_ne.md
        - api/basic_json/operator_lt.md
        - api/basic_json/operator_le.md
        - api/basic_json/operator_gt.md
        - api/basic_json/operator_ge.md
        - api/basic_json/operator+=.md
        - api/basic_json/operator_literal_json.md
        - api/basic_json/operator_literal_json_pointer.md
        - api/basic_json/out_of_range.md
        - api/basic_json/other_error.md
        - api/basic_json/parse.md
        - api/basic_json/parse_error.md
        - api/basic_json/parse_event_t.md
        - api/basic_json/parser_callback_t.md
        - api/basic_json/patch.md
        - api/basic_json/push_back.md
        - api/basic_json/rbegin.md
        - api/basic_json/rend.md
        - api/basic_json/sax_parse.md
        - api/basic_json/size.md
        - api/basic_json/string_t.md
        - api/basic_json/to_bson.md
        - api/basic_json/to_cbor.md
        - api/basic_json/to_msgpack.md
        - api/basic_json/to_ubjson.md
        - api/basic_json/type.md
        - api/basic_json/type_error.md
        - api/basic_json/type_name.md
        - api/basic_json/unflatten.md
        - api/basic_json/update.md
        - api/basic_json/value.md
        - api/basic_json/value_t.md
      - api/adl_serializer.md
      - api/json.md
      - api/json_pointer.md
      - api/ordered_map.md
      - api/ordered_json.md

# Extras
extra:
  social:
    - icon: fontawesome/brands/github
      link: https://github.com/nlohmann
    - icon: fontawesome/brands/twitter
      link: https://twitter.com/nlohmann
    - icon: fontawesome/brands/linkedin
      link: https://www.linkedin.com/in/nielslohmann/
    - icon: fontawesome/brands/xing
      link: https://www.xing.com/profile/Niels_Lohmann
    - icon: fontawesome/brands/paypal
      link: https://www.paypal.me/nlohmann

# Extensions
markdown_extensions:
  - admonition
  - def_list
  - codehilite:
      guess_lang: false
  - toc:
      permalink: true
  - pymdownx.arithmatex
  - pymdownx.betterem:
      smart_enable: all
  - pymdownx.caret
  - pymdownx.critic
  - pymdownx.details
  - pymdownx.emoji:
      emoji_index: !!python/name:materialx.emoji.twemoji
      emoji_generator: !!python/name:materialx.emoji.to_svg
  - pymdownx.inlinehilite
  - pymdownx.magiclink
  - pymdownx.mark
  #- pymdownx.smartsymbols
  - pymdownx.superfences
  - pymdownx.tasklist:
      custom_checkbox: true
  - pymdownx.tabbed
  - pymdownx.tilde
  - pymdownx.snippets:
      base_path: docs
      check_paths: true
  - plantuml_markdown:
      format: svg

plugins:
    - search:
        separator: '[\s\-\.]+'
    - mkdocs-simple-hooks:
        hooks:
          on_post_build: "docs.hooks:copy_doxygen"
    - minify:
        minify_html: true

extra_javascript:
  - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML
