Code Monkey home page Code Monkey logo

webpagemaker's Introduction

This is the Mozilla Webpage Maker Thimble App project. Build Status

We will be using slowparse to assist users in editing their HTML.

This repository was originally forked from playdoh. See its full documentation for more help.

Getting Started

Before embarking on setting up this app, you will want to install mysql. In particular, make sure that mysql_config is an executable on your PATH.

You'll also want to get virtualenv.

Installing the prerequisites on Ubuntu

Use sudo apt-get install <packagename> to install the following packages (it is always a good idea to run sudo apt-get update to make sure you will be receiving the most up to date repository list before installing):

  • mysql-server
  • libmysqlclient-dev
  • python-dev
  • python-pip

To install virtualenv, run sudo pip install virtualenv.

(Python itself comes installed with Ubuntu, you will not need to install this separately. In fact, doing so may cause problems)

Setting up webpagemaker

Once all prerequisites are installed, run the following commands:

git clone --recursive git://github.com/mozilla/webpagemaker.git
cd webpagemaker
virtualenv .virtualenv
source .virtualenv/bin/activate

Proceed with the installation by running the following commands in the webpagemaker directory:

pip install -r requirements/compiled.txt
cp webpagemaker/settings/local.py-dist webpagemaker/settings/local.py

At this point you'll want to edit the local.py file, which contains all the settings used when talking to the MySQL instance, including login credentials.

If you want to use the default database mentioned there, playdoh_app, you can create it using this command:

mysql -u root -e 'create database playdoh_app;'

OR by using this command, if your MySQL is password protected:

mysql -u root -pYourPassWordHere -e 'create database playdoh_app;'

Then, synchronize the tables and initial data:

python manage.py syncdb

Note that you might get prompted to create a superuser. If you do, go ahead and make one, since you can use the admin interface to manage your pages.

Then, bust up the initial migrations:

python manage.py migrate

Finally, start the development server:

python manage.py runserver

You can view the development server at http://localhost:8000/.

Whenever you create a new terminal session, you'll need to re-run source .virtualenv/bin/activate to activate your virtualenv.

Troubleshooting

Mac OS X

Developer Tools

If you get errors claiming that install_name_tool or gcc can't be found, make sure you have either XCode or the Apple command-line tools.

MySQL

If you get the following error:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Users/.../site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Users/.../site-packages/_mysql.so
  Reason: image not found

You will need to add the path to your _mysql.so to DYLD_LIBRARY_PATH in your ~/.profile like this:

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/mysql/lib

Note that you may also need to put MySQL's bin directory on your PATH like so:

export PATH=$PATH:/usr/local/mysql/bin

Contributing

If you want to contribute to webpagemaker: great!

As webpagemaker is a github-hosted project, all you have to do is fork the repository to your own account, and start hacking on it. If you have any code you want to have merged into the main codebase, simply make sure it's in a branch of its own in your forked repository, and do a pull request onto our webpagemaker/development branch. We'll review the code, signal any potential problems there might be, and if there are no problems, merge it in!

If you're interested in hacking on any of the submodules, such as friendlycode or slowparse, you will want to fork those as well, as you should not be modifying the code for a submodule in a project that uses the submodule. Instead, fork them to your account, work on them, and then do pull requests for each code contribution you'd like to have merged into them. Whenever these submodule projects are updated, we update the webpagemaker submodule pointers to point to the latest stable version.

Friendlycode is currently housed at https://github.com/toolness/friendlycode, and Slowparse can be found at https://github.com/toolness/slowparse.

Other READMEs

Some of the Django apps in this project have their own README:

Other Resources

Etherpads

License

This software is licensed under the New BSD License. For more information, read the file LICENSE.

webpagemaker's People

Contributors

alfredo avatar brianloveswords avatar cmcavoy avatar davedash avatar davidascher avatar erikrose avatar fwenzel avatar glogiotatidis avatar iamjessklein avatar kumar303 avatar mathjazz avatar ozten avatar peterbe avatar pomax avatar ppapadeas avatar rfreebern avatar stasm avatar stenington avatar tofumatt avatar toolness avatar

Stargazers

 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.