Git Product home page Git Product logo

twc-site's Introduction

TWC Site

Netlify Status

This repository is responsible for most content visible on the website techworkerscoalition.org. The site is made with a static site generator called Jekyll in a language called Ruby.

Getting Started

  1. Install dependencies: bundle install
  2. Start a local server: bundle exec jekyll serve

Open a browser to localhost:8080

DecapCMS

In addition to GitHub, you can update the website via DecapCMS for example adding new blog posts and events by going to /admin interface. For local development, visit this tutorial (run npx decap-server from a different shell)

Add your city

If your country/city's TWC chapter is not mentioned in the website, link to it on the homepage here and if you want a local markdown page (as opposed to external link) see the other examples here.

Add a press mention

Inside _data/press.yml file, add a media entry, with date format in YYYY-MM-DD

Translation

I18n (internationalization) is made available with the jekyll-multiple-languages-plugin. When a page has a translated version available, a link will show up on the top right if you use the default_translate layout. English is the default language, while other languages have their two letter ISO code prefixed, for example TechWorkersCoalition.org/ru for Russian.

Adding new language

  1. Add new language key to en.yml
  2. Add two letter iso code in config. The order here determines the order shown on the page. English must be first.
  3. Inside the i18n directory create a
  • LANGUAGE/ (where LANGUAGE is two letter ISO code for that language)
  • LANGUAGE.yml with the language key and value in its own language, for example es: Español

Note, only the default en.yml must contain the names of each language. The other language yml files contain just their own language key.

Screen Shot 2019-07-21 at 14 48 46

To include only certain languages, specify the exact language keys you want inside the page front matter. For example languages: ["en", 'ja']

Supported Pages

Supported Languages

  • English
  • Russian
  • Portuguese
  • Italian
  • Portuguese (BR)
  • Spanish (ES)

twc-site's People

Contributors

absolute-divergence avatar abstractowl avatar bobwhitelock avatar c0deswitch avatar chobeat avatar dependabot[bot] avatar depfu[bot] avatar ergl avatar ethulhu avatar gac25 avatar ikehz avatar jessesquires avatar keevie avatar kidmillions avatar mstrlaw avatar nmashton avatar noahemmet avatar pagepant avatar pkrafft avatar radcliff avatar rahamelody avatar rkupadhya avatar rosspatton avatar samepant avatar saraheisa avatar shushugah avatar simonv3 avatar situatedbit avatar soldiercorp avatar zack13532 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  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

twc-site's Issues

Aggregated events/calendar

Currently some chapters have dedicated event streams, while others rely on the TWC Meetup.com

I would love to have an aggregated stream of events, both as an API, and where we visually display them, e.g. on techworkerscoalition.org/events

Blog improvements

  • Dynamically load blog posts from techworkersberlin.com/news
  • Standardize blog url and manually redirect with netlify.toml (backward compatibility)
  • Add DecapCMS for shared editing capabilities without using GitHub directly
  • Integrate https://news.techworkerscoalition.org/ somehow?

Visual flow

  • The /blog interface could look like Berlin site; where it shows unique authors (or organizational) https://techworkersberlin.com/news
  • And each individual blog post could also show author/image/date/title and a backlink to all blog posts on top, like here This PR (in Berlin specific repository) shows what that code might look like techworkersco/twc-site-berlin#267

Update navigation

Expose navigation items for screen sizes that are larger than mobile. Attaching a mock for a potential direction. If we are aligned, I will update it to show more accurate specs, hover states, and selected states.
image

Make Continuous Deployments Work

Hey @kidmillions there are several reasons why I would recommend moving to Netlify:

  1. Continuous deployments
  2. Handy build plugins, such as image compression, url checkers etc.. see here: https://github.com/netlify/plugins
  3. Preview links e.g for this PR: techworkersco/twc-site-berlin#74 we had this preview link: https://deploy-preview-74--techworkersberlin.netlify.app/
  4. A CMS to edit website without knowing git would make it super accessible. We can still have a traditional PR approval workflow even with a CMS.

The Berlin fork of the website works quite nicely with Netlify, and we get all of these features for free. https://techworkersberlin.com/

