This is the server that is used on pub.dartlang.org
as the default
package repository for the Pub package manager.
For license information, please see LICENSE.
pub_dartlang.py The entry point for running the app.
app.yaml App Engine configuration.
third_party/ External dependencies, included in the repo so that App
Engine will see them.
handlers/ Code that handles HTTP requests.
models/ Models for persisting data to the App Engine Datastore.
views/ Mustache templates.
test.py The entry point for testing the app.
tests/ Code for testing the app.
The server is written in Python and intended to run on Google App Engine. To run it locally, perform the following steps:
Install the App Engine SDK for Python.
Make sure the SDK is on your $PATH
.1
Install required packages.2
pip install beautifulsoup4 pycrypto webtest
From the root directory of this repository, run:
dev_appserver.py app
Open your browser to http://localhost:8080/ to see that it works.
To run tests:
./test.py
To publish packages to your local test server, visit http://localhost:8080/admin (sign in as administrator), go to the "Private Key" tab & enter any string into the private key field.
1 This might have been done already if you allowed the Google App
Engine launcher to add symbolic links to your $PATH
.
2 On installing packages:
pip
is not available, install brew and
run brew install python
.Pub is open source, and we appreciate Pull Requests. Please read more about contributing to pub.dartlang.org.
See the docs on branches and versions.
The CSS files are generated from the source Sass files using Compass. To get ready to make changes, you'll need Ruby and Python. Then:
Ensure you have bundler installed:
gem install bundler
Run this to install the dependencies:
bundle install
Run this to install the latest version of Pygments for syntax highlighting:
sudo pip install --upgrade pygments
Note that this is only needed on your development machine to iterate on the CSS. The deployed server just uses the pre-compiled CSS and only requires Python.
Once you have everything installed, to modify the styles:
Run Foreman to automatically regenerate the CSS files when any Sass files change:
bundle exec foreman start
Edit the .scss
files under css/sass
.
When you make changes to SCSS files, make sure to check in the generated CSS files with them.
We appreciate feedback. Please open issues and features.