Skip to content

Commit 6eb54e1

Browse files
committed
Initial Jekyll setup with separate source folder for the content
- Copy data, learning materials, templates, assets and styles from the current website. - Keep JS out for now. - Only material and index page copied/created for now. - See README for more on what this is about and the current steps.
1 parent dc40dbc commit 6eb54e1

File tree

127 files changed

+3398
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+3398
-60
lines changed

.gitignore

+12-59
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,12 @@
1-
# Logs
2-
logs
3-
*.log
4-
npm-debug.log*
5-
yarn-debug.log*
6-
yarn-error.log*
7-
8-
# Runtime data
9-
pids
10-
*.pid
11-
*.seed
12-
*.pid.lock
13-
14-
# Directory for instrumented libs generated by jscoverage/JSCover
15-
lib-cov
16-
17-
# Coverage directory used by tools like istanbul
18-
coverage
19-
20-
# nyc test coverage
21-
.nyc_output
22-
23-
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24-
.grunt
25-
26-
# Bower dependency directory (https://bower.io/)
27-
bower_components
28-
29-
# node-waf configuration
30-
.lock-wscript
31-
32-
# Compiled binary addons (http://nodejs.org/api/addons.html)
33-
build/Release
34-
35-
# Dependency directories
36-
node_modules/
37-
jspm_packages/
38-
39-
# Typescript v1 declaration files
40-
typings/
41-
42-
# Optional npm cache directory
43-
.npm
44-
45-
# Optional eslint cache
46-
.eslintcache
47-
48-
# Optional REPL history
49-
.node_repl_history
50-
51-
# Output of 'npm pack'
52-
*.tgz
53-
54-
# Yarn Integrity file
55-
.yarn-integrity
56-
57-
# dotenv environment variables file
58-
.env
59-
1+
# Jekyll
2+
_site
3+
.sass-cache
4+
.asset-cache
5+
.jekyll-metadata
6+
7+
# Git
8+
.git
9+
10+
# Local files
11+
.DS_Store
12+
.vscode

.ruby-version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2.3.3

Gemfile

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
source "https://rubygems.org"
2+
3+
# Hello! This is where you manage which Jekyll version is used to run.
4+
# When you want to use a different version, change it below, save the
5+
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
6+
#
7+
# bundle exec jekyll serve
8+
#
9+
# This will help ensure the proper Jekyll version is running.
10+
# Happy Jekylling!
11+
gem "jekyll", "~> 3.8.5"
12+
13+
# This is the default theme for new Jekyll sites. You may change this to anything you like.
14+
# gem "minima", "~> 2.0"
15+
16+
# CSS related gems
17+
gem 'sassc'
18+
gem "autoprefixer-rails"
19+
gem 'rouge', '~> 3.1.1'
20+
21+
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
22+
# uncomment the line below. To upgrade, run `bundle update github-pages`.
23+
# gem "github-pages", group: :jekyll_plugins
24+
25+
# If you have any plugins, put them here!
26+
group :jekyll_plugins do
27+
gem "jekyll-livereload"
28+
gem 'jekyll-seo-tag'
29+
end
30+
31+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
32+
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
33+
34+
# Performance-booster for watching directories on Windows
35+
gem "wdm", "~> 0.1.0" if Gem.win_platform?
36+

