Code Monkey home page Code Monkey logo

codefordc.github.com's Introduction

Code For DC Website

PLEASE NOTE: This repository powers Code for DC’s old website, which you can find online here. Code for DC’s current website is powered by the codefordc-website GitHub repository.


This is the repository for the website for Code for DC, the DC chapter of the Code for America Brigade program.

This site is built on Github pages and uses Jekyll for its blog.

Contributing

If you want to make a blog post: read this.

If you want to add a project to the projects page: read this.

For everything else:

First, make sure that you have git on your computer. Create your own fork of the repository, then clone it to your computer:

git clone [email protected]:[YOUR GITHUB NAME]/codefordc-2.0.git

You can work on the master branch (which is the default), but it's preferable to set up a new branch if you're working on a specific feature:

git checkout -b [NEW BRANCH NAME]

Next, you'll want to view the site locally using jekyll. There are three ways to do this:

Using Docker

Docker is a tool that abstracts away all of the environment configuration, allowing you to run this project (and others) without needing to install any other tools. To get started install Docker and then run

docker run --volume=$(pwd):/srv/jekyll -p  127.0.0.1:4000:4000   codefordc2/codefordc.org

Less steps, but more points of failure

Make sure that you have Ruby installed on your system.

If you do, try this:

gem install jekyll #sudo is probably required
jekyll serve -w

Hopefully it works! If not and you see something like jekyll: command not found, you'll need to add the jekyll executable's location to your shell's $PATH variable. Here's an example of how that might work, but you should do some Googling to understand what you're doing here:

gem which jekyll
# /usr/lib/ruby/gems/1.9.3/gems/jekyll-2.4.0/lib/jekyll.rb
export PATH=$PATH:/usr/lib/ruby/gems/1.9.3/gems/jekyll-2.4.0/bin
jekyll serve -w

Point your browser to 0.0.0.0:4000. As you can see, this is a bit of a hacky workaround. If you upgrade Ruby in the future, be aware that this might get confusing as you add more gems.

More steps, but more likely to work

A more elegant solution is to use a Ruby manager. Both rbenv and RVM are popular, but this example will use the former for its simplicity. Install it, making sure to set up the init script and restart your shell. This may take some effort, but will allow you to manage multiple versions of Ruby and their various dependencies across projects (this is a common problem in Rubyland).

Then:

rbenv install 2.1.1
gem install bundler
bundle install
bundle exec jekyll serve -w

Point your browser to 0.0.0.0:4000.

License

As stated in LICENSE, the code in this repo is available under the GNU General Public License v2.0.

However, the copyright to certain parts of this repo is waived under the Creative Commons Zero v1.0 license. Specifically, the following files are public domain:

codefordc.github.com's People

Contributors

ajschumacher avatar amnight avatar bschmoker avatar colinxfleming avatar drewbo avatar emanuelfeld avatar fran33 avatar geobrando avatar gregjd avatar jalbertbowden avatar jayzmiles avatar joshdata avatar jtreed25 avatar justgrimes avatar katerabinowitz avatar konklone avatar kristinab-mls-secdev avatar leah-lib avatar leahbannon avatar lizmeister321 avatar mattbailey0 avatar mdelcambre avatar meiao avatar mkalish avatar nealhumphrey avatar paulhyland avatar peteok avatar shannonturner avatar stvnrlly avatar trycrmr 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

codefordc.github.com's Issues

slack inviter fails if invite previously requested

It appears that the API call that we're using to send Slack invites doesn't send one if the email address had previously been entered. This is confusing for people who, for example, may have requested an invite months ago but didn't get around to signing up.

