Skip to content

Repository files navigation

Apache SkyWalking Website

This is the repository including all source codes of https://skywalking.apache.org.

Preview and generate static files

This site was compiled using Hugo.

  1. Install Hugo
  2. Pull this repo into your local environment, and run npm install to install the required libraries (without pulling the project documentation).
  3. Run hugo server at the root folder, you can see the site preview from http://localhost:1313
  4. To generate the static website, run npm run build for the whole website. Run npm run build-with-docs if you want to build the project documentations.

Contributing

This guide will guide you on how to contribute to the site.

This site uses Hugo to organize and manage content with the following sections are available:

Homepage

Located at content/_index.html

Projects and Documentation

The data of documentation link is located in data/docs.yml and formated as YAML.

Search Engine

Update the config file everytime, so that a new documentation version will be available searched by algolia.

AI Docs Q&A

Release managers of SkyWalking projects should use the Kapa.ai dashboard to sync and ingest new documentation/blogs/FAQs if needed, or set up automatic refresh (crawling) of the Q&A sources.

If you need access to the dashboard, contact @superskyyy for an invitation.

Event

Located at content/events. If you don't want to create a new blog, you need to create a new subdirectory under this directory. Here is a sample event below.

---
title: This is a titledate: 2020-04-28author: Authordescription: This is description.# endTime: 2021-04-24T23:59:59Z# startTime: 2021-04-22T00:00:00Z# buttonText: Go# img: /images/skywalking_200x200.png
---
Content

If you want to display the summary in the popover in the lower right corner, you need to configure a parameter endTime. The parameters are as follows.

ParameterDescriptionRequiredDefault
endTimeEnd timetrue-
startTimeStart timefalseCurrent time
buttonTextButton textfalseRead more
imgThe illustrationfalse/images/skywalking_200x200.png
posterThe posterfalse-

Community Calendar

Located at data/talks.yml, rendered at /events/calendar/. This is where conference talks, meetups and summits go — the release timeline at /events/ is driven by content/events instead, and the two do not mix.

To add or update a talk, edit data/talks.yml and open a pull request. You can do it entirely in the browser: use the Add your talk link on the calendar page, or the GitHub Edit button on the file. No local Hugo setup needed.

events:
- event: Community Over Code Asia 2026intro: >- One or two sentences on what this conference is, for readers who have never heard of it.start: "2026-08-07"end: "2026-08-09"# omit for a single-day eventlocation: Beijing, China # or "Online"venue: Mountain Yang Hall # optionalurl: https://asia.communityovercode.orgrecap: /zh/2023-08-20-coc-asia-2023/ # optional, a recap post on this sitetalks:
- title: "Observing LLM Applications with SkyWalking 10.4"speaker: 邵一鸣 YiMing Shaodate: "2026-08-09"# only when it differs from the event starttime: 13:30 GMT+8room: Mountain Yang Hallurl: https://asia.communityovercode.org/sessions/observability-1206017.htmlvideo: https://www.bilibili.com/video/BVxxxxxxxxxintro: >- One or two sentences on what the session covers, in the same language as the title.

Event fields:

ParameterDescriptionRequiredDefault
eventConference / meetup nametrue-
startStart date, "YYYY-MM-DD", zero-paddedtrue-
endEnd date, for multi-day eventsfalsestart
locationCity, Country, or Onlinetrue-
venueVenue namefalse-
introWhat this conference is, in one or two sentencestrue-
urlEvent home page. Omit rather than guessfalse-
recapLink to a recap post on this sitefalse-
talksOne or more sessionstrue-

Session fields, under talks:

ParameterDescriptionRequiredDefault
titleSession titletrue-
speakerSpeaker name. Use 中文名 English Name when both are knowntrue-
introWhat the session covers. Condense the published abstract; don't invent onefalse-
dateSession day, when it differs from the event startfalsestart
timee.g. 13:30 GMT+8false-
roomRoom namefalse-
urlSession pagefalse-
videoRecordingfalse-
slidesSlide deckfalse-

Two things happen on their own, so you don't need to maintain them:

  • Upcoming vs. past is decided at build time from the event's end date, and the site rebuilds daily, so an event moves itself into the past section once it is over.
  • The year pager under Past builds its year buttons and counts from the data, so a new year appears as soon as an event needs it.

If a required field is missing, or a date isn't in YYYY-MM-DD form, the build fails with a message naming the offending event — so a broken entry shows up as a failed check on the pull request rather than as a blank card on the site.

Feeds

FeedContents
/blog/feed.xmlEnglish blog
/zh/feed.xml中文博客
/events/feed.xmlReleases and events
/feed.xmlCombined blog + events
/events/calendar/index.icsCommunity calendar, subscribable in a calendar app

RSS is opt-in per section via outputs in that section's _index.md, not through [outputs] section in config.toml, which would also build a feed for docs. rss_sections and rss_limit in config.toml control the combined feed and the window size. The template is layouts/_default/list.rss.xml.

The calendar feed is generated from data/talks.yml by layouts/events/calendar.calendar.ics. Use the webcal:// link on the calendar page to subscribe — downloading the .ics imports a snapshot that never updates.

Blog

Located at content/blog. If you want to create a new blog, you need to create a new subdirectory under this directory. Here is a sample blog below.

---
title: This is a titledate: 2020-04-28author: Authordescription: This is description.
---
Content

Downloads

The data of release is located in data/releases.yml and formated as YAML. The data of docker image is located in data/dockerImages.yml and formated as YAML.

Team

This is a single page located at content/team/_index.md.

中文博客

Located at content/zh. If you want to create a new blog, you need to create a new subdirectory under this directory. Here is a sample blog below.

---
title: 博客标题date: 2020-04-28author: 作者姓名description: 博客摘要
---
博客正文。

User Wall

All user information are in /data/users.yml. Users are encouraged to add themselves to this page.

Links

Configure in the config.toml file.

Website Configuration

The website configuration file is located at config.toml.

Images

The images within the blogs, events and 中文博客 should be kept at the same folder as the blog file, and you should reference them with the relative path.

About

Apache SkyWalking Website

Topics

Resources

Code of conduct

Security policy

Stars

106 stars

Watchers

36 watching

Forks

Releases

Packages

Used by

Contributors

Languages