This is a wonderful job! This will our website more useful for Doris users. Waiting for your PR.
Thanks, Zhao Chun 黄峰 <farielcla...@gmail.com> 于2020年3月27日周五 上午11:29写道: > Hi all! > > I recently did some work on improving our documentation website. As we see, > our website now has some small disadvantages like: old fashioned design, > mobile incompatible, lack of version control, etc. So i'm now trying to > rebuild our website with Vuepress <https://github.com/vuejs/vuepress> > which > is a minimalistic Vue-powered static site generator. > > Node.js environment will be needed for developing: > > 1. prepare node.js env. > 2. cd docs && npm install > 3. npm run dev > 4. open the web browser and navigate to localhost:8080/en/ or > localhost:8080/zh-CN/, pages will be auto refreshed during our writing. > > Then the new website will be like: > > Demo: https://hffariel.github.io/ > > *If we decide to migrate, then some changes may be done here:* > > 1. For multi-language, please write markdown files in multi languages and > put them in folders './en/' and './zh-CN/'. Keep them with the same name > like: > > . > ├─ en/ > │ ├─ one.md > │ └─ two.md > └─ zh-CN/ > │ ├─ one.md > │ └─ two.md > > > 2. The index.rst file under each doc folder will be removed, instead, the > sidebar configurations under docs/.vuepress/sidebar/*.js will be used to > declare the docs' sequence, subfolders, etc in multi-languages. > > If we have directories like: > > . > ├─ en/ > │ ├─ subfolder > │ │ ├─ one.md > │ │ └─ two.md > │ └─ three.md > └─ zh-CN/ > │ ├─ subfolder > │ │ ├─ one.md > │ │ └─ two.md > │ └─ three.md > > Then the sidebar configurations would be like: > > // .vuepress/sidebar/en.js` > module.exports = [ > { > title: "subfolder name", > directoryPath: "subfolder/", > children: ["one", "two"] > }, > "three" > ] > > // .vuepress/sidebar/zh-CN.js > module.exports = [ > { > title: "文件夹名称", > directoryPath: "subfolder/", > children: ["one", "two"] > }, > "three" > ] > > 3. Frontmatters like below should always be on the top of each file: > > ---{ > "title": "Backup and Recovery", // sidebar title > "language": "en" // writing language}--- > > 4. Assets are moved from 'docs/resources' to > '.vuepress/public/images'. Assuming > that there exists a png '.vuepress/public/images/image_x.png' , then it can > be used like: > > ![alter text](/images/image_x.png) > > 5. Markdownlint <https://github.com/DavidAnson/markdownlint> will be used > for checking all markdown files before building the website. So we should > run 'npm lint' each time we finished writing. > > Once a new PR is accepted, travis will be triggered to build the whole > document website, and push the dist folder to the asf-site branch of > incubator-doris-website <https://github.com/apache/incubator-doris-website > >. > > *And the travis did such things:* > > 1. Prepare node.js and vuepress environment. > > 2. Use current branch's name as the relative url path in > '.vuepress/config.js' (which is the 'base' property). > > 3. Build the documents into a website all by vuepress. > > 4. Fetch asf-site repo to local directory, and copy '.vupress/dist/' into > '{BRANCH}/'. > > 5. Push the new site with GitHub Token (which is preset in Travis console > as a variable used in .travis.yml). > > *For multi-version control*, we just need to edit the 'versions.js' file > under asf-site branch of incubator-doris-website > <https://github.com/apache/incubator-doris-website>. > > *Everyone please feel free to discuss and give me your opinions, thx.* > > Best Regards. >