install github desktop version which is the easiest way to manage the project changes otherwise install the github toolchains
clone the repo
git clone https://github.com/ymote/ymote.github.io
cd ymote.github.io directory
change the Gemfile
uncomment the following line because it runs locally
gem "jekyll"
comment out the following line
gem "github-pages", group: :jekyll_plugins
and do the following update
bundle add webrick
bundle install
if you got errors, check your ruby and gem version. Mine is below.
/Users/ychen/.gem/ruby/3.1.2/gems/bundler-2.2.29
then run the bundle build commands
bundle exec jekyll serve --livereload
you should be able to open the webiste at
http://localhost:4000/
menu structure is defined in the
https://github.com/ymote/ymote.github.io/blob/main/_data/menus.yml
the picutre shows the how the menu is defined in the menu.yml and how the menu entry HTML is organized
Menu are either single-entry or multi-entries.
single-entry menu does not have
menu-has-children:
such as this
- name: 'home'
title: 'Home'
link: '/'
multi-entries menu can list all the sub-menu items below the menu-has-children
- name: 'projects'
title: 'projects'
link: '/'
menu-has-children:
- name: 'Dora'
title: 'Dora'
link: '/projects/dora/'
- name: 'Oasis'
title: 'Oasis'
link: '/projects/oasis/'
- name: 'EmtyOS'
title: 'EmtyOS'
link: '/projects/emtyos/'
- name: 'AutoExpress'
title: 'AutoExpress'
link: '/projects/autoexpress/'
the screen below shows the menu entry URL is defined in the HTML file
the jekyll content file is composed with page template file, page content data and template files seen below
a HTML page can specify a template file which is structured by multiple parts see below
a page content file is composed with template file, data file and rendering template file see below