# How to make changes to the Carsmos jekyll site 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/ ## template strucutre explaination ### menu entry 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 ![](https://i.imgur.com/TflJGPt.png) 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/' ``` ## menu structure the screen below shows the menu entry URL is defined in the HTML file ![](https://i.imgur.com/mmUhxl1.png) ## page template file the jekyll content file is composed with page template file, page content data and template files seen below ![](https://i.imgur.com/02XkPUt.png) a HTML page can specify a template file which is structured by multiple parts see below ![](https://i.imgur.com/FB0OmnH.png) ## content page structure a page content file is composed with template file, data file and rendering template file see below ![](https://i.imgur.com/rQWRrsR.png) ![](https://i.imgur.com/22w6UWc.jpg) ![](https://i.imgur.com/ftVDK3H.png)