CSS HTML JavaScript Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
_data
_includes
_layouts
_pages
_posts
_sass
css
img
js
.gitignore
.travis.yml
Gemfile
README.adoc
Rakefile
_config.yml
atom.xml
feed.xml
index.html

README.adoc

RSJUG Site

What’s it?

A Jekyll based site for RSJUG site, access it here: http://www.rsjug.org/

Features

  • Responsive layout

  • Mobile 'friendly'

  • Disqus integration

  • Based on github pages

  • Promotes contribution (as it is hosted on github)

  • Automatically build on git push

  • Posts based on Asciidoc (via Asciidoctor and Markdown (focus on content instead of markup)

  • Client side search

Running it locally

  1. Fist you will need to install Ruby

    ℹ️
    Use Ruby 2.1 or superior
  2. Install Bundler gem:

    gem install bundler
    💡
    You can skip this step if you want to install gems individually, see required gems here
  3. Clone the project:

    git clone https://github.com/rsjug/site rsjug-site
    cd rsjug-site
  4. Run

    bundle install
    ℹ️
    It will install gems declared in Gemfile. You can skip this step if gems are already installed
    ❗️
    If you receive the error can’t find header files for ruby at /usr/share/include/ruby.h you need to install ruby development kit in your operating system:
    //fedora
    sudo dnf install -y gcc ruby-devel rubygems libxml2 libxml2-devel libxslt libxslt-devel
    //ubuntu
    sudo apt-get install ruby-dev
    //or
    sudo apt-get install ruby2.0-dev
    //or
    sudo apt-get install ruby2.2-dev
    ❗️
    if you get ERROR: Failed to build gem native extension., you need to install native extensions:
    //ubuntu
    sudo apt-get install libgmp-dev libgmp3-dev
    //fedora
    sudo dnf install rpm-build
    ℹ️
    output should be:
    Bundle complete! 7 Gemfile dependencies, 28 gems now installed.
    Use `bundle show [gemname]` to see where a bundled gem is installed.
  5. Then run Jekyll

    jekyll serve
  6. And finally access http://localhost:4000/site/

💡
Every file change is automatically published locally by Jekyll.

Site Anatomy

   SITE
    |
    ├──_data
    │   ├── global.yml (1)
    │   ├── nav.yml (2)
    ├──_includes (3)
    │   ├── disqus-comments.html (4)
    │   ├── tile.html (5)
    │   ├── title-group.html (6)
    ├──_layout
    │   ├── default.html (7)
    │   ├── inner.html (8)
    │   │
    ├──_pages (9)
    │
    ├──_posts (10)
    │
    ├──_site (11)
    │
    ├── RakeFile (12)
    └── _config.yml (13)
  1. Global settings variables

  2. Navigation menu bar labels and navigation urls.

  3. Page includes of html fragments

  4. Disqus integration

  5. Layout of posts rendered in initial page (mainly a excerpt of the post with a link to read the full post)

  6. Post detail layout

  7. Main site layout (/site)

  8. Inner pages layout like posts, menus and internal pages

  9. Every page (except posts) that have an url, eg: /sobre, /busca etc…​

  10. Site posts

  11. Generated site after jekyll serve or jekyll build

  12. Build and deploy rake task (executed by travisci after git push)

  13. Global Jekyll configuration like serving settings, plugins, includes/excludes etc…​

Publishing

Every git push triggers travisci which will run the deploy Rake task (see RakeFile) which will deploy the site to github pages.

ℹ️
Travis and the rake task is only needed because jekyll-asciidoctor gem is not installed in github pages, see details here.

Work done

  1. Forked this Jekyll with bootstrap theme;

  2. Added Asciidoc integration;

  3. Played a bit with webfonts;

  4. Added tags page;

  5. Added client side search using lunr.js;

  6. Added archive to list pages by year/month;

  7. Disqus integration

  8. Played a bit with performance analysis sites like google-speed-test, webpagetest.org and pingdom.