Skip to content

gdgpisa/gdgpisa.github.io

Repository files navigation

GDG Pisa's public website ๐ŸŒŽ

License Twitter

readme screenshot

Welcome to the Google Developer Group Pisa public website ๐ŸŒŽ The website is written with Jekyll and hosted on GitHub Pages.

The website is publicly available on https://gdgpisa.it/.

Feel free to fork โธ‘ or star โญ๏ธ this repo! Contributions are really appreciated. Please have a look at the Contributing Guidelines or at the TODO list down there. You can easily start having a look at our Issues.

Don't know where to start? ๐Ÿค” have a look at our help wanted or good first issue tickets.

Feature ๐Ÿ’…

  • Material Designed (based on hcz-jekyll-blog theme) ๐ŸŽจ
  • Mobile Responsive ๐Ÿ“ฑ
  • Progressive Web App ready ๐Ÿ–ฅ
  • HTML5 Cache support โ™ป๏ธ
  • Awesome Community behind ๐Ÿค

Getting Started (building the website locally) ๐Ÿ› 

To get starting developing, we really recommend to clone the website locally and start developing on your machine.

This will allow you to preview what the generated site will look like in your browser locally. Jekyll comes also with a auto-regenerate feature, this will allow you to quickly iterate over different changes to the website (useful if you're touching the CSS files). More info about the auto-regenerate feature on the Jekyll usage page.

Linux

  1. Install Ruby with your package manager.
Debian
sudo apt install ruby ruby-dev

ArchLinux
sudo pacman -S ruby
  1. Clone this repository (you need git installed).
git clone https://github.com/gdgpisa/gdgpisa.github.io.git
cd gdgpisa.github.io/
  1. To configure gems user-wide add the following line to your shell configuration files, for example ~/.bashrc or ~/.zshrc
export GEM_HOME=$(ruby -e 'print Gem.user_dir')
  1. Open your terminal and install jekyll and bundler
gem install jekyll
gem install bundler
  1. To run executable gems, without typing the full location, run the following command or add it to your shell configuration files, for example ~/.bashrc or ~/.zshrc.
PATH=$(ruby -e 'print Gem.user_dir')/bin:$PATH
  1. To install gems into GEM_HOME
bundle install
  1. Serve the website with the following command,
bundle exec jekyll serve

You should be able to see the local website at http://127.0.0.1:4000

Mac OS

To be able to build the site locally, you need Homebrew installed. Please follow this link to install Homebrew

  1. Clone this repository (you need git installed).
git clone https://github.com/gdgpisa/gdgpisa.github.io.git
cd gdgpisa.github.io/
  1. Open your terminal and install ruby, jekyll and bundler (skip the related command if you already have the package installed).
brew install ruby
sudo gem install jekyll
sudo gem install bundler
  1. Serve the website with the following command
bundle exec jekyll serve

You should be able to see the local website at http://127.0.0.1:4000/.

Windows

You must have git for windows installed in your system.

  1. Download and install Ruby and Rubygems using rubyInstaller for windows

  2. Using git bash, clone this repository.

git clone https://github.com/gdgpisa/gdgpisa.github.io.git
cd gdgpisa.github.io/
  1. On your terminal install jekyll and bundler
gem install jekyll bundler
  1. Serve the website with the following command
bundle exec jekyll serve

You should be able to see the local website at http://127.0.0.1:4000/.

Docker

  1. Be sure to have Docker installed on your local machine
Ubuntu
sudo apt-get install docker

ArchLinux
sudo pacman -S docker
  1. Clone this repository (you need git on your machine)
git clone https://github.com/gdgpisa/gdgpisa.github.io.git
cd gdgpisa.github.io/
  1. Run a Docker container with jekyll/jekyll image and serve the site
docker run --rm -it \
-p 4000:4000 -v "$PWD":/srv/jekyll \
jekyll/jekyll jekyll serve

You should be able to see the local website at http://127.0.0.1:4000

This command will download the jekyll/jekyll image from Docker Hub and build a container from that image.
Container port 4000 is linked to localhost:4000, so that you can access the site from that address.
Every time this container is executed, it'll automatically do a bundle install, thus retrieving all Gem dependencies before building and serving.

Writing a post ๐Ÿ“

To add a new post to the blog page, you need to create a new file in the _post folder. Please follow the naming of the file, like:

2017-10-10-hello-world.md

The structure of the blog post file should be as following:

---
layout: post
title: <TITLE OF YOUR BLOGPOST>
date:   <DATE OF YOUR BLOGPOST LIKE '2017-10-10 13:50:39'>
categories: <LIST OF SPACE SEPARATED CATEGORIES>
---

<BODY OF YOUR BLOGPOST>

Updating the feedback form shortlink โ†ช๏ธ

We are using a dynamic shortlink for the events feedback form. The shortlink is http://bit.ly/gdgfback. To change the destination of the shortlink please edit the feedbackform.md file:

---
layout: page
redirect_to: "http://example.com"
permalink: /feedbackform/
---

And change the redirect_to field to the desired one.

Updating the Service Worker โš™

Before committing an update in this repo, you should install Workbox CLI and update the Service Worker. To update it correctly, run workbox generateSW static/js/workbox-config.js from your shell in the root of this repo.

โš ๏ธ In case of error during the generation

If during the generation appears an error of invalid configuration, edit static/js/workbox-config.js and remove the key ignoreURLParametersMatching and its values.

Website Structure ๐Ÿ—บ

Here a short description of the project structure:

Contributing ๐Ÿค

Feel free to contribute to this project! You can have a look at our Contribution guidelines if you don't know how to proceed.

Feel free to open a issue or submit a new pull request โค๏ธ

Here a short TODO list:

  • Create the hall of fame page.
  • Writing Linux setup steps to this Readme.
  • Writing Windows setup steps to this Readme.
  • Fix naming issues (mix of - and _ in file naming).
  • Clean-up the static folder.

License ๐Ÿ“„

This project is licensed under the MIT License - see the License file for details