baseURL = "/"
title = "Apache SkyWalking"

enableRobotsTXT = true

# Hugo allows theme composition (and inheritance). The precedence is from left to right.
theme = ["docsy"]

# Will give values to .Lastmod etc.
enableGitInfo = true

[frontmatter]
lastmod = [":git", "date", "lastmod", ":default"]
# Language settings
contentDir = "content"
defaultContentLanguage = "en"
defaultContentLanguageInSubdir = false
# Useful when translating.
enableMissingTranslationPlaceholders = true

# disableKinds = ["taxonomy", "taxonomyTerm"]
[taxonomies]
  tag = "tags"
  zh-tag = "zh_tags"

# Highlighting config
#pygmentsCodeFences = true
#pygmentsUseClasses = false
# Use the new Chroma Go highlighter in Hugo.
#pygmentsUseClassic = false
#pygmentsOptions = "linenos=table"
# See https://help.farbox.com/pygments.html
#pygmentsStyle = "tango"

# Configure how URLs look like per section.
#[permalinks]
#blog = "/:section/:year/:filename/"

## Configuration for BlackFriday markdown parser: https://github.com/russross/blackfriday
[blackfriday]
plainIDAnchors = true
hrefTargetBlank = true
angledQuotes = false
latexDashes = true

# Image processing configuration.
[imaging]
resampleFilter = "CatmullRom"
quality = 75
anchor = "smart"

[services]
[services.googleAnalytics]
# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback].
id = "UA-178891182-1"

[markup]
  [markup.goldmark]
    [markup.goldmark.renderer]
      unsafe = true
  [markup.tableOfContents]
    endLevel = 3
    startLevel = 1
  [markup.highlight]
    style = "github"

[outputs]
  home = ["HTML", "RSS", "JSON"]
  section = ["HTML"]

[outputFormats]
    [outputFormats.RSS]
        baseName = "feed"
    [outputFormats.JSON]
        mediatype = "application/json"
        baseName = "searchindex"
        isPlainText = true

# Everything below this are Site Params

[params]
copyright = "The Apache Software Foundation"
#qrcode = ""
#privacy_policy = "https://policies.google.com/privacy"

# First one is picked as the Twitter card image if not set on page.
# images = ["images/project-illustration.png"]

# Menu title if your navbar has a versions selector to access old versions of your site.
# This menu appears only if you have at least one [params.versions] set.
version_menu = "Releases"

# Repository configuration (URLs for in-page links to opening issues and suggesting changes)
github_repo = "https://github.com/rootsongjc/skywalking-website"
# An optional link to a related project repo. For example, the sibling repository where your product code lives.
github_project_repo = "https://github.com/apache/skywalking"

# Specify a value here if your content directory is not in your repo's root directory
# github_subdir = ""

# Google Custom Search Engine ID. Remove or comment out to disable search.
#gcs_engine_id = "012737790962522169780:7puelwzrjok"

# Enable Algolia DocSearch
algolia_docsearch = true

# Enable Lunr.js offline search
offlineSearch = false

# User interface configuration
[params.ui]
# Enable to show the side bar menu in its compact state.
sidebar_menu_compact = true
#  Set to true to disable breadcrumb navigation.
breadcrumb_disable = false
#  Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled)
sidebar_search_disable = false
#  Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top nav bar
navbar_logo = true
# Set to true to disable the About link in the site footer
footer_about_disable = true

# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events.
# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set.
# If you want this feature, but occasionally need to remove the "Feedback" section from a single page,
# add "hide_feedback: true" to the page's front matter.
[params.ui.feedback]
enable = false
# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful).
yes = 'Glad to hear it! Please <a href="https://github.com/apache/skywalking-website/new">tell us how we can improve</a>.'
no = 'Sorry to hear that. Please <a href="https://github.com/apache/skywalking-website/issues/new/">tell us how we can improve</a>.'

# Language configuration

title = "Apache SkyWalking"
description = "Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, K8s, Mesos) architectures."
languageName ="English"
time_format_blog = "Jan 2, 2006"
weight = 1

[[menu.main]]
    name = "Projects and Docs"
    weight = 10
    url = "/docs"

[[menu.main]]
    name = "Events"
    weight = 20
    url = "events"

[[menu.main]]
    name = "Blogs"
    weight = 30
    url = "/blog"

[[menu.main]]
    name = "Downloads"
    weight = 40
    url = "/downloads"

[[menu.main]]
    name = "Team"
    weight = 50
    url = "/team"

[[menu.main]]
    name = "Users"
    weight = 50
    url = "/users"

[[menu.main]]
    name = "Links"
    weight = 70

[[menu.main]]
    parent = "Links"
    name = "Apache Software Foundation"
    weight = 1
    url = "http://www.apache.org/"

[[menu.main]]
    parent = "Links"
    name = "GitHub Issue Tracker"
    weight = 2
    url = "https://github.com/apache/skywalking/issues"

[[menu.main]]
    parent = "Links"
    name = "Discussion"
    weight = 3
    url = "https://github.com/apache/skywalking/discussions"

[[menu.main]]
    parent = "Links"
    name = "Dev Mailing List"
    weight = 4
    url = "https://lists.apache.org/list.html?dev@skywalking.apache.org"

[[menu.main]]
    parent = "Links"
    name = "WIKI"
    weight = 5
    url = "https://cwiki.apache.org/confluence/display/SKYWALKING/Home"

[[menu.main]]
    parent = "Links"
    name = "License"
    weight = 6
    url = "http://www.apache.org/licenses/"

[[menu.main]]
    parent = "Links"
    name = "Apache Events"
    weight = 7
    url = "http://www.apache.org/events/current-event"

[[menu.main]]
    parent = "Links"
    name = "Security"
    weight = 8
    url = "http://www.apache.org/security/"

[[menu.main]]
    parent = "Links"
    name = "Sponsor and Donate"
    weight = 9
    url = "http://www.apache.org/foundation/sponsorship.html"

[[menu.main]]
    parent = "Links"
    name = "Thanks"
    weight = 10
    url = "http://www.apache.org/foundation/thanks.html"

[[menu.main]]
    parent = "Links"
    name = "Privacy"
    weight = 11
    url = "https://apache.org/foundation/policies/privacy.html"

[params.links]
# End user relevant links. These will show up on left side of footer and in the community page if you have one.
[[params.links.user]]
	name ="Twitter"
	url = "https://twitter.com/asfskywalking"
	icon = "iconfont icon-twitter"
        desc = "Follow us on Twitter to get the latest news!"
[[params.links.user]]
	name ="Slack"
	url = "http://s.apache.org/slack-invite"
	icon = "iconfont icon-slack"
        desc = "Join us!"
# Developer relevant links. These will show up on right side of footer and in the community page if you have one.
[[params.links.user]]
	name ="Mailing list"
	url = "https://lists.apache.org/list.html?dev@skywalking.apache.org"
	icon = "iconfont icon-email"
        desc = "Discussion and help from your fellow users"
# Developer relevant links. These will show up on right side of footer and in the community page if you have one.
[[params.links.user]]
	name = "GitHub"
	url = "https://github.com/apache/skywalking"
	icon = "iconfont icon-github"
        desc = "Development takes place here!"

[sitemap]
  changefreq = "daily"
  filename = "sitemap.xml"
  priority = 0.5
