# ============================================================================
#
# The configuration produced by default is meant to highlight the features
# that Zensical provides and to serve as a starting point for your own
# projects.
#
# ============================================================================

[project]


# repo_url = "https://bali.krystl.org/aja/up"
# repo_name = "Contribute"
# The site_name is shown in the page header and the browser window title
#
# Read more: https://zensical.org/docs/setup/basics/#site_name
site_name = "Tree of Ascension Docs"

# The site_description is included in the HTML head and should contain a
# meaningful description of the site content for use by search engines.
#
# Read more: https://zensical.org/docs/setup/basics/#site_description
site_description = "A living guide for awakening consciousness — practices, teachings, and community for the journey upward"

# The site_author attribute. This is used in the HTML head element.
#
# Read more: https://zensical.org/docs/setup/basics/#site_author
site_author = "aja"

# The site_url is the canonical URL for your site. When building online
# documentation you should set this.
# Read more: https://zensical.org/docs/setup/basics/#site_url
site_url = "https://tree.ad/"

# The copyright notice appears in the page footer and can contain an HTML
# fragment.
#
# Read more: https://zensical.org/docs/setup/basics/#copyright
copyright = """
Copyright &copy; 2026 The authors
"""

# Zensical supports both implicit navigation and explicitly defined navigation.
# If you decide not to define a navigation here then Zensical will simply
# derive the navigation structure from the directory structure of your
# "docs_dir". The definition below demonstrates how a navigation structure
# can be defined using TOML syntax.
#
# Read more: https://zensical.org/docs/setup/navigation/
nav = [
  { "Home" = "index.md" },
  { "Practices" = [
    "practices/index.md",
    "practices/daily-sadhana.md",
    "practices/digital-wellness.md",
    "practices/grounding-in-nature.md",
    "practices/nourishing-the-body.md",
    "practices/spiritual-hygiene.md",
  ] },
  { "Strategies" = [
    "strategies/index.md",
    "strategies/collective-awakening.md",
    "strategies/community-sovereignty.md",
    "strategies/digital-sovereignty.md",
    "strategies/finding-purpose.md",
  ] },
  { "Contributing" = "contributing/index.md" },
]

# With the "extra_css" option you can add your own CSS styling to customize
# your Zensical project according to your needs. You can add any number of
# CSS files.
#
# The path provided should be relative to the "docs_dir".
#
# Read more: https://zensical.org/docs/customization/#additional-css
#
extra_css = ["stylesheets/extra.css"]

# With the `extra_javascript` option you can add your own JavaScript to your
# project to customize the behavior according to your needs.
#
# The path provided should be relative to the "docs_dir".
#
# Read more: https://zensical.org/docs/customization/#additional-javascript
extra_javascript = ["javascripts/extra.js"]

# ----------------------------------------------------------------------------
# Section for configuring theme options
# ----------------------------------------------------------------------------
[project.theme]

# change this to "classic" to use the traditional Material for MkDocs look.
#variant = "classic"

# Zensical allows you to override specific blocks, partials, or whole
# templates as well as to define your own templates. To do this, uncomment
# the custom_dir setting below and set it to a directory in which you
# keep your template overrides.
#
# Read more:
# - https://zensical.org/docs/customization/#extending-the-theme
#
custom_dir = "overrides"

# With the "favicon" option you can set your own image to use as the icon
# browsers will use in the browser title bar or tab bar. The path provided
# must be relative to the "docs_dir".
#
# Read more:
# - https://zensical.org/docs/setup/logo-and-icons/#favicon
# - https://developer.mozilla.org/en-US/docs/Glossary/Favicon
#
#favicon = "images/favicon.png"

# Zensical supports more than 60 different languages. This means that the
# labels and tooltips that Zensical's templates produce are translated.
# The "language" option allows you to set the language used. This language
# is also indicated in the HTML head element to help with accessibility
# and guide search engines and translation tools.
#
# The default language is "en" (English). It is possible to create
# sites with multiple languages and configure a language selector. See
# the documentation for details.
#
# Read more:
# - https://zensical.org/docs/setup/language/
#
language = "en"

