Code Monkey home page Code Monkey logo

cssclasses's Introduction

CSSclasses Website

Installation

This website is run by Jekyll and GitHub pages. To separate the source files from the files used for the live page this repo uses two active branches: master and gh-pages. master contains all files, gh-pages only contains the files needed to serve the actual website. To work with this environment follow these steps:

This clones the source files into the CSSclasses projects folder and the generated _site content aka. gh-pages repository inside the _sitefolder.

  • Ruby – Jekyll requires the Ruby language. If you have a Mac, you've most likely already got Ruby. If you open up the Terminal application, and run the command ruby --version you can confirm this. Your Ruby version should be at least 2.3.0. If you've got that, you're all set. Skip to step #2. Otherwise, follow these instructions to install Ruby.

  • Node – We depend on Node.js. If you have a Mac, you've most likely already got Node. If you open up the Terminal application, and run the command node --version you can confirm this. Your Node version should be at least 10.15.0. If you've got that, you're all set. Skip to step #3. Otherwise, follow these instructions to install Node.

  • Gems Dependencies – In order to install all of the gems we need, please run the following: gem install bundler. Now you're ready to install everything with one command: bundle install and you're good to go.

  • Grunt Plugins – Run npm install

  • Bower Dependencies - Run npx bower install

  • Livereload Browser Extensionhttp://livereload.com/extensions/

Run the project

After installing all dependencies run npm start. This triggers jekyll serve and also a Grunt watch task, Sass compiler and live reload. To access the page go to localhost:4000.

Contributing

All changes have to be made and pushed inside the master branch.

Browser Support

This project only supports the latest versions of Chrome, Firefox and Safari.

Content Guidelines

Images

Images always have to have a ratio of 3:2.

Coding Guidelines

General

  • If you want to change or add stuff to the project make sure to check for already existing modules, classes, styles and so on.

Scss

  • @include, @extend always has to come first in a rule set except .@include bp().
  • Use relative unites like em, rem, % v-units exclusively.
  • There are no px units allowed inside this project.
  • For margin and padding always mulitply or divide the $base-unit.
  • Use the predefined color variables from _variables.

Deployment of the live page

After committing to the master branch, the site is deployed automatically using Travis CI.

cssclasses's People

Contributors

bastianalbers avatar bluessista avatar fallera avatar fredericmarx avatar jonicious avatar katrin-k avatar klaustrainer avatar kriesse avatar lukaszklis avatar radibit avatar schubidu avatar stefanjudis avatar verpixelt avatar xmartin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cssclasses's Issues

UX/IA: Add list of events

Add a list of all upcoming events (and past events).

A short version (next event only) could live on the front page.
The complete list could live under a new page "/events"/

minimum data per event:

  • date
  • start time
  • end time
  • city
  • venue
  • sign up link attendees
  • sign up link coaches

Cannot build with NodeJS v10

$ node -v
v10.7.0
$ npm install
...
Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/darwin-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/darwin-x64-57_binding.node": 

HTTP error 404 Not Found

Add list of all past and upcoming events

Each list item should include:

  • name of workshop (e.g. "CSSclasses", "CSSclasses with RailsGirls")
  • date
  • location
  • if future event: Button "Register as Learner"
  • if future event: Link "Sign up as Coach"

UX: Add a Call to Action

It is currently hard to find where to sign up for the next upcoming workshop.
Let's add a visible Call to Action (e.g. red button) in e.g. the sidebar navigation, and on the main landing page.

Discuss how to deploy website

Because the site is served via Github Pages, we have to use the gh-pages branch to push our changes. Building the site is done manually and the build is then pushed to gh-pages branch. The master branch should always represent the actual site and deploys should be done automatically after you commit to the master.

Furthermore, as CSSclasses grows, what do you think about having one or two maintainers per city to become faster in approving pull requests and deploying the site? Of course, code quality is very important, so I would suggest to have multiple reviewers if the pull request is more than fixing a typo.

Link to challenges and external resources at beginning of learning materials page

At Hamburg workshops, we noticed that many people do not scroll through all the learning materials and therefore think, they are only relevant for beginners although they offer great challenges and links to useful external resources. I do not want to change the order of the chapters since this is an event focussed on beginners. Mentioning at the beginning of the learning materials that there are challenges and links to external resource down below would help to make this event more interesting for experienced attendees.

JavaScript files not concatinated during deployment process

Whenever you make changes to any of the JavaScript source files and merge the changes to master, those files are not being overwritten when delpoying via Travis CI. Initial investigation suggested adding concat:development task to the build task.

Add new page: How to start your own CSSclasses event

