Giter Club home page Giter Club logo

rubyforgood.org's Introduction

Ruby for Good New Website

Welcome Contributors!

We love open source contributors! Feel free to take on open issues that are marked help wanted or open new issues. Please comment on the issue to be assigned to work on it as well as if you need more clarification. You can also reach out to @meg-gutshall via the Ruby for Good Slack.

When submitting your pull request, please submit to the main branch.

Getting Started

Fork this repository and clone it down to your computer. Create a new branch that describes what you're working on. Then, run bundle install and npm install to make sure you have all the gems and packages you need.

We built this site using Jekyll and it's hosted via GitHub pages. We used Ruby with Bundler on the initial build and have since added NodeJS. We've included dot files that support multiple version managers (.npmrc, .node-version, .ruby-version, .tool-versions) for your convenience.

Tool Versioning

  • Ruby 2.7.4
  • Bundler 2.1.4
  • NodeJS 16.1.0
  • npm 7.11.2

Useful Commands

To run the website locally, type npm run preview in your terminal and navigate to http://127.0.0.1:4000/ to see the site in your browser. A reload will be triggered every time you change the code in you editor.

We have also implemented some tools that check the files for syntax issues and autocorrect them whenever possible. These are called linters and they will automatically check any files you have staged for a commit.

You will not be able to successfully commit your work until all errors are cleared.

Going Deeper

Please see our Ruby for Good Website Wiki to learn more about the project! Content will be continually added there. Also, keep an eye out for project boards in the future!

rubyforgood.org's People

Contributors

ababich avatar albertchae avatar arielj avatar craigjz avatar fionadl avatar giacoelho avatar grazirs avatar leoactionz avatar meg-gutshall avatar onerinas avatar pollygee avatar seanmarcia avatar teezzan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rubyforgood.org's Issues

Dockerize this app

Dockerizing this app would speed up the onboarding process and head off the infamous "but it works on my machine" problem.

Add Clickable Arrow to Our Supporters Slider on Home Page

Summary

Please add arrows on the Our Supporters slider on the Home page. Users can currently click and drag to advance the slider, but this is not intuitive and it would be very helpful to have an easier way to navigate the slider.

This is the slider:
image

Please let me know if you have any questions!

Criteria for Completion

  • Visitors to the website can click on the arrows to advance the slider.

Add Grav CMS

We're looking to use Grav CMS with our site to make it easier for our content managers to make changes when needed.

Implement Flickity throughout Site

Issue Summary

Right now, our site uses OwlCarousel2 and Slick to implement slider/carousel features. Both projects haven't been touched in a while, and we want to focus more on making the site navigable for our mobile users. Let's remove these older packages and use Flickity instead.

Sliders

Sliders that need to be addressed include:

  • The hero slider on the home page
  • The supporters slider on the home page
  • The testimonial slider (not currently rendered on the site, but you can find an example here)
  • The project slider (not currently rendered on the site --> I'll get an example up soon)

They're located at assets/js/main.js. It would be great to have these cleaned up and organized within that file or possibly separated in their own file, depending on what seems better!

Carousel controls overflow in home page

The controls of the carousel at the bottom of the page are placed outside the container, adding extra width to the document and adding that extra scroll to the right side.

rubyforgood org_(iPhone X) (1)

Some options to fix this:

  1. hide the controls for the resolution when they start to not fit into the width
  2. or, resize the container of the carousel so the controls are still inside the viewport

I think option 1 is simpler since on those devices the user can move the carousel swiping with the thouch

UX/UI Site Audit

Would love an overall site audit of changes we could make for accessibility purposes and also to improve the site's appearance.

Readme is not showing all the steps to setup the project

It doesn't show which NodeJS version we should use (I found it in the .tool-versions file, but it should be there in the readme, next to the Ruby and Bundler versions).

One comment though on the Node version. I'm using the exact version of Node specified in that file, but when I run npm install it changes the package.json and package-lock.json trying to generate the lock file using lockfileVersion: 2 instead of the current lockfileVersion: 1. I understand the lockfileVersion: 1 is generated with older Node versions, so it's not clear if we should ignore that file change or if the node version in the .tool-versions file is not the correct one to use.

It doesn't tell you to run bundle install, which you find out with an error when trying to run npm run test.

I can submit a PR with this changes, but I'm not sure what's the correct version of Node

Continuous integration

This app needs continuous integration to make sure that everything works and to head off the infamous "but it works on my machine" problem.

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.