Install Ruby with RVM (http://rvm.io/)
Why use RVM instead of native Ruby? http://code.tutsplus.com/articles/why-you-should-use-rvm--net-19529 |
curl -sSL https://get.rvm.io | bash -s stable source ~/.profile rvm install ruby |
Tips: if you're facing permission issue, try to run commands with "sudo".
Use Ruby and Gem (https://rubygems.org/) to install Jekyll
How to install Jeklly? https://jekyllrb.com/docs/installation/ |
rvm list rvm use ruby gem install jekyll |
Tips: during installation, error "Could not find a valid gem 'jekyll' (>= 0)..." encountered. To solve it, execute "gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/" before running "gem install jekyll".
Clone Eagle Document Site
git clone https://github.com/apache/incubator-eagle.git cd incubator-eagle git checkout origin/document -b document |
Build and Preview Eagle Document Site (url is http://127.0.0.1:4000/ by default)
$ cd website $ jekyll serve /Users/hao/.rvm/gems/ruby-2.2.0/gems/execjs-2.6.0/lib/execjs/external_runtime.rb:135: warning: Insecure world writable dir /usr/local in PATH, mode 040777 Configuration file: /Users/hao/Workspace/incubator-eagle/website/_config.yml Source: /Users/hao/Workspace/incubator-eagle/website Destination: /Users/hao/Workspace/incubator-eagle/website/_site Generating... done. Auto-regeneration: enabled for '/Users/hao/Workspace/incubator-eagle/website' Configuration file: /Users/hao/Workspace/incubator-eagle/website/_config.yml Server address: http://127.0.0.1:4000/ Server running... press ctrl-c to stop. |
Before writing documents, please make sure jekyll server running |
Create a new markdown file like https://raw.githubusercontent.com/apache/incubator-eagle/document/website/introduction.md, where following header on the top:
Learn more about markdown syntax? https://daringfireball.net/projects/markdown/syntax |
--- layout: doc title: ${document_title, for example "Tutorial"} permalink: ${permalink, for example '/docs/index.html'" --- More Markdown Content Here |
Preview new created document by visit http://127.0.0.1:4000/${permalink}, for example, http://127.0.0.1:4000/docs/index.html
With jerkell server running, any changes on the markdown files will trigger the jekyll service to rebuild the site automatically with logs like: Regenerating: 1 file(s) changed at 2016-04-07 13:03:44 ...done in 0.383916 seconds. |
Configure new created document into document sidebar in https://github.com/apache/incubator-eagle/blob/document/website/_config.yml#L15 like
- category: Getting Started links: - title: Introduction url: /docs/index.html |
Then the document like will show on the sidebar like http://eagle.incubator.apache.org/docs/ looks.
The main purpose of this step is to build with "jekyll build" and commit changes in "_site" into "http://svn.apache.org/viewvc/incubator/eagle/site/", then http://eagle.incubator.apache.org/ will automatically serve the changes. |
Clone site from apache svn repository http://svn.apache.org/viewvc/incubator/eagle/site/ into local directory EAGLE_SITE_SVN_DIR for example "eagle-site-svn"
Build as static web site into '_site' directory and commit changes under ${EAGLE_SITE_SVN_DIR} back to apache svn repository
$ jekyll build Configuration file: /Users/hao/Workspace/incubator-eagle/website/_config.yml Source: /Users/hao/Workspace/incubator-eagle/website Destination: /Users/hao/Workspace/incubator-eagle/website/_site Generating... done. |
Commit "_site" content into svn repository
How to use SVN? http://svnbook.red-bean.com/ or use GUI tool http://www.smartsvn.com/ |