| --- |
| title: How to Participate in Website Project Contribution |
| sidebar_position: 2.1 |
| --- |
| |
| |
| ## Branch |
| dev is the development branch, please fork to your own repository, create a fix/feature branch based on the dev branch, and then perform development and modification on this branch. |
| ``` |
| master |
| dev #development branch |
| asf-site #The official environment of asf-site official website is accessed through https://linkis.apache.org |
| asf-staging #The asf-staging official website test environment is accessed through https://linkis.staged.apache.org |
| ``` |
| |
| |
| ## 1 Preview and generate static files |
| |
| This website is compiled using node, using Docusaurus framework components |
| |
| 1. Download and install nodejs (version>12.5.0) |
| 2. Clone the code to the local `git clone git@github.com:{githubid}/linkis-website.git` |
| 2. Run `npm install` to install the required dependent libraries. |
| 3. Run `npm run start` in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site |
| 4. Run `npm run start-zh` in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site |
| 5. To generate static website resource files, run `npm run build`. The static resources of the build are in the build directory. |
| |
| ## 2 Directory structure |
| ```html |
| |-- blog |
| |-- community |
| |-- docs //The next version of the document that will be released soon |
| |-- download |
| |-- faq //Q&A |
| |-- i18n |
| | `-- zh-CN //Internationalized Chinese |
| | |-- code.json |
| | |-- 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 |
| |-- resource // Original project files for architecture/timing diagram/flow chart, etc. |
| |-- src |
| | |-- components |
| | |-- css |
| | |-- js |
| | |-- pages |
| | | |-- home |
| | | |-- index.jsx |
| | | |-- team |
| | | |-- user |
| | | `-- versions |
| | |-- styles |
| |-- static //Picture static resource |
| | |-- Images |
| | |-- Images-zh |
| | |-- faq |
| | |-- home |
| | `-- img |
| |-- docusaurus.config.js |
| |-- versioned_docs //Historical version archive |
| | `-- version-1.0.2 |
| |-- versioned_sidebars |
| | `-- version-1.0.2-sidebars.json |
| `-- versions.json |
| |
| ``` |
| The following table illustrates how versioned files are mapped to their version and generated URL. |
| |
| |
| | file Path | Version | http URL | |
| | --------------------------------------- | -------------- | ----------------- | |
| | `versioned_docs/version-1.0.1/hello.md` | 1.0.1 | /docs/1.0.1/hello | |
| | `versioned_docs/version-1.0.2/hello.md` | 1.0.2 (latest current stable version) | /docs/latest/hello | |
| | `docs/hello.md` | current (the next version 1.0.3 to be released) | /docs/1.0.3/hello | |
| |
| |
| Current version information |
| |
| | Version | Access Path | English Document Path | Chinese Document Path | |
| | ---------------------------------------| -------------- | -------------- | ----------------- | |
| | 1.0.2|https://linkis.apache.org/docs/latest/xxx (https://linkis.apache.org/zh-CN/docs/latest/xxx)| versioned_docs/version-1.0.2/ | i18n/zh-CN/docusaurus-plugin-content-docs/version-1.0.2 | |
| |1.0.3|https://linkis.apache.org/docs/1.0.3/xxx (https://linkis.apache.org/zh-CN/docs/1.0.3/xxx) | /docs |i18n/zh-CN/docusaurus-plugin-content-docs/current| |
| |
| |
| ## 3 Specification |
| |
| ### 3.1 Directory naming convention |
| |
| 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` |
| |
| ### 3.2 Vue and the naming convention of static resource files |
| |
| All lowercase, separated by a dash |
| |
| Positive example: `render-dom.js / signup.css / index.html / company-logo.png` |
| |
| Counter example: `renderDom.js / UserManagement.html` |
| |
| ### 3.3 Resource path |
| |
| Image resources are unified under `static/{module name}` |
| |
| css and other style files are placed in the `src/css` directory |
| |
| ### 3.4 Page content modification |
| > 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 |
| |
| ### 3.5 Home page modification |
| Visit the page https://linkis.apache.org |
| Located in `src/pages/home` |
| |
| ``` |
| ├─home |
| │ config.json Home page Chinese and English configuration |
| │ index.less homepage style |
| ``` |
| ### 3.6 Team page modification |
| Visit the page https://linkis.apache.org/team |
| Located in `src/pages/team` |
| ``` |
| ├─team |
| │ config.json |
| │ index.js |
| │ index.less |
| ``` |
| ### 3.7 User list page modification |
| Visit the page https://linkis.apache.org/user |
| ``` |
| Located in `src/pages/user` |
| └─versions |
| config.json |
| data.json |
| img.json |
| index.js |
| index.less |
| ``` |
| |
| ### 3.8 Version list page modification |
| Visit the page https://linkis.apache.org/versions |
| ``` |
| Located in `src/pages/versions` |
| └─versions |
| config.json |
| index.jsorchestrator/overview.md |
| index.less |
| ``` |
| |
| ### 3.9 User list page modification |
| Visit the page https://linkis.apache.org/user |
| |
| Company logo Located in `static/home/user`, and the picture size must be 176 × 88. |
| |
| ### 3.10 Path specification |
| If you want to link from a markdown document to another, it is best to use absolute path. For example, if you want to link to `quick-deploy.md`, the path should be `/docs/deployment/quick-deploy.md`. |
| |
| ### 3.11 Version document |
| For version documents (i.e. the corresponding documents for each version) |
| Next version document (corresponding to the upcoming version) |
| CN: i18n/zh-CN/docusaurus-plugin-content-docs/current/xxx |
| EN: versioned_docs/current/user-guide/xxx |
| |
| The latest version of the document (such as the document corresponding to the latest released version in 1.3.2) |
| CN: i18n/zh-CN/docusaurus-plugin-content-docs/version-1.3.2/xxx |
| EN: versioned_docs/version-1.3.2/xxx |
| |
| - If there are errors in stock documents (such as spelling errors, typos, formatting, etc.), it is best to adjust all versions, including both Chinese and English |
| - If the content of the document is optimized and not related to the version (such as supplementary design documents), update the latest two versions of the document, including both Chinese and English |
| - If it is a new version feature document that is strongly related to the version, such as the newly added feature description document in this version, it only needs to be added to the latest version document, including both Chinese and English |
| |
| ### English document title specification |
| English siderbar titles should be capitalized except for prepositions, and only the first word of the title in the markdwon document should be capitalized. |
| |
| |
| ## 4 New documents |
| |
|  The md document is recommended to be viewed by visiting the official website and viewing the md document through github. There is a problem that static resources such as pictures cannot be displayed correctly |
| |
| - The English document docs/ corresponds to the next Next version to be released, and the historical archive version is stored in the versioned_docs/version-${versionno} directory. |
| - Chinese documents are placed in the corresponding directory of i18n/zh-CN/docusaurus-plugin-content-docs/, current is the next version to be released. version-${versionno} is the historical archive version. |
| - Image resources are placed in the static/ directory |
| |
| ## 5 How to deploy |
| The official website of linkis is divided into test environment and formal environment |
| -Test environment access URL https://linkis.staged.apache.org |
| -Official environment visit URL https://linkis.apache.org |
| |
| When the dev branch code is updated, git action will automatically execute the source build of the dev branch, and automatically update the compiled resource results to the asf-staging branch. |
| The internal mechanism of Apache will deploy the content of the asf-staging branch to the test environment, so when the git action is successfully executed, it can be verified by visiting https://linkis.staged.apache.org. |
| After the verification is correct, the asf-staging branch can be merged to the asf-site branch. The internal mechanism of Apache will deploy the content of the asf-site branch to the formal environment. After the merge, the formal environment is considered to be updated successfully. |
| |
| ## 6 Points for attention |
| - When adding Chinese documents, you need to add English documents at the same time, otherwise the added page cannot be displayed |
| - When adding a document, pay attention to the document node name and node sorting fields, as shown in the following figure |
|  |
| |
| ## 7 Acknowledgments |
| |
| [](https://www.netlify.com/) |
| [Netlify](https://www.netlify.com) kindly provides pull request builds, checks and previews for this website. |
| |
| ## 8 Other |
| The naming convention refers to "Alibaba Front-end Development Specification" |
| |