This GitHub project, available from emb-riscv/emb-riscv.github.io-source, contains the source files used to generate the Embedded RISC-V web site.
The Embedded RISC-V web site is an organisation GitHub Pages site, stored in the emb-riscv/emb-riscv.github.io Git and publicly available from http://emb-riscv.github.io.
The web site is generated off-line by Jekyll. It cannot be generated by GitHub Pages because it uses Jekyll plug-ins, considered unsafe and disabled by the GitHub Pages instance of Jekyll.
To be able to run the Jekyll build process, the ruby
interpreter and the gem
tool are required. In OS X 10.10.5, these tools are pre-installed, at least when the Developer Command Line tools are present.
If you are like me and like really separated things, install a separate homebrew instance only for the jekyll builds.
$ mkdir -p "${HOME}/opt"
$ git clone https://github.com/ilg-ul/opt-install-scripts \
"${HOME}/opt/install-scripts.git"
$ caffeinate bash "${HOME}/opt/install-scripts.git/install-homebrew-jekyll.sh"
Add a new alias to your .profile
:
alias ajkl='export PATH=/Users/ilg/opt/homebrew/jekyll/bin:${PATH}'
Then, in a new terminal:
$ ajkl
$ which ruby
/Users/ilg/opt/homebrew/jekyll/bin/ruby
$ ruby --version
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]
$ gem --version
2.7.6
$ bundler --version
Bundler version 1.16.1
To manage the web site, a local copy of this repository is required.
$ git clone https://github.com/emb-riscv/emb-riscv.github.io-source.git emb-riscv.github.io-source.git
$ git clone https://github.com/emb-riscv/emb-riscv.github.io.git emb-riscv.github.io.git
Install jekyll and all gems referred in Gemfile
. Probably usually there is no need to run bundler as root, it can ask for sudo if needed, but in my setup it looks necessary.
$ cd emb-riscv.github.io-source.git
$ bundle install
Using i18n 0.8.6
Using minitest 5.10.3
Using thread_safe 0.3.6
Using tzinfo 1.2.3
Using activesupport 4.2.10
Using addressable 2.4.0
Using bundler 1.16.1
Using colorator 1.1.0
Using colorize 0.8.1
Using ffi 1.9.18
Using ethon 0.10.1
Using forwardable-extended 2.6.0
Using gemoji 3.0.0
Using mini_portile2 2.3.0
Using nokogiri 1.8.1
Using html-pipeline 2.7.1
Using mercenary 0.3.6
Using parallel 1.12.0
Using typhoeus 0.8.0
Using yell 2.0.7
Using html-proofer 3.7.3
Using rb-fsevent 0.10.2
Using rb-inotify 0.9.10
Using sass-listen 4.0.0
Using sass 3.5.1
Using jekyll-sass-converter 1.5.0
Using listen 3.0.8
Using jekyll-watch 1.5.0
Using kramdown 1.15.0
Using liquid 3.0.6
Using pathutil 0.14.0
Using rouge 1.11.1
Using safe_yaml 1.0.4
Using jekyll 3.2.1
Using posix-spawn 0.3.13
Using jekyll-last-modified-at 1.0.0
Using jekyll-mentions 1.1.3
Using jekyll-paginate 1.1.0
Using jekyll-redirect-from 0.11.0
Using jekyll-sitemap 0.11.0
Using jemoji 0.8.1
Bundle complete! 9 Gemfile dependencies, 41 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
$ bundle exec jekyll --version
jekyll 3.2.1
The current development cycle is edit-save-build-view.
The build can be performed automatically by Jekyll when started in server mode.
$ cd emb-riscv.github.io-source.git
$ bundle exec jekyll serve --baseurl "" --destination _site_local --trace --port 4003
The build result is in _site_local
.
To view the result, point the browser to localhost:4003
.
$ cd emb-riscv.github.io-source.git
$ bundle exec jekyll build --destination "../emb-riscv.github.io.git"
The build result is in the emb-riscv.github.io.git
folder.
To publish, commit this Git and the new site will be automatically updated.
When new versions of Jekyll, or of gems, are available, run bundle update
and be sure the Gemfile.lock
file is committed:
$ cd emb-riscv.github.io-source.git
$ bundle update
Using concurrent-ruby 1.0.5
Using i18n 0.9.5
Using minitest 5.11.3
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using activesupport 4.2.10
Using public_suffix 3.0.2
Using addressable 2.5.2
Using bundler 1.16.1
Using colorator 1.1.0
Using colorize 0.8.1
Using ffi 1.9.23
Using ethon 0.11.0
Using forwardable-extended 2.6.0
Using gemoji 3.0.0
Using mini_portile2 2.3.0
Using nokogiri 1.8.2
Using html-pipeline 2.7.1
Using mercenary 0.3.6
Using parallel 1.12.1
Using typhoeus 1.3.0
Using yell 2.0.7
Using html-proofer 3.8.0
Using rb-fsevent 0.10.2
Using rb-inotify 0.9.10
Using sass-listen 4.0.0
Using sass 3.5.5
Using jekyll-sass-converter 1.5.2
Using ruby_dep 1.5.0
Using listen 3.1.5
Using jekyll-watch 1.5.1
Using kramdown 1.16.2
Using liquid 4.0.0
Using pathutil 0.16.1
Using rouge 2.2.1
Using safe_yaml 1.0.4
Using jekyll 3.6.2
Using posix-spawn 0.3.13
Using jekyll-last-modified-at 1.0.1
Using jekyll-mentions 1.2.0
Using jekyll-paginate 1.1.0
Using jekyll-redirect-from 0.13.0
Using jekyll-sitemap 1.2.0
Using jemoji 0.9.0
Bundle complete! 9 Gemfile dependencies, 44 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
People using forked repositories must run bundle install
to be sure the required versions are properly installed.
All blog posts are in the _posts
folder.
All web pages are in the pages
folder.
To maintain sitelink.xml usefulness, while maintaining pages and posts, it is necessary to keep this variable up-to-date. When the pages are generated off-line, this field is automatically updated by a plug-in.
As per _config.yml
, the default timezone is UTC. For other timezones, set it explicitly as offset (for example +0300)
The embedded images are located in the /assets/images
folder.
For a certain degree of portability, the recommended editable format is PPTX. On macOS, PPTX files can be processed with Keynote, although saving can be done only indirectly via Export To, not directly via Save.
The preferred format is PNG. The available width is lower than 700 px, but apparently Jekyll scales images properly. By default Keynote exports images as 1024 x 768, which is generally ok for regular (non-HiRes) screens.