This is the repository including all source codes of https://skywalking.apache.org.
This site was compiled using Hugo.
npm install to install the required libraries (without pulling the project documentation).hugo server at the root folder, you can see the site preview from http://localhost:1313npm run build for the whole website. Run npm run build-with-docs if you want to build the project documentations.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:
Located at content/_index.html。
The data of documentation link is located in data/docs.yml and formated as YAML.
Update the config file everytime, so that a new documentation version will be available searched by algolia.
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.
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 title date: 2020-04-28 author: Author description: 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.
| Parameter | Description | Required | Default |
|---|---|---|---|
| endTime | End time | true | - |
| startTime | Start time | false | Current time |
| buttonText | Button text | false | Read more |
| img | The illustration | false | /images/skywalking_200x200.png |
| poster | The poster | false | - |
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 2026 intro: >- 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 event location: Beijing, China # or "Online" venue: Mountain Yang Hall # optional url: https://asia.communityovercode.org recap: /zh/2023-08-20-coc-asia-2023/ # optional, a recap post on this site talks: - title: "Observing LLM Applications with SkyWalking 10.4" speaker: 邵一鸣 YiMing Shao date: "2026-08-09" # only when it differs from the event start time: 13:30 GMT+8 room: Mountain Yang Hall url: https://asia.communityovercode.org/sessions/observability-1206017.html video: https://www.bilibili.com/video/BVxxxxxxxxx intro: >- One or two sentences on what the session covers, in the same language as the title.
Event fields:
| Parameter | Description | Required | Default |
|---|---|---|---|
| event | Conference / meetup name | true | - |
| start | Start date, "YYYY-MM-DD", zero-padded | true | - |
| end | End date, for multi-day events | false | start |
| location | City, Country, or Online | true | - |
| venue | Venue name | false | - |
| intro | What this conference is, in one or two sentences | true | - |
| url | Event home page. Omit rather than guess | false | - |
| recap | Link to a recap post on this site | false | - |
| talks | One or more sessions | true | - |
Session fields, under talks:
| Parameter | Description | Required | Default |
|---|---|---|---|
| title | Session title | true | - |
| speaker | Speaker name. Use 中文名 English Name when both are known | true | - |
| intro | What the session covers. Condense the published abstract; don't invent one | false | - |
| date | Session day, when it differs from the event start | false | start |
| time | e.g. 13:30 GMT+8 | false | - |
| room | Room name | false | - |
| url | Session page | false | - |
| video | Recording | false | - |
| slides | Slide deck | false | - |
Two things happen on their own, so you don't need to maintain them:
end date, and the site rebuilds daily, so an event moves itself into the past section once it is over.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.
| Feed | Contents |
|---|---|
/blog/feed.xml | English blog |
/zh/feed.xml | 中文博客 |
/events/feed.xml | Releases and events |
/feed.xml | Combined blog + events |
/events/calendar/index.ics | Community 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.
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 title date: 2020-04-28 author: Author description: This is description. --- Content
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.
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-28 author: 作者姓名 description: 博客摘要 --- 博客正文。
All user information are in /data/users.yml. Users are encouraged to add themselves to this page.
Configure in the config.toml file.
The website configuration file is located at config.toml.
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.