This is the repository containing all the source code of https://seatunnel.apache.org. This guide will guide you how to contribute to the SeaTunnel website.
apache/seatunnel-website is the website shell repository.
apache/seatunnel under docs/en and docs/zh.apache/seatunnel-website, such as the homepage, navigation, version entry, search, styles, rendering, community pages, and versioned docs snapshots.If you are changing a page under /docs for the current unreleased docs, the source of truth is apache/seatunnel, not this repository.
main is the default branch. For all modifications, please fork first, and then proceed on the main branch.
main #default branch asf-site #The official environment of asf-site official website is accessed through https://seatunnel.apache.org asf-staging #The asf-staging official website test environment is accessed through https://seatunnel.staged.apache.org
This website is compiled using node, using Docusaurus framework components
git clone git@github.com:apache/seatunnel-website.git./tools/build-docs.sh to fetch and prepare current docs from apache/seatunnel. For more details, see how our docs worknpm install to install the required dependent libraries.npm run start in the root directory, you can visit http://localhost:3000 to view the English mode preview of the sitenpm run start-zh in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the sitenpm run build. The static resources of the build are in the build directory.├── LICENSE
├── Logo.png
├── README.md
├── README_ZH.md
├── babel.config.js
├── blog
├── community // Community
├── docusaurus.config.js
|-- download // Download
├── faq // Q&A
├── i18n
│ └── zh-CN // Internationalized Chinese
│ ├── docusaurus-plugin-content-blog
│ ├── docusaurus-plugin-content-docs
│ ├── docusaurus-plugin-content-docs-community
│ ├── docusaurus-plugin-content-docs-download
│ ├── docusaurus-plugin-content-docs-faq
│ └── docusaurus-theme-classic
├── package.json
├── sidebars.js
├── sidebarsCommunity.js
├── src
│ ├── components
│ ├── css
│ ├── js
│ ├── pages
│ │ ├── home
│ │ ├── index.tsx
│ │ ├── team
│ │ ├── user
│ │ └── versions
│ └── styles
├── static // static resources
│ ├── doc // Static resources for documentation
│ │ ├── image // Document common image
│ │ ├── image_en // English document picture
│ │ └── image_zh // Chinese document picture
│ ├── home // Homepage pictures
│ ├── image // Module common pictures
│ └── user // user picture
├── tools
│└── build-docs.sh // Document sync script
├── tsconfig.json
├── versioned_docs // Version documentation
│ ├── version-2.0.5
├── versioned_sidebars // Version sidebars
│ ├── version-2.0.5-sidebars.json
├── versions.json // Version
Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations
Positive example: scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc
Counter example: script / style / demoStyles / imgs / docs
All lowercase, separated by a dash
Positive example: render-dom.js / signup.css / index.html / company-logo.png
Counter example: renderDom.js / UserManagement.html
Image resources are unified under static/{module name}
css and other style files are placed in the src/css directory
Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the‘Edit this page’ button at the bottom
Visit the page https://seatunnel.apache.org
Located in src/pages/home
├── home
├── index.jsx
├── index.less
└── languages.json
Visit the page https://seatunnel.apache.org/team
Located in src/pages/team
├── team
├── index.js
├── index.less
├── languages.json
└── github-avatars.json
Team member avatars are stored as Base64 encoded strings, independent of external GitHub resources. When adding new members or updating avatars:
languages.json, add new member info to pmc or committer array:{ "apacheId": "newmember", "githubId": "newmember", "name": "New Member", "userId": "12345678" }
node tools/fetch-team-avatars.js
The script will:
github-avatars.jsonuserId field in languages.jsonVisit the page https://seatunnel.apache.org/user
Located in src/pages/user
├── user
├── data.json
├── images.json
├── index.js
├── index.less
└── languages.json
Visit the page https://seatunnel.apache.org/versions
Located in src/pages/versions
└── versions
├── config.json
├── index.js
└── index.less
npm run version replace_by_target_version locally to copy a document./src/pages/download/st_data.json for the latest download link address.