Project Zeppelin allows you to setup awesome GDG DevFest site in 5 minutes.
Project is built on top of Jekyll - simple, blog-aware, static site generator. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your website from GitHub’s servers for free. Learn more about Jekyll.
Template is brought by GDG Lviv team.
Live demo http://gdg-x.github.io/zeppelin/
Automated version with Grunt https://github.com/gdg-x/zeppelin-grunt
- Easy to setup
- Simple and responsive design
- Integrated speakers and sessions management
- SVG icons
- SEO friendly
- Fork this repo
- Clone locally
- Update
_config.yml - Select what content blocks do you need
- Push changes to
gh-pagesbranch - Enjoy your awesome DevFest site at
http://[your github name].github.io/zeppelin/
Or watch project presentation from GDG[x] Townhall meeting. Slides available here
Check if you have all requirements for local environment. To install all development dependencies install Bundler.
gem install bundlerand run next command from root folder:
bundle installTo start Jekyll run:
jekyll serve -wSite will be available at http://127.0.0.1:4000/zeppelin/ or http://localhost:4000/zeppelin/ (on Windows)
NOTE: in this mode all changes to html and data files will be automatically regenerated, but after changing _config.yml you have to restart server.
Note: You need to install Node.js
To watch changes of .sass files and compile it to the .css on a fly change property safe: true to safe: false in _config.yml.
Note: It works only on local machine, because GitHub runs Jekyll in --save mode
Learn more about Sass development from documentation.
You can optimize images and minify css and javascript automatically (for now only on Windows).
But for Mac OS users available amazing tool - imageoptim. Thanks @raphaelsavina for link.
Optimize all images by running this script from /automation/images/ folder:
all_image_optimization.bat -d -jtran -pout -pquant -optip -gsicle -svgoTo minify CSS and JS run minify_js.bat (for Windows) and minify_js.sh (for Linux and MacOS) from /automation/minifying/ folder:
minify_js.batLearn more about available optimization options from documentation.
Quick-start guide is not enough? Checkout full documentation.
Going to use template? Go on! The only thing we ask - let us know at [email protected] so we can include you to this list, or make a pull request.
- Design and web development: Oleh Zasadnyy
- Idea: Vitaliy Zasadnyy
- Bug fixing and support: Said Tahsin Dane
Project is published under the MIT license. Feel free to clone and modify repo as you want, but don't forget to add reference to authors :)
- Speaker IDs start from 101, team IDs start from 1.
- Team member and speaker IDs must be the same for one person.
- Study group pages are under a collection in config.
schedule.ymlcontains session IDs,sessions.ymlcontains speaker IDs.- Each entry in
schedule.ymlhas apastattribute, which determines if it will appear on the schedule page or past talks page.
- Check
./_data\speakers.ymlif s/he already there. If not, duplicate an existing speaker block and update the information. - Open
./_data\sessions.yml, duplicate an existing session block and update the corresponding information about the talk. - Open
./_data\schedule.yml, duplicate an existing schedule block and update the corresponding date/time information of the talk.
- Check
./_data\speakers.ymlif s/he already there. If not, duplicate an existing speaker block and update the information. - Check
./_data\team.yml, if s/he already there. If not, duplicate an existing team member block and update the information. - Update
./_study-groupspage if applicable.
$ gem install bundler jekyll
$ gem pristine --all
$ bundle install
$ bundle update github-pages
$ bundle exec jekyll serve
# you may have to restore the backup css ./css/main.bak
- There should be two branches: master and develop. Master is on github.com, develop should be in local.
- The difference between master and develop is in
_config.yml:
# master branch
url: "https://brainspaceinitiative.github.io/"
# develop branch
url: "http://127.0.0.1:4000/"
- Make sure to edit the develop branch.
$ git checkout develop
$ git status
- Once done, commit.
$ git add .
$ git commit -m 'commit message'
- Switch to master branch, merge changes, push to live, and then switch back to develop.
$ git checkout master
$ git cherry-pick develop
$ git push origin master
$ git checkout develop