Nice Job!
By the way, I think we need to avoid merging in any malformed document. So TravisCI need to add a hook to reject any problematic PR. -- 此致!Best Regards 陈明雨 Mingyu Chen Email: chenmin...@apache.org 在 2020-03-27 11:50:19,"Zhao Chun" <zh...@apache.org> 写道: >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: >> >>  >> >> 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. >>