Gemfile.lock

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.5.2)
5+
public_suffix (>= 2.0.2, < 4.0)
6+
autoprefixer-rails (9.4.0)
7+
execjs
8+
colorator (1.1.0)
9+
concurrent-ruby (1.1.3)
10+
em-websocket (0.5.1)
11+
eventmachine (>= 0.12.9)
12+
http_parser.rb (~> 0.6.0)
13+
eventmachine (1.2.7)
14+
execjs (2.7.0)
15+
ffi (1.9.25)
16+
forwardable-extended (2.6.0)
17+
http_parser.rb (0.6.0)
18+
i18n (0.9.5)
19+
concurrent-ruby (~> 1.0)
20+
jekyll (3.8.5)
21+
addressable (~> 2.4)
22+
colorator (~> 1.0)
23+
em-websocket (~> 0.5)
24+
i18n (~> 0.7)
25+
jekyll-sass-converter (~> 1.0)
26+
jekyll-watch (~> 2.0)
27+
kramdown (~> 1.14)
28+
liquid (~> 4.0)
29+
mercenary (~> 0.3.3)
30+
pathutil (~> 0.9)
31+
rouge (>= 1.7, < 4)
32+
safe_yaml (~> 1.0)
33+
jekyll-feed (0.11.0)
34+
jekyll (~> 3.3)
35+
jekyll-livereload (0.2.2)
36+
em-websocket (~> 0.5)
37+
jekyll (~> 3.0)
38+
jekyll-sass-converter (1.5.2)
39+
sass (~> 3.4)
40+
jekyll-seo-tag (2.5.0)
41+
jekyll (~> 3.3)
42+
jekyll-watch (2.1.2)
43+
listen (~> 3.0)
44+
kramdown (1.17.0)
45+
liquid (4.0.1)
46+
listen (3.1.5)
47+
rb-fsevent (~> 0.9, >= 0.9.4)
48+
rb-inotify (~> 0.9, >= 0.9.7)
49+
ruby_dep (~> 1.2)
50+
mercenary (0.3.6)
51+
pathutil (0.16.2)
52+
forwardable-extended (~> 2.6)
53+
public_suffix (3.0.3)
54+
rake (12.3.1)
55+
rb-fsevent (0.10.3)
56+
rb-inotify (0.9.10)
57+
ffi (>= 0.5.0, < 2)
58+
rouge (3.1.1)
59+
ruby_dep (1.5.0)
60+
safe_yaml (1.0.4)
61+
sass (3.7.2)
62+
sass-listen (~> 4.0.0)
63+
sass-listen (4.0.0)
64+
rb-fsevent (~> 0.9, >= 0.9.4)
65+
rb-inotify (~> 0.9, >= 0.9.7)
66+
sassc (2.0.0)
67+
ffi (~> 1.9.6)
68+
rake
69+
70+
PLATFORMS
71+
ruby
72+
73+
DEPENDENCIES
74+
autoprefixer-rails
75+
jekyll (~> 3.8.5)
76+
jekyll-feed (~> 0.6)
77+
jekyll-livereload
78+
jekyll-seo-tag
79+
rouge (~> 3.1.1)
80+
sassc
81+
tzinfo-data
82+
83+
BUNDLED WITH
84+
1.17.1

README.md

