GithubHelp home page GithubHelp logo

kidd1118 / webfundamentals Goto Github PK

View Code? Open in Web Editor NEW

This project forked from google/webfundamentals

0.0 2.0 0.0 1.05 GB

Best practices for modern web development

Home Page: https://developers.google.com/web/fundamentals

License: Apache License 2.0

Ruby 15.29% Python 0.35% Smarty 0.22% JavaScript 5.44% HTML 59.97% CSS 8.97% Liquid 9.03% Shell 0.72%

webfundamentals's Introduction

Web Fundamentals Build Status

master staging: https://web-central.appspot.com/web/


Web Fundamentals is a technical documentation center for multi-device web development. Our goal is to build a resource for modern web developers that’s as curated and thorough as developer.android.com or iOS Dev Center.

Installing Dependencies

To build and run this project you need to have Ruby, Node and NPM.

Mac

  1. Install XCode Command Line Tools
  2. Install node
  3. Install RVM
    • curl -sSL https://get.rvm.io | bash
  4. Set RVM Default to 2.2.0
    • rvm install ruby-2.2.0
    • rvm --default use 2.2.0
  5. Install Pygments
    • easy_install pygments
  6. Install bundler
    • gem install bundler
  7. Install RubyGems dependencies (Jekyll and Kramdown)
    • rvm . do bundle install
  8. Install the Gulp CLI
    • npm install -g gulp
  9. Install npm dependencies
    • npm install
  10. Get the App Engine SDK and unzip into the google_appengine folder inside the project root. Add it to your path accordingly (in bash, $ PATH=./google_appengine:$PATH)

Running the site

To run the site:

gulp

This will compile styles & javascript and build the site with Jekyll. If thats all working, it will start a server on port 7331 (which you can reach at http://localhost:7331/web/).

Any changes to files will result in the appropriate tasks be running in gulp.

Faster Jekyll Builds

To make the build faster you can define a language and/or section of the site be built.

If you want to build a single language then run this:

gulp --lang en

If you want to build a specific section then run this:

gulp --section shows

These can be combined like so:

gulp --lang en --section shows

Learning More About Jekyll and Liquid Used

We have a resource area which you can access at https://web-central.appspot.com/web/resources/?hl=en that should get you up and running with a lot of the custom and useful info.

View staged pull requests and branches

Note: this feature is experimental.

The build process automatically creates staging sites for all pull requests.

To access the staging site for a pull request:

  1. Open the pull request on github.com.
  2. Click Show All Checks.
  3. Click Details next to the Builder check. The staging site opens up in a new tab.

You can also access each staging site directly, using the following URL:

https://pr-<NUMBER>-dot-weasel-dot-web-central.appspot.com

Where <NUMBER> is the pull request number. For example, the URL for PR #1000 would be:

https://pr-1000-dot-weasel-dot-web-central.appspot.com

Staged branches are also available at:

<branch>-dot-weasel-dot-web-central.appspot.com

Where <branch> is the name of the branch.

The URL pattern for pull requests and branches may change without notice.

Translations

See our translations guide

Building Shows

You need the python Google API client

For Linux:

pip install --upgrade google-api-python-client

Content plan

Content plan for Web Fundamentals is tracked through GitHub Issues and our Site Structure + Content Inventory doc

Release status

The project was soft launched in late April with a formal v1 launch in June 2014. We've now moved to a six-week rolling release cycle.

Project Structure

This is a Jekyll build.

/appengine-config - The server to host the static content
/gulp-tasks - The tasks available to Gulp split by responsibility (styles, scripts etc.)
/src - The documentation
  /content - The content in each language
    /en - The base language folder. Sub folders are sections of the site
      /fundamentals
      /showcase
      /shows
      ...etc...
    /<langcode> - Overrides for that language, following the en structure.
  /jekyll -
    /_config - These are files which define specific settings for the setup of the page
    /_data - These are static strings and their translations
    /_includes - These a snippets of HTML you can include in a page
    /_layouts - There are layouts you can reference in the YAML of your doc
    /_plugins - This is the guts of Web Fundamentals.
  /static
    /imgs - Images used in Web Fundamentals
    /scripts - Javascript - not used in final deployment of WF only local
    /styles - Sass for web fundamentals
    /third_party
  /tests
  /tools

The site is generated in /build, which is never checked in.

Contributing

Web Fundamentals is an open source project and we welcome your contributions! Before submitting a pull request, please review CONTRIBUTING.md and make sure that there is an issue filed describing the fix or new content. If you don't complete these steps, we won't be able to accept your pull request, sorry.

webfundamentals's People

Contributors

petele avatar paulkinlan avatar meggin avatar jpmedley avatar pbakaus avatar samdutton avatar dgash avatar joshua1988 avatar chenxsan avatar paullewis avatar ianbarber avatar igrigorik avatar jacquerie avatar beaufortfrancois avatar wibblymat avatar yoichiro avatar kaycebasques avatar jeffposnick avatar x1ddos avatar greenido avatar cwdoh avatar dandv avatar addyosmani avatar maxh avatar trott avatar coderk avatar umaar avatar flaviocopes avatar garbee avatar rmacklin avatar

Watchers

James Cloos avatar Leo 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.