Coder Social home page Coder Social logo

utahjs.com's Introduction

UtahJS.com

This is the repository for the utahjs.com website. All are welcome to contribute.

How to Contribute

Visit #utahjs on freenode for help any time. I'm there most of the day.

Contributing is easy. The website is built on nanoc, a static site compiler. Contributing is as easy as adding a member profile yaml file, and then writing an article in markdown.

  1. Fork the repository (or ask for push/pull access on the mailing list), check out a new branch off of master.

    # If you have push/pull access
    git clone [email protected]:UtahJS/utahjs.com
    
    # If you don't
    git clone git://github.com/UtahJS/utahjs.com
    
    cd utahjs.com
    git checkout master
    git checkout -b my-articles
    
  2. Add your member profile to content/members. It should look something like content/members/Ryan Florence.yml:

    name: Ryan Florence
    email: [email protected]
    location: West Jordan, UT
    github: rpflorence
    twitter: ryanflorence
    website: http://ryanflorence.com
    about: Yadda yadda yadda
    

    This information will display on your articles and on the members page. The name of your yaml file is a unique identifier for articles you write. More on that in a minute.

  3. Write an article in markdown, html, or haml in the content/articles directory. The name of the file becomes the url of the article. At the top of the article is some configuration.

    ---
    title: Sample article title
    author: Ryan Florence
    date: 2011-08-17
    ---
    
    Then write your article here.
    

    Your article extension needs to match the filter you want:

    article-name.md -> filtered with markdown
    article-name.haml -> filtered with haml
    article-name.html -> not filtered
    

    Check out content/articles/example/index.md

  4. Push to the repository (and perhaps send a pull request).

    git add content/members/First\ Last.yml
    git commit -m 'added "First Last" as member'
    
    git add content/articles/my-article.md
    git commit -m 'added "My Article"'
    
    git checkout master
    git pull
    
    git merge my-article
    git push
    

You can look at articles/example to see how to use some of the helpers.

Viewing Locally

If you want to view the site locally it's a bit more involved. You'll need ruby installed on your machine. If you're on Mac OS X, you've already got it.

Setup

  1. Post to [email protected] and ask for Push / Pull access

  2. Fork the repository

    UTAHJS_HOME=~/Code
    cd ${UTAHJS_HOME}
    git clone [email protected]:UtahJS/utahjs.com.git
    
  3. Install rvm, ruby, and bundler (Ubuntu / OS X)

    cd ${UTAHJS_HOME}/utahjs.com
    bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
    rvm install ruby-1.9.2
    echo 'gem: --no-rdoc --no-ri' >> ~/.gemrc
    rvm use 1.9.2@utahjs --create
    # that's just a shortcut for:
    #   rvm use ruby-1.9.2
    #   rvm gemset create utahjs
    #   rvm gemset use utahjs
    rvm gemset list
    gem install bundler
    
  4. Now, with bundler, install the gem dependencies

    bundle install
    

    All of the required ruby gems, including nanoc, should be installed locally for this project now.

Commands

Nanoc ships with several commands, but since the site uses bundler you need to prepend all commands with bundle exec. For example, nanoc has a static file web server:

nanoc view
# with bundler
bundle exec nanoc view

To compile the site:

bundle exec nanoc compile

Autocompile compiles the site on each visit, so you don't have to compile after each change you make:

bundle exec nanoc autocompile

Check out the nanoc website to learn more about the platform utahjs.com is built on.

utahjs.com's People

Contributors

mightykip avatar ryanflorence avatar clintberry avatar iammerrick 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.