# Zensical provides a number of feature toggles that change the behavior
# of the documentation site.
features = [
  # Zensical includes an announcement bar. This feature allows users to
  # dismiss it when they have read the announcement.
  # https://zensical.org/docs/setup/header/#announcement-bar
  "announce.dismiss",

  # If yeu have a repository configured and turn on this feature, Zensical
  # will generate an edit button for the page. This works for common
  # repository hosting services.
  # https://zensical.org/docs/setup/repository/#content-actions
  "content.action.edit",

  # If you have a repository configured and turn on this feature, Zensical
  # will generate a button that allows the user to view the Markdown
  # code for the current page.
  # https://zensical.org/docs/setup/repository/#content-actions
  "content.action.view",

  # Code annotations allow you to add an icon with a tooltip to your
  # code blocks to provide explanations at crucial points.
  # https://zensical.org/docs/authoring/code-blocks/#code-annotations
  "content.code.annotate",

  # This feature turns on a button in code blocks that allow users to
  # copy the content to their clipboard without first selecting it.
  # https://zensical.org/docs/authoring/code-blocks/#code-copy-button
  "content.code.copy",

  # Code blocks can include a button to allow for the selection of line
  # ranges by the user.
  # https://zensical.org/docs/authoring/code-blocks/#code-selection-button
  "content.code.select",

  # Zensical can render footnotes as inline tooltips, so the user can read
  # the footnote without leaving the context of the document.
  # https://zensical.org/docs/authoring/footnotes/#footnote-tooltips
  "content.footnote.tooltips",

  # If you have many content tabs that have the same titles (e.g., "Python",
  # "JavaScript", "Cobol"), this feature causes all of them to switch to
  # at the same time when the user chooses their language in one.
  # https://zensical.org/docs/authoring/content-tabs/#linked-content-tabs
  "content.tabs.link",

  # With this feature enabled users can add tooltips to links that will be
  # displayed when the mouse pointer hovers the link.
  # https://zensical.org/docs/authoring/tooltips/#improved-tooltips
  "content.tooltips",

  # With this feature enabled, Zensical will automatically hide parts
  # of the header when the user scrolls past a certain point.
  # https://zensical.org/docs/setup/header/#automatic-hiding
  # "header.autohide",

  # Turn on this feature to expand all collapsible sections in the
  # navigation sidebar by default.
  # https://zensical.org/docs/setup/navigation/#navigation-expansion
  # "navigation.expand",

  # This feature turns on navigation elements in the footer that allow the
  # user to navigate to a next or previous page.
  # https://zensical.org/docs/setup/footer/#navigation
  "navigation.footer",

  # When section index pages are enabled, documents can be directly attached
  # to sections, which is particularly useful for providing overview pages.
  # https://zensical.org/docs/setup/navigation/#section-index-pages
  "navigation.indexes",

  # When instant navigation is enabled, clicks on all internal links will be
  # intercepted and dispatched via XHR without fully reloading the page.
  # https://zensical.org/docs/setup/navigation/#instant-navigation
  "navigation.instant",

  # With instant prefetching, your site will start to fetch a page once the
  # user hovers over a link. This will reduce the perceived loading time
  # for the user.
  # https://zensical.org/docs/setup/navigation/#instant-prefetching
  "navigation.instant.prefetch",

  # In order to provide a better user experience on slow connections when
  # using instant navigation, a progress indicator can be enabled.
  # https://zensical.org/docs/setup/navigation/#progress-indicator
  #"navigation.instant.progress",

  # When navigation paths are activated, a breadcrumb navigation is rendered
  # above the title of each page
  # https://zensical.org/docs/setup/navigation/#navigation-path
  "navigation.path",

  # When pruning is enabled, only the visible navigation items are included
  # in the rendered HTML, reducing the size of the built site by 33% or more.
  # https://zensical.org/docs/setup/navigation/#navigation-pruning
  #"navigation.prune",

  # When sections are enabled, top-level sections are rendered as groups in
  # the sidebar for viewports above 1220px, but remain as-is on mobile.
  # https://zensical.org/docs/setup/navigation/#navigation-sections
  "navigation.sections",

  # When tabs are enabled, top-level sections are rendered in a menu layer
  # below the header for viewports above 1220px, but remain as-is on mobile.
  # https://zensical.org/docs/setup/navigation/#navigation-tabs
  #"navigation.tabs",

  # When sticky tabs are enabled, navigation tabs will lock below the header
  # and always remain visible when scrolling down.
  # https://zensical.org/docs/setup/navigation/#sticky-navigation-tabs
  #"navigation.tabs.sticky",

  # A back-to-top button can be shown when the user, after scrolling down,
  # starts to scroll up again.
  # https://zensical.org/docs/setup/navigation/#back-to-top-button
  "navigation.top",

  # When anchor tracking is enabled, the URL in the address bar is
  # automatically updated with the active anchor as highlighted in the table
  # of contents.
  # https://zensical.org/docs/setup/navigation/#anchor-tracking
  "navigation.tracking",

  # When search highlighting is enabled and a user clicks on a search result,
  # Zensical will highlight all occurrences after following the link.
  # https://zensical.org/docs/setup/search/#search-highlighting
  "search.highlight",

  # When anchor following for the table of contents is enabled, the sidebar
  # is automatically scrolled so that the active anchor is always visible.
  # https://zensical.org/docs/setup/navigation/#anchor-following
  # "toc.follow",

  # When navigation integration for the table of contents is enabled, it is
  # always rendered as part of the navigation sidebar on the left.
  # https://zensical.org/docs/setup/navigation/#navigation-integration
  #"toc.integrate",
]

# ----------------------------------------------------------------------------
# You can configure your own logo to be shown in the header using the "logo"
# option in the "theme" subsection. The logo must be a relative path to a file
# in your "docs_dir", e.g., to use `docs/assets/logo.png` you would set:
# ----------------------------------------------------------------------------
logo = "assets/images/tree-ad-logo.svg"