Should give guidance on how to do it, and communicate a few base rules:

  • CoC must be enforced
  • OTS guidelines must be followed
  • events must be free (or optional: donation-based)
  • Organizers must actively work on inclusivity
  • New organizers should have attended an existing event

Some inspiration here: http://cssconf.org/

Oval social media icons

I assume the social media icons on the page are supposed to be displayed round, but they are displayed oval. This affects the icons in the footer but also the about page.


Browser: Firefox 52.0.1
OS: Windows 10 Pro (14393.953)

Re-think the about page

Since we are organising CSSclasses in more than 1 city, it would be great to have a clean "About" page explaining in more details the concept and "why" CSSclasses take place, and list of all of the team members and coaches helping in each of the cities.

Enhance the header on the subpages

My suggestion is to replace the hero image on the subpages with a smaller top bar containing only the logo e.g. centre aligned logo with a transparent background.

With this approach we can improve the UX of presenting the people immediately with the context of the selected page :-)

Minified JS is missing after a build

Whenever building the page (without running the local server via grunt serve), the minified JS code for CSSclasses doesn't show up. It seems like there might have been something missing in the config of the build job.

Jump marks do not work anymore

The jump marks inside our materials section do not work anymore.
Might be related to the JS error we're currently having?

Create "How to run CSSclasses in your city" page

It would be great to define a list of things/suggestions for other people on how to run an event like CSSclasses in their city. This will help us stay aligned and promote the idea even more.

Refine subpages header layout

Thanks to @radibit a page change between subpages is now noticeable. Personally I'm not entirely happy with the looks yet. Therefore I would be super thankful if someone comes up with another proposal. A quick sketch would be enough to discuss it further.

Theme switcher of code view is confusing

During the CSSclasses today in Hamburg we got some feedback about the usability of the materials page, specifically the code view and its theme switcher.

Current behaviour

  • First: Non-Coders are not used to dark/light themes or mostly have no preference. So the prominentely placed switcher may confuse ("Why dark/light, whats 'better'?")
  • Second: The activated state of the theme switcher (for light theme a white dot in red box) looks more like the learned "empty checkbox". So a click on the assumed "unactive" element has no effect so it seems broken or useless and leads to the feeling of "Am I doing something wrong?"

theme-switcher

Proposed behaviour

Either the checked state should be inverted or made clearer (hook, dot etc.)

What do you think?

Re-think the homepage

The homepage is an important page for us. It should give a clear understanding for the user what CSSclasses is about and where events are taking place. Any ideas on how it should look are welcome. ;)

"How to build a basic website layout" tutorial section

The learning materials are great but I think they lack of a section to show how to build a basic website layout. I am thinking of a website with a full width header, main content on the left, sidebar on the right and a full width footer. A tutorial on this topic could be especially interesting/helpful for attendees there for the second time or those who have some foreknowledge.

Translations: How to go about them?

We at OpenTechSchool Berlin like and have used this workshop a lot in the past. As part of our efforts to make our events more inclusive, we'd like to translate it into other Languages so as to provide an entry to programming for people not entirely fluent in the English language.

We also have a Git workshop, in which we have participants make PRs to a not-so-useful repo.

With @bastianalbers we're contemplating running a Git workshop in which we ask participants to create PRs for translating the CSS classes.

Now, there's a range of technical options for including translations on Jekyll pages:

We could use Sphinx, which would require all content to be converted to reStructuredText, but would allow the repo to be translated using Transifex, which is much easier to use for non-Coders in the future.

Another good option would be using https://github.com/screeninteraction/jekyll-multiple-languages-plugin to translate stuff. It fits in better with the Ruby/Rails way of doing things (.yml files instead of .po files for translations, markdown support).

I don't have a strong opinion on using either of these options or even a third one, as long as it allows

  • Interaction with the repository using git
  • All translations are kept in the master branch (and ideally synchronized so there's a way of knowing whether a translation is out of date).

What do you think? I'd be happy to provide a PR that prepares the repo for being translated.

Update README

Update the README.md file so it reflects the current status.

Navigation menu not fully accessible on mobile devices

I noticed that the navigation menu is not scrollable when the viewport height is not enough to display all items. This is really important for its usage, especially on mobile devices in landscape view.

screen shot 2016-11-01 at 09 05 43

I will purpose a small PR which is fixing that problem by making the navigation_element scrollable when it's needed :)

Upgrade gems to the latest versions

Some of the gems used by our project have vulnerabilities and we should upgrade them ASAP to the latest possible version.

Gems affected:

  • yajl-ruby

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.