thoughts on `civic.json`

  • Should civic.json have it's own repo? Maybe in collaboration with the Beta folks? I don't know if they're actively developing/using it; @stvnrlly?
  • Would it be better to change the spec to not encode information in keys? This would mean changing politicalEntity, governmentPartner, communityPartner, and data to be more like needs; perhaps like "an array of politicalEntity objects, each of which has keys name and url."
  • Right now the item numbered 12 is really a sub-point of its predecessor; can the structure of the document show this? (Also, I think the text in 12 doesn't make it clear that it expects these needs and wants to be objects with a single key, either need or want.
  • The needs and wants are likely to change frequently and might be better left to an issue management system such as github's no?
  • Could the text explaining categories more clearly state that its expecting an array of objects with a certain structure?

how to add your project content

@stvnrlly I took a quick stab at some instructions in readme.md. I'm sure these are at least a little inaccurate. Could you take a look? Then we should probably link to these or include similar content on /projects.html as well.

Create a "How to suggest or pitch a project" page

Add a page that explains how to pitch a project; provide a form to the Code for DC website that allows outside individuals or organizations that ability to submit project ideas.

suggested questions:

  • what is your name?
  • what is the name and URL of organization (if any)?
  • describe your organization?
  • what is the issue or problem?
  • what would you like to see done?
  • how would this help?
  • is there any code or data available?
  • can you commit to participating as a partner?

Clean up a bit?

We have .css and .js files in several different root folders. Is there a reason why they shouldn't all be in the same folder?

How to submit a blog post

We should provide content on how, specifically, to submit a blog post. This should happen at a minimum on the wiki for the repo or a .md file, but ideally somewhere on the site as well for less technical users.

A few points to keep in mind:
-like, what sort of stuff are you looking for?
-what exactly is the editorial process? what changes will you make to my post? will you ask my permission first?
-if submitting a pull request, what branch should I submit to and should it go in ../_posts or ../_drafts?
-if submitting non-html, who should I send it to and what do I need besides my text? (headshot dimensions, twitter handle, ...)

Better indication of form submission

Since it takes a second or two to get confirmation, people using our contact form often submit multiple times. This could be helped by making the button give an indication of submission, and then return it to its original state once the confirmation alert pops up.

Curated Tour of District's Open Data Site

(feature request)

There's a ton of information there, and the gems are buried with a lot of rubble. It has good resources, e.g., for mapping. It will soon (Nov 18th!) have all the OCF data in json/xml/csv. It has tons of transit information. Each of these things is useful to multiple projects, and it seems like we end up sharing that knowledge in fairly informal ways. If there were a section on mapping, I know I'd use it! (And if there were a section for campaign contributions, I'd be happy to contribute to it.)

Additionally, it would be a great place to host a list of important data missing from the District's open data site.

Move help wanted tags onto main project page

The help wanted page isn't visited nearly as much as the projects page itself, so it might be useful to put the help wanted issues on there, instead. It might actually be more useful than the Needs section that we're currently using.

Along these lines, we could also add in a beginner or entry-level tag to more clearly identify issues for people who are new to the project or new to coding.

Delete master branch?

It seems like everything is in the gh-pages branch, so why not delete master and just push to gh-pages?

Does projects page use Google spreadsheet?

I don't know how things work, but it seems like the projects info pulls from the local data/projects.csv file rather than the spreadsheet. Am I missing an intermediary step where the Google spreadsheet becomes projects.csv?

shared navbar code

Pull navbar code out into a separate file and include via JQuery so that it stays standard across pages

Add copy about google group/email list to the link to the google group

Right now, the description of the link to our google group is "An open conversation online about DC, what we're doing now, and what's next." This is great, but it's not really clear that this is the way to join our email listserv.

I suggest we change this to: "Join our email listserv or just browse our open conversation online about DC, what we're doing now, and what's next."

Ensure that site is accessible

There are a variety of online tools to do this. It may also be worthwhile to have pa11y check the website listed in any project on the projects page and include that in the display.

Sample code of conduct report

We should include something in the code of conduct explaining the essential details to give us. That will make sure that we know what's going on, but also gives a defined structure that might make it easier for people to report issues.

What should we encourage people to include?

Projects page: only tracks default branch

The Github API only provides the activity for the default branch (usually master), so the graph and ranking are not totally accurate. Some projects might be actively developing on more than one branch, or have separate tracks for master and gh-pges.

It seems that this is something that will have to be handled with a shell script, using something like git log and/or git shortlog.

migrate to civic.json

Shall we migrate to civic.json? BetaNYC is using it and while the standard is still in development, the new CfA API is building on it. Also, it's pretty well thought out.

We could slightly revise our spreadsheet to make it a superset of the civic.json keys and then write a script that translates it. @stvnrlly @justgrimes

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.