GithubHelp home page GithubHelp logo

sf-feminist-book-club's Introduction

SF Feminist Book Club

This is a repository for the San Francisco Feminist Book Club!

Mission

Our mission is to open source all of the materials and study guides we make for book club and other book club resources we use like our group discussion facilitation guidelines.

Local Development

Make sure you have ruby and the bundler gem installed. rbenv is a good utility to manage different environments with distinct ruby versions.

gem install bundler

Install Jekyll and other necessary gems.

bundle install

Start Jekyll

bundle exec jekyll serve

For more information about Jekyll development, check out the usage documentation on the platform's site.

Code of Conduct

In order to have a more open and welcoming community, Radical Barracuda adheres to a code of conduct.

Please adhere to this code of conduct in any interactions you have in this community. It is strictly enforced on all repositories, websites, and resources. If you encounter someone violating these terms, please let a maintainer (@dashland, @lizhubertz, @pamo) know and we will address it as soon as possible.

sf-feminist-book-club's People

Contributors

pamo avatar lizgene avatar dashosaur avatar

Stargazers

compwron avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

pamo compwron

sf-feminist-book-club's Issues

Implement Object Data Model

Background

Github training-kit uses a collections: concept that will allow us to represent the data on our site as objects. This will allow us to do something like list events, and then filter for readings or study_guides that belong to that event, and allow us to put in our _config.yml output: true to automatically generate html views for that collection on build.

More information on this type of content modeling here.

Why?

This will allow us to more logically represent data relationships in our code, instead of sticking to the simple idea of a post that jekyll encourages by default. It also lets us find related models with liquid templating without having to loop through our entire "database" of content.

Example:

{% assign architect = site.people | where: "object-id", page.architect-id  | first %}

<header class="intro project-header">
	<h1>{{ page.title }}</h1>
	<p>Architected by: <a href="{{ architect.url }}">{{ architect.first-name }} {{ architect.last-name }}</a></p>
</header>
<div class="project-body">
	{{ page.content }}
	<a href="{{ page.wikipedia-url }}">Read more about {{ page.title }} on Wikipedia</a>
</div>

Data Map

- Event Collection (output: true)
	- identifier
	- datetime
	- title
	- tags [social / discussion] # substance of event
	- facilitator_identifiers: [ person-identifier, person-identifier ]
	- reading_identifiers: [ reading-identifier, reading-identifier ]
	- meetup_identifier
	- slug
- People Collection
	- identifier
	- name
	- blurb
	- photo_url
	- roles []
- Reading Collection
	- identifier
	- tags [feminism / anti-racism] # subject material
	- title
	- authors
	- editors
	- goodreads_url
	- amazon_url
	- study_guide_identifier
- Study Guide (output: true)
	- identifier
	- slug
	- license_type
	- content

_config.yml

collections:
  events:
    output: true
  readings:
  study_guides:
    output: true
  facilitators:

Add a global site nav

Visitors should be able to navigate to

  • Home
  • About
  • Resources
    from any of the other pages of the site.

The navigation should not be displayed if the visitor is on a post page and decides to print it.

Facilitation Guide

Expected Behavior

We should have a facilitation guide. We may want to make this private (or have a private supplement to the public one) since there's Double Union specifics that may not be appropriate for the public site.

Add tag index pages

Expected Behavior

  • Each tag has a permalink-able page such as /:tag which will list all study guides for that tag.

Possible Solution

Can also say screw tags and just use /:categories for which there is built-in Jekyll support

Navigation

Goals

  • Develop some sort of information architecture using Jekyll's categories and tags front-matter.
  • Be able to provide a centralized location for:
    • Study guides
    • Resources #27
      • Facilitation Guide #44
      • Code of Conduct
      • Anti-Harassment Policy

Things we might need

  • Index of all past and upcoming events with links to Meetup and the study guides #41
  • Display tags on each study guide as links that navigate to a page listing everything under that tag. #35
  • Create pages for a specific tag and list posts under that tag. #34
  • Side bar on the index page with all of the tags available on the site.
  • Global header with site-wide links: home, about, resources. #32
  • Global footer with a link to information about licensing. #33

Use Amazon Affiliate Links

Expected Behavior

We should use the Amazon Affiliate program to generate links for each reading that donate to Double Union through Amazon Smile for every book purchased. Double Union is already in the Amazon Smile database.

Use categories front-matter in permalinks

If we include /:categories/ in the permalink property in _config.yml, we can remove the necessity to include studyguide in the permalink for every post by setting the categories property to study-guide instead.

e.g.

---
layout: posts
title: "From #BlackLivesMatter to Black Liberation"
date:   2016-12-18
categories: study-guide
tags: anti-racism anti-capitalism
---

vs the original

---
layout: posts
title: "From #BlackLivesMatter to Black Liberation by Keeanga-Yamahtta Taylor"
date:   2016-12-18
permalink: "/from-blacklivesmatter-to-black-liberation-study-guide/"
categories: anarchist-book-club
tags: anti-racism anti-capitalism
---

Resources Page

Index page to list links to resources such as facilitation guidelines and code of conduct.

This should live under _pages/resources/index.md and its children should also be created under that directory.

The page's permalink should be /resources/

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.