(I want to move https://techworkersberlin.com/ to berlin.techworkerscoalition.org, but that's another issue)

Missing chapters on home page

Here is a global list of chapters, please edit/add any missing chapters See #120 for inspiration.

  • Austin #142
  • Bangalore
  • Berlin #116
  • Boston
  • Chicago #195
  • DC (Washington)
  • LA #131
  • London
  • Montreal
  • NYC
  • Ottawa
  • Philadelphia
  • PDX (Portland) #120
  • San Diego #131
  • Seattle
  • SF Bay Area #128
  • South Bay / San Jose
  • South Florida #131 (Edit: Now Removed)

I18n (multiple languages)

Greetings from Berlin! 👋 The Berlin TWC chapter wants to support multiple languages. Namely English and German for now, but also others. Seeing this website is probably the most popular one, it makes sense to add I18n here as well.

I have heard good things about the following plugin: jekyll-multiple-languages-plugin and with English being the default language, no url routes would change unless absolutely wanted. e.g. /about still maps to /aboutwhile we can either have de/about direct to german version, or even a custom permalink name like de/impressum route there

Any thoughts? Shall I start working on a PR for further discussion?

List of resources somewhere?

Either on the homepage, or as a separate "Resources" page, but it could be useful to have a list of articles written about/by TWC to give visitors more information

(not sure what the process for adding/removing articles should be, just thought I'd throw this idea out there in case anyone had ideas)

Make it easier to find locals in menu bar

Currently you can find the locals on the home page, but we should also have a dedicated page to each local. And even right there in the view, information about each local, such as contact information, websites etc...

and maybe linking them to a map.

/locals

Create 404.html file

Currently we get a very ugly 404 description with something like:

404 Not Found

Code: NoSuchKey
Message: The specified key does not exist.
Key: bla
RequestId: 8C20DDCBE295A4ED
HostId: 14uJGHIBAH3qUelJbkmLTaC6dM8QxpoihXXGfrXMYESEqCXSNGIosM1v/4NuTIF6QfUnexMSk9Q=

An Error Occurred While Attempting to Retrieve a Custom Error Document

Code: NoSuchKey
Message: The specified key does not exist.
Key: error.html

Analytics

Get more precise analytics and figure out what pages' SEO we can improve on.

Migrate website deployment to Netlify

  1. Netlify is free.
  2. We currently already use netlify for build previews of every PR
  3. TravisCI ecosystem adds complexity
  4. Main steps we'd need to take, is to update A records in domain registrar of techworkerscoalition.org

Improve subscribing to multiple portals

When visiting https://techworkerscoalition.org/subscribe it should be easier to join local specific newsletters, chat groups etc..

We currently have a newsletter mailchimp portal here, which could be linked on same page as techworkerscoalition.org/subscribe and https://news.techworkerscoalition.org/subscribe/

For example I will list need of Berlin Chapter

  • Join Berlin backed Sympa Newsletter (currently you must email [email protected])
  • Join Berlin Only Slack Group

Dark mode color updates

Proposing the following edits to improve readability:

Dark Mode

Make background color darker to increase contrast between text and bg
.primaryBg { background: #191919; }

Change nav bar color
.secondaryBg { background: #2E2E2E; }

Create /events tab

Techworkerscoalition.org/events exists now with #360

What further improvements can be made?

  • Make it easier to distinguish who/where an event it, perhaps with label tags
  • add filtered events in different sub-pages, e.g https://techworkerscoalition.org/nyc/ could link to NYC and or Global events
  • Improve image CSS formatting of events for both desktop and mobile
  • Include TWC Community Guidelines/CoC under each event?

Code of Conduct For Slack

I'd like to see a code of conduct for Slack that addresses some things that have come up in the past week including

  • who the moderators are and how to get in contact with them
  • prioritization of the safety of marginalized groups over comfort of privileged
  • consequences for CoC violations

some good examples:
https://wealljs.org/code-of-conduct
https://lgbtq.technology/coc.html
https://docs.google.com/document/d/1OBYKDw4mDVX3A25Eo2g397XwF1NvteZgY_pVDnxoBu8/edit
https://docs.google.com/document/d/1UqK1_M6_I-sm9XLmSJt_SgYfo5tHg9z-ar5SHy62ENI/edit#heading=h.3u02axafjdg5

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.