Skip to content

emb-riscv/emb-riscv.github.io-source

Repository files navigation

Build Status

The Embedded RISC-V web site source

Overview

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.

Destination URL

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.

Jekyll

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.

Prerequisites

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.

Install separate homebrew

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

Clone Git

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 & gems

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

Development

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.

Publish

$ 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.

Updates

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.

Folder structure

Posts

All blog posts are in the _posts folder.

Pages

All web pages are in the pages folder.

'last_modified_at:'

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.

Timezone

As per _config.yml, the default timezone is UTC. For other timezones, set it explicitly as offset (for example +0300)

Images

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.

About

The complete Jekyll source for the Embedded RISC-V web site

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published