Giter VIP home page Giter VIP logo

rubyconf_au_hub's Introduction

#The Hub: The Digital Content Hub for RubyConf AU

This is the code which builds the RubyConf AU. It's built using middleman and is designed for easy contribution. If you're interested in how it works, check out the code which drives the extension.

Installing

It should be pretty simple to get this going:

$ git clone https://github.com/ninefold/rubyconf_au_hub
$ cd rubyconf_au_hub
$ bundle install
$ middleman server

From there, go forth and edit. If you have livereload on your browser, then it should automatically refresh when you make changes.

Structure

We've aimed to make it as easy to contribute to the hub as possible. For adding content it's simply a matter of adding a file in the right place, or editing one.

All of the content sits inside the source/ directory.

Talks

Talks live in the source/talks directory. They are free text which makes up the content above the talk preview on each of the talk pages. It's in Markdown format. Go ahead and edit as you see fit to make it better.

For more details, look at the README for talks

Speakers

If you want to update the bio for a speaker, then all that information lives in the source/speakers directory. The speaker bios are free text which is in markdown format.

The Magic

The magic lives in the middleman-conference_hub gem. It's implemented as a Middleman extension. In short, what it does is look at the sitemap and add behaviour to different resources based on where they are in the path (thus a talk, which lives in source/talks has methods like talk.speaker and talk.room.)

To add another kind of resource, copy one of the modules like TheHub::Talk, replace the SELECTOR regex with one that will match the paths where you'll be keeping the files for your resource type.

Frontmatter

Frontmatter is really what powers the hub. The metadata stored in front matter allows the planner to be built as it is and allows you to attach useful things to rendered content. Check out the READMEs for talks and events for more information about their frontmatter metadata.

Contributing

If you want to contribute to the hub, then it's much like any other open source prodject:

  1. Fork the project
  2. Make your changes
  3. Make a pull request

Easy, n'est-ce pas?

rubyconf_au_hub's People

Contributors

danielsimlind avatar mootpointer avatar patskot avatar spielkus avatar

Watchers

 avatar  avatar

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.