+53-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,54 @@
11
# next
2-
The next version of CSSclasses’ website.
2+
The next version of CSSclasses’ website - continuously in draft mode (as of December 2018).
3+
The website is built using [Jekyll](https://jekyllrb.com/).
4+
5+
## what?!?!
6+
One dark November evening, Bastian and Katrin sat together wondering how we could enhance the material section of our website. And while having a look into the current website's code we realized: Quite a bit of the setup is outdated (hi Bower), some not really necessary, barriers are quite high for external contributors, let alone people who only just started web development, the material section is not really scalable. Quite a few things came together.
7+
Now, we don't want to be those folks who overthrow all and start everything from scratch. Yet, here we are…
8+
9+
We have a few goals and ideas:
10+
- Better readability/usability of the materials. Hence, we want to start with a skeleton that puts the (scalable) material section into the center of attention.
11+
- Split existing material content into several pages or sections by using post cetagories (such as the basics, the html, the css). The nodeschool website has been an inspiration here.
12+
- Add challenges and resources to each chapter as they fit.
13+
- We can add more category sections. e.g. tooling/needed software or how to publish a website.
14+
- Have a low-barrier setup for external contributors. This means as little as possible software for the setup.
15+
- As our whole existence is based on the belief that CSS is a simple and low-barrier entry language, why not do as much as possible with (vanilla) CSS.
16+
- Reuse layouts and css from the current website while not constraining ourselves (whatever that will mean exactly, pragmatism might rule).
17+
- Replace screenshots with editor-agnostic images.
18+
19+
## Work log
20+
Initial setup (Dec 3, 2018)
21+
- Copy all posts as is.
22+
- Copy svg and images as is into assets folder.
23+
- Copy data directory from the current website as is
24+
- Copy favicons as is into to assets/favicons subfolder.
25+
- Copy all layouts and includes as is. Boil down layouts to default, page and post.
26+
- Copy sass files as is for now. Use jekyll's built-in sass work flow.
27+
- Missing: all other pages than index.html.
28+
- Rework: Materials now is a list page. Categories for the loop can be found in `_config.yml` as well as in the posts.
29+
30+
# Setup
31+
32+
## Requirements
33+
34+
1. Ruby: Ensure you're running ruby 2.3.3. Newer version might have trouble running jekyll.
35+
2. Bundler: You can test if you have bundler installed by typing (or copy&paste) this command into your terminal: `bundler -v`. If it says "command not found", you need to install bundler with this command:`gem install bundler`.
36+
3. Git
37+
38+
## Set up for maintainers
39+
1. Clone the repo: `git clone [email protected]:CSSclasses/next.git`
40+
2. Change into the repo directory: `cd next`
41+
2. Run `bundle install` to install dependencies (in case of command not found,
42+
install bundler using `gem install bundler`)
43+
4. Run `bundle exec jekyll serve` to run Jekyll
44+
5. Open <http://localhost:4000/> to see generated site
45+
46+
## Setup for contributors
47+
The CSSclasses website is built using Jekyll. In order to set up and run the site locally for development, you'll need the requirements (Ruby, Bundler, git - see above), create a GitHub account, and fork this repo.
48+
49+
You can read about forking a repo and cloning your fork [in the GitHub docs](https://help.github.com/articles/fork-a-repo/). When forking, you might be asked where you want to fork the repository to; select your own Github profile.
50+
51+
Once you cloned the repo to your local computer and configured the snychronization, run these commands:
52+
1. Run `bundle install` to install all required packages
53+
2. Run `bundle exec jekyll serve` to run Jekyll
54+
3. Open <http://localhost:4000/> to see the generated site

_config.yml

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Welcome to Jekyll!
2+
#
3+
# This config file is meant for settings that affect your whole blog, values
4+
# which you are expected to set up once and rarely edit after that. If you find
5+
# yourself editing this file very often, consider using Jekyll's data files
6+
# feature for the data you need to update frequently.
7+
#
8+
# For technical reasons, this file is *NOT* reloaded automatically when you use
9+
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10+
11+
# Site settings
12+
# These are used to personalize your new site. If you look in the HTML files,
13+
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
14+
# You can create any custom variable you would like, and they will be accessible
15+
# in the templates via {{ site.myvariable }}.
16+
title: CSSclasses
17+
18+
description: >- # this means to ignore newlines until "baseurl:"
19+
CSSclasses is a one day event for people who are interested in learning how
20+
they can create and manipulate elements on a website.
21+
keywords: >-
22+
CSS, HTML, learning, co-learning, workshop, frontend, web developement
23+
baseurl: "" # the subpath of your site, e.g. /blog
24+
url: "https://cssclass.es/" # the base hostname & protocol for your site, e.g. http://example.com
25+
faviconurl: "/assets/favicons"
26+
twitter_username: cssclasses
27+
github_username: cssclasses
28+
29+
# Build settings
30+
markdown: kramdown
31+
source: source
32+
sass:
33+
sass_dir: assets/sass
34+
35+
kramdown:
36+
input: GFM
37+
syntax_highlighter: rouge
38+
39+
navigation:
40+
- title: Home
41+
url: /
42+
- title: Learning Materials
43+
url: /materials/
44+
- title: About
45+
url: /about/
46+
- title: Coaches
47+
url: /coaches/
48+
- title: Attendees
49+
url: /attendees/
50+
- title: Run Your Own Event
51+
url: /run-your-own-event/
52+
- title: Code of Conduct
53+
url: /code-of-conduct/
54+
55+
categories:
56+
- basics
57+
- html
58+
- css
59+
- challenges
60+
- resources
61+
62+
63+
# plugins:
64+
# - jekyll-feed
65+
66+
# Exclude from processing.
67+
# The following items will not be processed, by default. Create a custom list
68+
# to override the default setting.
69+
# exclude:
70+
# - Gemfile
71+
# - Gemfile.lock
72+
# - node_modules
73+
# - vendor/bundle/
74+
# - vendor/cache/
75+
# - vendor/gems/
76+
# - vendor/ruby/

source/404.html

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
layout: default
3+
---
4+
5+
<style type="text/css" media="screen">
6+
.container {
7+
margin: 10px auto;
8+
max-width: 600px;
9+
text-align: center;
10+
}
11+
h1 {
12+
margin: 30px 0;
13+
font-size: 4em;
14+
line-height: 1;
15+
letter-spacing: -1px;
16+
}
17+
</style>
18+
19+
<div class="container">
20+
<h1>404</h1>
21+
22+
<p><strong>Page not found :(</strong></p>
23+
<p>The requested page could not be found.</p>
24+
</div>

source/_data/cities.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
- name: Berlin
2+
key: berlin
3+
countryCode: de
4+
introduction: CSSclasses was kicked off in Berlin by the teams of CSSconf EU and OpenTechSchool, and regularly offers beginner workshops and expert classes.
5+
6+
- name: Hamburg
7+
key: hamburg
8+
countryCode: de
9+
introduction: Hamburg is the second city where CSSclasses is taking place regularly. Since the first event in May 2016, regular beginner workshops and expert classes have been offered where everyone is encouraged to join.

0 commit comments

Comments
 (0)