# ----------------------------------------------------------------------------
# If you don't have a dedicated project logo, you can use a built-in icon from
# the icon sets shipped in Zensical. Please note that the setting lives in a
# different subsection, and that the above take precedence over the icon.
#
# Read more:
# - https://zensical.org/docs/setup/logo-and-icons
# - https://github.com/zensical/ui/tree/master/dist/.icons
# ----------------------------------------------------------------------------
#[project.theme.icon]
#logo = "lucide/smile"

# ----------------------------------------------------------------------------
# In the "font" subsection you can configure the fonts used. By default, fonts
# are loaded from Google Fonts, giving you a wide range of choices from a set
# of suitably licensed fonts. There are options for a normal text font and for
# a monospaced font used in code blocks.
# ----------------------------------------------------------------------------
#[project.theme.font]
#text = "Inter"
#code = "Jetbrains Mono"

# ----------------------------------------------------------------------------
# In the "palette" subsection you can configure options for the color scheme.
# You can configure different color schemes, e.g., to turn on dark mode,
# that the user can switch between. Each color scheme can be further
# customized.
#
# Read more:
# - https://zensical.org/docs/setup/colors/
# ----------------------------------------------------------------------------
[[project.theme.palette]]
scheme = "default"
primary = "green"
accent = "teal"
toggle.icon = "lucide/sun"
toggle.name = "Switch to dark mode"

[[project.theme.palette]]
scheme = "slate"
primary = "green"
accent = "teal"
toggle.icon = "lucide/moon"
toggle.name = "Switch to light mode"

# ----------------------------------------------------------------------------
# The "extra" section contains miscellaneous settings.
# ----------------------------------------------------------------------------
[project.extra.cusdis]
host = "https://cusdis.krystl.org"
app_id = "d9ab4b66-d5f1-4514-a475-1a824f69530f"
lang = "en"

# ----------------------------------------------------------------------------
# Action Points — interactive checklist feature flag.
# Set enabled = false to disable the ENTIRE feature (localStorage progress,
# nav badges, heading pills, confetti, and all per-click JS). Checkboxes then
# render as Material's default read-only tasklist. The flag is exposed to the
# client via overrides/main.html as window.TOA_ACTION_POINTS_ENABLED.
# ----------------------------------------------------------------------------
[project.extra.action_points]
enabled = true

# ----------------------------------------------------------------------------
# Keep In Touch — subscribe widget (rendered above comments on every page).
# Captures a visitor's WhatsApp number and/or email (and later their name)
# and POSTs them as JSON to `endpoint`. Set enabled = false to hide the
# widget entirely. The endpoint is exposed to client JS as
# window.TOA_KEEP_IN_TOUCH_ENDPOINT via overrides/main.html and as the
# data-endpoint attribute on the widget (overrides/partials/keep-in-touch.html).
# ----------------------------------------------------------------------------
[project.extra.keep_in_touch]
enabled = true
endpoint = "https://subscribe.krystl.org/api/subscribe"


#[[project.extra.social]]
#icon = "fontawesome/brands/github"
#link = "https://github.com/user/repo"

# ----------------------------------------------------------------------------
# In this section you can configure the Markdown extensions that are used when
# rendering your documentation. We enable the most useful extensions by default,
# but you can customize this list to your needs.
#
# Read more:
# - https://zensical.org/docs/setup/extensions/
# ----------------------------------------------------------------------------
[project.markdown_extensions.abbr]
[project.markdown_extensions.admonition]
[project.markdown_extensions.attr_list]
[project.markdown_extensions.def_list]
[project.markdown_extensions.footnotes]
[project.markdown_extensions.md_in_html]
[project.markdown_extensions.toc]
permalink = true
[project.markdown_extensions."_extensions.wikilinks:WikilinksExtension"]
[project.markdown_extensions.pymdownx.arithmatex]
generic = true
[project.markdown_extensions.pymdownx.betterem]
[project.markdown_extensions.pymdownx.caret]
[project.markdown_extensions.pymdownx.details]
[project.markdown_extensions.pymdownx.emoji]
emoji_generator = "zensical.extensions.emoji.to_svg"
emoji_index = "zensical.extensions.emoji.twemoji"
[project.markdown_extensions.pymdownx.highlight]
anchor_linenums = true
line_spans = "__span"
pygments_lang_class = true
[project.markdown_extensions.pymdownx.inlinehilite]
[project.markdown_extensions.pymdownx.keys]
[project.markdown_extensions.pymdownx.magiclink]
[project.markdown_extensions.pymdownx.mark]
[project.markdown_extensions.pymdownx.smartsymbols]
[project.markdown_extensions.pymdownx.superfences]
custom_fences = [
  { name = "mermaid", class = "mermaid", format = "pymdownx.superfences.fence_code_format" },
]
[project.markdown_extensions.pymdownx.tabbed]
alternate_style = true
combine_header_slug = true
[project.markdown_extensions.pymdownx.tasklist]
custom_checkbox = true
[project.markdown_extensions.pymdownx.tilde]
