Giter Site home page Giter Site logo

alejotima / www.dartlang.org Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dart-archive/www.dartlang.org

0.0 1.0 0.0 433.64 MB

Documentation for the Dart language and tools

Home Page: https://www.dartlang.org

License: Other

Ruby 0.35% Makefile 0.03% Batchfile 0.01% Shell 0.03% Dart 7.19% Python 0.22% HTML 38.23% CSS 2.38% JavaScript 51.54% XSLT 0.02%

www.dartlang.org's Introduction

Dart Website (dartlang.org)

Build Status

The www.dartlang.org site. Built with Jekyll and hosted on App Engine.

To give us feedback, please file issues on GitHub.

Contributions welcome! (Just sign our CLA.) Details on processes, formatting, and style are in Writing for dartlang.org. You can fork and submit patches at https://github.com/dart-lang/dartlang.org.

Orientation

./src
All the working files.
./src/appengine
App engine configuration files.
./src/diagrams
Omnigraffle files, mostly. We don't publish these on the site, but we need to keep them around in case we need to edit a diagram or create a similar diagram.
./src/site
Documents, HTML files, images, etc. You work out of here normally.
./src/tests
Code that's featured in the site's pages, placed here so it can be tested automatically without being copied to the site.
./build
Generated by Jekyll, to be deployed to server. This directory is transient; you can delete it.

Configuring your system

  • If you're using a Mac, make sure you have Xcode.
  • Ensure you have Ruby 1.9.3 or 2.0.
  • Ensure you have Python 2.7.
  • In a terminal, from the dartlang.org project root:
    1. Run sudo gem install fast-stemmer -v '1.0.2'
    2. Run sudo gem install bundler
    3. Run bundle install, which installs the gems listed in Gemfile (liquid, jekyll, etc.).
  • Get the Dart SDK, if you don't already have it, and make sure pub is in your path.
  • Download and install the Google App Engine SDK for Python
  • Ask an admin to invite you to modify the Dart project on the Google App Engine.

Tips for Mac

  • You might want the binary install of Python 2.7.3
  • Ensure App Engine is using Python 2.7. You will see "you're using 2.6" in the log if it is not.
    • You can go to Preferences and enter the direct path to the Python 2.7 binary. For example: /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7.

Tips for Windows

  • Install Python with the Windows installer or choco install python2.
  • Install Ruby with the RubyInstaller site or choco install ruby.
  • Install the Ruby DevKit from the RubyInstaller site or choco install ruby2.devkit.
  • Run gem install bundler.
  • Run bundle install from the root of your dartlang project.

GitHub setup

  • Create a GitHub login login if you don't already have one.
  • Ask an admin to invite you to the dart-lang project on GitHub.

Contributing via Chromium Code Review

On a Mac:

  • Make sure you have Xcode (contains git)
  • Install depot_tools: $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  • Add depot_tools to your PATH: $ export PATH="$PATH":pwd/depot_tools NOTE: You may want to add this to your .bashrc file or your shell's equivalent so that you don’t need to reset your $PATH manually each time you open a new shell.
  • Run git cl config. For the Rietveld server, specify https://chromiumcodereview.appspot.com.

Development

  • Open a terminal to the root of this project.
  • Run the server with make server, and leave it running while you edit files.
  • Your web browser opens to http://localhost:8081.
    • You may need to reload once.
  • Edit, create docs as normal.
  • To run tests, run ./runtests.sh.

Note: If you see single-page breadcrumbs on pages such as http://localhost:8081/tools/pub/cmd/pub-build.html, make sure that you've installed the latest gem versions. (Run sudo bundle install and then bundle install.)

Windows development tips

You probably won't have make available on the command line by default.

  • To just get up and running, run jekyll serve from the src/site folder.
  • This starts up the Jekyll webserver and generates into build/static.
  • If Jekyll does not generate output, you need to type chcp 65001 at the command prompt to change the code page to UTF-8. (Jekyll fails silently if this is not done.)
  • To clean, simply delete the contents of build/static and restart jekyll.

Release testing

There is a sanity-test target that tests some very basic features of dartlang.org with some browser tests:

# launch the local copy of dartlang.org with `jekyll serve`, and test it:
make sanity-test

# test against the live dartlang.org site:
make sanity-test-live

# test against any staged copy of dartlang.org:
bundle exec ruby src/tests/site/sanity.rb <URL>

Deploying the site

  • Run make deploy.
    • This builds the site, placing everything into build/, and then deploys the site. (Note: You can also run make build and then deploy manually using App Engine.)
    • This command uses the current branch for the App Engine version name. If you need to change the version name, create a new local branch that has the name you want—for example, prod-style-guide-update. Switch to that branch and, after making sure it has all the changes you need, run make deploy. (This matters because at least one external program relies on the App Engine version matching the text in www.dartlang.org/release.txt, and the contents of /release.txt are generated using the name of the current branch.)
    • If you see the error /bin/sh: appcfg.py: command not found, try launching GoogleAppEngineLauncher. If it hasn't yet set up links for its commands, it'll automatically do so, fixing the problem.
  • You will probably need to generate an App-specific password. Save this password into the App Engine Launcher during the first deployment.

www.dartlang.org's People

Contributors

kwalrath avatar sethladd avatar sfshaza2 avatar marycampione avatar adam-singer avatar alanjoyce avatar srawlins avatar sigmundch avatar nicolasgarnier avatar shailen avatar munificent avatar efortuna avatar chrisbu avatar jakemac53 avatar vicb avatar timothyarmstrong avatar butlermatt avatar d2m avatar johnmccutchan avatar jjinux avatar kevmoo avatar modernserf avatar azenla avatar mkustermann avatar kellegous avatar scorpiion avatar gramster avatar anders-sandholm avatar chalin avatar nex3 avatar

Watchers

 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.